Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011....

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011....

Page 1: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

Personal PhoneBusiness Phone

Developer Phone

Children’s Phone

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

2

Page 3: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

VirtualizationEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

3

Page 4: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

• 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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

8

Page 9: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Key Observation

large: lots of windows/apps

small:one app at a time

9

Page 10: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Usage Model

foreground / background

11

Page 12: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

•••

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

virtual addressesphysical addresses

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

screen memory

Approach 1: Single Assignment

20

GPU

Framebuffer

Page 21: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

Framebuffer virtual state

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

screen memory

Approach 2: Emulated Hardware

21

emulated framebuffer

Page 22: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

LinuxKernel

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Drivers

Baseband: GSM / CDMA

RilD

VoIP?

VoIP VoIPVendor RIL

25

Page 26: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Experimental ResultsSetup

• Nexus S• five virtual phones

• overhead vs. stock 〈Android 2.3〉

28

Page 29: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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 University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

Demo

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

31

Page 32: Columbia University - ACM SIGOPSsigops.org/.../current/2011-Cascais/13-andrus-slides.pdf · 2011. 10. 25. · • 100% device support in each VP! unique phone numbers - single SIM!!

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