vix.ing · top · new · best · stats · spec

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

2010/12/30 by Markus Wittmann, Wittmann, Markus, Georg Hager +1
Computer Science · #Advanced Data Storage Technologies #Cloud Computing and Resource Management #Distributed #Distributed and Parallel Computing Systems #FOS: Computer and information sciences #Parallel #Parallel Computing and Optimization Techniques #and Cluster Computing (cs.DC)

paper · pdf · doi:10.48550/arxiv.1101.0093

openalex publication_date 2010/12/30 · openalex created_date 2022/08/30 · openalex updated_date 2026/07/28

Abstract

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

Related