TY - GEN
T1 - Flat combining and the synchronization-parallelism tradeoff
AU - Hendler, Danny
AU - Incze, Itai
AU - Shavit, Nir
AU - Tzafrir, Moran
PY - 2010/7/30
Y1 - 2010/7/30
N2 - Traditional data structure designs, whether lock-based or lock-free, provide parallelism via fine grained synchroniza- tion among threads. We introduce a new synchronization paradigm based on coarse locking, which we call flat combining. The cost of synchronization in flat combining is so low, that having a single thread holding a lock perform the combined access requests of all others, delivers, up to a certain non-negligible concurrency level, better performance than the most effective parallel finely synchronized implementations. We use flat-combining to devise, among other structures, new lin-earizable stack, queue, and priority queue algorithms that greatly outperform all prior algorithms.
AB - Traditional data structure designs, whether lock-based or lock-free, provide parallelism via fine grained synchroniza- tion among threads. We introduce a new synchronization paradigm based on coarse locking, which we call flat combining. The cost of synchronization in flat combining is so low, that having a single thread holding a lock perform the combined access requests of all others, delivers, up to a certain non-negligible concurrency level, better performance than the most effective parallel finely synchronized implementations. We use flat-combining to devise, among other structures, new lin-earizable stack, queue, and priority queue algorithms that greatly outperform all prior algorithms.
KW - Concurrent data-structures
KW - Multiprocessors
KW - Synchronization
UR - http://www.scopus.com/inward/record.url?scp=77954891944&partnerID=8YFLogxK
U2 - 10.1145/1810479.1810540
DO - 10.1145/1810479.1810540
M3 - Conference contribution
AN - SCOPUS:77954891944
SN - 9781450300797
T3 - Annual ACM Symposium on Parallelism in Algorithms and Architectures
SP - 355
EP - 364
BT - SPAA'10 - Proceedings of the 22nd Annual Symposium on Parallelism in Algorithms and Architectures
T2 - 22nd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'10
Y2 - 13 June 2010 through 15 June 2010
ER -