columbia university - acm sigopssigops.org/.../current/2011-cascais/13-andrus-slides.pdf · 2011....
TRANSCRIPT
![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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/1.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/2.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/3.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/4.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/5.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/6.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/7.jpg)
• 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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/8.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/9.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/10.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/11.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/12.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/13.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/14.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/15.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/16.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/17.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/18.jpg)
•••
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/19.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/20.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/21.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/22.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/23.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/24.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/25.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/26.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/27.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/28.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/29.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/30.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/31.jpg)
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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/32.jpg)
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
![Page 33: 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!!](https://reader035.vdocuments.net/reader035/viewer/2022071218/604e49dd925356260d6a0467/html5/thumbnails/33.jpg)
More Info
33
cellrox.comcells.cs.columbia.edu