Proceedings ArticleDOI
Efficient memory virtualization for Cross-ISA system mode emulation
Chao-Jui Chang,Jan-Jan Wu,Wei-Chung Hsu,Pangfeng Liu,Pen-Chung Yew +4 more
- Vol. 49, Iss: 7, pp 117-128
Reads0
Chats0
TLDR
Embedded shadow page tables (ESPT) is proposed, which embeds a shadow page table into the address space of a cross-ISA dynamic binary translation (DBT) and uses hardware memory management unit in the CPU to translate memory addresses, instead of software translation in a current DBT emulator like QEMU.Abstract:
Cross-ISA system-mode emulation has many important applications. For example, Cross-ISA system-mode emulation helps computer architects and OS developers trace and debug kernel execution-flow efficiently by emulating a slower platform (such as ARM) on a more powerful plat-form (such as an x86 machine). Cross-ISA system-mode emulation also enables workload consolidation in data centers with platforms of different instruction-set architectures (ISAs). However, system-mode emulation is much slower. One major overhead in system-mode emulation is the multi-level memory address translation that maps guest virtual address to host physical address. Shadow page tables (SPT) have been used to reduce such overheads, but primarily for same-ISA virtualization. In this paper we propose a novel approach called embedded shadow page tables (ESPT). EPST embeds a shadow page table into the address space of a cross-ISA dynamic binary translation (DBT) and uses hardware memory management unit in the CPU to translate memory addresses, instead of software translation in a current DBT emulator like QEMU. We also use the larger address space on modern 64-bit CPUs to accommodate our DBT emulator so that it will not interfere with the guest operating system. We incorporate our new scheme into QEMU, a popular, retargetable cross-ISA system emulator. SPEC CINT2006 benchmark results indicate that our technique achieves an average speedup of 1.51 times in system mode when emulating ARM on x86, and a 1.59 times speedup for emulating IA32 on x86_64.read more
Citations
More filters
Proceedings ArticleDOI
Enabling Cross-ISA Offloading for COTS Binaries
TL;DR: This work proposes to extend the capability of dynamic binary translation across clients and servers to offload the identified computation-intensive binary code regions automatically to the server at runtime.
Proceedings ArticleDOI
Enhancing Cross-ISA DBT Through Automatically Learned Translation Rules
TL;DR: A novel approach to automatically learn translation rules from guest and host binaries compiled from the same source code is presented, which results in an average 1.25X performance speedup over QEMU over SPEC CINT2006.
Proceedings ArticleDOI
HyperMAMBO-X64: Using Virtualization to Support High-Performance Transparent Binary Translation
TL;DR: A key factor in the low overhead of HyperMAMBO-X64 is its deep integration with the virtualization and memory management features of ARMv8, which are exploited to support cached translations across multiple address spaces while ensuring that translated code remains consistent with the source instructions it is based on.
Proceedings ArticleDOI
HSPT: Practical Implementation and Efficient Management of Embedded Shadow Page Tables for Cross-ISA System Virtual Machines
TL;DR: This work proposes a different, yet more practical, implementation of the Embedded Shadow Page Table (ESPT), which adopts a shared memory mapping scheme to maintain the shadow page table (SPT) using only ''mmap'' system call.
Journal ArticleDOI
Toward Fast and Distributed Computation Migration System for Edge Computing in IoT
TL;DR: This article designs and implements a fast and distributed code offload principle for edge devices called codeSpec, that shifts the destined devices from interdomain servers to IoT devices nearby, and only offloads binary code of user-specified regions across different instruction set architectures.
References
More filters
Journal ArticleDOI
Pin: building customized program analysis tools with dynamic instrumentation
Chi-Keung Luk,Robert Cohn,Robert Muth,Harish Patil,Artur Klauser,Geoff Lowney,Steven Wallace,Vijay Janapa Reddi,Kim Hazelwood +8 more
TL;DR: The goals are to provide easy-to-use, portable, transparent, and efficient instrumentation, and to illustrate Pin's versatility, two Pintools in daily use to analyze production software are described.
Proceedings ArticleDOI
Valgrind: a framework for heavyweight dynamic binary instrumentation
TL;DR: Valgrind is described, a DBI framework designed for building heavyweight DBA tools that can be used to build more interesting, heavyweight tools that are difficult or impossible to build with other DBI frameworks such as Pin and DynamoRIO.
Proceedings Article
QEMU, a fast and portable dynamic translator
TL;DR: QEMU supports full system emulation in which a complete and unmodified operating system is run in a virtual machine and Linux user mode emulation where a Linux process compiled for one target CPU can be run on another CPU.
Proceedings ArticleDOI
A comparison of software and hardware techniques for x86 virtualization
Keith Adams,Ole Agesen +1 more
TL;DR: It is found that the hardware support for Virtual Machine Monitors for x86 fails to provide an unambiguous performance advantage for two primary reasons: first, it offers no support for MMU virtualization; second, it fails to co-exist with existing software techniques for MM U virtualization.
Book
Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design)
James E. Smith,Ravi Nair +1 more
TL;DR: Virtual Machine technology applies the concept of virtualization to an entire machine, circumventing real machine compatibility constraints and hardware resource constraints to enable a higher degree of software portability and flexibility as mentioned in this paper.