Multi-Criterial Code Optimization for Embedded Hard Real-Time Systems (Multi-Opt)

Fact Sheet

AcronymMulti-Opt
NameMulti-Criterial Code Optimization for Embedded Hard Real-Time Systems
(in German: Multikriterielle Code-Optimierung für Eingebettete Harte Echtzeitsysteme)
Role of TUHHApplicant
Start Date01/10/2017
End Date15/02/2022
Funds DonorDeutsche Forschungsgemeinschaft (DFG)

Summary

Embedded hard real-time systems often have to meet additional design constraints beyond their worst-case timing constraints. Systems operated on battery power have a limited amount energy available and should thus be as energy-efficient as possible. In addition, instruction, data and main memories of typical embedded processor architectures are also frequently severely limited due to technical limitations or given financial budgets. While designing embedded systems, these additional criteria also have to be considered, besides the system's real-time constraints.

In order to achieve a correctly designed system, it has to meet all of the imposed resource constraints. If a system violates one or several design constraints, either the hardware platform must be modified or the resource demand of the software must be lowered. Modifying the hardware usually comes with an increase in costs and hardly predictable side effects. For example, exchanging the system's micro-controller in order to reduce power consumption will lead to changes in temporal behavior. Reducing the resource demand of the software by simply removing parts of the code is also not easily possible without compromising the correct functional behavior of the system.

As a result, this project aims at optimizing embedded software systems at the compiler level with respect to multiple different design requirements. While translating source code to executable code, the compiler will aim to generate optimized code that finally fulfills all constraints with respect to multiple design criteria. However, current compilers are not able to achieve this, because multi-criterial system design is a highly volatile process. The optimization goals interfere with or may even directly contradict each other. Therefore, as part of this proposal, new optimization methods will be researched, implemented end evaluated for existing embedded hardware architectures. We focus on three of the most important criteria that embedded system designers are facing: Worst-Case Execution Time (WCET), code size and energy consumption.

Multi-Opt Publications of the Embedded Systems Design Group

2020

  • Heiko Falk, Shashank Jadhav, Arno Luppold, Kateryna Muts, Dominic Oehlert, Nina Piontek and Mikko Roth.
    Compilation for Real-Time Systems a Decade After PREDATOR.
    In J.-J. Chen (Eds.): A Journey of Embedded and Cyber-Physical Systems, pages 151-169, Springer, August 2020.
    [Abstract] [pdf] [doi: 10.1007/978-3-030-47487-4_10]

  • Arno Luppold.
    Schedulability-Oriented Code Optimization of Hard Real-Time Multitasking Systems.
    PhD Thesis Hamburg University of Technology (TUHH), School of Electrical Engineering, Computer Science and Mathematics, Hamburg / Germany, July 2020.
    [Abstract] [doi: 10.15480/882.2842]

  • Kateryna Muts and Heiko Falk.
    Multi-Criteria Function Inlining for Hard Real-Time Systems.
    In Proceedings of the 28th International Conference on Real-Time Networks and Systems (RTNS), pages 56-66, Paris / France, June 2020.
    [Abstract] [pdf] [doi: 10.1145/3394810.3394819]

  • Arno Luppold, Dominic Oehlert and Heiko Falk.
    Compiling for the Worst Case: Memory Allocation for Multi-task and Multi-core Hard Real-time Systems.
    In ACM Transactions on Embedded Computing Systems (TECS), Vol. 19, No. 2, ACM, March 2020.
    [Abstract] [pdf] [doi: 10.1145/3381752]

2019

  • Heiko Falk, Shashank Jadhav, Arno Luppold, Kateryna Muts, Dominic Oehlert, Nina Piontek and Mikko Roth.
    Compilation for Real-Time Systems 10 Years After PREDATOR.
    Invited Talk at the Workshop on Embedded Systems, dedicated to Peter Marwedel, Dortmund / Germany, July 2019.


  • Dominic Oehlert, Arno Luppold and Heiko Falk.
    Favorable Adjustment of Periods for Reduced Hyperperiods in Real-Time Systems.
    In Proceedings of the 22nd International Workshop on Software & Compilers for Embedded Systems (SCOPES), pages 82-85, St. Goar / Germany, May 2019.
    [Abstract] [pdf] [doi: 10.1145/3323439.3323975]

  • Kateryna Muts, Arno Luppold and Heiko Falk.
    Compiler-Based Code Compression for Hard Real-Time Systems.
    In Proceedings of the 22nd International Workshop on Software & Compilers for Embedded Systems (SCOPES), pages 72-81, St. Goar / Germany, May 2019.
    [Abstract] [pdf] [doi: 10.1145/3323439.3323976]

2018

  • Kateryna Muts, Arno Luppold and Heiko Falk.
    Multi-Objective Optimization for the Compiler of Hard Real-Time Systems.
    In Proceedings of the 23rd International Symposium on Mathematical Programming (ISMP), Bordeaux / France, July 2018.
    [Abstract]

  • Kateryna Muts, Arno Luppold and Heiko Falk.
    Multi-Criteria Compiler-Based Optimization of Hard Real-Time Systems.
    In Proceedings of the 21st International Workshop on Software & Compilers for Embedded Systems (SCOPES), pages 54-57, St. Goar / Germany, May 2018.
    [Abstract] [pdf] [doi: 10.1145/3207719.3207730]

2017

  • Peter Marwedel, Heiko Falk, and Olaf Neugebauer.
    Memory-Aware Optimization of Embedded Software for Multiple Objectives.
    In S. Ha and J. Teich (Eds.): Handbook of Hardware/Software Codesign, Springer, June 2017.
    [Abstract] [doi: 10.1007/978-94-017-7358-4_27-2]