TY - GEN
T1 - Scheduling and Compiling Rate-Synchronous Programs with End-To-End Latency Constraints
AU - Bourke, Timothy
AU - Bregeon, Vincent
AU - Pouzet, Marc
N1 - Publisher Copyright:
© Timothy Bourke, Vincent Bregeon, and Marc Pouzet.
PY - 2023/7/1
Y1 - 2023/7/1
N2 - 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.
AB - 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.
KW - code generation
KW - integer linear programming
KW - synchronous-reactive
U2 - 10.4230/LIPIcs.ECRTS.2023.1
DO - 10.4230/LIPIcs.ECRTS.2023.1
M3 - Conference contribution
AN - SCOPUS:85165967953
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 35th Euromicro Conference on Real-Time Systems, ECRTS 2023
A2 - Papadopoulos, Alessandro V.
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 35th Euromicro Conference on Real-Time Systems, ECRTS 2023
Y2 - 11 July 2023 through 14 July 2023
ER -