Concurrent non-deferred reference counting on the microgrid: first experiences
Implementation and Application of Functional Languages: 22nd International …, 2011•Springer
We present a first evaluation of our novel approach for non-deferred reference counting on
the Microgrid many-core architecture. Non-deferred reference counting is a fundamental
building block of implicit heap management of functional array languages in general and
Single Assignment C in particular. Existing lock-free approaches for multi-core and SMP
settings do not scale well for large numbers of cores in emerging many-core platforms. We,
instead, employ a dedicated core for reference counting and use asynchronous messaging …
the Microgrid many-core architecture. Non-deferred reference counting is a fundamental
building block of implicit heap management of functional array languages in general and
Single Assignment C in particular. Existing lock-free approaches for multi-core and SMP
settings do not scale well for large numbers of cores in emerging many-core platforms. We,
instead, employ a dedicated core for reference counting and use asynchronous messaging …
Abstract
We present a first evaluation of our novel approach for non-deferred reference counting on the Microgrid many-core architecture. Non-deferred reference counting is a fundamental building block of implicit heap management of functional array languages in general and Single Assignment C in particular. Existing lock-free approaches for multi-core and SMP settings do not scale well for large numbers of cores in emerging many-core platforms. We, instead, employ a dedicated core for reference counting and use asynchronous messaging to emit reference counting operations. This novel approach decouples computational workload from reference-counting overhead. Experiments using cycle-accurate simulation of a realistic Microgrid show that, by exploiting asynchronism, we are able to tolerate even worst-case reference counting loads reasonably well. Scalability is essentially limited only by the combined sequential runtime of all reference counting operations, in accordance with Amdahl’s law. Even though developed in the context of Single Assignment C and the Microgrid, our approach is applicable to a wide range of languages and platforms.
Springer
Showing the best result for this search. See all results