Hardware assisted Virtualization in Embedded Tanveer Alam Platform Architect Embedded Virtualization Sponsored by: &
Agenda Embedded Virtualization What is embedded? Embedded specific requirements Key Embedded Use Cases Hardware Virtualization Features Review Embedded Virtualization and Retail/Digital Signage OS Soft Failover Proof-of-Concept Example Embedded Virtualization and Medical Critical OS Isolation Proof-of-Concept Example Call to Action 2
Embedded Virtualization Industrial Medical Energy Retail Automotive 3
Technical requirements for Embedded Virtualization Smaller code base lesser points of failure Highly robust and reliable Remote management Certification Legacy code Consolidation + Critical function isolation/partitioning Real time Easy and fast to implement turnkey 4
Embedded Virtualization Usage Models Legacy OS Consolidation Trusted/Open Application Integration Legacy OS (Single threaded: RTOS e.g. VxWorks) Legacy OS (Single threaded: RTOS e.g VxWorks) Guest OS Media (Phone, Video) Application Embedded OS with GUI, calendar, voice mail, games etc. Thin Hypervisor Thin Hypervisor VT-x & VT-d enabled Multi-Core Intel Architecture CPU 0 Antenna CPU 1 VT-x & VT-d enabled Multi-Core Intel Architecture RTOS & GPOS Consolidation Performance-Critical Application Separation Linux* X-windows MS Windows* API Real Time Kernel Real Time Process Modified NetBSD* SMP kernel IP Stack Changes User Space Standard NetBSD Hypervisor CPU 0 CPU 1 NIC Chipset VT-x & VT-d enabled Multi-Core Intel Architecture Hypervisor CPU 0 CPU 1 NIC Chipset VT-x & VT-d enabled Multi-Core Intel Architecture VT-x: Intel Virtualization Technology (Intel VT) for IA-32, Inte l 64 and Intel Architecture VT-d: Intel Virtualization Technology (Intel VT) for Directed I/O * Other names Other and brands names may and be brands claimed may as the be property claimed of as others. the property of others. 5
Intel Virtualization Technology Review - HW Virtualization Extended Page Tables (EPT) Virtual Processor ID (VPID) VPID [0:15] Guest 0 VPID [0:15] Guest 1 Preemption Timer / Pause Loop Exit Guest 0 VT-d I/O Virtualization DMA remap PCIe pass-through Interrupt remap Guest 1 6
Virtualization in Embedded : Soft Failover Proof-of-Concept 7
Virtualization in Embedded : Soft Failover Automatic System Recovery Preserve Critical Data and State Real-time task pointer tracking and resume Requires No Network Connectivity 8
Virtualization in Embedded : Soft Failover Xen DomU (P) Xen DomU (B) Ryarc Player Samba Samba Xen Dom0 Host OS Heartbeat Mon daemon 9
Virtualization in Embedded : Soft Failover Specifications: Software Rev/Version Linux Kernel 2.6.32.26 Fedora 14 (64 bits) Xen pvops 4.1 Video Player File Share Ryarc Samba 10
Virtualization in Embedded: Medical Proof-of-Concept 11
Virtualization in Embedded : Critical Path Isolation (Medical) PoC RHEL* HDD RHEL* SQL Database Windows* XP VGA Display BT Driver Waveform Display VNC* terminal Windows *HDD Bare Metal Hypervisor (e. g. Xen or Commercial VMM) USB Drive (VMM/Hypervisor) VT-x : VMX & HW assist VT-d : DMA & Interrupt Remapping Bluetooth RHEL* Ethernet Windows* Ethernet 12
CPU Utilization Virtualization in Embedded : Critical Path Isolation (Medical) 100 90 80 70 60 50 40 Windows Linux/RTOS 30 20 10 0 1 2 3 4 5 6 7 8 9 10 11 Running Processes 13
Virtualization in Embedded Call to Action Few Embedded Challenges: real-time, simpler Dom0, fast path intervm comms Open to developing similar creative ideas using Xen and open source in the embedded domains. Explore Xen community collaboration possibilities to enable better embedded practical solutions. 14
References Resource Intel HD Graphics Driver Xen how-to guide Xen VGA pass-though (using Intel VT-d) Xen PCI pass-through (using Intel VT-d) Intel Embedded Developer Site Link http://support.intel.com http://wiki.xensource.com http://wiki.xensource.com/xenwiki/xenpcipassthrou gh http://wiki.xensource.com/xenwiki/xenvgapassthro ugh http://edc.intel.com 15