Seminars & Colloquia
Jim Sukha
Massachusetts Institute of Technology
"Composable Abstractions for Synchronization in Dynamic Threading Platforms "
Thursday February 24, 2011 09:30 AM
Location: 3211, EB2 NCSU Centennial Campus
(Visitor parking instructions)
Modern dynamic threading platforms such as MIT Cilk and Intel Cilk Plus utilize work-stealing schedulers to execute fork-join computations efficiently. These schedulers are not designed, however, to handle additional dependencies that may be introduced by synchronization. In particular, these platforms do not effectively support nested parallelism inside critical regions of code, making it difficult for programmers to compose parallel functions that use synchronization.
This talk discusses two abstractions for composable synchronization in dynamic threading platforms, based on the ideas of helper locks and task graph synchronization. First, we describe HELPER, a prototype runtime for supporting helper locks in MIT Cilk. Helper locks are locks that protect critical sections which are parallel regions; when a worker fails to acquire a helper lock, it can help to complete the parallel region holding the lock. Second, we present Nabbit, a Cilk++ library for parallel execution of task graphs with arbitrary dependencies edges. Nabbit also allows users to exploit parallelism within nodes of a task graph. HELPER and Nabbit, which provide complementary approaches for composable synchronization, both provide provable theoretical bounds on their performance.
Jim Sukha is completing his PhD in Computer Science at the Massachusetts Institute of Technology, working with Prof. Charles Leiserson in the Supertech Research Group. His research aims to design programming abstractions and provably-good scheduling algorithms that simplify the development of efficient parallel programs. More generally, his interests spans a wide range of topics in algorithms and parallel systems. He received his M.Eng. degree in Electrical Engineering and Computer Science (EECS) from MIT, as well as B.S. degrees in EECS and Mathematics from MIT.
Host: Frank Mueller, Computer Science, NCSU