Virtualization – the Power and Limitations for Military Embedded Systems – a Structured Decision Approach
Total Page:16
File Type:pdf, Size:1020Kb
2010 NDIA GROUND VEHICLE SYSTEMS ENGINEERING AND TECHNOLOGY SYMPOSIUM VEHICLE ELECTRONICS & ARCHITECTURE (VEA) MINI-SYMPOSIUM AUGUST 17-19, 2010 DEARBORN, MICHIGAN VIRTUALIZATION – THE POWER AND LIMITATIONS FOR MILITARY EMBEDDED SYSTEMS – A STRUCTURED DECISION APPROACH Mike Korzenowski Vehicle Infrastructure Software General Dynamics Land Systems Sterling Heights, MI ABSTRACT Virtualization is becoming an important technology for military embedded systems. The advantages to using virtualization start with its ability to facilitate porting to new hardware designs or integrating new software and applications onto existing platforms. Virtualization is a tool to reuse existing legacy software on new hardware and to combine new features alongside existing proven software. For embedded systems, especially critical components of military systems, virtualization techniques must have the ability to meet performance requirements when running application software in a virtual environment. Together, these needs define the key factors driving the development of hypervisor products for the embedded market: a desire to support and preserve legacy code, software that has been field-proven and tested over years of use; and a need to ensure that real-time performance is not compromised. Embedded-systems developers need to understand the power and limitations of virtualization. This paper presents virtualization technologies and its application to embedded systems. With the dominant market of multi-core processing systems, the need for performing specific hardware/software configuration and usages with relations to Platform Virtualization is becoming more and more prevalent. This paper will discuss different architectures, with security being emphasized to overcome challenges, through the use of a structures decision matrix. This matrix will cover the best suited technology to perform a specific function or use-case for a particular architecture chosen. The topics of the “Best Suited Technologies” to utilize when considering Virtualization will cover the following architectures: Virtualization – Hypervisors, Hyper-Threading, Single- Core CPU Architectures, Multi-core CPU Architectures and Microkernels. It discusses the possibilities and limitation of plain virtualization approaches in embedded systems. These relate to the integrated nature of embedded systems with security and reliability requirements. EXECUTIVE SUMMARY a control/management layer or channel between the system Virtualization software is allowing systems developers to operator and the guest machines. reduce hardware assets, or use them more efficiently, by Virtualization has now moved beyond mainframes and running multiple “virtual machines” (VM) side by side on servers and has found its way into applications, networks the same hardware, emulating different components of the and storage, among others. [2] Users are beginning to reap a systems. [1] range of benefits from virtualization which go beyond the Each virtual machine operates almost as though it were a cost savings of hardware consolidation. For example, the discrete physical host. This is achieved with a piece of military weapon upgrades, or reset programs which currently software known as a hypervisor. The hypervisor is dominate government program allocations, trend toward responsible for managing memory and Central Processor reusing existing military platforms, whereas the theme is to Unit (CPU) resources between the running virtual machines upgrade existing platforms without compromising system (also known as guest machines), providing a set of virtual integrity and reuse existing legacy proven code. These hardware resources (such as display controllers, network programs are using virtualization to not only cut hardware interfaces, storage devices etc.) to guest hosts, and providing costs, but also to recover quickly from systems failures and maintain weapon systems or vehicle continuity. Approved for Public Release, Distribution Unlimited, GDLS approved, Log No. 2010-78, dated 07/13/10 Proceedings of the 2010 Ground Vehicle Systems Engineering and Technology Symposium (GVSETS) A specific example is within a Tank Vehicle program with hypervisor acting as shim or small piece of code managing the US Army; new embedded devices have the capability to or abstracting between hardware and operating system move an entire virtual machine instantaneously from one resources. device to another and provide separation and isolation for vehicle security enclaves. Security, isolation or the building of on and off platform vehicle enclaves is performed through virtualization partitioning. Benefits discovered include: hardware consolidation, reduced power and cooling (green computing), ease of deployment and administration, high availability and disaster recovery, migration and adoption of new hardware architectures, such as multi-core processors, processor obsolescence, semiconductor advances, etc., leverage/re-use legacy software code to meet existing safety and security- critical requirements and isolate GPL-licensed or other open source code from proprietary code or vehicle components. Drawbacks of virtualization seem to be that users could face performance issues, as fewer systems do more work. Although virtualization technology lets systems operate APPS fewer devices, it does not make programs run faster. There is no universal unique solution which may adequately solve each product’s architectural goals or problems. Virtualization is a technology which is modular in architecture, enabling developers to configure a custom product, specific solution that meets the required product- OS specific trade-offs between footprint, performance, isolation and security. Specific virtualization technology enables the full isolation of untrusted guest operating systems (OS) in hardware partitions. A structure decision can be applied when these factors are exposed and a specific need is applied HYPERVISOR across use-cases. The matrix provided within this document is an example of achieving a “best suited technology” to meet a specific need providing lowest risk to implement, as pertaining to virtualization. INTRODUCTION PROCESSOR In computing, virtualization is a broad term that refers to the abstraction of computer resources. This paper refers to Platform Virtualization, which separates an OS from the underlying platform resources. Some terms which aid in the discussion and will be defined are; Full Virtualization, Hardware-assisted Virtualization, Partial Virtualization, Paravirtualization and Operating System-Level Virtualization. These technologies have evolved as an Figure 1: The Hypervisor Shim. alternative or solution for emulation, and the hypervisor – a small segment of code designed to share physical resources between a number of logical virtual machines – is considered the most efficient way of doing it. [3] The hypervisor will take contended resources such as interrupt controllers and network cards, and present a synthetic version of them to each of the guest operating systems running in their own virtual machines (VM). A typical layered block diagram is shown in Figure 1 with the Virtualization – The Power and Limitations for Military Embedded Systems – A Structured Decision Approach Approved for Public Release, Distribution Unlimited, GDLS approved, Log No. 2010-78, dated 07/13/10 Page 2 of 13 Proceedings of the 2010 Ground Vehicle Systems Engineering and Technology Symposium (GVSETS) A basic cook book to perform virtualization consists of; Intel or Advanced Micro Devices (AMD) Hardware-assisted VIRTUAL VIRTUAL VIRTUAL Virtualization Technology computer systems with a MACHINE 1 MACHINE 2 MACHINE 3 processor, chipset, BIOS, Virtual Machine Monitor (VMM) and for some uses, certain platform software enabled for Guest OS 1 Guest OS 2 Guest OS 3 virtualization. Functionality, performance, or other, benefit Applications Applications Applications will vary depending on hardware and software configurations. Both the Intel or AMD Virtualization Technology-enabled BIOS and VMM applications together can be applied to fully take advantage of virtualization Guest Guest Guest techniques. The different abstraction techniques consist of: OS1 OS 2 OS 3 Platform virtualization, which separates an operating system from the underlying platform resources; Resource virtualization, which is virtualization or emulation of specific system resources, such as storage volume, name VIRTUAL MACHINE MONITOR spaces, and network resources; and Application virtualization, the hosting of individual applications on alien hardware/software. Pertaining to Platform Virtualization techniques; Paravirtualization is a virtualization technique HARDWARE that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware; Full virtualization is a virtualization technique which provides a complete simulation of the underlying hardware (Emulation). Another technique includes Partial Figure 2: Example Virtualization Partitioning virtualization, which provides partial simulation of the underlying hardware. Most, but not all, hardware features are simulated, yielding virtual machines in which some, but not all, software can be run without modification. Operating System-Level virtualization is a method where the kernel of HYPERVISOR an operating system allows for multiple isolated use-space A virtual machine monitor (VMM) – Software running instances of virtual machines, instead of just one. Figure 2 directly on the hardware