Strict Partitioning for Sporadic Rigid Gang Tasks
This work addresses scheduling efficiency for rigid gang tasks in real-time systems, offering a practical partitioned approach with improved performance, though it is incremental as it builds on existing partitioned methods.
The paper tackles the problem of scheduling rigid gang tasks by proposing a strict partitioning strategy that creates disjoint partitions of tasks and processors to reduce interference, achieving better schedulability performance than state-of-the-art global methods in synthetic experiments and Edge TPU benchmarks.
The rigid gang task model is based on the idea of executing multiple threads simultaneously on a fixed number of processors to increase efficiency and performance. Although there is extensive literature on global rigid gang scheduling, partitioned approaches have several practical advantages (e.g., task isolation and reduced scheduling overheads). In this paper, we propose a new partitioned scheduling strategy for rigid gang tasks, named strict partitioning. The method creates disjoint partitions of tasks and processors to avoid inter-partition interference. Moreover, it tries to assign tasks with similar volumes (i.e., parallelisms) to the same partition so that the intra-partition interference can be reduced. Within each partition, the tasks can be scheduled using any type of scheduler, which allows the use of a less pessimistic schedulability test. Extensive synthetic experiments and a case study based on Edge TPU benchmarks show that strict partitioning achieves better schedulability performance than state-of-the-art global gang schedulability analyses for both preemptive and non-preemptive rigid gang task sets.