Efficiently Scheduling Parallel DAG Tasks on Identical Multiprocessors

Shardul Lendve,Konstantinos Bletsas,Pedro F. Souto
2024-10-23
Abstract:Parallel real-time embedded applications can be modelled as directed acyclic graphs (DAGs) whose nodes model subtasks and whose edges model precedence constraints among subtasks. Efficiently scheduling such parallel tasks can be challenging in itself, particularly in hard real-time systems where it must be ensured offline that the deadlines of the parallel applications will be met at run time. In this paper, we tackle the problem of scheduling DAG tasks on identical multiprocessor systems efficiently, in terms of processor utilisation. We propose a new algorithm that attempts to use dedicated processor clusters for high-utilisation tasks, as in federated scheduling, but is also capable of reclaiming the processing capacity lost to fragmentation, by splitting the execution of parallel tasks over different existing clusters, in a manner inspired by semi-partitioned C=D scheduling (originally devised for non-parallel tasks). In the experiments with synthetic DAG task sets, our Segmented-Flattened-and-Split scheduling approach achieves a significantly higher scheduling success ratio than federated scheduling.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?
### What problems does this paper attempt to solve? This paper aims to solve the problem of efficiently scheduling parallel directed acyclic graph (DAG) tasks on the same multiprocessor system. Specifically, it focuses on how to achieve high - efficiency processor utilization in such a system, especially ensuring that the deadlines of parallel applications can be met at runtime in hard - real - time systems. #### Research background and problem description 1. **Modeling of parallel real - time embedded applications**: - Parallel real - time embedded applications can be modeled as a directed acyclic graph (DAG), where nodes represent subtasks and edges represent priority constraints between subtasks. - This model makes scheduling complex, especially in hard - real - time systems, where it is necessary to ensure offline that the deadlines of all tasks can be met at runtime. 2. **Deficiencies of existing methods**: - Federated Scheduling is an extended method of partitioned scheduling for parallel tasks. It improves scheduling efficiency by assigning dedicated processor clusters to high - utilization tasks. - However, Federated Scheduling has the problem of fragmentation, resulting in a waste of some processing power. 3. **Research objectives**: - Propose a new scheduling algorithm that combines the advantages of Federated Scheduling and can reuse the processing power lost due to fragmentation. - The new algorithm improves the overall scheduling success rate and processor utilization by splitting parallel tasks and migrating their execution between different clusters. #### Main contributions - **New scheduling algorithm**: A Segmented - Flattened - and - Split (SFS) scheduling method is proposed, which can schedule parallel DAG tasks more efficiently. - **Experimental verification**: Through experiments on synthetic DAG task sets, it is proved that the new method is significantly superior to Federated Scheduling in terms of scheduling success rate. #### Key technical points 1. **DAG task segmentation**: - Decompose DAG tasks into multiple disjoint sub - DAGs (called parallel segments), which are executed sequentially. - Nodes within each segment can be executed in parallel without violating priority constraints. 2. **DAG task flattening**: - Generate a fixed schedule for each segmented DAG task so that it can be executed on a specified number of processors. - Use McNaughton's wrap - around algorithm to generate the optimal scheduling scheme. 3. **Task splitting and cross - cluster migration**: - Inspired by semi - partitioned scheduling, allow some parallel DAG tasks to be migrated for execution between different clusters. - In this way, reuse the processing power wasted due to fragmentation and improve the overall scheduling efficiency. Through these technical means, the new scheduling algorithm proposed in this paper not only improves processor utilization but also ensures the efficient scheduling of parallel DAG tasks in hard - real - time systems.