MergeArray and scalable, relaxed, concurrent, mergeable priority queues
Author(s)
Coulombe, Michael Joseph
DownloadFull printable version (11.13Mb)
Alternative title
Merge array and scalable, relaxed, concurrent, mergeable priority queues
MergeArray and scalable, concurrent, relaxed, mergeable priority queues
Other Contributors
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
Advisor
Nir Shavit.
Terms of use
Metadata
Show full item recordAbstract
The priority queue is a well-studied data structure which has prospered in the ever-growing field of distributed computing. However, in the asynchronous shared-memory model, one operation was left behind: merge. I present the MergeArray, a framework for implementing scalable, relaxed, concurrent, and mergeable objects, which exploits disjoint access parallelism by using an array of sequential objects and performs merges lazily, index-by-index. I use MergeArray to build a linearizable and scalable priority queue with lock-free merge and insert and a relaxed, deadlock-free remove-min with expected worst-case rank-error of O(plogp) for p threads under common assumptions. I show experimental evidence that supports this rank-error estimate in practice as well as increased performance and scalability on a relaxed Minimum Spanning Tree benchmark compared to SprayList, a cutting-edge relaxed priority queue.
Description
Thesis: S.M., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015. Title as it appears in MIT Commencement Exercises program, June 5, 2015: MergeArray and scalable, concurrent, relaxed, mergeable priority queues. Cataloged from PDF version of thesis. Includes bibliographical references (pages 62-63).
Date issued
2015Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.