scispace - formally typeset
Proceedings ArticleDOI

Efficient memory virtualization for Cross-ISA system mode emulation

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

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

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, +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.