A general persistent code caching framework for dynamic binary translation (DBT)

Research output: Chapter in Book/Report/Conference proceedingConference contribution

24 Scopus citations

Abstract

Dynamic binary translation (DBT) translates binary code from one instruction set architecture (ISA) to another (same or different) ISA at runtime, which makes it very useful in many applications such as system virtualization, whole program analysis, system debugging, and system security. Many techniques have been proposed to improve the efficiency of DBT systems for long-running and loop-intensive applications. However, for applications with short running time or long-running but with few hot code regions such as JavaScript and C# applications in web services, such techniques have difficulty in amortizing the overhead incurred during binary translation. To reduce the translation overhead for such applications, this paper presents a general persistent code caching framework, which allows the reuse of translated binary code across different executions for the same or different applications. Compared to existing approaches, the proposed approach can seamlessly handle even dynamically generated code, which is very popular in script applications today. A prototype of the proposed framework has been implemented in an existing retargetable DBT system. Experimental results on a list of applications, including C/C++ and JavaScript, demonstrate that it can achieve 76.4% performance improvement on average compared to the original DBT system without helper threads for dynamic binary translation, and 9% performance improvement on average over the same DBT system with helper threads when code reuse is combined with help threads.

Original languageEnglish (US)
Title of host publicationProceedings of the 2016 USENIX Annual Technical Conference, USENIX ATC 2016
PublisherUSENIX Association
Pages591-603
Number of pages13
ISBN (Electronic)9781931971300
StatePublished - 2016
Event2016 USENIX Annual Technical Conference, USENIX ATC 2016 - Denver, United States
Duration: Jun 22 2016Jun 24 2016

Publication series

NameProceedings of the 2016 USENIX Annual Technical Conference, USENIX ATC 2016

Conference

Conference2016 USENIX Annual Technical Conference, USENIX ATC 2016
Country/TerritoryUnited States
CityDenver
Period6/22/166/24/16

Bibliographical note

Funding Information:
We are very grateful to Andy Tucker and the anonymous reviewers for their valuable feedback and comments. This work is supported in part by the National Science Foundation under the grant number CNS-1514444.

Publisher Copyright:
© 2016 by The USENIX Association. All Rights Reserved.

Fingerprint

Dive into the research topics of 'A general persistent code caching framework for dynamic binary translation (DBT)'. Together they form a unique fingerprint.

Cite this