By Paul Parkinson
Last week, I was looking at a customer’s avionics software
architecture to determine whether it might be possible to migrate this
to an ARINC 653-based Integrated Modular Avionics (IMA) environment.
This raised some interesting questions in terms of performance and scalability.
If you consider the implementation of an avionics system using an ARINC
653 software architecture, the RTOS enforces temporal partitioning of
the safety critical applications running in the individual partitions
through the use of ARINC 653 time slot scheduling. (ARINC 653 defines
a schedule consisting of major frame comprised of a sequence of minor frames
which specify the execution time of an individual partition for a fixed
duration; at the end of the major frame the schedule repeats). However,
the ARINC 653 scheduling implementation needs to be deterministic, i.e.
the next partition should start execution at the exact time predefined
in the ARINC 653 schedule, or very close to it. The delta between the
defined time and the actual time is known as partition jitter.
So, what approaches can be used to minimize partition jitter?