Title
CAFÉ: scalable task pools with adjustable fairness and contention
Abstract
Task pools have many important applications in distributed and parallel computing. Pools are typically implemented using concurrent queues, which limits their scalability. We introduce CAFÉ, Contention and Fairness Explorer, a scalable and wait-free task pool which allows users to control the trade-off between fairness and contention. The main idea behind CAFÉ is to maintain a list of TreeContainers, a novel tree-based data structure providing efficient task inserts and retrievals. TreeContainers don't guarantee FIFO ordering on task retrievals. But by varying the size of the trees, CAFÉ can provide any type of pool, from ones using large trees with low contention but less fairness, to ones using small trees with higher contention but also greater fairness. We demonstrate the scalability of TreeContainer by proving an O(log2 N) bound on the step complexity of insert operations when there are N inserts, as compared to an average of Ω(N) steps in a queue based implementation. We further prove that get operations are wait-free. Evaluations of CAFÉ show that it outperforms the Java SDK implementation of the Michael-Scott queue by a factor of 30, and is over three times faster than other state-of-the-art non-FIFO task pools.
Year
DOI
Venue
2011
10.1007/978-3-642-24100-0_44
DISC
Keywords
Field
DocType
adjustable fairness,java sdk implementation,low contention,task retrieval,wait-free task pool,efficient task insert,michael-scott queue,scalable task pool,task pool,state-of-the-art non-fifo task pool,greater fairness,higher contention
Data structure,FIFO (computing and electronics),Computer science,Parallel computing,Queue,Computer network,Binary tree,Real-time computing,Fifo queue,Java,Distributed computing,Scalability
Conference
Volume
ISSN
Citations 
6950
0302-9743
7
PageRank 
References 
Authors
0.50
12
5
Name
Order
Citations
PageRank
Dmitry Basin1243.60
Rui Fan28819.96
Idit Keidar31892155.01
Ofer Kiselov470.50
Dmitri Perelman51207.40