Satish Narayanasamy
Electrical Engineering & Computer Science Department
University of Michigan
"A Path to Achieving Sequential Correctness for Parallel Programs"
Abstract
Computing industry is undergoing a sea change with the advent of multi-core processors. Parallel computers are becoming all pervasive from cell phones to data-centers. However, parallel programming continues to be a daunting task to this day even for experts. Even a semantics as fundamental as what value a load from shared-memory can return is poorly defined in popular concurrent languages like C++ and Java. Even worse, a parallel program might produce different answers even when it is given the same input. In this talk, I will discuss how by co-designing hardware, compiler and operating system we can solve some of the fundamental challenges in parallel programming. Specifically, I will present our ultra-low overhead solutions for supporting language-level sequential consistency semantics and deterministic replay. I will also present our new execution model called uniparallelism, which could ultimately enable programmers to achieve both parallel performance and sequential correctness.
Bio:
Satish Narayanasamy is an Assistant Professor in the EECS Department at the University of Michigan, where he joined in 2008. He has a Ph.D. in Computer Science from the University of California, San Diego. His research interests include computer architecture and software systems. His current focus is on improving the programmability and reliabilty of multiprocessors. He has received two IEEE Top Picks awards in recognition of his industry relevant contributions.
____________________________________________________________________________