240 likes | 551 Views
Cells : A Virtual Mobile Smartphone Architecture(2011). Fu mitoshi Mizutani and Yerzhan Yerbolat. Mobile and Cloud Computing. MOTIVATION AND PROBLEM DEFINITION. Extra phone. How to put two systems on one device?. Hypervisor(traditional solution). Type2 (Host). Type1( Bare metal ).
E N D
Cells: A Virtual Mobile Smartphone Architecture(2011) FumitoshiMizutani and YerzhanYerbolat Mobile and Cloud Computing
MOTIVATION AND PROBLEM DEFINITION Extraphone
How to put two systems on one device? Hypervisor(traditional solution) Type2 (Host) Type1(Baremetal)
Hypervisor Type1 1960s IBM developed CP/CMS Usually for big servers • Advantage: • Linux has standard Hypervisor function from 2.6.20 called Kernel based Virtual Machine (KVM); • Some CPU support virtualization acceleration ,Intel VT-x, AMD-V. • Disadvantage • Requires huge Hardware power.
Hypervisor Type2 • Well known emulators are: • VM Player; • Game HW emulators – Nintendo. • Benefits: • Easy to install; • Portable; Image can copy to different machine and resume • Can run different Gest OS • Drawbacks: • Require rich Hardware resource • OS overhead is large
New OS Virtualization Introduced in 2002 by Steven Osman “The Design and Implementation of Zap” • Benefits: • Easy to maximize performance of Software and Hardware; • Easy to manage Software and Hardware; • Can provide high efficiency. • Drawbacks: • Need to think carefully about isolation • of each Virtual OS; • Many devices on Smart phone are not • designed to be shared concurrently. • Difficult to move to new machine
RELATED WORK Cells was first in its kind that use OS virtualization on smart phone: • Xen for ARM ,J. Hwang, 2008 (Hypervisor Type1) • Xen project, started at University of Cambridge; • Open source . • KVM/ARM, C. Dall, 2010 (Hypervisor Type1) • Written by same authors as cells; • Needed to optimize kernel to optimize performance. • VMware Mobile Virtualization Platform,K.Barr,2010 (Hypervisor Type2) • Android OS. • Commercial product
MAIN CONTRIBUTIONS • Cells showed the way to virtualize Smartphone by using OS virtualization; • Cells created multi-phone environment with nearly zero runtime overhead.
Cells design • Foreground and background Virtual Phone(VP): • allow one single VP to be displayed on screen (foreground VP); • The other VP can receive event and perform task (background VP) For example: can receive a call!!! • Each VP can be set not to use specific device: For example : No access to camera, make a call, network.
How do devices manage the choice of foreground or background VP ? F Virtual Phone 2 Virtual Phone 1 Virtual Phone 3 Linux Kernel Wrapper Wrapper Wrapper GPU GPS Input Device Namespace Device Namespace Device Namespace GPS_VP1 GPS_VP2 GPS_VP3 Input_VP1 Input_VP2 Input_VP3 ID_GPUVP1 ID_GPUVP2 ID_GPUVP3
How does VPs hold device configuration? User space Root Space Virtual Phone Virtual Phone Virtual Phone Cell D Device Config Linux Kernel Inter Process Communication(IPC)
HowCells do isolation of VP? • Use UID in Linux System to set user credential • User from one VP can not install applications on another VP; • Use Device Namespace isolation • VP can not have access outside of VP’s device namespace • Use different mount space for each VP • VP cannot access others VP’s files
TELEPHONY Android Java Android Java Java Phone/Radio Interface Layer(RIL) Java Phone/Radio Interface Layer(RIL) RIL Daemon RIL Daemon Cell D Black box Cells RIL Vendor RIL Vendor RIL Black box Kernel Kernel Drivers/PPP Drivers/PPP Base band Base band GSM/CDMA GSM/CDMA
EXPERIMENTAL RESULTS Experiment aim to measure: runtime overhead; power consumption; memory usage. Testing configuration: Up to 5 Virtual phones; With App and NoApp modes; Network test downloading 400 Mb file using wi-fi; Power consumption test 4 and 12 hours Active and Idle modes.
Equipment Software: Android 2.1 Eclair, Android 2.3 Gingerbread; As a workload daily applications: Browser, Mail client, Calendar. 5 benchmark applications to measure CPU, GPU, File I/O, Network and Web browsing. Hardware: Samsung nb30 laptop(1.66 GHz Intel Atom, 1 Gb RAM) as a Server for network test.
Runtime overhead(Baseline) Figure 8: No App mode, Nexus 1 perform worse than Nexus S on Quadrant(File I/O) and Network tests(might be SD card usage). Overall performance overhead of Cells was within 7% in comparison to Baseline(original). Jeremy Andrus et al. , Cells: A Virtual Mobile Smartphone Architecture, p184 Figure 3, 2011
Runtime overhead(With App) Figure 9: In “With App” mode background music was continuously played during the test. Performance of Nexus S shown less than 10% overhead. Jeremy Andrus et al. , Cells: A Virtual Mobile Smartphone Architecture, p184 Figure 3, 2011
Power consumption Figure 10: Power consumption in active mode 4 hours and 12 passive mode. Nexus 1 during playing the music shows gradual increase up to 20% overhead because of scheduling more processes. While on Nexus S power overhead was within 2%. Jeremy Andrus et al. , Cells: A Virtual Mobile Smartphone Architecture, p184 Figure 3, 2011
Memory usage Figure 11: Memory test in “Apps mode” running applications such as Web browser, mail client, Calendar on all VPs. Nexus 1 show 20% better result because of Kernel Same page Merging algorithm(KSM). Nexus S use Low memory killer that free the memory during the execution 4th VP in “No Apps” mode and after 3rd VP in “Apps” mode. Jeremy Andrus et al. , Cells: A Virtual Mobile Smartphone Architecture, p184 Figure 3, 2011
FUTURE WORK The areas that might be developed in future: Cross-platform Cells Virtualization that can run on different OS-s: IOS, Windows Mobile, RIM; Test the security and isolation of VP; Display several VP Desktops on one screen; How to upgrade hardware?
CONCLUSION OS virtualization on smartphones is a complex issue. It has constraints in terms of wide range of devices in each smartphone, sharing each of them concurrently and isolating VPs from each other. Cell virtualization has shown that OS virtualization is possible on smartphones and has good performance. Experiments has shown that runtime overhead was nearly zero and might be more visible if they do more testing. However, some questions left unanswered: “How reliable the security of the VPs? How to upgrade hardware or move to new smart phone?”