columbia universitycdall/pubs/cells_sosp2011-clean.pdfa virtual smartphone architecture 23rd acm...

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

Upload: others

Post on 19-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

Personal PhoneBusiness Phone

Developer Phone

Children’s Phone

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

2

Page 3: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

VirtualizationEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

3

Page 4: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

• 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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

8

Page 9: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Key Observation

large: lots of windows/apps

small:one app at a time

9

Page 10: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

Cells

microphoneEvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Usage Model

foreground / background

11

Page 12: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

•••

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

virtual addressesphysical addresses

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

screen memory

Approach 1: Single Assignment

20

GPU

Framebuffer

Page 21: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

Framebuffer virtual state

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

screen memory

Approach 2: Emulated Hardware

21

emulated framebuffer

Page 22: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

LinuxKernel

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Drivers

Baseband: GSM / CDMA

RilD

VoIP?

VoIP VoIPVendor RIL

25

Page 26: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

Experimental ResultsSetup

• Nexus S• five virtual phones

• overhead vs. stock 〈Android 2.3〉

28

Page 29: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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 Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

Demo

EvaluationOverview Graphics Cell Radio DemoMotivation Architecture

31

Page 32: Columbia Universitycdall/pubs/Cells_SOSP2011-clean.pdfA virtual Smartphone Architecture 23rd ACM Symposium on Operating Systems Principles, Cascais, Portugal, October 2011 Jeremy Andrus

Slides © 2011 Jeremy C. Andrus <[email protected]>

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