Linguistic and System Support for Structured Parallel Programming

Dr. I-Ting Angelina Lee
Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology

12:00-1:00 Thursday, 20 February 2014, ITE 325b, UMBC

Parallel programming is hard, due to issues such as scheduling and synchronization. Most parallel programs today deal with these issues using low-level system primitives such as pthreads, locks, and conditional variables. Although these low-level primitives are flexible, they, like goto statements, lack structure and make it difficult for the programmer to reason locally about the program state. Just as the use of goto has been mostly deprecated in favor of structured control constructs, we can simplify parallel programming by replacing these low-level primitives with linguistics that enable well-structured parallel programs.

To enable structured parallel programming is not merely a matter of linguistic design. The underlying system must also efficiently support the linguistics. In this talk, I will describe my work on pipeline parallelism, a parallel pattern commonly used in streaming applications, as an example of linguistics for structured parallel programming. I will also draw examples from my research to demonstrate how novel mechanisms in operating systems and hardware, not just the runtime, can help provide efficient support for the linguistics.

I-Ting Angelina Lee is a postdoctoral associate in the Computer Science and Artificial Intelligence Laboratory at MIT, working with Prof. Charles E. Leiserson. Her areas of interest include designing linguistics for parallel programming, developing runtime system support for multithreaded software, and building novel mechanisms in operating systems and hardware to efficiently support parallel abstractions. Her work on “memory-mapped reducers” won best paper at SPAA 2012. Intel has released an experimental branch of Cilk Plus that incorporates support for parallel pipelining based on her work. She received her Ph.D. from MIT in 2012 under the supervision of Prof. Charles E. Leiserson. She received her Bachelor of Science in Computer Science from UC San Diego in 2003.

Host: Tim Oates,