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
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
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
in the city of new york
1
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
2
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
3
OS Kernel OS Kernel OS Kernel
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
4
OS OS
OS
Hypervisor / VMM
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
kernel module
host user space
emulated devices
5
OS Kernel
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
custom user space API for isolated apps
6
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
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
8
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
9
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
10
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
11
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
12
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
13
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
14
Linux Kernel
VP 2 VP 1
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
15
Linux Kernel
Overview Graphics Cell Radio Demo Motivation Architecture
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
Input Android...
Audio/Video
16
Linux Kernel Power WiFi Cell Radio
Framebuffer
GPU
RTC / Alarms
Input Android...
Audio/Video
Overview Graphics Cell Radio Demo Motivation Architecture
17
device namespaces
VP 3 VP 2 VP 1
Kernel Power WiFi Cell Radio
Framebuffer
GPU
RTC / Alarms
Input Android...
Audio/Video
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
18
VP 3 VP 2 VP 1
device namespaces
Linux Kernel Power WiFi Cell Radio
Framebuffer
GPU
RTC / Alarms
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
virtual addresses physical addresses
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
screen memory
20
GPU
Framebuffer
Framebuffer
virtual state
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
screen memory
21
emulated framebuffer
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
22
VP 1
Framebuffer
VP 2 background foreground
screen memory
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
MMU context
VP 2
OpenGL
VP 1
context OpenGL OpenGL context
VP 3
graphics virtual addresses physical addresses
23
Framebuffer
GPU
process isolation
GPU
MMU graphics virtual addresses physical addresses
screen memory
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
context
VP 2
OpenGL
VP 1
context OpenGL OpenGL context
VP 3 background
24
foreground background
Linux Kernel
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
Drivers
Baseband: GSM / CDMA
RilD
VoIP VoIP Vendor RIL
25
Linux Kernel
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
GSM/CDMA
RilD
Vendor RIL
26
GSM / CDMA
Drivers Drivers RilD Vendor RIL
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
background background foreground
Vendor RIL proprietary hardware/software requires a well-defined interface.
27
CellD
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
28
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
29
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
30
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
31
Evaluation Overview Graphics Cell Radio Demo Motivation Architecture
32
33