Sciweavers

HPCA
2008
IEEE

Thread-safe dynamic binary translation using transactional memory

14 years 11 months ago
Thread-safe dynamic binary translation using transactional memory
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 implemen...
JaeWoong Chung, Michael Dalton, Hari Kannan, Chris
Added 01 Dec 2009
Updated 01 Dec 2009
Type Conference
Year 2008
Where HPCA
Authors JaeWoong Chung, Michael Dalton, Hari Kannan, Christos Kozyrakis
Comments (0)