The MIPS architecture and virtualization



Similar documents
A hypervisor approach with real-time support to the MIPS M5150 processor

Full and Para Virtualization

Secure Containers. Jan Imagination Technologies HGI Dec, 2014 p1

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

COS 318: Operating Systems. Virtual Machine Monitors

Virtualization. Pradipta De

CS 695 Topics in Virtualization and Cloud Computing. More Introduction + Processor Virtualization

Cloud Computing #6 - Virtualization

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Virtual Machines. Virtualization

Virtual Machines.

Virtual Machine Monitors. Dr. Marc E. Fiuczynski Research Scholar Princeton University

Enabling Technologies for Distributed Computing

KVM: Kernel-based Virtualization Driver

The Xen of Virtualization

Multi-core Programming System Overview

Enabling Technologies for Distributed and Cloud Computing

kvm: Kernel-based Virtual Machine for Linux

x86 ISA Modifications to support Virtual Machines

Virtualization. Jukka K. Nurminen

Virtualization. Jia Rao Assistant Professor in CS

Virtualization. Dr. Yingwu Zhu

Clouds, Virtualization and Security or Look Out Below

Basics in Energy Information (& Communication) Systems Virtualization / Virtual Machines

Cloud Computing CS

Intro to Virtualization

Hardware accelerated Virtualization in the ARM Cortex Processors

Virtualization. Types of Interfaces

Networked I/O for Virtual Machines

System Virtual Machines

Virtualization for Cloud Computing

Basics of Virtualisation

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

Virtualization. Michael Tsai 2015/06/08

Hypervisors and Virtual Machines

Virtualization. Explain how today s virtualization movement is actually a reinvention

Knut Omang Ifi/Oracle 19 Oct, 2015

COM 444 Cloud Computing

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

Virtual Machines. COMP 3361: Operating Systems I Winter

2972 Linux Options and Best Practices for Scaleup Virtualization

Virtual Servers. Virtual machines. Virtualization. Design of IBM s VM. Virtual machine systems can give everyone the OS (and hardware) that they want.

Nested Virtualization

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

A quantitative comparison between xen and kvm

Virtual machines and operating systems

Distributed and Cloud Computing

GUEST OPERATING SYSTEM BASED PERFORMANCE COMPARISON OF VMWARE AND XEN HYPERVISOR

PERFORMANCE ANALYSIS OF KERNEL-BASED VIRTUAL MACHINE

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

Virtualization Technology. Zhiming Shen

Implementation of a Purely Hardware-assisted VMM for x86 Architecture

COS 318: Operating Systems. Virtual Machine Monitors

How To Understand The Power Of A Virtual Machine Monitor (Vm) In A Linux Computer System (Or A Virtualized Computer)

Chapter 5 Cloud Resource Virtualization

The QEMU/KVM Hypervisor

12. Introduction to Virtual Machines

HRG Assessment: Stratus everrun Enterprise

Virtual Machine Security

Overview. CMU/SEI Cyber Innovation Center. Dynamic On-Demand High-Performance Computing System. KVM and Hypervisor Security.

International Journal of Advancements in Research & Technology, Volume 1, Issue6, November ISSN

OS Virtualization Frank Hofmann

Performance tuning Xen

Hitachi Virtage Embedded Virtualization Hitachi BladeSymphony 10U

PROCESSOR VIRTUALIZATION ON EMBEDDED LINUX SYSTEMS

IOS110. Virtualization 5/27/2014 1

The Art of Virtualization with Free Software

VMware Server 2.0 Essentials. Virtualization Deployment and Management

Leveraging Thin Hypervisors for Security on Embedded Systems

Beyond the Hypervisor

How To Compare Performance Of A Router On A Hypervisor On A Linux Virtualbox 2.5 (Xen) To A Virtualbox (Xeen) Xen-Virtualization (X

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Virtualization. P. A. Wilsey. The text highlighted in green in these slides contain external hyperlinks. 1 / 16

Distributed Systems. Virtualization. Paul Krzyzanowski

Virtualization: What does it mean for SAS? Karl Fisher and Clarke Thacher, SAS Institute Inc., Cary, NC

2) Xen Hypervisor 3) UEC

A Survey on Virtual Machine Security

Introduction to Virtualization & KVM

Brian Walters VMware Virtual Platform. Linux J. 1999, 63es, Article 6 (July 1999).

Virtualization. Clothing the Wolf in Wool. Wednesday, April 17, 13

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

Virtualization and the U2 Databases

OPEN SOURCE VIRTUALIZATION TRENDS. SYAMSUL ANUAR ABD NASIR Warix Technologies / Fedora Community Malaysia

Installing & Using KVM with Virtual Machine Manager COSC 495

Virtualization Technology. Zhonghong Ou Data Communications Software Lab, Aalto University

Embedded Virtualization & Cyber Security for Industrial Automation HyperSecured PC-based Control and Operation

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

Resource usage monitoring for KVM based virtual machines

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Networking for Caribbean Development

How To Virtualize A Computer System

ARM Virtualization: CPU & MMU Issues

RED HAT ENTERPRISE VIRTUALIZATION FOR SERVERS: COMPETITIVE FEATURES

Transcription:

The MIPS architecture and virtualization Simply put, virtualization makes one physical device appear as one or more virtual devices. Virtualization can be implemented at the processor level (e.g. CPU or GPU virtualization) or at the system level (i.e. SoC virtualization). Virtualization separates the software running on virtual machines from the underlying hardware resources. By adding support for virtualization, a platform can create multiple Virtual Machines (VMs), each running its own operating system, embedded programs or a combination of both. The hardware and software architecture of virtualized platforms When reading about virtualization, you will come across some commonly-used terms such as host processors, virtual machines, root and guest contexts, and hypervisors. The host machine represents the actual physical hardware whose resources are to be virtualized. For a MIPS CPU, a host processor is synonymous with a virtual processor (VP) that supports the MIPS our multithreading technology (MIPS MT). The virtual machine (VM) is the virtual context of a processor created by software. In the case where the host machine supports multiple virtual machines, each guest operating system or computer program will run on a VM in its own context. Therefore, the virtualized system will have one kernel and one user root mode (i.e. the context of the physical system) and multiple pairs of guest kernel and guest user modes, one for each virtual machine. Imagination Technologies Limited 1 The MIPS architecture and virtualization

The software that creates and controls the VM is called a hypervisor. The hypervisor is a crucial component of virtualized systems and represents an intermediate software layer between virtual machines and the actual hardware. Running in the root context, the hypervisor has direct control of the hardware, and thus creates and maintains the trusted execution environments. The main job of a hypervisor it to load and control the software running in each guest context. It is vital that all software running in a guest context is not able to detect the presence of this intermediate software layer: from the guest context s point of view, the software inside a VM appears to be running directly on a hardware platform. The principles of virtualization Like multithreading, the idea of virtualization is not new. In 1974, two renowned computer scientists Gerald J. Popek (UCLA) and Robert P. Goldberg (Harvard University) wrote an article called Formal requirements for virtualizable third generation architectures; this article contains the three pillars for virtualization: - Equivalence: A program running on a virtual machine should look identical to one running on the actual hardware - Resource control: A hypervisor must be in complete control of all virtualized resources - Behaviour sensitive instructions: The majority of instructions executed by virtualized software should not require hypervisor intervention Imagination Technologies Limited 2 The MIPS architecture and virtualization

Hypervisors There are two types of hypervisors: type 1 (or native) hypervisors runs directly on the hardware while the guest software runs in the VMs. SELTECH FEXEROX and PUCRS Hellfire are two examples of native hypervisors for the MIPS architecture. A type 2 (or hosted) hypervisor runs within a conventional operating system environment. Type 2 hypervisors are also referred to as trap and emulate hypervisors because all actions by guest software are trapped and the access to hardware is emulated. A common example of a type 2 hypervisor for MIPS CPUs is the KVM hypervisor that runs in the Linux kernel. On a MIPS CPU, any type 2 hypervisor would run in kernel mode while the guest operating system would run in user mode. In this way, any access that the guest operating system tries to make to a privileged region of memory or execute a privileged instruction will cause an exception that is handled by the hypervisor running in kernel mode. Imagination Technologies Limited 3 The MIPS architecture and virtualization

MIPS virtualization module (MIPS VZ) and OmniShield-ready MIPS CPUs Virtualization can be achieved using software-only methods (e.g. paravirtualization) or by means of hardware assistance (full virtualization). Many MIPS-based processors today support and run paravirtualized operating systems and embedded programs. Since Release 5, the MIPS architecture has added support for hardware-assisted virtualization. Once incorporated into a MIPS Warrior CPU, full virtualization provides the benefits of improved performance without any modifications of guest software. MIPS Warrior CPUs support various levels of full, hardware-assisted virtualization. Imagination has implemented this technology across the entire range, from the high-end P- and I-class application processors to M5150 and M5100 microcontroller-class CPUs. Full virtualization across the range is a unique feature to the MIPS architecture in the CPU IP landscape. The latest release of the MIPS architecture supports up to 255 guest operating systems or applications. However, the number of maximum guests for each MIPS Warrior CPU has been selected based on a careful analysis of target applications and markets. The diagram below presents an overview of the MIPS Warrior family and the virtualization capabilities for each CPU: More information on the MIPS VZ module is available at http://imgtec.com/mips/architectures/virtualization/. Imagination Technologies Limited 4 The MIPS architecture and virtualization

To address the security and reliability requirements of next-generation connected devices, Imagination has also added hardware support for virtualization into its PowerVR Series7 GPUs, and other processors. Implementing full hardware virtualization across MIPS and PowerVR processors enables SoC designers to build OmniShield-ready platforms. OmniShield goes beyond a two-zone approach to create multiple secure domains, where each secure/non-secure application/operating system can operate independently in its own separate environment. With OmniShield-ready hardware and software IP, Imagination is ensuring that customers SoCs and OEMs products are designed for security, reliability and dynamic software management. In addition, OmniShield addresses the scalability that heterogeneous architectures will require. In heterogeneous architectures, application data and resources will be shared between the CPU and other processors in the system. This means that those processors will now face the same level of exposure as the CPU, and must be given the same level of protection and currently there is no solution in the market today that addresses this security challenge in its entirety. OmniShield addresses this by protecting all of the processors in an SoC including the CPU, GPU and others. More information on OmniShield is available at http://imgtec.com/platforms/omnishield/. Imagination Technologies Limited 5 The MIPS architecture and virtualization