Growing applications for multi-core processors
Multi-core processors have wide industrial application potential—from vision inspection systems to motion control—as developers increasingly implement the technology, initially in high-end systems. Link to 3 other Control Engineering articles in this four-part series.
Among advantages of multi-core CPUs is the diversity of applications they can solve, according to Casey Weltzin, product manager for software at National Instruments Inc. Understandably, initial industrial usage has been in higher-end automation systems. “While multi-core CPUs are now an option in the industrial and embedded spaces, over the next 10 years they will increasingly become ubiquitous as technology continues to trickle down to lower-end, power-constrained devices,” said Weltzin. (Read additional Control Engineering articles in this series, linked below: Insights on multi-core processors and Multi-core processors: Software key to success and Computing Power: Multi-core Processors Help Industrial Automation.)
The wide potential of multi-core processors (MCPs) stems from their ability to perform multiple tasks in parallel. This includes overall tasks such as pipelining many chunks of data simultaneously for high system throughput or enabling more complex control algorithms, explained Weltzin. “Any application that can be divided into parallel pieces is suitable for multi-core processors,” he added.
Industrial applications of MCPs have included:
- Machine vision
- CAD systems
- CNC machines
- Automated test systems, and
- Motion control.
Particularly in the latter area, there is an interesting suggestion of commonality for “parallelism” between multi-axis motion and multi-core processing.
Although numerous applications can benefit from using multi-core processors, heavily regulated industries or application areas may see slower adoption, Weltzin noted. These are mainly medical and safety-related applications requiring extensive certifications. “In these cases, not only will software need to be modified to run on multi-core CPUs, but the modified software may also need to undergo intense scrutiny that presents an additional barrier to overcome,” he said.
For process safety-related applications, at least, a somewhat different view of MCPs came from Alexandra Dopplinger, global segment lead for Factory Automation & Drives at Freescale Semiconductor Inc. Functions such as safety controllers often run on separate dedicated processors, she explained. “However, operating systems such as QNX Neutrino RTOS can partition and prioritize deterministic, real-time control algorithms to safely run alongside an industrial network protocol and a human-machine interface on a single core or multiple cores, without fear of interrupt or resource contention,” she said. (Neutrino RTOS is a product of QNX Software Systems, a subsidiary of Research In Motion Ltd.—see more below.)
Dopplinger further mentioned that several new MCPs are certifiable for use in Safety Integrity Level 3 (SIL-3) applications. “For all multi-core processor solutions, users should carefully select development tools that make the system easier to debug and certify,” she cautioned. A demo and training module, available from Freescale Semiconductor, provide further information about safety-related applications. The demo (at https://bit.ly/fhaXrP) describes automotive functional safety using Freescale MPC564xL 32-bit, dual-core microprocessors, while the training module (at https://bit.ly/fSKQ6R) addresses functional safety capabilities of MPC5643L processors, per International Electrotechnical Commission standard IEC 61508 (SIL-3).
Real-time operating systems (RTOSs) play a vital role in easing system developers’ programming and configuration challenges when working with MCPs.
One RTOS mentioned in the main Feb. 2011 article on MCPs was Enea OSE—offered by Enea, a company headquartered in Stockholm, Sweden. Enea OSE is one of three products comprising the company’s RTOS family. This modular, full-featured operating system is optimized for multi-core systems (and complex distributed systems), where demand for system reliability and availability is at the highest levels.
Another member of the RTOS family that addresses multi-core technology is Enea OSEck—a compact, multi-core DSP-optimized version of the larger OSE system. The family shares several attributes, including a high-level programming model, direct message-passing architecture, and an intuitive application programming interface (API), which simplify programming, maximize scalability, and boost reliability, according to Enea.
As for QNX Software Systems’ registered Neutrino RTOS (mentioned above), it’s also a full-featured modular system, which can be scaled down to meet constrained resource requirements found in real-time embedded systems. Among numerous features of Neutrino RTOS is memory-protected microkernel architecture to maximize reliability; comprehensive multi-core support for asymmetric, symmetric, and bound multiprocessing; and user tools to help debug and optimize multi-core applications efficiently.
Virtualization is another technology helping to obtain the promise of MCPs. This is a methodology that allows running multiple operating environments—including a real-time and a general-purpose operating system—on the same hardware device. Virtualization works through the abstraction of associated processing cores, memory, and support devices. Automation system developers increasingly use this extra piece of software in their MCP-based controllers.
See three other articles in this series
Computing Power: Multi-Core Processors Help Industrial Automation – Two or more independent execution cores on one microprocessor chip can match—or exceed—single-core chip performance by running at lower frequencies and using less power. Different software programming is required to obtain full benefits.
Insights on multi-core processors – Intel says multi-core processor technology addresses numerous industrial control challenges by delivering greater ‘raw’ and real-time performance. This was driven by a need for critical applications to respond quickly and predictably to real-time events.
Multi-core processors: Software key to success – Multi-thread parallel computing software and appropriate user tools advance the promise of high performance and power efficiency from multi-core processors.
Frank J. Bartos, P.E., is a Control Engineering contributing content specialist. Reach him at firstname.lastname@example.org.