Abstract
For scientific computing applications that consist of many loosely coupled tasks, efficient scheduling is critical to achieve high performance and good quality of service (QoS). One of the challenges for co-running tasks is the frequent contention for shared cache hierarchy of multi-core processors. Such contention significantly increases cache miss rate and therefore, results in performance deterioration for computational tasks. This paper presents Scalpel, a contention-aware task grouping and co-scheduling approach for efficient task scheduling on shared cache hierarchy. Scalpel utilizes the shared cache access features of tasks to group them in a heuristic way, which reduces the contention within groups by achieving equal shared cache locality, while maintaining load balancing between groups. Based thereon, it proposes a two-level scheduling strategy to schedule groups to processors and assign tasks to available cores in a timely manner, while considering the impact of task scheduling on shared cache locality to minimize task execution time. Experiments show that Scalpel reduces the shared cache miss rate by up to 2.143 and optimizes the execution time by up to 1.533 for scientific computing benchmarks, compared to several baseline approaches.
Original language | English |
---|---|
Article number | 10756745 |
Pages (from-to) | 678-690 |
Number of pages | 13 |
Journal | IEEE Transactions on Computers |
Volume | 74 |
Issue number | 2 |
DOIs | |
Publication status | Published - 1 Feb 2025 |
MoE publication type | A1 Journal article-refereed |
Keywords
- Computers
- Dynamic scheduling
- Hardware
- Load management
- Multicore processing
- Processor scheduling
- Quality of service
- Resource management
- Scientific computing
- Software