3/18/2002 2:00pm-3:00pm ECCR 200
|
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.
|
The Department holds colloquia throughout the Fall and Spring semesters. These
colloquia, open to the public, are typically held on Thursday afternoons, but
sometimes occur at other times as well.
If you would like to receive email notification of upcoming colloquia,
subscribe to our
Colloquia Mailing List.
If you would like to schedule a colloquium, see
Colloquium Scheduling.
Sign language interpreters are available upon request. Please contact
Stephanie Morris at least five days prior to the colloquium.
|