GGrantIndex
← Search

CSR: Medium: Dynamic Binary Translation for a Retargetable and Behaviorally-Accurate Cross-Architecture Whole System Virtual Machine

$829,165FY2015CSENSF

University Of Minnesota-Twin Cities, Minneapolis MN

Investigators

Abstract

This project focuses on improving the performance, applicability and reliability of whole system virtualization. Whole system virtualization is an approach that allows the complete set of software from one kind of computer to run as if it were a single program on a different kind of computer without any change at the binary (machine code) level. In particular, it allows software to migrate among different machines from different vendors with different system upgrades in large data centers, or between mobile devices and more powerful servers to allow better power management, system reliability and overall performance enhancement. Whole system virtualization is also important in other applications such as software development and system security. Dynamic binary translation is the key enabling technology studied in this project. With dynamic binary translation, machine instructions in their binary form from one machine are translated to instructions for another machine with a different instruction set architecture, so software can run seamlessly across different platforms on either real or virtual machines. The project will result in a prototype using the open-source software QEMU as its front-end and LLVM as its back-end in a client-server environment with ARM-based clients and Intel x86-based servers. This prototype will provide a test bed to study several issues important to dynamic binary translation that supports whole system virtualization of multi-threaded codes on multi-core platforms. This project addresses several technology challenges as it goes from research discovery toward application. The first is to improve the performance of the translated multi-threaded code and to reduce the overheads incurred during the binary translation, in particular in a client-server environment. It also addresses the challenges related to migrating binary codes across machines with different memory consistency models, and addresses challenges to verifying the correctness of the translated code.

View original record on NSF Award Search →