Sciweavers

WDAG
2010
Springer

Scalable Flat-Combining Based Synchronous Queues

13 years 2 months ago
Scalable Flat-Combining Based Synchronous Queues
In a synchronous queue, producers and consumers handshake to exchange data. Recently, new scalable unfair synchronous queues were added to the Java JDK 6.0 to support high performance thread pools. This paper applies flat-combining to the problem of designing a synchronous queue algorithm. We first use the original flat-combining algorithm, a single “combiner” thread acquires a global lock and services the other threads’ combined requests with very low synchronization overheads. As we show, this single combiner approach delivers superior performance up to a certain level of concurrency, but unfortunately does not continue to scale beyond that point. In order to continue to deliver scalable performance as concurrency increases, we introduce a new parallel flat-combining algorithm. The new algorithm dynamically adds additional concurrently executing flat-combiners that coordinate their work. It enjoys the low coordination overheads of sequential flat combining, with the added...
Danny Hendler, Itai Incze, Nir Shavit, Moran Tzafr
Added 31 Jan 2011
Updated 31 Jan 2011
Type Journal
Year 2010
Where WDAG
Authors Danny Hendler, Itai Incze, Nir Shavit, Moran Tzafrir
Comments (0)