SAGkit: A Python SAG Toolkit for Response Time Analysis of Hybrid-Triggered Jobs
Ruide Cao, Zhuyun Qi, Qinyang He, Chenxi Ling, Yi Wang, Guoming Tang
TL;DR
This work addresses the challenge of exact response-time analysis for hybrid-triggered (HT) jobs in non-preemptive, jittery environments where some HT jobs may be absent. It extends the schedule-abstraction graph (SAG) framework to a Hybrid SAG that explicitly accounts for absences by creating separate states, preserving exactness while maintaining practical scalability. The authors implement these ideas in SAGkit, a Python toolkit with distinct constructors (original, extended, hybrid) and a suite of utilities for job generation, scheduling, and visualization, and validate them on HT-heavy workloads with up to 1000 jobs. The results show that Hybrid SAG achieves exact RTA with acceptable overhead and improves practical applicability for complex distributed control systems, offering an open-source platform for further research and extension.
Abstract
For distributed control systems, modern latency-critical applications are increasingly demanding real-time guarantees and robustness. Response-time analysis (RTA) is useful for this purpose, as it helps analyze and guarantee timing bounds. However, conventional RTA methods struggle with the state-space explosion problem, especially in non-preemptive systems with release jitter and execution time variations. In this paper, we introduce SAGkit, a Python toolkit that implements the schedule-abstraction graph (SAG) framework. SAGkit novelly enables exact and sustainable RTA of hybrid-triggered jobs by allowing job absence on the SAG basis. Our experiments demonstrate that SAGkit achieves exactness with acceptable runtime and memory overhead. This lightweight toolkit empowers researchers to analyze complex distributed control systems and is open-access for further development.
