An Interrupt-Driven Work-Sharing For-Loop Scheduler
Georgios Rokos, Gerard J. Gorman, Paul H. J. Kelly

TL;DR
This paper introduces IDWS, a cooperative, interrupt-driven work-sharing scheduler for parallel for-loops that improves performance across diverse workloads and hardware by using POSIX signals for efficient thread cooperation.
Contribution
It presents a novel interrupt-driven work-sharing scheme for parallel loops, compatible with POSIX and OpenMP, enhancing load balancing and performance.
Findings
IDWS outperforms traditional scheduling strategies in benchmarks.
IDWS maintains high performance across different hardware architectures.
The scheme is easy to integrate into existing POSIX-compliant applications.
Abstract
In this paper we present a parallel for-loop scheduler which is based on work-stealing principles but runs under a completely cooperative scheme. POSIX signals are used by idle threads to interrupt left-behind workers, which in turn decide what portion of their workload can be given to the requester. We call this scheme Interrupt-Driven Work-Sharing (IDWS). This article describes how IDWS works, how it can be integrated into any POSIX-compliant OpenMP implementation and how a user can manually replace OpenMP parallel for-loops with IDWS in existing POSIX-compliant C++ applications. Additionally, we measure its performance using both a synthetic benchmark with varying distributions of workload across the iteration space and a real-life application on Sandy Bridge and Xeon Phi systems. Regardless the workload distribution and the underlying hardware, IDWS is always the best or among the…
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 · Embedded Systems Design Techniques
