A Survey of Mobile Device Virtualization

Recent growth in the processing and memory resources of mobile devices has fueled research within the field of mobile virtualization. Mobile virtualization enables multiple persona on a single mobile device by hosting heterogeneous operating systems (OSs) concurrently. However, adding a virtualization layer to resource-constrained mobile devices with real-time requirements can lead to intolerable performance overheads. Hardware virtualization extensions that support efficient virtualization have been incorporated in recent mobile processors. Prior to hardware virtualization extensions, virtualization techniques that are enabled by performance prohibitive and resource consuming software were adopted for mobile devices. Moreover, mobile virtualization solutions lack standard procedures for device component sharing and interfacing between multiple OSSs. The objective of this article is to survey software- and hardware-based mobile virtualization techniques in light of the recent advancements fueled by the hardware support for mobile virtualization. Challenges and issues faced in virtualization of CPU, memory, I/O, interrupt, and network interfaces are highlighted. Moreover, various performance parameters are presented in a detailed comparative analysis to quantify the efficiency of mobile virtualization techniques and solutions.

[1]  Tzi-cker Chiueh,et al.  Evaluation of a Server-Grade Software-Only ARM Hypervisor , 2013, 2013 IEEE Sixth International Conference on Cloud Computing.

[2]  Sang-Bum Suh,et al.  Xen on ARM: System Virtualization Using Xen Hypervisor for ARM-Based Secure Mobile Phones , 2008, 2008 5th IEEE Consumer Communications and Networking Conference.

[3]  Alexandra Aguiar,et al.  On the virtualization of multiprocessed embedded systems , 2013 .

[4]  Sanjay Kumar,et al.  Virtual WiFi: bring virtualization from wired to wireless , 2011, VEE '11.

[5]  Fabiano Hessel,et al.  Embedded systems' virtualization: The next challenge? , 2010, Proceedings of 2010 21st IEEE International Symposium on Rapid System Protyping.

[6]  Vlado Handziski,et al.  CrowdMeter: an emulation platform for performance evaluation of crowd-sensing applications , 2013, UbiComp.

[7]  Eyal de Lara,et al.  Energy-Oriented Partial Desktop Virtual Machine Migration , 2015, ACM Trans. Comput. Syst..

[8]  Mauro Conti,et al.  MOSES: supporting operation modes on smartphones , 2012, SACMAT '12.

[9]  AgesenOle,et al.  A comparison of software and hardware techniques for x86 virtualization , 2006 .

[10]  Luca Benini,et al.  VirtualSoC: A Full-System Simulation Environment for Massively Parallel Heterogeneous System-on-Chip , 2013, 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum.

[11]  Martin Botteck,et al.  Virtualization as an enabler for security in mobile devices , 2008, IIES '08.

[12]  Daniel Rossier,et al.  EmbeddedXEN: A Revisited Architecture of the XEN hypervisor to support ARM- based embedded virtualization , 2012 .

[13]  Feng Xia,et al.  A survey on virtual machine migration and server consolidation frameworks for cloud data centers , 2015, J. Netw. Comput. Appl..

[14]  Marius Marcu,et al.  Energy Efficiency Measurements of Mobile Virtualization Systems , 2011, MobiSec.

[15]  Josep Torrellas,et al.  Comparing the power and performance of Intel's SCC to state-of-the-art CPUs and GPUs , 2012, 2012 IEEE International Symposium on Performance Analysis of Systems & Software.

[16]  Yaser Jararweh,et al.  Scalable Cloudlet-based Mobile Computing Model , 2014, FNC/MobiSPC.

[17]  Rajiv Ranjan,et al.  Survey of Techniques and Architectures for Designing Energy-Efficient Data Centers , 2016, IEEE Systems Journal.

[18]  Harvey Tuch,et al.  The VMware mobile virtualization platform: is that a hypervisor in your pocket? , 2010, OPSR.

[19]  Yubin Xia,et al.  Poster: TVisor - A Practical and Lightweight Mobile Red-Green Dual-OS Architecture , 2015, MobiSys.

[20]  Wenzhi Chen,et al.  A Lightweight Virtualization Solution for Android Devices , 2015, IEEE Transactions on Computers.

[21]  Gernot Heiser,et al.  Pre-virtualization: Soft layering for virtual machines , 2008, 2008 13th Asia-Pacific Computer Systems Architecture Conference.

[22]  Brad Smith ARM and Intel Battle over the Mobile Chip's Future , 2008, Computer.

[23]  Alejandro Rico,et al.  Tibidabo: Making the case for an ARM-based HPC system , 2014, Future Gener. Comput. Syst..

[24]  Bi Wu,et al.  Virtualization with Limited Hardware Support , 2013 .

[25]  Mazliza Othman,et al.  A Survey of Mobile Cloud Computing Application Models , 2014, IEEE Communications Surveys & Tutorials.

[26]  Jason Nieh,et al.  KVM for ARM , 2010 .

[27]  Chih-wen Hsueh,et al.  An optimized page translation for mobile virtualization , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[28]  Albert Y. Zomaya,et al.  Trends and challenges in cloud datacenters , 2014, IEEE Cloud Computing.

[29]  Gernot Heiser,et al.  Virtualizing embedded systems - why bother? , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[30]  David Brash Extensions to the ARMv7-A architecture , 2010, 2010 IEEE Hot Chips 22 Symposium (HCS).

[31]  Sujata Banerjee,et al.  PowerVisor: a battery virtualization scheme for smartphones , 2012, MCS '12.

[32]  Mahadev Satyanarayanan,et al.  A Brief History of Cloud Offload: A Personal Journey from Odyssey Through Cyber Foraging to Cloudlets , 2015, GETMBL.

[33]  Patrik Ekdahl,et al.  VETE: Virtualizing the Trusted Execution Environment , 2013 .

[34]  Sami Yehia,et al.  The next convergence: High-performance and mission-critical markets , 2013 .

[35]  Ole Agesen,et al.  A comparison of software and hardware techniques for x86 virtualization , 2006, ASPLOS XII.

[36]  Ejaz Ahmed,et al.  Securing software defined networks: taxonomy, requirements, and open issues , 2015, IEEE Communications Magazine.

[37]  Ryan Shea,et al.  Network interface virtualization: challenges and solutions , 2012, IEEE Network.

[38]  Feng Xia,et al.  Application optimization in mobile cloud computing: Motivation, taxonomies, and open challenges , 2015, J. Netw. Comput. Appl..

[39]  Daniel R. Ferstay,et al.  Fast Secure Virtualization for the ARM Platform , 2006 .

[40]  Rusty Russell,et al.  virtio: towards a de-facto standard for virtual I/O devices , 2008, OPSR.

[41]  Sixto Ortiz Chipmakers ARM for Battle in Traditional Computing Market , 2011, Computer.

[42]  Gerald J. Popek,et al.  Formal requirements for virtualizable third generation architectures , 1974, SOSP '73.

[43]  Justin M. Forbes Why Virtualization Fragmentation Sucks , 2010 .

[44]  Gernot Heiser,et al.  The role of virtualization in embedded systems , 2008, IIES '08.

[45]  Masato Edahiro,et al.  Processor virtualization for secure mobile terminals , 2008, TODE.

[46]  Timo Kerstan,et al.  Proteus Hypervisor: Full Virtualization and Paravirtualization for Multi-core Embedded Systems , 2013, IESS.

[47]  Jeremy Andrus,et al.  The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone Architecture , 2012, TOCS.

[48]  Jun Zhang,et al.  Performance Tuning Towards a KVM-Based Low Latency Virtualization System , 2010, 2010 2nd International Conference on Information Engineering and Computer Science.

[49]  Jason Nieh,et al.  KVM/ARM: the design and implementation of the linux ARM hypervisor , 2014, ASPLOS.

[50]  Kang-Ho Kim,et al.  ViMo (Virtualization for Mobile) : A Virtual Machine Monitor Supporting Full Virtualization For ARM Mobile Systems , 2010 .

[51]  Zonghua Gu,et al.  A State-of-the-Art Survey on Real-Time Issues in Embedded Systems Virtualization , 2012 .

[52]  Ilenia Tinnirello,et al.  Wireless card virtualization: From virtual NICs to virtual MAC machines , 2012, 2012 Future Network & Mobile Summit (FutureNetw).

[53]  Gernot Heiser Virtualization for Embedded Systems , 2007 .

[54]  Sungkil Lee,et al.  Power-efficient and high-performance block I/O framework for mobile virtualization systems , 2016, The Journal of Supercomputing.

[55]  Cheol-Ho Hong,et al.  MobiVMM: a virtual machine monitor for mobile phones , 2008, MobiVirt '08.

[56]  Chuck Yoo,et al.  Virtualizing ARM VFP (Vector Floating-Point) with Xen-ARM , 2013, J. Syst. Archit..

[57]  Gernot Heiser,et al.  The OKL4 microvisor: convergence point of microkernels and hypervisors , 2010, APSys '10.

[58]  Feng Xia,et al.  A Review on mobile application energy profiling: Taxonomy, state-of-the-art, and open research issues , 2015, J. Netw. Comput. Appl..

[59]  Thomas Gaska,et al.  Applying virtualization to avionics systems — The integration challenges , 2010, 29th Digital Avionics Systems Conference.

[60]  Somayeh Sardashti,et al.  The gem5 simulator , 2011, CARN.

[61]  Gernot Heiser,et al.  Hardware-supported virtualization on ARM , 2011, APSys.

[62]  Francois Armand,et al.  A Practical Look at Micro-Kernels and Virtual Machine Monitors , 2009, 2009 6th IEEE Consumer Communications and Networking Conference.

[63]  Fabrice Bellard,et al.  QEMU, a Fast and Portable Dynamic Translator , 2005, USENIX ATC, FREENIX Track.

[64]  Amir Hayat,et al.  Resource management in cloud computing: Taxonomy, prospects, and challenges , 2015, Comput. Electr. Eng..

[65]  Katrin Hoeper,et al.  Delivering secure applications on commercial mobile devices: the case for bare metal hypervisors , 2011, SPSM '11.

[66]  Binoy Ravindran,et al.  Popcorn: bridging the programmability gap in heterogeneous-ISA platforms , 2015, EuroSys.

[67]  Luiz Marcos Garcia Gonçalves,et al.  Towards green data centers: A comparison of x86 and ARM architectures power efficiency , 2012, J. Parallel Distributed Comput..

[68]  Heradon Douglas,et al.  Thin Hypervisor-Based Security Architectures for Embedded Platforms , 2010 .

[69]  Yeh-Ching Chung,et al.  ARMvisor : System Virtualization for ARM , 2012 .

[70]  Jian Li,et al.  A Virtualization Solution for BYOD With Dynamic Platform Context Switching , 2015, IEEE Micro.

[71]  Gernot Heiser,et al.  The Motorola Evoke QA4: A case study in mobile virtualization , 2009 .

[72]  Barbara Rosario,et al.  Dynamic Migration of Computation Through Virtualization of the Mobile Platform , 2012, Mob. Networks Appl..

[73]  Xiaoyi Chen Smartphone virtualization: Status and challenges , 2011, 2011 International Conference on Electronics, Communications and Control (ICECC).

[74]  Viktor Do Security Services on an Optimized Thin Hypervisor for Embedded Systems , 2011 .

[75]  Rahul Ramasubramanian Exploring Virtualization Platforms for ARM based Mobile Android Devices. , 2011 .

[76]  Jeremy Andrus,et al.  Cells: a virtual mobile smartphone architecture , 2011, SOSP '11.

[77]  Junaid Shuja,et al.  Data center energy efficient resource scheduling , 2014, Cluster Computing.

[78]  Sorav Bansal,et al.  Efficient virtualization on embedded power architecture® platforms , 2013, ASPLOS '13.

[79]  F. Richard Yu,et al.  Wireless Network Virtualization: A Survey, Some Research Issues and Challenges , 2015, IEEE Communications Surveys & Tutorials.

[80]  Gernot Heiser,et al.  Correct, fast, maintainable: choose any three! , 2012, APSys.

[81]  Gernot Heiser Hypervisors for Consumer Electronics , 2009, 2009 6th IEEE Consumer Communications and Networking Conference.

[82]  John Goodacre,et al.  Parallelism and the ARM instruction set architecture , 2005, Computer.

[83]  Koen De Bosschere,et al.  Formal virtualization requirements for the ARM architecture , 2013, J. Syst. Archit..

[84]  Akihiro Suzuki,et al.  Analysis of the ARM Architecture's Ability to Support a Virtual Machine Monitor through a Simple Implementation , 2013, Int. J. Netw. Comput..

[85]  John Goodacre The evolution of the ARM architecture towards big data and the data-centre (abstract only) , 2013, VHPC '13.

[86]  Prashant Varanasi Implementing hardware-supported virtualization in OKL4 on ARM , 2010 .

[87]  Ching-Hsien Hsu,et al.  A framework of cloud-based virtual phones for secure intelligent information management , 2014, Int. J. Inf. Manag..

[88]  Siamak Mohammadi,et al.  Gem5v: a modified gem5 for simulating virtualized systems , 2014, The Journal of Supercomputing.

[89]  Fabiano Hessel,et al.  Virtual Hellfire Hypervisor: Extending Hellfire Framework for embedded virtualization support , 2011, 2011 12th International Symposium on Quality Electronic Design.

[90]  John Goodacre,et al.  Hardware accelerated Virtualization in the ARM Cortex Processors , 2011 .