Massachusetts Institute of Technology
MergeArray and scalable, relaxed, concurrent, mergeable priority queues
Abstract
dc:description.abstractThe 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.
Degree
thesis:*- Department dc:contributor.department
- Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
- Grantor dc:publisher
- Massachusetts Institute of Technology
- Year dc:date.issued
- 2015
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Coulombe, Michael Joseph
- Advisor dc:contributor.advisor
-
- Nir Shavit.
Subjects
dc:subject × 1Rights
dc:rights- Statement dc:rights
-
- M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission.
- Licence dc:rights.uri
- Language dc:language.iso
- eng
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- http://hdl.handle.net/1721.1/99867
- OAI identifier oai:identifier
- oai:dspace.mit.edu:1721.1/99867