ARA on Steroids: Fly faster with Profiling and Caching.

'Prepare ship for light speed.', 'No, no, light speed is too slow!', 'Light speed to slow?', 'Yes, we have to gonna go right to ... ludricous speed!', 'LUDRICOUS SPEED?? Sir, we've never gone that far, before. I don't know, if this ship can take it.', 'What's the matter, Colonal Sandurz? Chicken...?', 'Prepare ship (ugh), prepare ship for ludicrous speed!' -- Spaceballs

ARA is a whole-system compiler to optimizes the system with global knowledge. It consists of two parts. In a first step it takes a (real-time) system's source code as input and statically analyzes it to retrieve global knowledge. Equipped with this knowledge, it then synthesize an optimized system image in a second step. Possible optimizations are speed or memory usage improvements. ARA focuses on usage and interactions between application and underlying operating system.

Currently, in terms of speed it comes to its limits, when the analyzed system gets bigger. Your goal with this thesis is to make ARA fast, really fast!

This includes a few subtasks:

  • Construct maximal atomic basis blocks, a specific control flow structure that massively reduce further traversal costs.
  • Profile ARA. What are the exact bottlenecks?
  • Introduces caches, where they gain a real benefit.
  • Measure your improvements.

Since ARA is written in C++ and Python, a good knowledge of these languages is beneficial.

Topics covered by this thesis:
profiling, static analysis, LLVM, C++, Python

Further Reading

OSPERT Workshop B
ARA: Automatic Instance-Level Analysis in Real-Time Systems
Gerion Entrup, Benedikt Steinmeier, Christian DietrichProceedings of the 15th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '19)2019.
PDF [BibTex]
OSPERT Workshop B Best Paper Award
Levels of Specialization in Real-Time Operating Systems
Björn Fiedler, Gerion Entrup, Christian Dietrich, Daniel LohmannProceedings of the 14th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT '18)2018Best Paper Award.
PDF [BibTex]
TECS Journal A
Global Optimization of Fixed-Priority Real-Time Systems by RTOS-Aware Control-Flow Analysis
Christian Dietrich, Martin Hoffmann, Daniel LohmannACM Transactions on Embedded Computing Systems16.2ACM Press2017.
PDF Raw Data 10.1145/2950053 [BibTex]