ARINC 653 and multi-core microprocessors — Considerations and potential impacts

We live in a world where computer-based electronics are utilized by consumers as part of their every day routines. The enormous size of this worldwide consumer electronic market ends up influencing the types and capabilities of microprocessors available for other lower-volume electronic markets, including commercial avionics. Customer demands for additional product features and improved response times are driving the development of microprocessor improvements that satisfy these demands. In response, some processor designers have integrated multiple processor cores into a single hardware component that permit multiple software applications and threads to execute concurrently. Commercial avionics products today are predominantly single-core. Whether consumer product demands for multi-core processors will significantly impact the availability of single-core processors is still yet to be seen. There is a discernible trend for new processor designs, including many “leading-edge”, to be multi-core. Certification considerations in the use of multi-core processors in commercial avionics are currently being studied and researched by a range of aircraft manufacturers, avionics suppliers, software suppliers, hardware vendors, and research organizations. This paper covers one such multi-core related software topic: Given an operating system running on a multi-core processor that satisfies an avionics product's certification considerations, what are the cascade affects on applications that utilize a software architecture and set of programming interfaces as defined in ARINC specification 653 [1], “Avionics Application Software Standard Interface”? This paper describes the considerations and potential impacts of utilizing multi-core processors in an ARINC 653 based software environment.