Time-Predictable Embedded Software on Multi-Core Platforms: Analysis and Optimization
Foundations and Trends in Electronic Design Automation, July 2014, Volume 8, Issue 3-4, pp. 199-356.
Multi-core architectures have recently gained popularity due to their high performance and low-power characteristics. Most of the modern desktop systems are now equipped with multi-core processors. Despite the wide-spread adaptation of multi-core processors in desktop systems, using such processors in embedded systems still poses several challenges. Embedded systems are often constrained by several extra-functional aspects, such as time. Therefore, providing guarantees for time-predictable execution is one of the key requirements for embedded system designers. Multi-core processors adversely affect the time-predictability due to the presence of shared resources, such as shared caches and shared buses. In this contribution, we shall first discuss the challenges imposed by multi-core architectures in designing time-predictable embedded systems. Subsequently, we shall describe, in details, a comprehensive solution to guarantee time-predictable execution on multi-core platforms. Besides, we shall also perform a discussion of different techniques to provide an overview of the state-of-the-art solutions in this topic. Through this work, we aim to provide a solid background on recent trends of research towards achieving time-predictability on multi-cores. Besides, we also highlight the limitations of the state-of-the-art and discuss future research opportunities and challenges to accomplish time-predictable execution on multi-core platforms.
[CRRE14] Sudipta Chattopadhyay, Abhik Roychoudhury, Jakob RosÚn, Petru Eles, Zebo Peng, "Time-Predictable Embedded Software on Multi-Core Platforms: Analysis and Optimization", Foundations and Trends in Electronic Design Automation, July 2014, Volume 8, Issue 3-4, pp. 199-356.