MPI-I-2007-1-003
LFthreads: a lock-free thread library
Gidenstam, Anders and Papatriantafilou, Marina
October 2007, 36 pages.
.
Status: available - back from printing
This paper presents the synchronization in LFthreads, a thread library
entirely based on lock-free methods, i.e. no
spin-locks or similar synchronization mechanisms are employed in the
implementation of the multithreading.
Since lock-freedom is highly desirable in multiprocessors/multicores
due to its advantages in parallelism, fault-tolerance,
convoy-avoidance and more, there is an increased demand in lock-free
methods in parallel applications, hence also in multiprocessor/multicore
system services. This is why a lock-free
multithreading library is important. To the best of our knowledge
LFthreads is the first thread library that provides a lock-free
implementation
of blocking synchronization primitives for application threads.
Lock-free implementation of objects with blocking semantics may sound like
a contradicting goal. However, such objects have benefits:
e.g. library operations that block and unblock threads on the same
synchronization object can make progress in parallel while maintaining
the desired thread-level semantics
and without having to wait for any ``slow'' operations among them.
Besides, as no spin-locks or similar synchronization mechanisms are employed,
processors are always able to do useful work. As a consequence,
applications, too, can enjoy enhanced parallelism and fault-tolerance.
The synchronization in LFthreads is achieved by a new method, which
we call responsibility hand-off (RHO), that does not need any
special kernel support.
-
- Attachement: MPI-I-2007-1-003.pdf (210 KBytes)
URL to this document: https://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/2007-1-003
BibTeX
@TECHREPORT{GidenstamPapatriantafilou2007,
AUTHOR = {Gidenstam, Anders and Papatriantafilou, Marina},
TITLE = {LFthreads: a lock-free thread library},
TYPE = {Research Report},
INSTITUTION = {Max-Planck-Institut f{\"u}r Informatik},
ADDRESS = {Stuhlsatzenhausweg 85, 66123 Saarbr{\"u}cken, Germany},
NUMBER = {MPI-I-2007-1-003},
MONTH = {October},
YEAR = {2007},
ISSN = {0946-011X},
}