Vertifying Applications in Multi-core Environments
For many years Silicon vendors have been shipping modern day CPU’s with more than one core giving software designers the ability to harness the power of parallel computing and utilizing the complex features provided within today’s processors. Software architects designing certifiable systems have been until now restricted to single cores finding themselves having to turn off any extra cores on the chip so that the software could be certified to the strict standards imposed by the certification agencies.
In a single core environment resources are not shared between concurrent software so certifying is much simpler. In multi-core, resources such as memory busses and L2 cache are shared so there is the potential for software on one core to interfere with software running on another core. This is because software on one core could be using a resource that software on the other core requires. In a single core environment this wouldn’t cause any delay but in a multi-core environment it can cause not only software to run slower but can also make it less deterministic. In a safety critical environment this may cause software to miss deadlines resulting in failure of the system and in critical cases, loss of human life.
The recent implementation and progress of the SIL4 certification of PikeOS in the Railway industry in a multi-core configuration has paved the way for future multi-core designs and the avionics industry ‘holy grail’ of an Integrated Modular Avionics (IMA) architecture on a multi-core platform addressing both safety and security standards.
In this configuration you will see we have 4 cores (A-D) and 4 resource partitions (RP1-RP4). We then have 3 time partitions. A time partition can be thought about like a container in the same way as a resource partition contains the software access to memory and devices etc. so time partitions contain when software can execute. The software in the above example is known as being time and space partitioned.
Learn more about how PikeOS allows certification of safety-critical applications on multi-core platforms. Download the Whitepaper “Certifying Applications in a Multi-core Environment: a New Approach Gains Success”.