Skip to content

Latest commit

 

History

History

queue-k-segment

Data structure description

The k-segment queue is a relaxed queue implemented as a Michael-Scott queue of array segments of size k. Theses segments are filled up in fifo order, but without internal ordering within the segments (leading to k out-of-order relaxation).

Note: This design is not that well engineered, and relies on global variables such as the segment size and thread_id. Keep this in mind if you want to extend the design with more tests.

Origin

The design is the k-queue from the paper Performance, Scalability, and Semantics of Concurrent FIFO Queues, and the implementation is from the evaluation of the first 2D paper.

Main Author

Adones Rukundo