Computing Power: Multi-Core Processors Help Industrial Automation
Continual increases in semiconductor performance and shrinkage of die sizes down to nanometer process levels has marked the remarkable progress of microprocessors. A good part of this performance advance has come from higher chip frequencies or clock speeds, which translated into higher power consumption (including power leakage) and heat generation.
With losses and inefficiencies reaching unacceptable levels, a fresh approach to chip design was needed. Hence the emergence of multi-core processors (MCPs)—defined as two or more independent execution cores placed on one silicon chip. As with most technology advances, some change is necessary to obtain its full benefits—in this case parallel software programming.
Intel Corp., a prime manufacturer of MCPs, sees these devices moving into the industrial arena by automation companies’ ability to exploit PC-based technology and other standards-based components to quickly adapt to specific customer needs. According to Ian Gilvarry, strategic marketing manager for industrial automation at Intel, this approach allows easier scaling of automation systems and integration of special functionality than dedicated hardware-based solutions.
Gilvarry pointed to MCPs combined with virtualization technology enabling a single-platform architecture that can consolidate functions found in various control devices like PLCs, motion controllers, and human-machine interfaces (HMIs). “Intel multi-core processors can be used to consolidate multiple functions including safety, control, visualization, and network security onto a single board. Furthermore, this consolidation can usually be achieved with minimal software changes,” he said.
Among various applications, MCPs are ideal for implementing machine motion and logic on one CPU, explained Gilvarry. This contrasts with long-held beliefs of machine builders and OEMs to best manage these machine tasks separately—whether done by (1) one controller for each motion axis, also handling part of machine logic; (2) a central PLC with a motion controller for each axis; or (3) a central PLC for logic and a central motion controller for all machine axes. However, these approaches suffer from drawbacks, such as complex synchronization, many programs to keep in track, program development/debugging, or in the last case, still two programs with heavy communication needs.
“Performance of the logic limits machine performance for all these concepts; also, complex communication between logic and motion limits machine flexibility and causes enormous efforts for sophisticated diagnostics,” Gilvarry said. “Here’s where multi-core delivers, eliminating the PLC and integrating motion, logic, and other functionality into one control.”
Intel MCP offerings include two models of its latest Atom family and Core 2 Duo (each at two cores); Core 2 Quad at four cores; and some Core i7 processors at six cores.
Performance per watt
More efficient use of chip power is one of several benefits MCPs bring to the industrial arena. Rather than push clock speeds to increase performance, with diminishing returns on power consumption, MCPs provide a new direction that Casey Weltzin, product manager for software at National Instruments Inc. (NI), calls “better performance per watt.” Power consumption has become a big issue for traditional (single-core) chip design. “Multiple CPUs on one chip enable computation parallelism at a power cost that scales linearly—not exponentially—with the number of cores,” Weltzin said.
Extra computing cores translate into more compact automation systems which can incorporate more functionality. That added computing power lets MCP users implement more complex control algorithms that do more and run computations in more power-efficient ways, he explained. Advanced software algorithms can complete a process faster, thereby saving some power or other system operational cost.
MCPs permit more than one operating system (OS) on a single controller. Ability to run both real-time functions for deterministic control and general-purpose OS tasks (HMI, networking access, etc.) is a real asset in many industrial automation systems. Moreover, users can plan out how to apply the cores, that is, designate which core(s) will handle which OS or specific control loop. “Designers have traditionally relied on separate hardware pieces to meet this need; now multi-core CPUs combined with virtualization technology reduce hardware costs and footprint,” Weltzin noted. MCPs have wide industrial application potential (see more online).
As a forward-looking implementer of MCPs in its industrial PC (IPC) products, Beckhoff Automation recognizes the multitasking benefits extra cores offer. The company has coined the term “scientific automation” to summarize how engineers can use extra cores on a multi-core IPC to perform numerous parallel tasks, according to Corey McAtee, Beckhoff’s technical marketing manager.
In Beckhoff’s experience, multi-core IPCs can decrease overall power consumption and, as a result, reduce a machine’s “thermal footprint.” Less hardware space needed is an additional benefit. “With a smaller thermal footprint, machine builders can reduce cabinet size or eliminate cooling devices in the control cabinet,” said McAtee.
“Multi-core IPCs on the automation control side of the factory floor provide the greatest benefits to machine builders looking to streamline machine designs and eliminate unnecessary controls components,” McAtee stated. MCPs for the operator interface side of the factory floor pose a different case—as discussed in an online extension.
Ability to dedicate individual processor cores to particular automation tasks is illustrated in Beckhoff’s new TwinCAT 3 software platform scheduled for release in 2Q11 (see image). “Teaming multi-core IPCs with a software package enables users to intelligently take advantage of individual cores within a multi-core processor and enjoy a host of benefits,” McAtee added. “The IPC becomes a powerful device, doing the work of four conventional devices, using one software platform and one network (EtherCAT) with considerably less wiring and programming.”
Freescale Semiconductor Inc. views MCPs as a means to increase performance, while reducing chip count, board size, and power consumption of industrial applications such as programmable logic controllers, motor drives, and robotics. “Yet, multi-core processors can increase thermal and software design complexity and cost,” cautioned Alexandra Dopplinger, Freescale’s global segment lead for Factory Automation & Drives. She explained that lower power consumption doesn’t necessarily simplify thermal design due to the smaller geometry technology on which MCPs are fabricated. “The physics of removing the same amount of heat from a smaller area die can often involve more costly heat sink material, or more complex heat sink geometry,” Dopplinger said.
Importantly, MCPs typically run at slower clock speeds, and two or four cores don’t usually give double or quadruple performance. “However, multi-core architectures can support much higher performance for less cost and power consumption than traditional single-core architectures,” she stated. As an example, Dopplinger cited Freescale’s trademarked QorIQ P4080 communications processor that implements eight 1.5 GHz cores in one chip and provides more than 20,000 million instructions per second (MIPS)—while consuming less than 30 W power. A previous generation single-core processor offered only 3,000 MIPS at the same power level.
Operating systems also represent an important aspect of MCP application. Dopplinger mentioned that in some cases a single core dedicated to make decisions about real-time control of a complex process is appropriate. “However, operating systems like Enea OSE Multicore Real-Time Operating System are designed to optimally distribute software instructions across multiple cores of processors such as Freescale’s QorIQ, while making it seem like the algorithm is running on a single core,” she said. Similarly, functions such as safety controllers often run on separate dedicated processors (see more coverage online).
Different software, programming
Switching to MCPs is not an evolutionary step. It requires software designers to think differently than in the past, according to NI’s Weltzin. “Designers must concentrate on parallelism and consciously split their applications into multiple threads to realize the benefits. This represents the central challenge to MCP technology’s adoption today,” he said. “Researchers, tool providers, and engineers/programmers must work on this issue together.”
Developers face other challenges in working with parallel code. First, the mechanism for connecting data caches among cores—or memory architecture—affects the rate at which code running on those cores can share data, hence it is vital to overall application performance. Debugging and visualizing interactions between threads is a further challenge, Weltzin explained.
He mentioned availability of software tools to ease memory cache issues and debugging, but more innovation is needed (see more online). “Essentially, these tools take information about dependencies specified in code and then use that information to automatically map applications to multi-core CPUs,” Weltzin said. An underlying technology called “dataflow” removes the need for designers to manually identify parallel sections of code. Dataflow is part of NI’s LabVIEW software, which is typically used with up to eight CPU cores. “In addition, many software tool providers are actively investing in debugging tools that allow developers to trace the execution of individual threads and visualize interactions between threads,” Weltzin continued.
Processors with four or more cores are readily available, with much higher core count under development due to relatively easy hardware replication. "As number of cores on a chip continues to grow, making effective use of available cores will be a central challenge and virtualization technology is a promising potential solution,” he said. With many cores, say 16 for example, keeping track of parallel chunks of code becomes truly difficult. A smart compiler can come to the rescue to automatically map application code to the processing hardware (as in LabVIEW), but even compilers have limitations, Weltzin noted.
Intel’s Gilvarry agreed that application software developers will need to change their architecture to ensure advantages of extra cores are realized. For most users it means making their software code more parallel. Typically two methods are used: multitasking, a simpler first approach; and threading. The second provides the best performance but requires greater effort, according to Gilvarry.
He outlined four steps needed to convert a serial software application to a multithreaded application, namely: analyze, express, exploit, and optimize parallelism. ”Threading, when done well, makes best use of cache and runs repetitive algorithms faster,” Gilvarry added. “Starting a new thread for repetitive processes will run faster than starting a new process because often the memory segment doesn’t need to be changed and the instructions needed may still be in the instruction cache. (See more coverage of threading, multitasking, and software tools online.)
MCPs are moving into automation systems, first in higher-end controllers with lower-end systems expected to follow as implementation costs come down and user experience develops.
Frank J. Bartos, P.E., is a Control Engineering contributing content specialist. Reach him at email@example.com
For more information, visit:
3 more articles in this series
Software key to MCP success – Multi-core processors: Software key to success – Multithread parallel computing software and appropriate user tools advance the promise of high performance and power efficiency from multi-core processors.
Intel: Further insight on MCPs – 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.
MCP applications – 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.
Integrated Controllers Grow in Power, Sept. 2010
Energy-Efficient Microchips, May 2009