A typical dashboard panel in the cockpit of a private jet plane aircraft. Throttle control lever in focus.
Commercial

Multicore Processors: Why They Are Becoming Standard Equipment in Modern Avionics

Originally designed for the high-performance computing industry, multicore processors are now becoming standard equipment in modern avionics. However, the transition from single-core processors to today’s multicore processors is not without its challenges. To understand what these challenges are and what is being done to address them, Aerospace Innovations magazine spoke to the experts.

What Are Multicore Processors?

Let’s start with first principles: What exactly are multicore processors?
“Multicore processors incorporate more than one processing core; this allows them to execute more than one stream of instructions in parallel,” replied Dr. Sam Thompson, Rapita Systems’ Senior Multicore Analysis Engineer. (Rapita Systems provides software verification tools and services primarily to the aerospace and automotive industries.) “This, in turn, means that more functionality can be hosted on a single processor.”

In plain language, a multicore processor is a computer chip with two or more independent central processing units (CPUs) on a single integrated circuit chip. If ‘two heads are better than one’ when it comes to humans solving problems, two CPUs (or more) on an integrated circuit are better than one when it comes to computers solving problems.

That’s not all: “Multicore processors integrate multiple processing units (cores) within a single chip, enabling simultaneous execution of multiple tasks,” explained Amani Karchoud, Technical Product Marketing Manager with SYSGO, a developer of real-time operating systems. “This parallelism enhances performance, improves multitasking capabilities, and increases energy efficiency compared to single-core processors.”

“Physically, multicore processors are multiple cores of the same processor architecture packaged in a closely coupled configuration,” noted Gary Gilliland, Vice President of Marketing at DDC-I, another developer of real-time operating systems. “For example, they can have multiple ARM Cortex A-72 cores sharing cache, memory bus, memory controller and RAM. They offer increased computing power without significant increases in size, weight and power, which makes them appealing to the developers of embedded avionics applications.”

It is this last set of points that make multicore processors attractive to the designers and builders of avionic systems. “In the context of avionics equipment renewal, for example, it is important to be able to consolidate several existing systems into a single system,” SYSGO Field Application Engineer Stephane Le Merdy said. “Using multicore systems allows this approach to be met. Furthermore, avionics now have the desire to develop complex systems. The pursuit of performance is a major area of work where the use of multicore platforms is entirely appropriate.

Solid Advantages
The advantages of multicore processors over single-core processors described above are just the start of the list. Many of these were enumerated for Aerospace Innovations magazine by James Coleman, Principal Engineer with Intel Corporation, the renowned computer chipmaker.

For instance, “each core can execute tasks independently, allowing for true simultaneous processing,” said Coleman. “This is essential in environments where multiple operations must occur at once without delay. As well, by distributing tasks across multiple cores, multicore processors can manage more processes faster without overloading a single-core, leading to better system responsiveness and efficiency.”

In fact, the fundamental difference between multicore and single processors is akin to the difference between a team doing a range of tasks at the same time versus a single person trying to do everything by themselves. “In critical systems, the ability to run multiple tasks on different cores means that time-sensitive tasks can be prioritized and handled without waiting for other tasks to complete,” Coleman said. “This capability minimizes delays and enhances the performance of real-time applications.”

“Compared to single-core processors, multicore processors offer major performance improvements, especially in tasks that can be divided into smaller, concurrent workloads,” agreed Stefan Harwarth, Specialist Systems Architect with Wind River, a provider of real-time operating systems. “These processors enhance processing speed, improve efficiency, and allow systems to handle more complex and data-intensive applications with greater responsiveness and reliability.”

One final advantage, briefly touched on earlier, deserves a closer look. “One aspect of leveraging multicore processors is consolidating multiple applications onto a single multicore processor,” Coleman said. “Consider the size, weight, and power requirements of each single purpose module on an aircraft: Each time we combine multiple applications into one module, we reduce the total weight and power required and conserve the resources required during flight. This contributes to a more sustainable future for the aerospace industry.” It also reduces weight, which saves fuel, while drawing less electricity from the aircraft’s total reserve.

How Are Multicore Processors Being Used Today?
With these advantages in mind, it’s worth asking: How are multicore processors actually being implemented in real-world avionics systems today?

“In aviation, multicore processors are employed in avionics systems to manage concurrent operations such as flight control, navigation, and communication,” said Karchoud. They are also being used to support flight management systems, autopilot controls, onboard sensor data processing, engine monitoring, and collision avoidance systems, among others.

Collectively, “these processors enable the simultaneous execution of multiple critical functions,” said Olivier Charrier, Wind River’s Principal Technologist of Solutions Engineering. “Their key advantages include enhanced computational capacity, improved system responsiveness, and the ability to consolidate several functions onto a single hardware platform.”

Given how complex modern aircraft systems have become, multicore processors have become integral to today’s onboard aviation systems precisely because they can handle complex, high-performance computing tasks more effectively than single-core processors.

“These functions include safety-critical and non-safety-critical tasks, real-time and isochronous operations, and secure and non-secure processes within the same SoCs [system-on-chip],” Coleman said. “This integration allows for a more streamlined and efficient architecture, reducing the need for multiple discrete controller modules and thus minimizing system complexity and improving reliability. With the advent of the AC/AMC 20-193 to clarify acceptable means of demonstrating compliance of multicore processors, certification authorities acknowledged the benefits and inevitability of multicore technology, leading to its increased adoption across avionic systems.”

One practical reason why multicore processors are becoming prevalent in avionics systems is simply because they are in widespread use in desktop computing and server systems. Because the aviation market is relatively small compared to the overall computing marketplace, avionics developers have to work with whatever is available to them commercially. When it comes to CPUs, what’s available are multicore processors.

“After all, it doesn’t cost that much more to print two or more processors on a single chip than it does to print a single processor,” said Jay Thomas, Director of Field Development at LDRA, a software analysis and testing firm. “Factor in the other advantages associated with multicore processors, and you can see why they are dominating the marketplace.”

As a result, “most new avionics projects are now based on the use of multicore processors,” Le Merdy said. “Thus, the aviation industry uses these SoCs just like the automotive and railways industries do.”

Challenges of Multicore Processors
Despite all the advantages that multicore processors bring to aircraft systems, they are not a perfect solution to the challenge of onboard data processing.
The biggest concern is a problem commonly referred to as ‘interference’. When an aircraft avionics system has more than one core of a multicore processor operating simultaneously, there is the potential for one or more of these processor operations to affect the ones being executed by the others.

To be precise, “since software executing on different cores will contend for usage of an avionics system’s shared data resources, an multicore processor (MCP) greatly increases the potential for interference patterns whereby software on one core can impact the execution time of software on another core,” Gilliland said. “Consequently, unless managed and bounded, this multicore interference could impact software to miss deadlines that may result in unsafe failure conditions. This is why guaranteeing that every application in an avionics platform has the time it needs to perform its intended functions (system timing analysis) is part of the DO-178C certification of these systems. Developers of certifiable, safety-critical software must design for worst-case behavior, and show that there is time available to meet all deadlines.”

Worth noting: Because of this potential for interference, “most multicore processors in use in aviation today are either hosting low-criticality functionality or are running with only one core active (which allows them to be certified like their single-core counterparts),” said Dr. Thompson. However, thanks to improvements in multicore processor technology, RTOS technology and certification authority guidance, “avionics vendors are now using multicore processors as they were intended with all cores enabled,” Gilliland noted.

A second issue associated with multicore processors is known as ‘variance’. In plain language, one can think of this as ‘actual processing speed’. Simply put, just because two multicore processors have the same architecture and same operating specifications doesn’t mean that they will process data at precisely the same speed.

In the desktop computer and server space, variance is not a big issue. After all, the units of time we’re talking about are almost infinitesimal, and certainly beyond the ability of a human observer to detect unaided.

“When you’re running Windows on a 32-core processor, there’s a lot of variance in terms of how long it takes each core to do a specific task,” Thomas said. “That is okay because that’s how those applications were designed: They can forgive a degree of variance. But when it comes to avionics, we need our CPUs to obtain their inputs, perform their calculations, and output their data within a very specific, narrow window of time. The first generations of multicore processors with their desktop roots weren’t ideal for that.”

Back in the days of single-core processors, the hosting of several independent functions on a single processor was controlled using a management concept known as IMA (integrated modular avionics). “IMA was based on very exact time slicing where you’d run multiple applications on a single-core and you would make sure that you knew exactly how much time each application would take,” said Thomas. “That was the state-of-the-art for many flight control systems. You were able to run multiple flight control applications one after another taking turns on the same CPU, which incidentally avoided interference issues.”

If a single-core processor operating in this mode was akin to a single person switching between two or more tasks sequentially, then a multicore processor can be likened to a group of people doing multiple interconnected tasks at once. In this situation, variance is like assigning tasks to a group of people with different skill levels — the overall speed is limited by the slowest performer. And just like a chain is only as strong as its weakest link, the speed and successful interactivity in a multicore processing system is only as good as its least efficient core.

“In the single-core world, especially in those IMA applications, you could get very exact and specific timing on how much time it took to do your algorithm,” Thomas observed. “But in the multicore world that exactness is gone, at least for the time being.”

Finally, “from a regulatory perspective, the key challenge is the relatively new guidance in the form of A(M)C 20-193” said Dr. Thompson. “While the aviation industry is very familiar with more established standards like DO-178C/ED-12C and DO-254/ED-80, there is no corpus of experience of meeting A(M)C 20-193 objectives, and organizations do not yet have internal processes available to address the multicore certification objectives.”

Addressing the Challenges
Given the issues cited above, certifying multicore processors for safety-critical applications is more complex than for single-core processors. This is why “aviation authorities have added some additional objectives to address multicore usage in the form of the AC/AMC 20-193 (as an update of the previously called CAST-32A guidance), as a complement to DO-178C and DO-254 guidelines,” said Charrier.

As for the issue of multicore processor interference and variance? Coping with these issues proactively requires on-the-ground testing and software fixes before such systems can be allowed to go aloft. “It’s all about aligning your systems and your resources so that different parts of your application running on different cores don’t conflict and/or be degraded by variance,” said Thomas. “That’s something that LRDA has been doing for some time, but that’s not all. We’ve also been working with chipmakers to get variance down on the hardware side. The fact that the chipmakers have taken this challenge seriously has made the problem a lot easier to address.”

Intel’s James Coleman is sympathetic to this point of view. “Avionics manufacturers need vendors to provide comprehensive chip reliability and characterization information, including evidence demonstrating adherence to AMC 20-152A and AMC 20-193 objectives,” he said. “These resources should be designed to help system designers effectively identify and mitigate potential interference channels. This support should also address design assurance and certification issues, to ensure that multicore systems meet stringent aviation standards.”

This being said, “we find that there can be a lot of concern whenever the topic of multicore pops up with a hyperfocus on interference overlooking the values for MCP architectures,” Gilliland said. “This is especially the case as each hardware, software, and tool vendor puts their spin on what is the right solution for MCP for safety critical operations. Nevertheless, the issues that multicore processing create are not new. There are means to resolve these MCP issues and make them less of a challenge or burden — but the approach and solution set can differ greatly amongst processor architectures and operating system environments. Such differences include the level of effort it takes to develop and certify a safety-critical MCP system, which can result in performance advantages in one vendor’s solution compared to the next.”

A Time for Extinction
In this article, we have covered the progression of multicore processors into aircraft systems, the issues that can sometimes arise in their usage aloft, and the solutions to those issues. This begs one last question: Are single-core processors doomed?

Apparently, the answer is ‘yes’. According to Olivier Charrier, multicore processors are expected to become the standard for aviation systems as the demand for more powerful and efficient avionics continues to grow.

“Advances in processor architecture, software tools, and certification processes will help overcome current challenges, enabling broader adoption of multicore systems,” he said. “As avionics systems become increasingly complex, the use of single-core processors on new aircraft is likely to diminish, with multicore processors offering the performance and scalability necessary for future aviation applications.”

“Over time, the aviation industry is expected to increasingly adopt multicore processors, phasing out single-core processors in new aircraft designs,” agreed Amani Karshoud. “This shift is driven by the need for enhanced performance and the obsolescence of single-core technologies.”

“Multicore processors are becoming increasingly prevalent across various industries, and aerospace is no exception,” Intel’s James Coleman said. “Given the intense computational demands of modern aviation systems, the shift towards multicore technology is inevitable. Their substantial benefits for handling complex, compute-intensive workloads make multicore processors a key component in future aircraft designs. As aerospace technology continues to evolve, the reliance on single-core processors is expected to diminish, marking a significant shift towards more advanced multicore architectures in new aircraft.”

Granted, the interference and variance issues associated with multicore processors still continue to cause concern. As Dr. Thompson observed, “multicore processors are widely seen as being novel, and it’s fair to say that they currently carry greater certification risk than their single-core counterparts. However, it’s important to bear in mind that not too many years ago, fly-by-wire systems occupied a similar space: there were clear advantages from embracing the new technology, but there was additional risk associated with deployment. I expect that the deployment of multicore processors will follow a similar trajectory, until certification of high-criticality multicore systems becomes a completely unremarkable achievement.”

In conclusion, while multicore processors bring unique challenges, they also offer unmatched potential. So, as avionics systems grow ever more complex and performance-driven, the shift toward multicore is not just logical — it’s essential. Granted, the path to certification may be longer, but the destination is clear: Multicore processors are here to stay. 

By James Careless