Casey Weltzin, Product Manager for LabVIEW Real-Time at National Instruments, explains the benefits that virtualisation offers machine design engineers, including lower hardware costs and improved reliability.
Virtualisation is not just for IT departments any more. As engineers and scientists develop the world's most advanced machine control and monitoring systems, they are increasingly relying on a variety of applications and services distributed across many operating systems and physical computers to get the job done. Virtualisation is a technology that allows those applications and services to be combined on one PC or embedded controller, creating robust systems with lower cost that can help companies beat the competition.
By itself, virtualisation is a broad term that refers to abstracting a computer's physical resources from the operating systems or applications that are using those resources. The end goal is to do more with less by enabling one PC to host a variety of applications (which may run on different operating systems). Think of it as making your computer into a 'jack of all trades.'
Virtualisation first gained popularity in the IT world, where software packages called virtual machine managers (VMMs) are often installed on powerful servers. These VMMs can simulate running many computers – all on the same actual physical server. Imagine a room full of ten computers that are customised to run different operating systems for important server applications (eg databases, email and internet). What if each computer is only using 10 per cent of its processing power? If you could somehow run all of these different applications on just one physical server, you could theoretically use 100 per cent of its processing power and decrease the hardware cost by 10 times. This is exactly what VMMs are meant to accomplish.
Virtualisation for engineering applications
Engineers also have a lot to gain from this technology. Let us examine the VMM example above from the perspective of a machine designer. In the past, an engineer may have used one PC for coding and control system design, another for testing beta software, and a third for maintaining legacy applications. By using a desktop VMM software package such as VMWare Player, the same engineer can now run all of these applications on one PC. Since the individual simulated computers (virtual machines or VMs) are running in isolation, a crash in one of them will not interfere with other tasks. The ultimate point is simple: why buy multiple computers when you can accomplish your machine design on just one?
Though VMMs are one possibility for virtualisation, they are certainly not the only way for engineers to harness this technology. One drawback of using today's VMM software is that each virtual machine typically has very limited access to hardware I/O, which is critical for deployed machine control and monitoring applications. In addition, since virtual machines rely on a base operating system (OS), they are vulnerable to any instability present in that base OS. Using a different approach to virtualisation called a hypervisor can help solve these problems.
How hypervisors work
While VMM software is installed on one operating system and then allows virtual machines to be run on top of that OS, a hypervisor works differently. Hypervisor software communicates directly with hardware at a low level, without making calls to a base operating system. This low-level access means that physical I/O devices can be partitioned among operating systems running on top of the hypervisor. In addition, machine designs that are based on a hypervisor can run more reliably since they do not depend on a base OS. The end result: two or more operating systems running on one PC (with hardware access), and an opportunity for you to save money by deploying less hardware.
Once again, let us consider how a hypervisor would be helpful to a machine designer. Imagine a machine that has been designed to control a complex manufacturing process and display a graphical user interface (GUI) to a plant operator. Historically, a machine designer would have used an embedded controller running a real-time operating system (RTOS), and a separate PC or touch panel running a general-purpose OS such as Windows or Linux to host the GUI component. Installing a hypervisor on the embedded controller eliminates the need for two separate pieces of hardware. By running Windows and a real-time OS in parallel, this machine designer can now save cost and create a compact, robust system.
Virtualisation and multicore processors
It should be noted that virtualisation technology builds on the current multicore processing trend. In an increasingly parallel computing world, systems with eight, sixteen or more cores are likely to become commonplace soon. In addition to employing parallel programming techniques or using inherently parallel languages such as National Instruments LabVIEW, a hypervisor can partition processor cores between different operating systems. Effectively, virtualisation helps you harness the power of your multicore system.
In summary, virtualisation is a technology that can reduce hardware requirements by consolidating different pieces of your machine control application one on PC or embedded controller. In a tough economy, this means making the most efficient use of your computing power to save cost. Companies that take advantage of virtualisation now will gain a key competitive edge and make the most of the increasingly multicore systems coming in the near future.
Use the form on this page to request a callback or more information about NI products and services.