Tim Armstrong's Research Homepage
Ph.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
My Resume
About Me
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.
Research Interests
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.
Recent Projects
- 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
Publications
My entry at the DBLP Bibliography ServerHere 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 (preprint) (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).
Parallel/Distributed Computing
- 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, in submission. (preprint)
- Compiler optimization for distributed dynamic data flow programs, Timothy G. Armstrong, Justin M. Wozniak, Michael Wilde, Ian T. Foster, in submission. (preprint)
- 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, to appear at CCGrid '13 (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)
Teaching
2011:
- CS161 - Honors Intro to Computer Science I - Lab TA for Haskell labs CS161 Lab Homepage
2010:
- 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.
2009:
- 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.
Collaborators
My advisor at the U of Chicago is Professor Ian Foster
Previously at the University of Melbourne I worked with: William Webber, Prof. Alistair Moffat, Prof. Justin Zobel.
Older Projects
SwiftR: seamless parallel computing in R for clusters and multicore
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.
Other Stuff
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.