pith. sign in

arxiv: 1101.0093 · v1 · pith:AV44LRCPnew · submitted 2010-12-30 · 💻 cs.DC

Optimizing ccNUMA locality for task-parallel execution under OpenMP and TBB on multicore-based systems

classification 💻 cs.DC
keywords localitysystemstaskaccessccnumadomaindynamicopenmp
0
0 comments X
read the original abstract

Task parallelism as employed by the OpenMP task construct or some Intel Threading Building Blocks (TBB) components, although ideal for tackling irregular problems or typical producer/consumer schemes, bears some potential for performance bottlenecks if locality of data access is important, which is typically the case for memory-bound code on ccNUMA systems. We present a thin software layer ameliorates adverse effects of dynamic task distribution by sorting tasks into locality queues, each of which is preferably processed by threads that belong to the same locality domain. Dynamic scheduling is fully preserved inside each domain, and is preferred over possible load imbalance even if nonlocal access is required, making this strategy well-suited for typical multicore-mutisocket systems. The effectiveness of the approach is demonstrated by using a blocked six-point stencil solver as a toy model.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.