By Sudipta Chattopadhyay, Linköping University, Sweden, sudipta.chattopadhyay@liu.se | Abhik Roychoudhury, National University of Singapore, Singapore, abhik@comp.nus.edu.sg | Jakob Rosén, Linköping University, Sweden, jakob.rosen@gmail.com | Petru Eles, Linköping University, Sweden, petru.eles@liu.se | Zebo Peng, Linköping University, Sweden, zebo.peng@liu.se
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.
Multi-core architectures have recently gained in popularity due to their high-performance and low-power characteristics. Most 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. Real-time, embedded systems often need to satisfy several extra-functional constraints, such as timing. In particular, for hard real-time systems, such timing constraints are strictly enforced. Violation of these timing constraints may have serious consequences, potentially costing human lives. Therefore, static timing-analysis of hard real-time systems has emerged as a critical problem to solve.
This monograph first discusses the challenges imposed by multi-core architectures in designing time-predictable embedded systems. It goes on to describe, in detail, a comprehensive solution to guarantee time-predictable execution on multi-core platforms. It also discusses various techniques and surveys the state-of-the-art in terms of available solutions. Throughout the text, the aim is to provide a solid background on recent trends in research towards achieving time-predictability on multi-cores. It also highlights the limitations of the state-of-the-art and discusses future research opportunities and challenges to accomplish time-predictable execution on multi-core platforms.
The monograph is an ideal reference for embedded systems designers and researchers interested in having a foundation for building time-predictable software on multi-core platforms. It will also help the research community to address the existing challenges in this area.