Table of Contents
Fetching ...

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.

SAGkit: A Python SAG Toolkit for Response Time Analysis of Hybrid-Triggered Jobs

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.

Paper Structure

This paper contains 13 sections, 1 equation, 5 figures, 4 tables.

Figures (5)

  • Figure 1: Original SAG.
  • Figure 2: Hybrid SAG.
  • Figure 3: A plain example where all jobs are free of release jitter and execution time variations.
  • Figure 4: A more realistic example where all jobs have release jitter and execution time variations.
  • Figure 5: Construction time and number of vertices for all cases using different construction algorithms.