Title
Fast And Scalable Queue-Based Resource Allocation Lock On Shared-Memory Multiprocessors
Abstract
We present a fast and scalable lock algorithm for shared-memory multiprocessors addressing the resource allocation problem. In this problem, threads compete for k shared resources where a thread may request an arbitrary number 1 ≤ h ≤ k of resources at the same time. The challenge is for each thread to acquire exclusive access to desired resources while preventing deadlock or starvation. Many existing approaches solve this problem in a distributed system, but the explicit message passing paradigm they adopt is not optimal for shared-memory. Other applicable methods, like two-phase locking and resource hierarchy, suffer from performance degradation under heavy contention, while lacking a desirable fairness guarantee. This work describes the first multi-resource lock algorithm that guarantees the strongest first-in, first-out (FIFO) fairness. Our methodology is based on a non-blocking queue where competing threads spin on previous conflicting resource requests. In our experimental evaluation we compared the overhead and scalability of our lock to the best available alternative approaches using a micro-benchmark. As contention increases, our multi-resource lock obtains an average of ten times speedup over the alternatives including GNU C++'s lock method and Boost's lock function. © 2013 Springer International Publishing.
Publication Date
12-1-2013
Publication Title
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume
8304 LNCS
Number of Pages
266-280
Document Type
Article; Proceedings Paper
Personal Identifier
scopus
DOI Link
https://doi.org/10.1007/978-3-319-03850-6_19
Copyright Status
Unknown
Socpus ID
84893071235 (Scopus)
Source API URL
https://api.elsevier.com/content/abstract/scopus_id/84893071235
STARS Citation
Zhang, Deli; Lynch, Brendan; and Dechev, Damian, "Fast And Scalable Queue-Based Resource Allocation Lock On Shared-Memory Multiprocessors" (2013). Scopus Export 2010-2014. 5848.
https://stars.library.ucf.edu/scopus2010/5848