Hardware consolidation is often thought of as a general purpose computing strategy aimed at servers and datacenters. But virtualization-based consolidation can have big impacts in embedded systems, too. Intel multi-core and multi-threaded processors offer unexpected paths to embedded system cost reduction and control using virtualization.
Virtualization fundamentally provides an ability to decouple and abstract an operating system/application from the physical hardware it resides on - encapsulated in a virtual machine. The technology of virtualization is largely independent of the type of software that operates on the virtual machine. The concepts of ‘decouple’, ‘abstract’ and ‘virtual’ provide the strength of the approach. Beyond just the technical qualities inherent in the virtualization process, virtualization enables the transformation of workloads so that they are continuously consolidated.
Hardware consolidation for embedded systems is underway – witness the legacy retargeting program of ready-mix concrete company. In this case, the consolidation was as much about the obsolescence of the legacy hardware, used to make the integrated system function, as it was about reduction in hardware complexity.
Performance, peripherals, and supported software often drive embedded systems decisions. More capable processors make it practical to implement workload consolidation for embedded systems where consolidation can be accomplished.
Workload consolidation for general purpose computing focused initially on homogeneous workloads, but is now taking on a heterogeneous workload profile. The most critical portion of workload consolidation management is the process by which applications are selected for consolidation. In an IT environment the deployment strategy is a key part of the decision criteria. For embedded systems the decision matrix may be dictated by a whole host of considerations:
- Embedded system hardware reliability
- Proximity of related systems
- Standards-based requirements for separate hardware platforms
- Regulatory requirements for medical, aeronautics, financial and other systems
- Physical security
- Data integrity and security
- Risk of loss – financial, data, liability, and others
Virtualization is one tool that can assist in meeting these wide-ranging requirements while still achieving consolidation. Virtualization provides technical advantages for embedded systems. Virtualization can protect against implementation deficiencies of poor isolation that lead to memory leakage, writes to peripherals not owned by the application, interference of other applications, resource/application scheduling conflicts, and operating system conflicts. For these reasons, many IT systems run each application on its own hardware platform. Virtualization approaches for embedded systems have addressed these issues in a variety of ways.
Many embedded systems can be partitioned into a User Interface (UI) and a hardware oriented portion. This portioning approach allows different engineering approaches to the components. UI is a “soft” realtime system that can be implemented using an ordinary operating system to host the UI. Typically the UI is hosted on the Windows or Linux operating system and the hardware-oriented application is controlled by a realtime operating system.
This logical partitioning has lead to several commercial approaches to software and hardware consolidation. Philips medical x-ray equipment employs TenAsys (1) INtime to achieve a workload consolidation including Windows and realtime control systems. UI functions like the systems console operate in the Windows space while remote INtime nodes can operate autonomously with CANbus connected realtime nodes. According to Philips software project leader, INtime is used to control machine movement and radiation emission for imaging. Phoenix Contact, the largest supplier of soft PLC systems also employs the INtime product to control its Virtual Logic Controller (VLC) for use in steel mills, automotive assembly, packaging, and material handling. CNC machining company ANCA is a world leading CNC tool vendor using INtime to control its 5-axis CNC machining center.
INtime supports Intel processors and all Windows SMP platforms. It provides direct support for realtime USB, Ethernet and industrial I/O devices. Using multi-core processors permits engineers to dedicate a single CPU core to realtime processes or share CPU-cycles between INtime and Windows operation.
New systems may be designed from the start to employ virtualization to partition UI and realtime portions into separate subsystems using the appropriate software development tools. With OS systems that enable both Windows and a realtime portion to coexist on the same platform, engineers can create embedded applications that include both realtime requirements and exemplary realtime functions. Systems previously partitioned into multiple boards may be able to be consolidated with only a modest increase in processor performance. This has benefits both in inventory and SKUs for the OEM.
Modern realtime and Windows systems allow both software development approaches to be used to their best advantage.
How will you partition future embedded systems to leverage both Windows-based User Interfaces and realtime operation?
- TenAsys is an Affiliate member of the Intel Embedded Alliance
Roving Reporter (Intel Contractor)
Intel® Embedded Alliance