Reactive Diffracting Trees

Giovanni Della-Libera*, Nir Shavit

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review


A shared counter is a concurrent object that provides a fetch-and-increment operation in a distributed system. Recently, diffracting trees have been introduced as an efficient way of implementing shared counters in heavily loaded distributed systems. Diffracting trees dynamically partition processors into small groups that can access a collection of disjoint local counters quickly in a globally coordinated way. Their empirical performance under heavy load surpasses all other shared counter implementations. However, diffracting trees of any particular depth are optimal for only a limited load range. Thus, there would be great benefit in designing a diffracting tree algorithm that would effectively scale up from a simple centralized queue-lock-based counter at low loads to the optimal size diffracting tree counter as the load increases and scale back down to a queue-lock as the load decreases. This paper presents the reactive diffracting tree data structure and an implementation of it in a shared memory multiprocessor system. The reactive diffracting tree is a shared structure similar to a diffracting tree, with the added property that it can grow and shrink to better handle changing access patterns and the memory layouts, providing true scalability and locality. The tree mimics the behavior of an optimal size diffracting tree for each concurrency range. Empirical evidence, collected on the Alewife cache-coherent multiprocessor and the Proteus simulator, shows that the reactive diffracting tree provides throughput within a constant factor of optimal diffracting trees at all load levels. It also proves to be an effective competitor with randomized load balancing algorithms in several producer/consumer applications.

Original languageEnglish
Pages (from-to)853-890
Number of pages38
JournalJournal of Parallel and Distributed Computing
Issue number7
StatePublished - Jul 2000


Dive into the research topics of 'Reactive Diffracting Trees'. Together they form a unique fingerprint.

Cite this