45
© 2010 VMware Inc. All rights reserved 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.com

© 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

Embed Size (px)

Citation preview

Page 1: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

© 2010 VMware Inc. All rights reserved

Mobile I/O virtualization

Harvey Tuch, Staff Engineer, Mobile Virtualization Platform

January 25th 2012

Sponsored by MIT and VMware Academic Programs

VMware: www.vmware.com

VMware Labs: labs.vmware.com

Page 2: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

2

Agenda

Smartphone hardware

I/O virtualization techniques

Examples from MVP hypervisor

• Storage virtualization

• GPS virtualization

• Telephony virtualization

Page 3: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

3

Smartphone hardware

Page 4: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

4

Computer System Organization

NIC

LAN

CPU

MMU

Memory

Controller

Local Bus

Interface

High-Speed

I/O Bus

Controller BridgeFrame Buffer

Low-Speed

I/O BusUSBCD-ROM

Page 5: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

5

Evolution of mobile phone

to Mobile Personal Computer

Page 6: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

6

Recent smartphone specs sample (source: pdadb.net)

6Copyright ® VMware, Inc. All Rights Reserved.

Page 7: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

7 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, Bluetooth

• 480x800 OLED

• Ice Cream Sandwich Android OS

Tablets, smartbooks, etc.

Page 8: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

8

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 NAND

Page 9: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

9

Agenda

Smartphone hardware

I/O virtualization techniques

Examples from MVP hypervisor

• Storage virtualization

• GPS virtualization

• Telephony virtualization

Page 10: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

10

I/O virtualization techniques

Page 11: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

11

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

• Portability

• Interposition (checkpointing, live migration)

• Minimizing engineering effort (cost)

Page 12: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

12

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 devices

Page 13: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

13

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

…..

Page 14: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

14

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

…..

Page 15: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

15

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’

…..

Page 16: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

16

Bare-metal (Type-1) hypervisor architecture

Execute directly on physical HW

Preferred architecture for high-end servers

E.g. VMware ESX, Xen, Microsoft Hyper-V

Page 17: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

17

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 Desktop

Page 18: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

18

VMware MVP system architecture

Personal applications run natively

Corporate applications run in a virtual machine

18

Copyright ® VMware, Inc. All Rights Reserved.

Page 19: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

19

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.

Page 20: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

20

Device virtualization stack

Frontend (RHS)

• Guest OS – VMM interface for virtual devices

Backend (LHS)

• Hypervisor implementation of virtual device semantics on host

Page 21: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

21

Frontend virtualization – where to slice?

Virtualization Layer

R: 137G: 203B: 223

Operating System

Application

Libraries, middleware

R: 192G: 192B: 192

R: 217G: 84B: 30

R: 248G: 152B: 29

Device emulation

Device level PV

Library level PV

Application level PV

Page 22: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

22

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 TCB

Hardware (pass-thru)

Page 23: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

23

Agenda

Smartphone hardware

I/O virtualization techniques

Examples from MVP hypervisor

• Storage virtualization

• GPS virtualization

• Telephony virtualization

Page 24: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

24

Storage virtualization

Page 25: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

25

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 FTL

• Up to 32GB today (2TB future)

• Economics of semiconductor scaling

• Optimized for cost, media workloads

• Application data (and some code)

Page 26: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

26

Storage virtualization stack

Page 27: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

27

VM image storage on SD cards

Why?

• Storage footprint of guest may be several GB (including checkpoint images)

Challenges

• Performance

• Reliability

• Security

Page 28: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

28

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.

Page 29: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

29

VM image storage on SD cards - performance

.

Page 30: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

30

VM image storage on SD cards - performance

.

Page 31: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

31

VM image storage on SD cards - performance

.

Page 32: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

32

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 images

Page 33: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

33

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 log

• Crash recovery discovers latest valid block on disk

Page 34: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

34

LSF example

Page 35: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

35

LSF example

Page 36: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

36

LSF example

Page 37: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

37

LSF example

Page 38: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

38

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)

Page 39: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

39

LBS performance

.

Page 40: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

40

Agenda

Smartphone hardware

I/O virtualization techniques

Examples from MVP hypervisor

• Storage virtualization

• GPS virtualization

• Telephony virtualization

Page 41: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

41

GPS virtualization

Page 42: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

42

GPS virtualization

Page 43: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

43

Agenda

Smartphone hardware

I/O virtualization techniques

Examples from MVP hypervisor

• Storage virtualization

• GPS virtualization

• Telephony virtualization

Page 44: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

44

Telephony virtualization

Page 45: © 2010 VMware Inc. All rights reserved Mobile I/O virtualization Harvey Tuch, Staff Engineer, Mobile Virtualization Platform January 25 th 2012 Sponsored

45

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/LTE

• Integration with enterprise Unified Commmunications (UC)