Skueue: A Scalable and Sequentially Consistent Distributed Queue
We propose a distributed protocol for a queue, called Skueue, which spreads its data fairly onto multiple processes, avoiding bottlenecks in high throughput scenarios. Skueue can be used in highly dynamic environments, through the addition of join and leave requests to the standard queue operations enqueue and dequeue. Furthermore Skueue satisfies sequential consistency in the asynchronous message passing model. Scalability is achieved by aggregating multiple requests to a batch, which can then be processed in a distributed fashion without hurting the queue semantics. Operations in Skueue need a logarithmic number of rounds w.h.p. until they are processed, even under a high rate of incoming requests.
READ FULL TEXT