Optimizing Fine-Grained Parallelism Through Dynamic Load Balancing on Multi-Socket Many-Core Systems

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Wang, Wenyi, Gonthier, Maxime, Nookala, Poornima, Pan, Haochen, Foster, Ian, Raicu, Ioan, Chard, Kyle
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866913745420156928
author Wang, Wenyi
Gonthier, Maxime
Nookala, Poornima
Pan, Haochen
Foster, Ian
Raicu, Ioan
Chard, Kyle
author_facet Wang, Wenyi
Gonthier, Maxime
Nookala, Poornima
Pan, Haochen
Foster, Ian
Raicu, Ioan
Chard, Kyle
contents Achieving efficient task parallelism on many-core architectures is an important challenge. The widely used GNU OpenMP implementation of the popular OpenMP parallel programming model incurs high overhead for fine-grained, short-running tasks due to time spent on runtime synchronization. In this work, we introduce and analyze three key advances that collectively achieve significant performance gains. First, we introduce XQueue, a lock-less concurrent queue implementation to replace GNU's priority task queue and remove the global task lock. Second, we develop a scalable, efficient, and hybrid lock-free/lock-less distributed tree barrier to address the high hardware synchronization overhead from GNU's centralized barrier. Third, we develop two lock-less and NUMA-aware load balancing strategies. We evaluate our implementation using Barcelona OpenMP Task Suite (BOTS) benchmarks. We show that the use of XQueue and the distributed tree barrier can improve performance by up to 1522.8$\times$ compared to the original GNU OpenMP. We further show that lock-less load balancing can improve performance by up to 4$\times$ compared to GNU OpenMP using XQueue.
format Preprint
id arxiv_https___arxiv_org_abs_2502_05293
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Optimizing Fine-Grained Parallelism Through Dynamic Load Balancing on Multi-Socket Many-Core Systems
Wang, Wenyi
Gonthier, Maxime
Nookala, Poornima
Pan, Haochen
Foster, Ian
Raicu, Ioan
Chard, Kyle
Distributed, Parallel, and Cluster Computing
D.1.3
Achieving efficient task parallelism on many-core architectures is an important challenge. The widely used GNU OpenMP implementation of the popular OpenMP parallel programming model incurs high overhead for fine-grained, short-running tasks due to time spent on runtime synchronization. In this work, we introduce and analyze three key advances that collectively achieve significant performance gains. First, we introduce XQueue, a lock-less concurrent queue implementation to replace GNU's priority task queue and remove the global task lock. Second, we develop a scalable, efficient, and hybrid lock-free/lock-less distributed tree barrier to address the high hardware synchronization overhead from GNU's centralized barrier. Third, we develop two lock-less and NUMA-aware load balancing strategies. We evaluate our implementation using Barcelona OpenMP Task Suite (BOTS) benchmarks. We show that the use of XQueue and the distributed tree barrier can improve performance by up to 1522.8$\times$ compared to the original GNU OpenMP. We further show that lock-less load balancing can improve performance by up to 4$\times$ compared to GNU OpenMP using XQueue.
title Optimizing Fine-Grained Parallelism Through Dynamic Load Balancing on Multi-Socket Many-Core Systems
topic Distributed, Parallel, and Cluster Computing
D.1.3
url https://arxiv.org/abs/2502.05293