Commodity software systems must become more parallel in order to scale with increasingly parallel hardware, but developing parallel software is notoriously difficult. Programmers are basically stuck using shared memory and locks because advanced language and system support for concurrency is impractical for real-world use. For example, record & replay, strong memory models, and transactional memory provide substantial benefits -- but no practical designs are known. This talk describes new analyses and systems we are developing that provide efficient language and system support for concurrency on commodity languages and systems. The talk will focus on runtime support for providing atomicity. These new analyses and systems are based on a new framework for capturing conflicting accesses that avoids the high cost of existing software-based approaches. This work aims to provide practical language and system support for the first time, and thus help general-purpose software scale successfully to increasingly parallel hardware systems.
Mike Bond is an assistant professor in Computer Science & Engineering at Ohio State University. He and his five PhD students are the Programming Languages and Software Systems (PLaSS) group. Mike completed his PhD and a postdoc at UT Austin, advised by Kathryn McKinley, and won the 2008 ACM SIGPLAN Outstanding Doctoral Dissertation award. He recently received an NSF CAREER Award.
Faculty Host: Todd Mowry