Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview...

33
A virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus Christoffer Dall Alexander Van’t Hof Oren Laadan Jason Nieh Columbia University in the city of new york 1

Transcript of Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview...

Page 1: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

A virtual Smartphone Architecture

23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011

Jeremy Andrus Christoffer Dall Alexander Van’t Hof Oren Laadan Jason Nieh

Columbia Universityin the city of new york

1

Page 2: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Personal PhoneBusiness Phone

Developer Phone

Children’s Phone

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

2

Page 3: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

VirtualizationEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

3

Page 4: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

OSKernel

OSKernel

OSKernel

Bare-Metal Hypervisor

Hypervisor / VMM

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Hardware

Server Virtualization

poor device support / sharing

4

Page 5: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

OSOS

Host OS Kernel

OS

Hypervisor / VMM

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Hosted HypervisorDesktop Virtualization

kernelmodule

Hardware

host user space

poor device performance

emulateddevices

5

Page 6: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

OS Kernel

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

User Space SDKNon-Virtualization

no standard appsless secure custom user

space API for isolated apps

Hardware6

Page 7: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

• device diversity

• mobile usage model➡ graphics-accelerated UI

Key Challenges

Power Buttons

WiFi

GPS

Cell Radio FramebufferGPU

Binder IPC

Touchscreen

Accelerometer

Compasspmem

microphone headset

speakers

microphone

camera(s)

h.264 accel.

RTC / Alarms

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

7

Page 8: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

8

Page 9: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Key Observation

large: lots of windows/apps

small:one app at a time

9

Page 10: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Key Observation

screen real-estate is limited, and mobile phone users are accustomed to interacting with one thing at time

10

Page 11: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Usage Model

foreground / background

11

Page 12: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

• multiple, isolated virtual phones (VPs) on a single mobile device

• 100% device support in each VP‣ unique phone numbers - single SIM!‣ accelerated 3D graphics!

Complete Virtualization

12

Page 13: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

• less than 2% overhead in runtime tests• imperceptible switch time among VPs

Efficient Virtualization

13

Page 14: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

• each VP sees / uses all devices• user can run any unmodified apps• foreground VP switches like an app

Transparent Virtualization

14

Page 15: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

LinuxKernel

•••

VP 3VP 2VP 1

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Single Kernel: Multiple VPs

virtualize at OS interface

isolated collectionof processes

15

Page 16: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

LinuxKernel

•••

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Single Kernel: Device Support

all VPs access the same device simultaneouslyPower

Cell Radio

Binder IPC

Accelerometer

Compasspmem

speakerscamera(s)

hw codec

RTC / Alarms

VP 3VP 2VP 1

Buttons

WiFi

GPS

FramebufferGPU

Touchscreen

microphone headset

•••

Sens

ors

Inpu

t

And

roid

...

Aud

io/V

ideo

16

Page 17: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

LinuxKernel

Pow

er

WiF

i

Cell

Radi

o

Fram

ebuf

fer

GPU

RTC

/ A

larm

s

•••

Sens

ors

Inpu

t

And

roid

...

Aud

io/V

ideo

•••

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Device Namespaces

safely, correctly multiplex access

to devices

17

device namespaces

VP 3VP 2VP 1

Page 18: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

•••

LinuxKernel

Pow

er

WiF

i

Cell

Radi

o

Fram

ebuf

fer

GPU

RTC

/ A

larm

s

•••

Sens

ors

Inpu

t

And

roid

...

Aud

io/V

ideo

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Cells

18

VP 3VP 2VP 1

+device namespaces

foreground / background

device namespacesComplete, Efficient, TransparentMobile Virtualization

=

Page 19: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

LinuxKernel

Pow

er

WiF

i

Cell

Radi

o

Fram

ebuf

fer

GPU

RTC

/ A

larm

s

•••

Sens

ors

Inpu

t

And

roid

...

Aud

io/V

ideo

GPU

Fram

ebuf

fer

19

device namespaces

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Cell

Radi

o

efficient basic graphics virtualization

hardware accelerated graphics

proprietary/closed interface

Page 20: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

virtual addressesphysical addresses

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

screen memory

Approach 1: Single Assignment

20

GPU

Framebuffer

Page 21: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Framebuffer virtual state

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

screen memory

Approach 2: Emulated Hardware

21

emulated framebuffer

Page 22: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

virtual addressesphysical addresses

mux_fb

screen memory

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

VP 3

backgroundmux_fb presentsidentical deviceinterface to all VPsusing device namespaces

swap virt addr mappings:point to different phys addr

Cells: Device Namespaces

22

VP 1

Framebuffer

VP 2

backgroundforeground

Page 23: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

screen memory

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Accelerated Graphics

MMU

context

VP 2

OpenGL

VP 1

context

OpenGL OpenGL

context

VP 3

graphics virtual addressesphysical addresses

23

Framebuffer

GPU

VP: just a setof processes!

process isolation

Page 24: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

GPUMMU graphics virtual addresses

physical addresses

screen memory

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Device Namespace + Graphics Context

context

VP 2

OpenGL

VP 1

context

OpenGL OpenGL

context

VP 3

background

24

foreground background

Page 25: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

LinuxKernel

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Drivers

Baseband: GSM / CDMA

RilD

VoIP?

VoIP VoIPVendor RIL

25

Page 26: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

LinuxKernel

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

GSM/CDMA

RilD

Dual-SIM?

Vendor RIL

26

GSM / CDMA

Drivers Drivers

RilD

Vendor RIL

Page 27: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Root Namespace

LinuxKernel

vendor API

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Drivers

Baseband: GSM / CDMA

Cells RIL

RilD

VP 2

Cells RIL

RilD

VP 1

RilD

Cells RIL

VP 3Cells: User-Level Namespace Proxy

backgroundbackgroundforeground

Vendor RIL

proprietary hardware/software requires a well-defined interface.

27

CellD

Page 28: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Experimental ResultsSetup

• Nexus S• five virtual phones

• overhead vs. stock 〈Android 2.3〉

28

Page 29: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Experimental ResultsSetup

• CPU 〈Linpack〉

• graphics 〈Neocore〉

• storage 〈Quadrant〉

• web browsing 〈Sun Spider〉

• networking 〈Custom WiFi Test〉

29

Page 30: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Runtime Overhead

0.00!

0.20!

0.40!

0.60!

0.80!

1.00!

1.20!

1.40!

Linpack NeoCore Quadrant I/O

Sun Spider

Network

1-VP! 2-VP! 3-VP! 4-VP! 5-VP!Negligible

Overhead In 3D Measurements!

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Experimental Results

30

Page 31: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

Demo

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

31

Page 32: Columbia Universitylierranli/coms6998-10Spring2013/... · 2013. 1. 14. · Motivation Overview Architecture Graphics Cell Radio Evaluation Demo Drivers Baseband: GSM / CDMA Cells

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

• device namespaces‣ safely and efficiently share devices

• foreground / background‣ designed specifically for mobile devices

• implemented on Android• less than 2% overhead on Nexus S

CellsComplete, Efficient, Transparent

Mobile Virtualization

32