A Qualitative Comparison of MPSoC Mobile and Embedded Virtualization Techniques
11 A Qualitative Comparison of MPSoC Mobile andEmbedded Virtualization Techniques
Junaid Shuja a , Abdullah Gani a , Sajjad A. Madani ba Faculty of Computer Science and Information Technology, University of Malaya, Malaysia b COMSATS Institute of Information Technology, IslamabadEmail: [email protected], [email protected], [email protected]
Abstract —Virtualization is generally adopted in server anddesktop environments to provide for fault tolerance, resourcemanagement, and energy efficiency. Virtualization enables paral-lel execution of multiple operating systems (OSs) while sharingthe hardware resources. Virtualization was previously not deemedas feasible technology for mobile and embedded devices due totheir limited processing and memory resource. However, theenterprises are advocating Bring Your Own Device (BYOD)applications that enable co-existence of heterogeneous OSs ona single mobile device. Moreover, embedded device requirevirtualization for logical isolation of secure and general purposeOSs on single device. In this paper we investigate the processorarchitectures in the mobile and embedded space while examiningtheir formal virtualizabilty. We also compare the virtualizationsolutions enabling coexistence of multiple OSs in Multicore Pro-cessor System-on-Chip (MPSoC) mobile and embedded systems.We advocate that virtualization is necessary to manage resourcein MPSoC designs and to enable BYOD, security, and logicalisolation use cases.
Index Terms —ARM, virtualization, hypervisors.
I. I
NTRODUCTION
Virtualization technology has been deployed in server spacefor decades since the early IBM mainframe systems [1]. Inserver space, virtualization enables hosting of multiple OSson a single hardware platform. The hosted OSs are oftenhomogeneous providing fault tolerance, resource managementin terms of workload migration and consolidation, and en-ergy efficiency. The Hypervisor or Virtual Machine Monitor(VMM) is placed between the hardware and host OSs andacts as a super OS. The hypervisor needs to efficiently sharethe hardware resources among guest OSs also known as Vir-tual Machines (VM). Moreover, hypervisor needs to translateguest OSs instructions if they do not meet the profile ofunderlying hardware. While translating guest OS instructions,virtualization adds the flexibility to execute non-compatibleOS hardware combinations [2].Mobile and embedded devices are resource constrained andOSs are reduced to minimal lines of code before deployment.Hosting multiple OSs on such resource constrained devicesseems performance prohibitive. Mobile and embedded devicesuch as Electronic Control Units (ECUs) can lose hard real-time functionality due to overheads of virtualization. However,due to recent advances in mobile technology such as multicoreprocessor designs and higher memory volumes, virtualizationhas become feasible. There are three main use cases of virtu-alization in mobile and embedded systems: (a) virtualization enables BYOD scenario where an employee can execute bothenterprise and personal applications on a single mobile device, (b) virtualization enables isolation of mixed criticality OSson a device, and (c) virtualization leads to energy efficientresource utilization [3], [4], [5].ARM based processors capture 90% of smartphone mar-ket [6]. However, there are a host of other processor architec-tures in the mobile and embedded space such as PowerPC [7],MIPS [8], and SH-4A [9] that are found in automobile con-trollers and consumer electronics. To implement virtualizationefficiently, support from the underlying hardware platform isrequired such that: (a) the processor implements a hypervisormode where the hypervisor can reside in a higher privilegelevel rather than occupying privilege level of the guest OS,and (b) each instruction that tries to change the context ofhardware resources is privileged instruction [10]. Major mobileand embedded processor architectures including ARM lack theaforementioned hardware support for virtualization. Therefore,the hypervisor complexity increases as it needs to take care ofprivilege levels and instructions of the guest OSs.Virtualization in mobile and embedded space is used tohost heterogeneous OSs that address conflicting applicationrequirements such as real time capability and user friendlyGUI. Virtualization can enable concurrent hosting of a RealTime OS (RTOS) for sensor and communication control ofthe device and a general purpose OS (Android) for feature-rich GUI. IT enterprises usually control the technology theiremployees utilize during the office hours. This necessitatesthat each employee carry two mobile devices for enterpriseand personal purposes. However, virtualization enables BYODconcept where both enterprise and personal OS and appli-cations are hosted on a single mobile device in a logicallyisolated environment. Moreover, the BYOD concept signif-icantly lowers the cost of hardware [11]. Embedded spacedevices often enforce strict security requirements on the hostedOS. However, virtualization enables concurrent execution ofmixed criticality OSs such as a formally certified secure OSfor automobile control and a general purpose OS for carentertainment system. Virtualization assures isolation of thedomains by implementing separate address space for eachhosted OS [12]. Furthermore, virtualization enables softwarereusability and survival of legacy software on newer platforms.It is estimated that most of smartphone devices are nowshipped with a virtualization layer [13].There a number of challenges pertaining to efficient virtu- a r X i v : . [ c s . O S ] M a y Fig. 1: Type-1 and Type-2 virtualization techniquesalization of mobile and embedded devices. Most of devicesfrom mobile and embedded space have limited memory size.The hypervisor needs to maintain record of address mappingand instruction translation for the guest OSs in the mem-ory, thus, over-burdening the resource. Moreover, MPSoCdesigns are often heterogeneous and aggregate processors withdifferent instruction sets. Each processor architecture in theheterogeneous MPSoC design has different requirements forvirtualizability. Moreover, most of OSs developed for mobileand embedded devices are designed to execute on singlecore. Hence, MPSoC designs require greater adoption andcomplexity in hypervisor design [14]. However, virtualiza-tion is necessary to manage resources in trending MPSoCarchitectures. Hardware support of virtualization in mobileand embedded devices is still in its early stages. Devicesalready deployed in smartphones and consumer electronicslack hardware support features for virtualization. Softwareenabled virtualization techniques utilized in such cases are notas efficient and consumes extra memory resources [15].In this article, we provide a comparative analysis of softwareand hardware enabled virtualization techniques in mobileand embedded devices with particular focus on virtualizationsolutions addressing MPSoC designs. In section II we providea taxonomy of software and hardware based mobile and em-bedded virtualization techniques. In section III we address thechallenges and issues to virtualization of MPSoC mobile andembedded device. Section IV provides detailed comparisonof various MPSoC virtualization techniques present in mobileand embedded devices and lists research challenges and issuesto MPSoC devices. Section V concludes the discussion withfuture directions. II. B
ACKGROUND
In the forthcoming subsections, we describe the formaland informal requirements of virtualization that are necessaryfor understanding of taxonomy of virtualization techniques.Additionally, we provide a short taxonomy of mobile andembedded virtualization solutions.
A. Formal and informal requirements of virtualization
The instructions of an Instruction Set Architecture (ISA) canbe categorized into three classes: (a) instruction that properly execute in privileged mode and trap in unprivileged mode areprivileged instructions, (b) instructions that try to modify thecontext of the system state are sensitive instructions, and (c) all other instructions are innocuous. Based on categorization ofprocessor instructions, there are three formal requirements forclassic virtualizability of an ISA. Firstly, the interface providedby the hypervisor to guest OSs should be identical to thatof the underlying hardware. Secondly, most of the guest OSinstructions should directly execute over the hardware with asmall subset of instructions trapping to the hypervisor. Lastly,the hypervisor should remain in control of all virtualizedphysical resources [10].Aside from the aforementioned formal requirements ofvirtualization, the resource constrained mobile and embeddeddevices enforce informal requirements for efficient virtualiza-tion. Firstly, while hosting multiple OSs, the device shouldnot compromise real time capability. For example, the auto-mobile controller requires hard real time response in vehicletracking and management systems. Secondly, the virtualizationlayer should be scalable to the number of guest OSs andunderlying processor cores. Otherwise, the virtualization willadd no performance benefit in comparison to a single corenon-virtualized environment. Thirdly, virtualization should benon-intrusive and require minimum guest OS modifications.Fourthly, the hypervisor should provide formal proof of secu-rity and guest OS domain isolation [16].
B. Virtualization techniques
Virtualization techniques are broadly categorized into Type-1 and Type-2 virtualization [17]. Type-1 virtualization enablesthe hypervisor to run in more privileged mode than the guestOSs. In this manner, the hypervisor fully controls access to thehardware resources made by guest OSs. Type-2 virtualizationtechniques execute the hypervisor as an application of the hostOS. As a Type-2 hypervisor executes over an OS, it has lesscontrol of underlying hardware and can not provide resourcesharing efficiently among hosted OSs. However, Type-2 hyper-visors can be light-weight as they can host stripped down OSsenvironments [18]. Figure 2 illustrates the difference betweenType-1 and Type-2 virtualization techniques.Type-1 and Type-2 Virtualization techniques can be furtherclassified into full virtualization, para virtualization, and Dy-
Fig. 2: Full, para, and DBT based virtualization techniquesnamic Binary Translation (DBT) techniques. In full virtual-ization, the hypervisor traps and emulates all instructions thattry to change the context of hardware resources. The trap-and-emulate procedure is supported by either hardware or by DBT.Hardware support for full virtualization requires that the setof sensitive instructions is a subset of privileged instruction.In such scenario, all sensitive instructions will trap to thehypervisor for emulation. Full virtualization can also be im-plemented with the help of DBT by translation those sensitiveinstruction that do not trap at run time [19]. However, the in-struction translation process introduces significant processingand memory overhead. To avoid translation of repeated setof instructions, the instructions with corresponding translationblock are stored in memory for future reference. However,translation block storage transfers the overhead from processorto memory resources. Therefore, DBT based virtualizationtechniques are not suitable for mobile and embedded spacedevices. Paravirtualization requires the guest OS to be patchedsuch that all sensitive non-privileged instructions are replacedby sensitive privileged instruction. Paravirtualization allowsmore hardware-OS platforms to be compatible. Instructionsthat are sensitive non-privileged are replaced by hypervisorcalls. The hypervisor provides an interface to the guest OSfor invocation of hypervisor calls. However, maintaining thepatches of guest OS with upstream release versions increasesthe complexity of paravirtualization [20]. In case an ISAis not fully virtualizable, paravirtualization remains the onlyfeasible solution. Lightweight paravirtualization avoids rig-orous pre-patching of guest OS and translates the sensitivenon-privileged instructions at runtime [21]. Microkernel basedparavirtualization techniques are also popular in mobile andembedded devices [22]. Microkernel based paravirtualizationtechniques emphasize the size reduction of the kernel to aminimal set while moving OS services from kernel spaceto user space. Figure 1 depicts full, para, and DBT basedvirtualization techniques.III. M
OBILE AND EMBEDDED VIRTUALIZATIONCHALLENGES
Unfortunately, most of mobile and embedded ISAs donot meet the requirements of classic virtualizability [23].ARM, PowerPC, and other processor ISA have introducedvirtualization extensions to support efficient virtualization [24],[25]. However, the market release of processors with hardware support for virtualization is still in infancy. Most of processorspowering current mobile and embedded devices lack hardwarevirtualization support. In this section we will discuss earlierARM architectures as well as the hardware extensions and thechallenges faced by both approaches.Three major challenges to CPU virtualization in mobile andembedded devices are: (a) presence of sensitive non-privilegedinstructions in the ISA, (b) absence of hypervisor mode, and (c) heterogeneity of MPSoC architectures [26], [15]. If anISA contains sensitive non-privileged instructions, it is notclassically virtualizable. Sensitive non-privileged instructionshave to be replaced by either hypercalls through paravir-tualization techniques or by DBT. While paravirtualizationis not feasible for all OSs due to their closed source andpropriety nature, DBT incurs memory overhead that mightbe prohibitive for resource constrained mobile and embeddeddevices. Some previous versions of architectures in mobileand embedded space such as ARM did not include a separatehypervisor mode. In such case, the hypervisor had to reside inthe privileged OS mode, while the guest OS had to residein the unprivileged user mode. As a result, all privilegedinstructions executed by the unprivileged guest OS trappedto the hypervisor for emulation. The trap-and-emulate processoften degrades the real time performance of the hypervisor.Moreover, guest OSs had to reside in the same privilege levelas their user applications. Resultantly, the hypervisor had toenforce domain access control mechanisms for isolation ofguest OS and application memory space. Lastly, the MPSoCdesigns are currently trending in mobile and embedded space.Heterogeneous processors that offer different functionality areadded to MPSoC design to support mixed criticality appli-cations. As a result, virtualizability requirements of differentprocessors add up, thus, increasing the hypervisor designcomplexity [14].The main challenges to sharing and virtualization of mem-ory space in mobile and embedded devices are: (a) maintainingShadow Page Tables (SPT) for multiple guest OSs, (b) mem-ory space protection and isolation, and (c)
Translation Looka-side Buffer (TLB) maintenance on context switches [27]. Ina virtualized environment, the virtual address of the guest OSrequires two level translation. Firstly, it is translated from guestvirtual address to guest physical address by the guest OS.Then, guest physical address in translated to machine physicaladdress by the hypervisor. The hypervisor has to maintain separate SPTs for each guest. Whenever, there is a change inguest OS page tables, the hypervisor has to capture and mirrorthat change in its SPT so that it is able to perform the secondstage of address translation [28]. Similarly, the hypervisor hasto maintain some form of page table tagging mechanism sothat it can isolate memory space of virtualized guest OSs.The hypervisor has to emulate domain tagging mechanism,if domain tagging support is not provided in hardware, suchas old versions of ARM processors. Moreover, whenever acontext switch takes place between the guest OSs or thehypervisor, TLB needs to be flushed and then re-populated forthe currently executing host. As such context switches occurfrequently in the virtualized environment, TLB misses increaseresulting in high memory latency [29].Mobile and embedded devices consist of a plethora of sen-sors and communication boards such as WiFi, Bluetooth, andcellular radio. Sharing these components among multiple guestOSs requires fine grained timescale multiplexing. Moreover,GUI based devices also require consideration for GUI sharingand switching among multiple guest OSs. While the currentlyexecuted guest OS get full access of the GUI, the remainingguests have to wait for their turn [18]. Furthermore, specialvector processors such as ARM Vector Floating-Point (VFP)requires virtualization support for resource sharing [30].IV. C
OMPARISON OF MOBILE AND EMBEDDEDHYPERVISORS
There are a number of commercial and research basedmobile and embedded hypervisors. We will focus on detailedcomparison of those hypervisors that support MPSoC designs.
1) Virtual Hellfire Hypervisor:
Virtual Hellfire Hypervi-sor [14] is a MPSoC virtualization solution based on MIPSprocessors and Hellfire guest OSs. The Virtual Hellfire Hyper-visor is microkernel based and provides a hypercall interfacefor the guest OSs to execute privileged instructions. The mem-ory is partitioned into fixed chucks at kernel load time basedon number of guests OSs. The intra-cluster communicationbetween CPUs in the same cluster is done through hypercallinterface while accessing a shared memory region among twoclusters. Inter-cluster communication over the Network-on-Chip (NoC) architecture is done via wrapper functions.
2) ITRI:
ITRI [31] is an ARMv7 based hybrid hypervisorthat is utilizes both paravirtualization and DBT based fullvirtualization. ITRI supports MPSoC design and multiple guestOSs in form of paravirtual Linux 2.6 kernels. The ITRIhypervisor is based on a modified version of Linux basedKernel Virtual Machine (KVM). The guest Linux kernel ispatched by removing unnecessary privileged instructions andredundant context switches. The paravirtualization of Linuxkernel helps reduce trap-and-emulate and TLB maintenancecost. QEMU emulator is used to run guest OS instancesalong with real and backend drivers. ITRI is one of fewmobile hypervisors that supports guest migration [34]. Theperformance evaluation of native and VM based executionshow negligible overhead in compute intensive tasks whilefive times overhead in worst case for I/O intensive tasks.
3) KVM/ARM:
KVM/ARM [26] is light weight paravirtu-alization solution based on MPSoC ARM design. The lightweight paravirtualization uses scripts based on regular ex-pressions to replace sensitive non-privileged instructions withtrap-and-emulate procedure. Inter-processor Interrupts (IPI)are used as a communication mechanism between multipleprocessors. In this context, hardware extensions for virtual-izing the generic interrupt controller (GIC) are utilized. Avirtual GIC interface is introduced for each CPU with acorresponding hypervisor control interface. Interrupt can beraised by writing to the list registers in the hypervisor controlinterface. Resultantly, the hypervisor directly raises hardwareinterrupt to the corresponding guest OS kernel without causinga trap. The performance evaluation shows 10% overhead forrealtime applications as compared to native execution.
4) Proteus Hypervisor:
Proteus [25] is a PowerPC ar-chitecture based hypervisor that supports MPSoC designs.Proteus is a hybrid hypervisor that implements both full andparavirtualization without specific hardware support. Althoughhardware support for virtualization was released in newer Pow-erPC devices, Proteus is based on previous releases. Proteusimplements a microkernel by moving I/O device drivers touser space while the supervisor space only executes hyper-call handler, VM scheduler, and inter-process communicationmodules. Proteus design is Symmetric Multiprocessing (SMP);when a guest traps to the hypervisor, the hypervisor takescontrol of its assigned core. A small part of the hypervisorruns on each core to support full virtualization and forwardinter-processor interrupts. Proteus hypervisor implements asemaphore based solution for access to shared devices inthe user space. Experimental results show that virtualizationoverheads for most of instructions are below hundreds ofprocessor cycles.
5) AUTOSAR based Hypervisor:
Reinhardt et al. [32] pro-posed a hypervisor design for security critical automotivedevices based on AURIX memory management less (MMU)processor and AUTOSAR guest OS. Automotive devicesrequire domain and fault isolation between the guest OSs.Moreover, the number of guest OS and there memory re-quirements are fixed in such environments, allowing for fixedpartitioning of memory and doing away with MMU. InsteadMemory Protection Unit (MPU) is utilized for guest OSdomain isolation. The hypervisor sets up itself and VirtualDevice Emulators (VDEs) in the highest privileged modewhile allocating accessible memory regions for each guest OS.The proposed hypervisor uses paravirtualization to emulateprivileged instructions. Interrupts are first handled by thehypervisor and then forwarded to the corresponding guestOS through its vector table. The Microcontroller AbstractionLayer (MCAL) of AUTOSAR is ported to accommodatehypervisor startup code, guest OS memory allocations, andVDE setup for inter-VM communications. The paravirtualizedsolution results in large overheads over native executions.
6) RAMPSoCVM:
Runtime Adoptive MultiprocessorSystem-on-Chip Virtual Machine (RAMPSocVM) [33]utilizes embedded Linux kernel to extend support for MPSoCvirtualization with Message Passing Interface (MPI). As thehypervisor is based on embedded Linux kernel, it comes with
TABLE I: Comparison of MPSoC mobile hypervisors
Hypervisor Technique ISA Real-time HeterogeneousMPSoC Overhead Intrusive
VHH [14] Microkernel based Paravirtual MIPS Yes No NA YesITRI [31] DBT and Paravirtual ARM No No 1.3-1.8 times slower for mem-ory intensive apps YesKVM/ARM [26] Full virtualization ARM No No within 10% of native execution NoProteus [25] Dual, DBT and Paravirtual PowerPC Yes No ≥
100 instruction cycles forvirtualization related tasks YesAUTOSAR based [32] Paravirtual AURIX Yes No 40% for memory intensiveapps YesRAMPSocVM [33] Paravirtual PowerPC Yes No NA Yes integrated support for multitasking and multithreading. Asembedded Linux without BIOS detection, OpenFirmware isintegrated as a module to detect dynamic MPSoC platform.The hypervisor manages the resources while meeting real-time constraints of the applications. To do so, CAP-OS isadopted as a module in the Linux kernel that services hardreal-time constraints of applications. A MPI is provided tothe applications to communicate with hypervisor services anddevice drivers managed by CAP-OS module. A Qualitativecomparison of the discussed MPSoC mobile hypervisors isprovided in Table I.All the above discussed hypervisors have two main char-acteristics in common: (a) they are specific to mobile andembedded device space and based on such processor archi-tectures, and (b) they are based on MPSoC architectures.However, despite of these studies, open research issues remainfor future considerations. Most of the researchers have ignoredthe issue of heterogeneous MPSoC architectures, where dif-ferent processor architectures enforce different requirementsfor virtualization. Although paravirtualization can enable vir-tualization of heterogeneous OSs, hardware supported fullvirtualization is desirable due to its efficiency. To the bestof our knowledge, their is no such solution available inresearch and commercial virtualization techniques. Memoryoptimization for DBT based full virtualization is also notexplored in the aforementioned virtualization solutions. Whileuser responsiveness is driving mobile devices to higher powerand enabling concurrent execution of multiple OSs, embeddeddevices still lack sufficient processing power and memoryto support virtualization. Moreover, embedded devices oftenhave hard real-time constraints that might be compromisedin a resource sharing environment. Security and isolation ofmultiple domains can be addressed by formal verification ofthe hypervisor. However, such formal verifications are scarcein literature [35]. V. C
ONCLUSION
In this paper, we carried out qualitative analysis of MP-SoC design based mobile and embedded device virtualizationsolutions. We assert that the virtualization of mobile andembedded devices needs to be inspected from different aspects.As mobile devices such as smartphones and tablets are rapidlyadvancing in processor power and memory size, embeddeddevices are lacking behind. Most of the virtualization solutionsare either paravirtual or DBT based full virtualization. Paravir-tualization techniques require expensive guest OS patching while DBT based full virtualization solutions are inefficientin memory utilization. Hardware supported full virtualizationis desired is such resource constrained platforms. Moreover,a performance analysis of paravirtualization, DBT based fullvirtualization, and hardware supported full virtualization tech-niques is yet to be debated. Furthermore, hardware supportedfull virtualization solutions for heterogeneous MPSoC designsneed to be devised.
Acknowledgments
This work is partially funded by the Malaysian Ministry ofEducation under the High Impact Research Grant of Universityof Malaya UM.C/625/1/HIR/MOE/FCSIT/03.R
EFERENCES[1] G. J. Popek and R. P. Goldberg, “Formal requirements for virtualizablethird generation architectures,”
Communications of the ACM , vol. 17,no. 7, pp. 412–421, 1974.[2] A. Aguiar and F. Hessel, “Embedded systems’ virtualization: The nextchallenge?” in , 2010, pp. 1–7.[3] J. Shuja, S. A. Madani, K. Bilal, K. Hayat, S. U. Khan, and S. Sarwar,“Energy-efficient data centers,”
Computing , vol. 94, no. 12, pp. 973–994,2012.[4] G. Heiser, “The role of virtualization in embedded systems,” in
Pro-ceedings of the 1st workshop on Isolation and integration in embeddedsystems , 2008, pp. 11–16.[5] J. Shuja, K. Bilal, S. Madani, M. Othman, R. Ranjan, P. Balaji, andS. Khan, “Survey of techniques and architectures for designing energy-efficient data centers,”
Systems Journal, IEEE , vol. PP, no. 99, pp. 1–13,2014.[6] V. Do, “Security services on an optimized thin hypervisor for embeddedsystems,” Ph.D. dissertation, Faculty of Engineering LTH at LundUniversity, 2011.[7] A. Mittal, D. Bansal, S. Bansal, and V. Sethi, “Efficient virtualization onembedded power architecture R (cid:13) platforms,” in ACM SIGPLAN Notices ,vol. 48, no. 4, 2013, pp. 445–458.[8] A. Aguiar and F. Hessel, “Virtual hellfire hypervisor: Extending hellfireframework for embedded virtualization support,” in , 2011, pp. 1–8.[9] W. Kanda, Y. Yumura, Y. Kinebuchi, K. Makijima, and T. Nakajima,“Spumone: Lightweight cpu virtualization layer for embedded systems,”in
Embedded and Ubiquitous Computing, 2008. EUC’08. IEEE/IFIPInternational Conference on , vol. 1, 2008, pp. 144–151.[10] N. Penneman, D. Kudinskas, A. Rawsthorne, B. De Sutter, andK. De Bosschere, “Formal virtualization requirements for the armarchitecture,”
Journal of Systems Architecture , vol. 59, no. 3, pp. 144–154, 2013.[11] S. Earley, R. Harmon, M. R. Lee, and S. Mithas, “From byod to byoa,phishing, and botnets,”
IT Professional , vol. 16, no. 5, pp. 16–18, 2014.[12] P. Varanasi and G. Heiser, “Hardware-supported virtualization on arm,”in
Proceedings of the Second Asia-Pacific Workshop on Systems [14] A. Aguiar, F. G. de Magalhaes, and F. Hessel, “Embedded virtualiza-tion for the next generation of cluster-based mpsocs,” in , 2011, pp.113–119.[15] D. Brash, “Recent additions to the armv7-a architecture,” in
IEEEInternational Conference on Computer Design (ICCD) , 2010.[16] G. Heiser, “Virtualizing embedded systems: why bother?” in
Proceed-ings of the 48th Design Automation Conference , 2011, pp. 901–905.[17] J.-H. Ding, C.-J. Lin, P.-H. Chang, C.-H. Tsang, W.-C. Hsu, and Y.-C.Chung, “Armvisor: System virtualization for arm,” in
Linux Symposium ,2012, p. 93.[18] K. Barr, P. Bungale, S. Deasy, V. Gyuris, P. Hung, C. Newell, H. Tuch,and B. Zoppis, “The vmware mobile virtualization platform: is that ahypervisor in your pocket?”
ACM SIGOPS Operating Systems Review ,vol. 44, no. 4, pp. 124–135, 2010.[19] Z. Gu and Q. Zhao, “A state-of-the-art survey on real-time issues inembedded systems virtualization,”
Journal of Software Engineering andApplications , vol. 5, no. 4, pp. 277–290, 2012.[20] P. Varanasi, “Implementing hardware-supported virtualization in okl4 onarm,” Ph.D. dissertation, University of New South Wales, 2010.[21] C. Dall and J. Nieh, “Kvm for arm,” in
Proceedings of the Ottawa LinuxSymposium, Ottawa, Canada , 2010.[22] G. Heiser and B. Leslie, “The okl4 microvisor: Convergence point ofmicrokernels and hypervisors,” in
Proceedings of the first ACM asia-pacific workshop on Workshop on systems . ACM, 2010, pp. 19–24.[23] A. Suzuki and S. Oikawa, “Analysis of the arm architecture’s ability tosupport a virtual machine monitor through a simple implementation,”
International Journal of Networking and Computing
Embedded Systems: Design, Analysis and Verification .Springer, 2013, pp. 293–305.[26] C. Dall and J. Nieh, “Kvm/arm: the design and implementation ofthe linux arm hypervisor,” in
Proceedings of the 19th internationalconference on Architectural support for programming languages andoperating systems , 2014, pp. 333–348.[27] C. Dall and J. Nieh, “Kvm/arm: Experiences building the linux armhypervisor,” 2013.[28] R. Mijat and A. Nightingale, “Virtualization is coming to a platformnear you,”
ARM White Paper , 2011.[29] J.-Y. Hwang, S.-B. Suh, S.-K. Heo, C.-J. Park, J.-M. Ryu, S.-Y.Park, and C.-R. Kim, “Xen on arm: System virtualization using xenhypervisor for arm-based secure mobile phones,” in , 2008, pp. 257–261.[30] S. Yoo, S.-b. Yoo, and C. Yoo, “Virtualizing arm vfp (vector floating-point) with xen-arm,”
Journal of Systems Architecture , vol. 59, no. 10,pp. 1266–1276, 2013.[31] A. Smirnov, M. Zhidko, Y. Pan, P.-J. Tsao, K.-C. Liu, and T.-C.Chiueh, “Evaluation of a server-grade software-only arm hypervisor,”in
Proceedings of the IEEE Sixth International Conference on CloudComputing , 2013, pp. 855–862.[32] D. Reinhardt and G. Morgan, “An embedded hypervisor for safety-relevant automotive e/e-systems,” in
Industrial Embedded Systems(SIES), 2014 9th IEEE International Symposium on . IEEE, 2014, pp.189–198.[33] D. Gohringer, S. Werner, M. Hubner, and J. Becker, “Rampsocvm:runtime support and hardware virtualization for a runtime adaptivempsoc,” in
Field Programmable Logic and Applications (FPL), 2011International Conference on , 2011, pp. 181–184.[34] S. Groesbrink, “Virtual machine migration as a fault tolerance techniquefor embedded real-time systems,” in
Software Security and Reliability-Companion (SERE-C), 2014 IEEE Eighth International Conference on ,2014, pp. 7–12.[35] G. Heiser, J. Andronick, K. Elphinstone, G. Klein, I. Kuz, andL. Ryzhyk, “The road to trustworthy systems,” in