Optimizing Memory Emulation in Full System Emulators

Memory emulation remains to be one of the most exercised
components in full system emulators. Memory
emulation is consisted of 2 major components, 1. Translation
- the emulator translates the guest virtual/physical
address to host virtual address using the emulated TLB
for every emulated guest memory instruction. 2. Refill -
the emulator walks the page table of the running guest
applications in case of a miss in the emulated TLB.
Traditionally implemented in hardware or highly optimized
software code, TLB translation and refill are
emulated in software and thus results in a significant
amount of time spent in them. This work quantitatively
measures where time is spent in, QEMU, an industrial
strength full system emulator and identifies memory
emulation as one of the most heavily exercised components
in the emulator. Additionally, this work explores
the design space of software emulated TLB and proposes
a series of optimizations to reduce memory emulation
overhead. The proposed optimizations are targeted
at optimizing TLB translation as well as refills,
reducing instruction cache misses, code cache flushes,
page table walks, time taken for TLB flushes and resulting
in an average performance improvement of 22.6%
over the baseline on a wide range of benchmarks.

By: Xin Tong, Motohiro Kawahito

Published in: RT0955 in 2014


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to reports@us.ibm.com .