A Note on the Period Enforcer Algorithm for Self-Suspending Tasks
Jian-Jia Chen, Bj\"orn B. Brandenburg

TL;DR
This paper critically examines the period enforcer algorithm for self-suspending tasks, revealing its limitations, potential to cause deadline misses, and incompatibility with existing suspension-based locking analyses.
Contribution
It provides a detailed re-evaluation of the period enforcer, highlighting its assumptions, limitations, and the need for complex task transformations for accurate schedulability analysis.
Findings
Period enforcement can cause deadline misses in some schedulable task sets.
No known solution exists for general task set transformation under period enforcement.
The algorithm conflicts with existing suspension-based locking analyses.
Abstract
The period enforcer algorithm for self-suspending real-time tasks is a technique for suppressing the "back-to-back" scheduling penalty associated with deferred execution. Originally proposed in 1991, the algorithm has attracted renewed interest in recent years. This note revisits the algorithm in the light of recent developments in the analysis of self-suspending tasks, carefully re-examines and explains its underlying assumptions and limitations, and points out three observations that have not been made in the literature to date: (i) period enforcement is not strictly superior (compared to the base case without enforcement) as it can cause deadline misses in self-suspending task sets that are schedulable without enforcement; (ii) to match the assumptions underlying the analysis of the period enforcer, a schedulability analysis of self-suspending tasks subject to period enforcement…
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
TopicsReal-Time Systems Scheduling · Distributed systems and fault tolerance · Embedded Systems Design Techniques
