Predictable and optimized single-path code for predicated processors

被引:0
|
作者
Maroun, Emad Jacob [1 ]
Schoeberl, Martin [2 ]
Puschner, Peter [1 ]
机构
[1] TU Wien, Inst Comp Engn, Vienna, Austria
[2] Tech Univ Denmark, Dept Appl Math & Comp Sci, Lyngby, Denmark
关键词
Real-time systems; Single-path code; Optimization; Constant execution time; Instruction scheduling; ASSIGNMENT FORM; TIME; DOMINATORS;
D O I
10.1016/j.sysarc.2024.103214
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Single-path code is a code generation technique for real-time systems that reduces execution time variability. However, doing so can incur significant execution-time overhead and does not guarantee constant execution times. In this paper, we address the performance challenges of single-path code and solve the variability issue. We present the repetition dominance relation to identify and optimize code blocks that are always executed a fixed number of times. We show that single-path code's instructions are uniquely easy to schedule, and we explore an extension to the Patmos architecture that allows additional instruction types in the second issue slot. Lastly, we present two techniques for ensuring that functions always perform the same number of accesses to memory, resulting in programs with constant execution time. We compare the performance of single-path code to that of statically analyzed traditional code. Our results show that single-path code's performance is mostly competitive while outright superior in several cases. However, pathological cases of poor performance are still observed.
引用
收藏
页数:22
相关论文
共 50 条
  • [1] Improving Performance of Single-path Code Through a Time-predictable Memory Hierarchy
    Cilku, Bekim
    Puffitsch, Wolfgang
    Prokesch, Daniel
    Schoeberl, Martin
    Puschner, Peter
    2017 IEEE 20TH INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING (ISORC), 2017, : 76 - 83
  • [2] Time-Predictable Code Execution - Instruction-Set Support for the Single-Path Approach
    Geyer, Clemens B.
    Huber, Benedikt
    Prokesch, Daniel
    Puschner, Peter
    2013 IEEE 16TH INTERNATIONAL SYMPOSIUM ON OBJECT/COMPONENT/SERVICE-ORIENTED REAL-TIME DISTRIBUTED COMPUTING (ISORC), 2013,
  • [3] Towards Dual-Issue Single-Path Code
    Maroun, Emad Jacob
    Schoeberl, Martin
    Puschner, Peter
    2020 IEEE 23RD INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING (ISORC 2020), 2020, : 176 - 183
  • [4] Two-Step Register Allocation for Implementing Single-Path Code
    Maroun, Emad Jacob
    Schoeberl, Martin
    Puschner, Peter
    2024 IEEE 27TH INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING, ISORC 2024, 2024,
  • [5] A Highly Parametrizable Chisel HCL Generator of Single-Path Delay Feedback FFT Processors
    Milovanovic, V. M.
    Petrovic, M. L.
    2019 IEEE 31ST INTERNATIONAL CONFERENCE ON MICROELECTRONICS (MIEL 2019), 2019, : 247 - 250
  • [6] Compiling for time-predictability with dual-issue single-path code
    Maroun E.J.
    Schoeberl M.
    Puschner P.
    Journal of Systems Architecture, 2021, 118
  • [7] SINGLE-PATH PETRI NETS
    HOWELL, RR
    JANCAR, P
    ROSIER, LE
    LECTURE NOTES IN COMPUTER SCIENCE, 1991, 520 : 202 - 210
  • [8] Single-Path Restarting Tree Automata
    Otto, Friedrich
    Stamer, Heiko
    ALGEBRAIC INFORMATICS, 2009, 5725 : 324 - 341
  • [9] How Bad is Single-Path Routing
    Wang, Meng
    Tan, Chee Wei
    Tang, Ao
    Low, Steven H.
    GLOBECOM 2009 - 2009 IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, VOLS 1-8, 2009, : 5130 - +
  • [10] Termination of Single-Path Polynomial Loop Programs
    Li, Yi
    THEORETICAL ASPECTS OF COMPUTING - ICTAC 2016, 2016, 9965 : 33 - 50