Cells: A Virtual Mobile Smartphone Architecture(2011)

Slides:



Advertisements
Similar presentations
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
Advertisements

Profit from the cloud TM Parallels Dynamic Infrastructure AndOpenStack.
By : Versha Thakur Shravani Aishwarya
Introduction to Virtualization
DEPARTMENT OF COMPUTER ENGINEERING
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
MobiDesk: Mobile Virtual Desktop Computing Ricardo A. Baratto, Shaya Potter, Gong Su, Jason Nieh Network Computing Laboratory Columbia University September.
Server Virtualization Gina Myers. Definition Creating virtual machines (VMs) “VMs are software entities that emulate a real machine’s functionality” ◦
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Fall 2014 Presented By: Probir Roy.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Virtualization for Cloud Computing
5205 – IT Service Delivery and Support
Introduction to Android Platform Overview
Virtualization A way To Begin with Virtual Reality… - Rahul Khanwani.
Case study 2 Android – Mobile OS.
Using Virtualization in the Classroom. Using Virtualization in the Classroom Session Objectives Define virtualization Compare major virtualization programs.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Tanenbaum 8.3 See references
Android Introduction Platform Overview.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Android in the Cloud Chromebooks, BYOD and Wearables Joel Isaacson Copyright 2014 Joel Isaacson
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Using Virtualization in the Classroom. Using Virtualization in the Classroom Session Objectives Define virtualization Compare major virtualization programs.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Christoffer Dall Department of Computer Science Columbia University
การติดตั้งและทดสอบการทำคลัสเต อร์เสมือนบน Xen, ROCKS, และไท ยกริด Roll Implementation of Virtualization Clusters based on Xen, ROCKS, and ThaiGrid Roll.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
VirtualBox What you need to know to build a Virtual Machine.
KVM/ARM: The Design and Implementation of the Linux ARM Hypervisor Christoffer Dall Department of Computer Science Columbia University
INTRODUCTION TO VIRTUALIZATION KRISTEN WILLIAMS MOSES IKE.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
What is gaming console & platform? A game console is a device which outputs video signal into TV screen to display the video game. A platform is in which.
Introduction to virtualization
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
ECE 751- Cells: A Virtual Mobile Smartphone Architecture Mikkel Nielsen
Full and Para Virtualization
Lecture 26 Virtual Machine Monitors. Virtual Machines Goal: run an guest OS over an host OS Who has done this? Why might it be useful? Examples: Vmware,
Virtualization One computer can do the job of multiple computers, by sharing the resources of a single computer across multiple environments. Turning hardware.
Operating-System Structures
Cloud Computing Lecture 5-6 Muhammad Ahmad Jan.
Power Guru: Implementing Smart Power Management on the Android Platform Written by Raef Mchaymech.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Predrag Buncic (CERN/PH-SFT) Software Packaging: Can Virtualization help?
Course 03 Basic Concepts assist. eng. Jánó Rajmond, PhD
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
VIRTUAL MACHINE – VMWARE. VIRTUAL MACHINE (VM) What is a VM? – A virtual machine (VM) is a software implementation of a computing environment in which.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
Using Virtualization in the Classroom
Virtualization for Cloud Computing
Guide to Operating Systems, 5th Edition
Presented by Yoon-Soo Lee
Virtualization Dr. Michael L. Collard
Container-based Operating System Virtualization: A scalable, High-performance Alternative to Hypervisors Stephen Soltesz, Herbert Potzl, Marc E. Fiuczynski,
Virtualization overview
1. 2 VIRTUAL MACHINES By: Satya Prasanna Mallick Reg.No
Virtual Machines.
Group 8 Virtualization of the Cloud
Overview Introduction VPS Understanding VPS Architecture
OS Virtualization.
Conditions leading to the rise of virtual machines
Guide to Operating Systems, 5th Edition
Classifying & evaluating computers
Windows Virtual PC / Hyper-V
Outline Chapter 2 (cont) OS Design OS structure
Korea Software HRD Center
Hypervisor A hypervisor or virtual machine monitor (VMM) is computer software, firmware or hardware that creates and runs virtual machines. A computer.
Presentation transcript:

Cells: A Virtual Mobile Smartphone Architecture(2011) Fumitoshi Mizutani and Yerzhan Yerbolat Mobile and Cloud Computing

MOTIVATION AND PROBLEM DEFINITION Disable software installation No camera on secret places Employees Test prototype software Application developers Can let their children to play with phone(safely) Parents Extra phone

How to put two systems on one device? Hypervisor(traditional solution) Type2 (Host) Type1(Bare metal) Hardware Host OS Regular Process emulator Gest OS Hardware Hypervisor Gest OS Regular Process .

Hypervisor Type1 Advantage: Disadvantage Hardware Hypervisor Gest OS Regular Process 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 Hardware Host OS Regular Process emulator Gest OS

OS Virtualization New Introduced in 2002 by Steven Osman Hardware OS OS Virtualize layer Virtual environment 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

Cells (OS Virtualization layer) MAIN CONTRIBUTIONS Cells showed the way to virtualize Smartphone by using OS virtualization; Cells created multi-phone environment with nearly zero runtime overhead. Hardware Android OS Cells (OS Virtualization layer) Virtual Phone Virtual Phone

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 ? Virtual Phone 1 Virtual Phone 2 Virtual Phone 3 GPU Device Namespace Wrapper GPS Input Linux Kernel ID_GPUVP1 ID_GPUVP2 ID_GPUVP3 GPS_VP1 GPS_VP2 GPS_VP3 Input_VP1 Input_VP2 Input_VP3 F

How does VPs hold device configuration? Linux Kernel Virtual Phone Root Space Cell D Device Config Inter Process Communication(IPC) User space

How Cells 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: Hardware: 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. Nexus 1 smartphone Qualcomm 1GHz Adreno 200 GPU 512 Mb RAM, 1400 mAh Patriot class 10 SD Card. Nexus S smartphone Hummingbird 1GHz 200 MHz PowerVR GPU 512 Mb RAM 1500 mAh Internal Flash memory

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?”