I. Introduction
Multiprocessor systems on chip (MPSoCs) and multicore platforms have been widely applied for modern computer systems to reduce production cost without sacrificing performance or significantly increasing power consumption. Multiple processing elements, working collaboratively on a common task, increase the computation power. Shared resources, such as buses, main memory, and DMA in multicore and MPSoC systems, and communication peripherals to connect nodes in distributed systems now represent the bottleneck for performance and timing predictability. Multiprocessor and MPSoC systems are typically designed to improve the average-case performance, while worst-case timing guarantees are usually not taken into consideration. However, guarantees on worst-case response/completion times are key requirements when implementing hard real-time applications, such as avionic and automotive applications.