GGrantIndex
← Search

SHF: Small: Precise Concurrency Exceptions: Architecture Support, Semantics and System Implications

$516,000FY2010CSENSF

University Of Washington, Seattle WA

Investigators

Abstract

How to popularize parallel programming is one of the Computing Research Association's Grand Research Challenges for the systems community. Being able to leverage the full potential of multi-core systems would put us back into exponential growth of usable performance, as well as lead to significant power savings. Facilitating correct and efficient execution of multithreaded programs would have a transformative effect in the IT industry, as it attacks a problem at the heart of the programmability issues in multiprocessor systems. With ubiquitous multicores and emerging parallel programs, the IT industry is now dealing with far harder reliability problems. Concurrency errors are hard to understand, are typically non-deterministic and manifest themselves way past the point of their occurrence. Moreover, they have major implications for programming language semantics. Recent work on support for concurrency debugging has made good progress, but has often focused on best-effort techniques for bug detection with probabilistic guarantees. This research takes a direct approach to the problem: making concurrency errors fail-stop by delivering an exception before the error manifests itself. In other words, the system detects that a concurrency error is about to happen and will raise an exception before the code with an error is allowed to execute. The investigators call this mechanism concurrency exceptions. Concurrency exceptions will allow concurrency errors to be handled as conveniently as division by zero and segmentation fault.

View original record on NSF Award Search →