Parametric WCET as a function of procedure arguments: analysis and applications
Résumé
Traditional Worst-Case Execution Time analysis derives an upper-bound to the execution time of a program for any possible combination of its software and hardware parameters. In comparison, Parametric Worst-Case Execution Time analysis derives a WCET formula that depends on the parameters. The formula can then be instantiated for some given parameter values, to produce a WCET that is specific to those values, and thus tighter. In this work, we present a technique that, by static analysis of binary code, automatically produces a formula that represents the WCET of a procedure as a function of its arguments. The formula captures how the control-flow, and thus the WCET, depends on the arguments that appear in branch conditions (loop conditions and if-then-else conditions). We detail two applications of this technique. In our first and main application, we show that WCET formulas can be instantiated during the parametric analysis itself, to make it modular. The code of a procedure is analysed only once, and the WCET of a call to that procedure is obtained by instantiating the corresponding formula with the parameter values passed at the call site. Second, we show that WCET formulas can be instantiated at runtime, to implement adaptive real-time systems. We discuss how this can be leveraged to: 1) implement realtime systems that follow the recently proposed semi-clairvoyant mixed-criticality scheduling approach; 2) implement adaptive control-command laws.
Origine | Fichiers produits par l'(les) auteur(s) |
---|