Abstract :
Multi-core processors (MCPs) present many challenges to developers of certifiable [1], safety-critical software applications. Many of these challenges fall on the system developer/integrator. However, some rely on capabilities the underlying Real-Time Operating System (RTOS) that is used to support these applications. Most importantly, the RTOS must allow application developers to bound and control interference patterns on shared resources (e.g., contention for shared cache). Additionally, it must help minimize the difference between an application´s average and worst-case execution times (ACET and WCET, respectively). Without such RTOS capabilities, developers of certifiable, safety-critical applications will find it difficult to achieve the goals of ensuring that the systems they deliver will safely perform their intended functions and maximizing the available CPU bandwidth afforded by MCPs. In this paper, we discuss cache partitioning technology that allows developers to achieve these two goals along with benchmark results that demonstrate its efficacy.
Keywords :
avionics; cache storage; multiprocessing systems; operating systems (computers); real-time systems; safety-critical software; ACET; MCP; RTOS capabilities; WCET; application average execution times; application worst-case execution times; bound interference patterns; cache partitioning management; certifiable safety-critical software applications; certifiable-safety-critical avionics software applications; interference pattern control; multicore processors; real-time operating system; shared cache contention; shared resources; Interference; Multicore processing; Program processors; Random access memory; Software performance; Software systems;