Wednesday February 15, 2017
Location: CIC Panther Hollow Room
With the end of Dennard scaling, software must become more parallel to exploit microprocessors that offer more, instead of faster, execution contexts. General-purpose languages and systems provide the shared-memory abstraction, which is powerful and easy to understand – but achieving both correctness and scalability is notoriously hard. A fundamental problem is that shared-memory languages and systems provide weak or undefined behavior for all parallel programs that are not perfectly synchronized.
This talk motivates the necessity of putting languages and systems on a solid foundation by providing strong end-to-end memory consistency models. I'll describe our ongoing software- and architecture-based approaches for providing strong memory consistency. An important element of our solutions is that providing strong consistency enables us to rethink the design of other system features such as cache coherence. Overall, our work suggests that practical strong consistency is achievable and that it offers benefits that have not previously been realized.
Mike Bond is an associate professor at Ohio State University, working on analyses and systems for reliable, scalable parallelism. This semester he's visiting CMU for part of each week, hosted by Todd Mowry. The presented work is collaborative with Brandon Lucia. Mike did his PhD and a postdoc at UT Austin, advised by Kathryn McKinley. His work has received an OOPSLA Distinguished Paper Award, OOPSLA Distinguished Artifact Award, and ACM SIGPLAN Outstanding Dissertation Award.