Exploring Fine-grained Task Parallelism on Simultaneous Multithreading Cores
Denis Los, Igor Petushkov

TL;DR
This paper analyzes the performance of fine-grained task parallelism on simultaneous multithreading cores and introduces Relic, a simple software framework that significantly improves speedups over existing parallel programming frameworks.
Contribution
The paper presents Relic, a novel software-only framework enabling extremely fine-grained tasking on SMT cores, with demonstrated performance improvements.
Findings
Relic achieves up to 33.2% higher speedup than X-OpenMP.
Performance improvements of 19.1% to 33.2% over various OpenMP implementations.
Performance gains are demonstrated on real-world fine-grained application kernels.
Abstract
Nowadays, latency-critical, high-performance applications are parallelized even on power-constrained client systems to improve performance. However, an important scenario of fine-grained tasking on simultaneous multithreading CPU cores in such systems has not been well researched in previous works. Hence, in this paper, we conduct performance analysis of state-of-the-art shared-memory parallel programming frameworks on simultaneous multithreading cores using real-world fine-grained application kernels. We introduce a specialized and simple software-only parallel programming framework called Relic to enable extremely fine-grained tasking on simultaneous multithreading cores. Using Relic framework, we increase performance speedups over serial implementations of benchmark kernels by 19.1% compared to LLVM OpenMP, by 31.0% compared to GNU OpenMP, by 20.2% compared to Intel OpenMP, by 33.2%…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Cloud Computing and Resource Management
