Reducing Core Idling in Concurrent Data Structures

Guardado en:
Detalles Bibliográficos
Publicado en:ProQuest Dissertations and Theses (2025)
Autor principal: Rodriguez, Matthew
Publicado:
ProQuest Dissertations & Theses
Materias:
Acceso en línea:Citation/Abstract
Full Text - PDF
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!

MARC

LEADER 00000nab a2200000uu 4500
001 3206412864
003 UK-CbPIL
020 |a 9798315735465 
035 |a 3206412864 
045 2 |b d20250101  |b d20251231 
084 |a 66569  |2 nlm 
100 1 |a Rodriguez, Matthew 
245 1 |a Reducing Core Idling in Concurrent Data Structures 
260 |b ProQuest Dissertations & Theses  |c 2025 
513 |a Dissertation/Thesis 
520 3 |a This dissertation examines the problem of reducing CPU core idling in concurrent data structures. This is achieved by addressing the two primary causes of such idling: blocking caused by concurrency control and cache misses. The document presents a survey of relevant concurrent programming techniques including spin locks, sequence locks, lock ordering, read-modify-write operations, hazard pointers, and transactional memory. The importance of reducing cache misses is emphasized by explaining the memory hierarchy, the C++ memory model, and cache coherency protocols. Tools for analyzing concurrent correctness are presented as well, including progress guarantees and linearizability. The dissertation presents three original research projects. The first is the skip vector, a novel high-performance concurrent data structure based on the skip list. By utilizing locality in both the index layer and data layer, the number of cache misses per operation is cut to a fraction of what a traditional skip list would incur. The use of sequence locks allows read-only operations to interleave, and the use of hazard pointers allows for strict memory reclamation. The second project consists of three original algorithms, superior to two-phase locking, for performing mutating bulk operations on a concurrent data structure. These three algorithms are generic and suitable for use with any concurrent data structure which can be divided into partitions. By varying the location and granularity of concurrency control metadata, the three algorithms specialize in different workloads. The final project is the skip hash, a novel high-performance data structure made by composing a skip list with a hash table. The skip list makes it possible to efficiently implement range operations. The hash table serves as an index into the skip list, achieving an asymptotic reduction in runtime from O(log n) to O(1) for most elemental operations. The skip hash avoids the use of complex concurrency control by relying on fast, modern software transactional memory. A fast-path/slow-path strategy prevents starvation of long-running range queries. Together, these projects demonstrate the effectiveness of designing high-performance concurrent data structures by utilizing techniques for reducing false waiting in conjunction with synergistic techniques for reducing cache misses. 
653 |a Computer science 
653 |a Computer engineering 
773 0 |t ProQuest Dissertations and Theses  |g (2025) 
786 0 |d ProQuest  |t ProQuest Dissertations & Theses Global 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/3206412864/abstract/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch 
856 4 0 |3 Full Text - PDF  |u https://www.proquest.com/docview/3206412864/fulltextPDF/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch