Scheduling and Compiling Rate-Synchronous Programs with End-To-End Latency Constraints - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2023

Scheduling and Compiling Rate-Synchronous Programs with End-To-End Latency Constraints

Résumé

We present an extension of the synchronous-reactive model for specifying multi-rate systems. A set of periodically executed components and their communication dependencies are expressed in a Lustre-like programming language with features for load balancing, resource limiting, and specifying end-to-end latencies. The language abstracts from execution time and phase offsets. This permits simple clock typing rules and a stream-based semantics, but requires each component to execute within an overall base period. A program is compiled to a single periodic task in two stages. First, Integer Linear Programming is used to determine phase offsets using standard encodings for dependencies and load balancing, and a novel encoding for end-to-end latency. Second, a code generation scheme is adapted to produce step functions. As a result, components are synchronous relative to their respective rates, but not necessarily simultaneous relative to the base period. This approach has been implemented in a prototype compiler and validated on an industrial application.
Fichier principal
Vignette du fichier
LIPIcs-ECRTS-2023-1.pdf (913.98 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Licence : CC BY - Paternité

Dates et versions

hal-04149828 , version 1 (07-07-2023)

Licence

Paternité

Identifiants

Citer

Timothy Bourke, Vincent Bregeon, Marc Pouzet. Scheduling and Compiling Rate-Synchronous Programs with End-To-End Latency Constraints. 35th Euromicro Conference on Real-Time Systems (ECRTS 2023), Jul 2023, Vienna, Austria. pp.1:1--1:22, ⟨10.4230/LIPIcs.ECRTS.2023.1⟩. ⟨hal-04149828⟩
29 Consultations
40 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More