Columbia University in the city of new york 1 23rd ACM Symposium - - PowerPoint PPT Presentation

columbia university
SMART_READER_LITE
LIVE PREVIEW

Columbia University in the city of new york 1 23rd ACM Symposium - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Personal Phone Business Phone Developer Phone Children’s Phone

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

2

slide-3
SLIDE 3

Virtualization

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

3

slide-4
SLIDE 4

OS Kernel OS Kernel OS Kernel

Bare-Metal Hypervisor

Hypervisor / VMM

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Hardware

Server Virtualization

poor device support / sharing

4

slide-5
SLIDE 5

OS OS

Host OS Kernel

OS

Hypervisor / VMM

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Hosted Hypervisor

Desktop Virtualization

kernel module

Hardware

host user space

poor device performance

emulated devices

5

slide-6
SLIDE 6

OS Kernel

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

User Space SDK

Non-Virtualization

no standard apps less secure

custom user space API for isolated apps

Hardware

6

slide-7
SLIDE 7
  • device diversity
  • mobile usage model

➡ graphics-accelerated UI

Key Challenges

Power Buttons WiFi GPS Cell Radio

Framebuffer

GPU Binder IPC

Touchscreen Accelerometer

Compass pmem microphone headset speakers camera(s) h.264 accel.

RTC / Alarms

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

7

slide-8
SLIDE 8

Cells

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

8

slide-9
SLIDE 9

Cells

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Key Observation large: lots of windows/apps small:

  • ne app at a time

9

slide-10
SLIDE 10

Cells

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

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

10

slide-11
SLIDE 11

Cells

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Usage Model

foreground / background

11

slide-12
SLIDE 12

Cells

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

  • multiple, isolated virtual phones (VPs)
  • n a single mobile device
  • 100% device support in each VP
  • unique phone numbers - single SIM!
  • accelerated 3D graphics!

Complete Virtualization

12

slide-13
SLIDE 13

Cells

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

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

Efficient Virtualization

13

slide-14
SLIDE 14

Cells

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

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

Transparent Virtualization

14

slide-15
SLIDE 15

Linux Kernel

  • VP 3

VP 2 VP 1

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Single Kernel: Multiple VPs

virtualize at OS interface isolated collection

  • f processes

15

slide-16
SLIDE 16

Linux Kernel

  • Evaluation

Overview Graphics Cell Radio Demo Motivation Architecture

Single Kernel: Device Support

all VPs access the same device simultaneously

Power Cell Radio Binder IPC

Accelerometer

Compass pmem speakers camera(s) hw codec

RTC / Alarms

VP 3 VP 2 VP 1 Buttons WiFi GPS

Framebuffer

GPU

Touchscreen

microphone headset

  • Sensors

Input Android...

Audio/Video

16

slide-17
SLIDE 17

Linux Kernel Power WiFi Cell Radio

Framebuffer

GPU

RTC / Alarms

  • Sensors

Input Android...

Audio/Video

  • Evaluation

Overview Graphics Cell Radio Demo Motivation Architecture

Device Namespaces

safely, correctly multiplex access to devices

17

device namespaces

VP 3 VP 2 VP 1

slide-18
SLIDE 18
  • Linux

Kernel Power WiFi Cell Radio

Framebuffer

GPU

RTC / Alarms

  • Sensors

Input Android...

Audio/Video

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Cells

18

VP 3 VP 2 VP 1

+ device namespaces foreground / background

device namespaces

Complete, Efficient, Transparent Mobile Virtualization

=

slide-19
SLIDE 19

Linux Kernel Power WiFi Cell Radio

Framebuffer

GPU

RTC / Alarms

  • Sensors

Input Android...

Audio/Video

GPU

Framebuffer

19

device namespaces

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Cell Radio

efficient basic graphics virtualization hardware accelerated graphics proprietary/closed interface

slide-20
SLIDE 20

virtual addresses physical addresses

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

screen memory

Approach 1: Single Assignment

20

GPU

Framebuffer

slide-21
SLIDE 21

Framebuffer

virtual state

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

screen memory

Approach 2: Emulated Hardware

21

emulated framebuffer

slide-22
SLIDE 22

virtual addresses physical addresses

mux_fb

screen memory

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

VP 3 background mux_fb presents

identical device interface to all VPs using device namespaces swap virt addr mappings: point to different phys addr

Cells: Device Namespaces

22

VP 1

Framebuffer

VP 2 background foreground

slide-23
SLIDE 23

screen memory

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Accelerated Graphics

MMU context

VP 2

OpenGL

VP 1

context OpenGL OpenGL context

VP 3

graphics virtual addresses physical addresses

23

Framebuffer

GPU

VP: just a set

  • f processes!

process isolation

slide-24
SLIDE 24

GPU

MMU graphics virtual addresses physical addresses

screen memory

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Device Namespace + Graphics Context

context

VP 2

OpenGL

VP 1

context OpenGL OpenGL context

VP 3 background

24

foreground background

slide-25
SLIDE 25

Linux Kernel

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Drivers

Baseband: GSM / CDMA

RilD

VoIP?

VoIP VoIP Vendor RIL

25

slide-26
SLIDE 26

Linux Kernel

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

GSM/CDMA

RilD

Dual-SIM?

Vendor RIL

26

GSM / CDMA

Drivers Drivers RilD Vendor RIL

slide-27
SLIDE 27

Root Namespace Linux Kernel

vendor API

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Drivers

Baseband: GSM / CDMA

Cells RIL RilD

VP 2

Cells RIL RilD

VP 1

RilD Cells RIL

VP 3

Cells: User-Level Namespace Proxy

background background foreground

Vendor RIL proprietary hardware/software requires a well-defined interface.

27

CellD

slide-28
SLIDE 28

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Experimental Results

Setup

  • Nexus S
  • five virtual phones
  • overhead vs. stock 〈Android 2.3〉

28

slide-29
SLIDE 29

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Experimental Results

Setup

  • CPU 〈Linpack〉
  • graphics 〈Neocore〉
  • storage 〈Quadrant〉
  • web browsing 〈Sun Spider〉
  • networking 〈Custom WiFi Test〉

29

slide-30
SLIDE 30

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!

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

Experimental Results

30

slide-31
SLIDE 31

Demo

Evaluation Overview Graphics Cell Radio Demo Motivation Architecture

31

slide-32
SLIDE 32

Evaluation Overview Graphics Cell Radio Demo Motivation 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

Cells

Complete, Efficient, Transparent Mobile Virtualization

32

slide-33
SLIDE 33

More Info

33

cellrox.com cells.cs.columbia.edu