A Synergistic Approach to Predictable Compilation and Scheduling on Commodity Multi-Cores
Björn Forsberg, Maxim Mattheeuws, Andreas Kurth, Andrea Marongiu, Luca Benini. A Synergistic Approach to Predictable Compilation and Scheduling on Commodity Multi-Cores.
Commodity multi-cores are still uncommon in real-time systems, as resource sharing complicates traditional timing analysis. The Predictable Execution Model (PREM) tackles this issue in software, through scheduling and code refactoring. State-of-the-art PREM compilers analyze tasks one at a time, maximizing task-level performance metrics, and are oblivious to system-level scheduling effects (e.g. memory serialization when tasks are co-scheduled). We propose a solution that allows PREM code generation and system scheduling to interact, based on a genetic algorithm aimed at maximizing overall system performance. Experiments on commodity hardware show that the performance increase can be as high as 31% compared to standard PREM code generation, without negatively impacting the predictability guarantees.