Title
Thread-Safe Dynamic Binary Translation Using Transactional Memory
Abstract
Dynamic binary translation (DBT) is a runtime instrumentation technique commonly used to support profiling, optimization, secure execution, and bug detection tools for application binaries. However DBT frameworks may incorrectly handle multithreaded programs due to races involving updates to the application data and the corresponding metadata maintained by the DBT Existing DBT frameworks handle this issue by serializing threads, disallowing multithreaded programs, or requiring explicit use of locks.This paper presents a practical solution for correct execution of multithreaded programs within DBT frameworks. To eliminate races involving metadata, we propose the use of transactional memory (TM). The DBT uses memory transactions to encapsulate the data and metadata accesses in a trace, within one atomic block This approach guarantees correct execution of concurrent threads of the translated program, as TM mechanisms detect and correct races. To demonstrate this approach, we implemented a DBT-based tool for secure execution of x86 binaries using dynamic information-flow tracking. This is the first such framework that correctly handles multithreaded binaries without serialization. We show that the use of software transactions in the DBT leads to a runtime overhead of 40%. We also show that software optimizations in the DBT and hardware support for transactions can reduce the runtime overhead to 6%.
Year
DOI
Venue
2008
10.1109/HPCA.2008.4658646
2008 IEEE 14TH INTERNATIONAL SYMPOSIUM ON HIGH PEFORMANCE COMPUTER ARCHITECTURE
Keywords
Field
DocType
buffer overflow,optimization,security,transactional memory,multi threading,software maintenance,hardware
Metadata,x86,Multithreading,Serialization,Computer science,Parallel computing,Thread (computing),Real-time computing,Transactional memory,Binary translation,Thread safety,Operating system
Conference
ISSN
Citations 
PageRank 
1530-0897
20
0.72
References 
Authors
28
4
Name
Order
Citations
PageRank
Jaewoong Chung199352.00
Michael Dalton233015.03
Hari Kannan328612.06
Christos Kozyrakis45817355.99