home · mobile · calendar · colloquia · 2001-2002 · 

Colloquium - Rajwar

Lock-Free Execution of Lock-Based Multithreaded Programs
Computer Sciences Department, University of Wisconsin-Madison

Writing multithreaded applications requires a careful trade-off between programmability and performance, largely due to subtleties in coordinating correct access to shared data. To ensure correctness, programmers rely on conservative locking, often at the expense of performance. The resulting serialization of threads is a fundamental bottleneck to achieving high performance in multithreaded programs.

This talk revisits the notion of lock-free execution of multithreaded applications for improving their programmability and performance. In a lock-free execution, shared objects are not locked when accessed by multiple threads. I will show how a program that uses lock-based synchronization can be correctly executed by the hardware in a lock-free manner without programmer support or software changes, thus exposing concurrency earlier hidden by the lock. This is done using modest hardware support and features already present in many modern computer systems. The benefits include improved programmability, fault-tolerance, and performance. The programmer still uses the familiar lock-protected critical section for reasoning about program correctness while getting many of the benefits of lock-free data structures.

Hosted by John Bennett.
Refreshments will be served immediately following the talk in ECOT 831.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)