Electronics Weekly Magazine
Loading

Sign-up for newsletters:

Electronics Weekly newsletters - Sign up for Made By Monkeys, Mannerisms, Gadget Master and Daily and Monthly newsletters

Virtualisation opens way for embedded multicore processors

Monday 18 January 2010 17:29

This decade’s advances in Intel’s x86 architecture are changing our experience of computing. Quad-core 64-bit processors with massive processing potential are fast becoming the norm in the PC world.

At the same time, embedded applications are demanding ever more power, yet it seems as if the latest x86 devices, while perfect for the PC, are solving the wrong problem for the embedded world.

Embedded systems, in areas such as motion control, imaging, medical, video and audio technology, have a huge appetite for processing power. This appetite traditionally needs to be fed the deterministic fare of DSP and hard-real-time, and cannot at first glance seem to be satisfied by the vast yet less controllable resources served up by a multicore x86 running ­Microsoft Windows.

But for this mismatch there would be an opportunity to drastically cut costs.

Opportunity to cut costs

In a system which might typically require a PC most of the available x86 processing power is wasted, and the embedded heavy lifting is done by external DSP and real-time controller hardware. But where there is the chance of cost reduction, technology will generally come to the rescue.

Sure enough, software is emerging which allows the user to harness the vast processing power of the PC for DSP and control purposes. One potential route is embedded virtualisation, a technology which allows multiple operating systems to co-exist and fulfil different roles on a single software platform. Another route is provided by soft-control architectures, which introduce a real-time subsystem to tame the unpredictability of Windows.

Benefits of a single IDE

As software complexity has become the bottleneck in embedded development, the productivity gain associated with using an integrated development environment (IDE) such as Microsoft Visual Studio is perhaps a critical element, but the benefits of using a single IDE across the whole project are even more attractive. So the prospect of using the PC for both HMI and control/DSP is more enticing than ever.

In the world of machine control, this potential benefit has not passed unexplored, even before its promise was multiplied by the arrival of multicore and 64-bit. Siemens, for example, pioneered the application of soft-control technology with its Simatic WinAC RTX soft-PLC, which controls machines directly from the PC.

In the audio and broadcast industries, where previously PCs controlled arrays of DSPs, the DSPs are already disappearing; soft-control architectures being used to permit the PC to reliably fulfil the signal processing requirement.

DSP and control tasks lend themselves well to multithreading, and so should implement well on a multicore architecture. In more closely examining the technologies that make it possible for the PC to undertake these tasks, the way the multiple cores are actually used is key. Multiprocessing (MP) can be either symmetric (SMP), in which multiple identical cores share the same memory and have threads assigned to them as required in a homogeneous fashion, or asymmetric (AMP), in which specific processing cores have specific different functions, and therefore may require their own memory partition and I/O.



Embedded virtualisation is a technology by which multiple operating systems are run in the same hardware (Figure 1).

In our scenario this might logically involve running an RTOS alongside Windows. To make use of multiple cores, these systems typically use AMP and assign one or more cores to one or more instances of the RTOS and one or more to Windows. 

A hypervisor introduces an additional layer of abstraction between the OS and hardware in order to make this cohabitation possible by arbitrating demands for shared resources such as I/O, and by segregating memory.

A key limitation of embedded virtualisation is that each instance of an OS is self-contained and therefore communication and synchronisation between threads across OS instances quickly becomes too complex to allocate threads to any other core other than the core the process is running on. This lack of direct interprocess communication directly limits its ability to scale. The need for a hypervisor also limits the precision with which a real-time event can be handled.

Soft-control architectures

Soft-control architectures such as IntervalZero’s RTX 2009 SMP work by adding a real-time scheduler and other functionality, which allow threads requiring determinism to run in a real-time container outside the constraints of Windows.

This is inherently an SMP system, since the container can bound multiple cores, and the threads can be scheduled across them in a homogeneous fashion. Typically, one core may be assigned to the non-real-time threads, performing GUI and other HMI tasks, while the remaining cores are assigned to the real-time tasks.

The key is that these real-time tasks are still essentially Windows tasks. So although this is a virtualised system in the limited sense that a separate real-time subsystem is running, all the run-time advantages of SMP – in particular the use of shared memory rather than an imposed layer of interprocess communication – and all the productivity advantages of a single development environment are maintained.

PCs, whether desktop or embedded COTS boards, running Microsoft Windows 7, or its cut-down counterpart Windows Embedded Standard, offer significant processing power. Software technologies such as embedded virtualisation, and more particularly soft-control architecture, which allow deterministic control and signal processing to be achieved via SMP, provide an important opportunity to access the PC’s unutilised processing capacity, and thereby reduce the overall cost by reducing the need for dedicated DSP and controller hardware.

Author is David Pashley, managing director at Direct Insights

 

Comments powered by Disqus

Share the content

Most Viewed

Products

Related Jobs

Resources