You are in:  Design | Embedded Systems


Read The Magazine

Issue: 16 - 22 Dec, 2009
Get Electronics Weekly

Multicore software runs on single core Atom CPU module

Thursday 19 February 2009 08:00

The ability to run multiple operating systems on a single hardware platform is nothing new. In the IT sector, systems such as VMware have been on the market for some years and new virtualisation solutions are being introduced at a constant rate.

There are three obvious reasons for this popularity: Administrators prefer to distribute applications or data via separate protected operating system for security reasons; virtualisation allows full utilisation of the computing power of microprocessors; and it enables the use of two or more different operating systems.

Industrial applications have similar requirements to the IT domain. Critical control and data acquisition tasks must execute without interruptions and should ideally be separated from non-critical tasks, the visualisation software and open internet connection.

Typically, this job sharing is fulfilled using multiple operating systems. A general purpose operating system (GPOS), such as Microsoft Windows or Linux, handles all visualisation and connectivity jobs. An additional hardware platform – a second PC or a microcontroller – is used to execute control or data acquisition tasks in real time. Since the GPOS rarely uses all the available power of a modern x86 multi-core processor, virtualisation makes good economic sense because it eliminates the need to purchase additional hardware. 

Virtualisation has not been used in embedded applications mainly because of the real-time performance requirements.

Traditionally, virtualisation technology uses various “tricks” to simulate separate virtual PCs for each operating system. Hardware is often emulated or managed by a single host operating system, and processing time is allocated to the individual operating systems on a rotation basis (called time-slicing). In contrast, a real-time operating system (RTOS) requires direct hardware access. Interrupts from PCI or other legacy devices must be forwarded without delay to the RTOS for processing to guarantee real-time performance.

Real-time applications require specialised virtualisation systems, such as RTS Hypervisor by Real-Time Systems. This partitions a multicore x86 system into individual and independent hardware platforms. Each operating system exclusively owns one or multiple processor cores. An operating system supporting Symmetric Multi Processing (SMP) which has been allocated two cores, for instance, can thus access both CPUs.

Hypervisor also assigns the available memory to the individual operating systems on an exclusive basis. Hardware devices are individually configured so interrupts are routed directly to the specific processor cores and operating systems. Cores, devices, I/O ports or memory not assigned to a specific operating system are completely hidden from that operating system.

Because interrupts are individually assigned and the operating systems have direct hardware access there is no need to use any special or modified device drivers. The RTS Hypervisor OS boot sequence can be specified beforehand in the configuration file. This means that the various processor cores or operating systems can be booted, shut down or rebooted individually.

Since the installed operating systems are completely independent and do not interact with each other or the Hypervisor itself, secure operation is guaranteed. It makes no difference whether multiple instances of the same RTOS are started, or whether GPOS and different RTOS are mixed.

Beacuse of the strict separation of systems, a method of communication has to be provided. Shared memory areas can be configured to ease the exchange of data between operating systems. Additionally, a virtual TCP/IP based network provides seamless socket-based communication.

Deployment of multiple operating systems on multicore processor platforms is a logical step in embedded systems design. It reduces hardware costs and increases flexibility, reliability and system performance.

However, Hypervisor usage is not limited to multicore processors. Where hyperthreading is available, it can also be used in single-core systems. The latest Intel Atom Z530 is a good example; it acts like a dual-core processor, allowing two operating systems to run in parallel.

Parallel OS in mobile apps

Computer modules based on the new Qseven form factor are specifically developed for the latest low-power processor technologies and to meet the growing demand for a small footprint. One example is the conga-QA which features the Intel Atom Z5xx processor as well as the Intel System Controller Hub US15W. With a typical power consumption of less than 5W, mechanical dimensions which are scarcely bigger than a credit card, integrated battery management and ACPI 3.0 power management functions, the module is ideal for all mobile applications.

The conga-QA modules have been successfully tested with the RTS Hypervisor. The modules are based on the Intel Atom Z530 processor which also supports hyperthreading and virtualisation. Thanks to this technology it is for instance possible to run Windows XP and an RTOS simultaneously and completely independently even though only one processor core is physically present. From a software point of view, the arrangement represents a dual-core system. The two logical CPUs, all devices, the memory and I/O ports are assigned directly and exclusively to the individual operating system.

The ability to use one low-cost embedded computer module for two independent applications can reduce hardware costs by up to 50%. The standard automation control software runs on an RTOS; visualisation and the user interface run in parallel on the same system under Windows or Linux. This allows two previously separate systems to be brought together on one hardware platform, without a decrease in functionality or the need for software changes.

Combining embedded computer modules with RTS Hypervisor creates a platform that is suitable for almost all industrial applications. The seamless integration of several operating systems and applications on one computer system reduces costs and increases flexibility.

Gerd Lammers is CEO at Real-Time Systems and Christian Eder is marketing manager at Congatec

Recommend this article

View the ElectronicsWeekly.com topic zones:

Electronics Weekly Zone - PowerElectronics Weekly Zone - Test & Measurement


 

Sign-up for the ElectronicsWeekly.com newsletters:

Electronics Weekly newsletters

Resources

Most Viewed

Blog roll