Lightweight parallel accumulators using C++ templates

  • Authors:
  • Yossi Lev;Mark Moir

  • Affiliations:
  • Oracle Labs, USA, USA;Oracle Labs, USA, USA

  • Venue:
  • Proceedings of the 4th International Workshop on Multicore Software Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Boost.Accumulators framework provides C++ template-based support for incremental computation of many important statistical functions, such as maximum, minimum, mean, count, variance, etc. Basic accumulators can be combined to build more sophisticated ones. We explore how this framework can be extended to implement lightweight parallel accumulators that allow multiple threads to Store sample data, and support concurrent GetResult operations that incrementally compute desired functions over the data. Our evaluation shows that our parallel accumulators are scalable and can effectively exploit programmer-supplied knowledge to achieve significant optimizations for some important cases.