A work stealing scheduler for parallel loops on shared cache multicores

  • Authors:
  • Marc Tchiboukdjian;Vincent Danjean;Thierry Gautier;Fabien Le Mentec;Bruno Raffin

  • Affiliations:
  • INRIA - LIG;INRIA - LIG;INRIA - LIG;INRIA - LIG;INRIA - LIG

  • Venue:
  • Euro-Par 2010 Proceedings of the 2010 conference on Parallel processing
  • Year:
  • 2010

Quantified Score

Hi-index 0.01

Visualization

Abstract

Reordering instructions and data layout can bring significant performance improvement for memory bounded applications. Parallelizing such applications requires a careful design of the algorithm in order to keep the locality of the sequential execution. In this paper, we aim at finding a good parallelization of memory bounded applications on multicore that preserves the advantage of a shared cache. We focus on sequential applications with iteration through a sequence of memory references. Our solution relies on a work stealing scheduler combined with a dynamic sliding window that constrains cores sharing the same cache to process data close in memory. This parallel algorithm induces the same number of cache misses as the sequential algorithm at the expense of an increased number of synchronizations. Experiments with a memory bounded application confirm that core collaboration for shared cache access can bring significant performance improvements despite the incurred synchronization costs.