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.
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.
Adones Rukundo