Harvey Tuch Staff Engineer Mobile Virtualization Platform January 25 th 2012 Sponsored by MIT and VMware Academic Programs VMware wwwvmwarecom VMware Labs labsvmwarecom Agenda Smartphone hardware ID: 274228
Download Presentation The PPT/PDF document "Mobile I/O virtualization" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Mobile I/O virtualization
Harvey Tuch, Staff Engineer, Mobile Virtualization Platform
January
25
th
2012
Sponsored by MIT and VMware Academic Programs
VMware: www.vmware.com
VMware Labs: labs.vmware.comSlide2
Agenda
Smartphone hardware
I/O virtualization
techniques
Examples from MVP hypervisor
Storage virtualization
GPS virtualization
Telephony virtualizationSlide3
Smartphone hardwareSlide4
Computer System Organization
NIC
LAN
CPU
MMU
Memory
Controller
Local Bus
Interface
High-Speed
I/O Bus
Controller
Bridge
Frame Buffer
Low-Speed
I/O Bus
USB
CD-ROMSlide5
Evolution of mobile phone
to Mobile Personal ComputerSlide6
Recent smartphone specs sample (source:
pdadb.net
)
6
Copyright ® VMware, Inc. All Rights Reserved. Slide7
Copyright ® VMware, Inc. All Rights Reserved.
Hardware trends
Example smartphone circa
2012
> 1GHz
dual or quad
core ARM Cortex-
A9/A15
or Snapdragon
1GB SDRAM
512MB internal NAND Flash
32GB microSD
Integrated GPS, > 10MP camera, 3G/4G (LTE), 802.11, Bluetooth480x800 OLEDIce Cream Sandwich Android
OSTablets, smartbooks, etc.Slide8
Smartphone physical hardware
Processor core – ARM
Power efficiency, battery life
E.g. 8 DMIPS/mW (Cortex-A9)
ARMv7 ISA
Devices – highly integrated
SoC organization
Plethora of devices (IP blocks)
Limited standardization
Storage – solid state NANDSlide9
Agenda
Smartphone hardware
I/O virtualization
techniques
Examples from MVP hypervisor
Storage virtualization
GPS virtualization
Telephony virtualizationSlide10
I/O virtualization techniquesSlide11
Device virtualization goals
Present to guest a “virtual” platform (set of devices)
Guest applications, middleware, OS expect standard set of mobile devices
E.g. touchscreen, display, storage, GPS, Bluetooth, WiFi, GSM, GPU, cameras, accelerometers, audio, keyboard, etc.
Multiplex physical hardware between VMs
Securely sharing physical hardware across domains
Efficiency
Fidelity
PortabilityInterposition (checkpointing, live migration)Minimizing engineering effort (cost)Slide12
Device virtualization techniques
Device emulation
VMM emulates registers and memory map of physical HW devices
Paravirtualization
VMM provides optimized high-level API for guest devices
Pass-thru
VMM provides guest direct access to physical HW devicesSlide13
Device virtualization techniques – device emulation
VMM emulates registers and memory map of physical HW devices
Leverage existing guest OS driver support
Interposable
Emulation overhead
VMM implementation cost
Hypervisor
Guest Operating System
ACME UART driver
ACME UART device model
Physical
FOOBAR
UART
Write FIFO ‘a’
Read status
register CSR
Write FIFO ‘b’
…..
Write FIFO ‘a’
Write FIFO ‘b’Read status register FSR
…..Slide14
Device virtualization techniques - paravirtualization
VMM provides optimized high-level API for guest devices
Higher performance possible
Simplified VMM
Interposable
Requires custom drivers/libraries per guest
Hypervisor
Guest Operating System
PV UART driver
PV UART device model
Physical
FOOBAR UART
Write shared buffer ‘abcdefghijklmno…’
…..
Write FIFO ‘a’
Write FIFO ‘b’
Read status register FSR
…..Slide15
Device virtualization techniques – pass-thru
VMM provides guest direct access to physical HW devices
Highest performance, even simpler VMM
I/O MMU required for safety (DMA danger)
Multiplexing HW devices requires extra HW support
Interposition hard (hybrid models separate control/data paths)
Hypervisor
Guest Operating System
ACME UART driver
Physical ACME UART
Write FIFO ‘a’
Read status register
Write FIFO ‘b’
…..Slide16
Bare-metal (Type-1) hypervisor architecture
Execute directly on physical HW
Preferred architecture for high-end servers
E.g. VMware ESX, Xen, Microsoft Hyper-VSlide17
Hosted (Type-2) hypervisor architecture
Executes alongside existing
host
OS, e.g. Mac OS X, Linux, Windows
Leverage host device drivers and resources management
E.g. VMware Workstation/Fusion, KVM, Parallels DesktopSlide18
VMware MVP system architecture
Personal applications run natively
Corporate applications run in a virtual machine
18
Copyright ® VMware, Inc. All Rights Reserved. Slide19
MVP as a hosted (Type-
2)
hypervisor
Hosted hypervisor benefits:
Tackle SoC diversity
Reduced TTM
Zero virtualization overhead for personal phone.
Almost all components can be downloaded
OTA (app store).
19
Copyright ® VMware, Inc. All Rights Reserved. Slide20
Device virtualization stack
Frontend (RHS)
Guest OS – VMM interface for virtual devices
Backend (LHS)
Hypervisor implementation of virtual device semantics on hostSlide21
Frontend virtualization – where to slice?
Virtualization Layer
R: 137
G: 203
B: 223
Operating System
Application
Libraries, middleware
R: 192
G: 192
B: 192
R: 217
G: 84
B: 30
R: 248
G: 152
B: 29
Device emulation
Device level PV
Library level PV
Application level PVSlide22
Backend implementation
Host user space (application level)
Translate guest device I/Os to standard kernel/library calls (e.g. POSIX)
E.g. write ‘a’ to /dev/ttyS0 for UART transmit
Portable, simple, language independent
System call overhead, latency
Host kernel
Translate guest device I/Os to kernel level function calls
Lowest overhead, direct access to device subsystem
Kernel dependent, modularity issues, increased TCBHardware (pass-thru)Slide23
Agenda
Smartphone hardware
I/O virtualization
techniques
Examples from MVP hypervisor
Storage virtualization
GPS virtualization
Telephony virtualizationSlide24
Storage virtualizationSlide25
Smartphone storage devices
Internal storage
NAND flash devices
Software Flash Translation Layer (FTL)
Limited size (256MB – several GB)
Kernel, application code, libraries, middleware
External storage
microSD cards
Hardware FTLUp to 32GB today (2TB future)Economics of semiconductor scalingOptimized for cost, media workloadsApplication data (and some code)Slide26
Storage virtualization stackSlide27
VM image storage on SD cards
Why?
Storage footprint of guest may be several GB (including checkpoint images)
Challenges
Performance
Reliability
SecuritySlide28
VM image storage on SD cards - performance
FTL optimized for cost, media workloads
Poor non-sequential I/O performance
VM workloads exhibit far more non-sequential I/O than MP3 streaming, photos, videos, etc.Slide29
VM image storage on SD cards - performance
.Slide30
VM image storage on SD cards - performance
.Slide31
VM image storage on SD cards - performance
.Slide32
VM image storage on SD cards – other challenges
Reliability
Dropped phone, whoops
Battery dies
Host software crashes (in particular at kernel level)
Security
SD cards are FAT formatted for compatibility
No access controls
Malicious host apps can read/write VM imagesSlide33
Log structured filesystems (LSF)
An excursion back in time to… 1991…
Slow seek latency on mechnical disks, CPUs getting faster
Non-sequential file writes expensive
Solution: every file update gets appended to a sequential “log”
Maintain meta-data to later locate the most recent block for a file in the log
Reads mostly hit in the page cache, don’t worry about non-sequentiality
Mendel Rosenblum and John K. Ousterhout. The design and implementation of a log-structured file system. In ACM Symposium on Operating System Principles, 1991.
Benefits beyond performance…Meta-data only updated after new data is on disk
Old data still exists earlier in logCrash recovery discovers latest valid block on diskSlide34
LSF exampleSlide35
LSF exampleSlide36
LSF exampleSlide37
LSF exampleSlide38
Storage backend - Logging block store (LBS)
Backend represents VM disk & checkpoint images with files on host
Similar format to a LFS (performance, reliability)
Split data and meta-data between internal & external storage
Encryption & integrity checks on data file
Meta-data and encryption keys located on protected internal storage (security) Slide39
LBS performance
.Slide40
Agenda
Smartphone hardware
I/O virtualization
techniques
Examples from MVP hypervisor
Storage virtualization
GPS virtualization
Telephony virtualizationSlide41
GPS virtualizationSlide42
GPS virtualizationSlide43
Agenda
Smartphone hardware
I/O virtualization
techniques
Examples from MVP hypervisor
Storage virtualization
GPS virtualization
Telephony virtualizationSlide44
Telephony virtualizationSlide45
Telephony virtualization
GSM
Dual SIM smartphones (geography dependent)
Multiple International Mobile Subscriber Identities (IMSIs) per SIM (geo dep)
GSM Alternate Line Service (ALS) (network dependent)
Network
Call forwarding, ala Google Voice, Line2
Voice-over-IP (VoIP)
Realistic with 4G/LTEIntegration with enterprise Unified Commmunications (UC)