Multi-Core Virtualization Changes Process Controllers
Feb. 1, 2010
3 min read
âFirst, it should be able to interpret sensor data and direct actuator behavior in real time. Second, it should have an HMI (humanâmachine interface) so that the operator can monitor and adjust the production process. And third, it should be able to network the local process control activity to a higher-domain system such as a DCS (Distributed Control System) or a SCADA (Supervisory Control And Data Acquisition) system. âTo physically realize a system for an application demanding high performance,â says Weltzin, âcurrent design practice would probably call for three controllers: one for the sensor, one for the actuator and one to handle the HMI and network traffic. The first two controllers would run realâtime operating systems (RTOSs). The third controller, for the HMI and networking, would run a general purpose operating system (GPOS), usually Windows or Linux.âBut now, by taking advantage of virtualization on a multiâcore processor,â says Weltzin, âthree controllers are no longer necessary. Both of the RTOSs, as well as the GPOS, can run on one controller. The operating systems can run on separate cores, which means lower hardware cost, smaller physical footprint and simpler manufacturing. The RTOSs and GPOS are effectively isolated, and all deliver the desired performance.â Furthermore, if properly implemented, the new multiâcore system with virtualization will be able to run proven legacy control software with few, if any, changes. This is an important consideration when upgrading certified processes.All virtualization is abstraction that uses software to create an isolated, functioning duplicate of a computer system component. Practically any system component can beâand has beenâvirtualized: disk drives, servers, operating systems and networks. âThe potential benefits of virtualization are well established,â says Weltzin. âBut the real question for the engineer is, âHow do we implement this thing?â ââWithin the context of an automation system at the process-control level, virtualization means running multiple operating systems on a single computer, with at least one of those operating systems being an RTOS,â continues Weltzin. âThe single computer on which everything runs is the âhost.â The software that provides the virtualization functionality is a VMM (virtual machine monitor, or virtual machine manager). Each of the operating systems runs as part of a âvirtual machineâ (VM) on the host, and each VM runs application software, just as it normally would on a separate computer.ââThe VMM serves as a translating layer between the host and the virtual machines,â Weltzin explains. âIn broad terms, it can be implemented in two ways. One way is that a âhosted VMMâ sits on top of the hostâs operating system. The VM accesses hardware through the VMM, and the VMM makes calls to the host operating system, which, in turn, accesses the hardware. In a second way, a âbare metal VMMâ sits on top of the processor, with no intervening operating system. The VM still accesses hardware through the VMM, but then it proceeds directly to the hardware. To run an RTOS effectively, virtualization must be accomplished using a bare metal VMM.âJust startingâVirtualization is not new,â says Weltzin. âItâs a developed technology in many applications. But the use of virtualization in process control is really just beginning. As multiâcore processors become standardânot only duals and quads, but processors with 16 and 32 coresâpeople will have to make good use of those cores to stay competitive. Virtualization is a great way to do that.âMarty Weil, [email protected], is an Automation World Contributing Writer.National Instruments Corp.www.ni.com
Subscribe to Automation World's RSS Feeds for Columns & Departments
About the Author
Sign up for our eNewsletters
Get the latest news and updates

Leaders relevant to this article:
