Tim Armstrong's Research HomepagePh.D. Student
Department of Computer Science
University of Chicago
1100 E 58th Street
Chicago, IL 60637
Email: tga at The University of Chicago's domain
I started the Ph.D program at the University of Chicago in 2009. Prior to that I lived in Melbourne, Australia where I did a Combined Bachelors in Arts and Software Engineering at the University of Melbourne.
My current research focus is parallel and distributed computing, particularly programming languages for high-productivity application development.
I also have an ongoing research interest in evaluation and benchmarking of complex software systems. I have done some work in benchmark design for database systems, and evaluation of information retrieval effectiveness.
- ExM: System support for extreme-scale, many-task applications - working on a new high performance implementation of the Swift programming language with fully decentralized control-flow and data-flow on clusters. The Swift/T paper listed below is the best description of my work on this so far.
- LinkBench: a database benchmark for the social graph, a database benchmark I worked on at Facebook. I wrote a blog post describing the benchmark
- PyDFlow (on github) - a Python library for task-parallelism, with coordination based on dataflow. See my Master's paper below for details.
- I've also contributed to Apache Hive and the Facebook distribution of Hadoop while an intern at Facebook
Here is a list of my publications, broken down by general topic area.
Evaluation and benchmarking of software systems:
- LinkBench: a Database Benchmark based on the Facebook Social Graph, Timothy G. Armstrong, Vamsi Ponnekanti, Dhruba Borthakur, Mark Callaghan, to appear at SIGMOD '13 (ACM DL) (preprint) (slides) (blog post) (github)
- Improvements That Don't Add Up: Ad-Hoc Retrieval Results Since 1998, Timothy G. Armstrong, Alistair Moffat, William Webber, and Justin Zobel, Proc. ACM-CIKM, Hong Kong, November 2009, pp.692-693 (ACM DL) (ACM DL Open Access PDF) (preprint)
- Relative Significance is Insufficient: Baselines Matter Too, Timothy G. Armstrong, Justin Zobel, William Webber, and Alistair Moffat, Proc. ACM-SIGIR Workshop on The Future of IR Evaluation, Boston, July 2009, pp.25-26 (preprint)
- Has Adhoc Retrieval Improved Since 1994?, Timothy G. Armstrong, Alistair Moffat, William Webber, and Justin Zobel. Proc. ACM-SIGIR, Boston, July 2009, pp.692-693 (ACM DL) (ACM DL Open Access PDF) (preprint) (poster)
- EvaluatIR: An Online Tool for Evaluating and Comparing IR Systems, Timothy G. Armstrong, Alistair Moffat, William Webber, and Justin Zobel, Proc. ACM-SIGIR, Boston, July 2009, pp.834 (ACM DL) (ACM DL Open Access PDF) (extended abstract preprint), EvaluatIR.org website).
- Compiler Optimization for Extreme-Scale Scripting, Timothy G. Armstrong, Justin M. Wozniak, Michael Wilde, Ian T. Foster, to appear CCGrid '14 (preprint)
- Dataflow Coordination of Data-Parallel Tasks via MPI 3.0, Justin M. Wozniak, Tom Peterka, Timothy G. Armstrong, James Dinan, Ewing L. Lusk, Michael Wilde, Ian T. Foster, EuroMPI 2013. (ACM DL) (preprint)
- Exploring Scientific Discovery with Large-Scale Parallel Scripting , Timothy G. Armstrong, Justin M. Wozniak, Michael Wilde, SCALE Challenge @ CCGrid '13 (slides)
- Swift/T: Scalable Data Flow Programming for Many-Task Applications, Justin M. Wozniak, Timothy G. Armstrong, Michael Wilde, Daniel S. Katz, Ewing Lusk, Ian T. Foster, CCGrid '13 (IEEE Computer Society) (IEEE Xplore) (preprint)
- Swift/T: Scalable Data Flow Programming for Many-Task Applications (poster version), Justin M. Wozniak, Timothy G. Armstrong, Michael Wilde, Daniel S. Katz, Ewing Lusk, Ian T. Foster, PPoPP '13 (ACM DL) (ACM DL Open Access PDF) (preprint)
- A model for tracing and debugging large-scale task-parallel programs with MPE , Justin M. Wozniak, Anthony Chan, Timothy G. Armstrong, Michael Wilde, Ewing Lusk, Ian T. Foster, Proc. Workshop on Leveraging Abstractions and Semantics in High-performance Computing at PPoPP '13. (preprint)
- ExM: High-level dataflow programming for extreme-scale systems, Timothy G. Armstrong, Justin M. Wozniak, Michael Wilde, Ketan Maheshwari, Daniel S. Katz, Matei Ripeanu, Ewing L. Lusk, Ian T. Foster, 4th USENIX Workshop on Hot Topics in Parallelism (HotPar '12), poster, June 2012 (usenix official) (preprint) (poster)
- Turbine: A distributed-memory dataflow engine for extreme-scale many-task applications, Justin M. Wozniak, Timothy G. Armstrong, Ketan Maheshwari, Ewing L. Lusk, Daniel S. Katz, Michael Wilde, Ian T. Foster, The 1st international workshop on Scalable Workflow Enactment Engines and Technologies (SWEET'12), May 2012, (ACM DL) (ACM DL Open Access PDF) (preprint)
- Many Task Computing and Blue Waters., D. S. Katz, T. G. Armstrong, Z. Zhang, M. Wilde, and J. M. Wozniak, Technical Report CI-TR-13-0911. Computation Institute, University of Chicago & Argonne National Laboratory, Feb 2012 (paper)
- Masters Paper Integrating Task Parallelism into the Python Programming Language. University of Chicago, Department of Computer Science. Defended May 24 2011.
- Scheduling Many-Task Workloads on Supercomputers: Dealing with Trailing Tasks, Timothy G. Armstrong, Zhao Zhang, Daniel S. Katz, Michael Wilde, Ian T. Foster, IEEE Workshop on Many-Task Computing on Grids and Supercomputers (MTAGS10), presented at SC-10, New Orleans, November 2010 (IEEE Xplore) (preprint) (best paper award)
- CS161 - Honors Intro to Computer Science I - Lab TA for Haskell labs CS161 Lab Homepage
- TA for CS 161 - Honors Intro to Computer Science I - Lab TA for Haskell labs
- TA for CSPP 51023 - Object Oriented Architecture, Design, and Methodology.
- TA for CS 235 - Intro to Databases.
- Teaching Assistant for CMSC12100 Computer Science with Applications 1 in the Autumn Quarter at the University of Chicago.
- Tutor for 433-332 Operating Systems at the University of Melbourne
- Tutor and Lab Demonstrator for 433-296 Engineering Computation also at the University of Melbourne, for which I received an Excellence in Casual Teaching award.
My advisor at the U of Chicago is Professor Ian Foster
I was the lead developer on evaluatIR.org, a repository of results for the Information Retrieval research community. Researchers can upload the results of their experiments on standard IR test collections in the form of ranked lists of documents. The site performed various kinds of effectiveness evaluation and then allowed all sorts of analysis and comparison of the results. See my IR publications, particularly the CIKM 2009 paper, to put this work into context.
Back in Australia I used to partipate in mountain bike orienteering - riding up and down big hills in the Australian bush while attempting to read a map. Unfortunately living in the middle of a very flat city isn't as conducive to it.