Scheduling and Synchronization for Multicores

Traditionally, due to its complexity, parallel programming has been an exclusive domain of expert programmers. However, many hardware vendors are shifting towards building multicore computers, which creates an enormous pressure to create platforms that enable ordinary programmers to write scalable, portable and efficient parallel programs easily. Developing correct and efficient parallel programs is difficult since the programmers often have to manage low-level details like scheduling and synchronization explicitly.

Recent advances in parallel programming abstractions, like dynamic multithreading, stream programming and transactional memory allow the programmers to specify their programs in a high-level manner without
worrying about the low-level scheduling and synchronization details. These new abstractions place a heavier burden on the system, since the system is responsible for efficient and correct scheduling and
synchronization of programs. This talk will present work on provably good schedulers and transactional memory system designs.

Speaker Details

Kunal Agrawal is a final year PhD student at MIT Computer Science and Artificial Intelligence Laboratory. She works with Prof. Charles Leiserson in the Supercomputing Technologies Group. She is interested in both theoretical and practical aspects of parallel computing and has worked on various topics such as scheduling, resource allocation, transactional memory, cache-aware and cache-oblivious streaming. Her other interests include parallel algorithms and data structures, cache-oblivious algorithms, and contention management.

Date:
Speakers:
Kunal Agrawal
Affiliation:
MIT