Thread-Safe Dynamic Binary Translation using Transactional Memory

被引:0
|
作者
Chung, JaeWoong [1 ]
Dalton, Michael [1 ]
Kannan, Hari [1 ]
Kozyrakis, Christos [1 ]
机构
[1] Stanford Univ, Comp Syst Lab, Stanford, CA 94305 USA
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
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%.
引用
收藏
页码:256 / 266
页数:11
相关论文
共 50 条
  • [21] Dynamic Thread Mapping Based on Machine Learning for Transactional Memory Applications
    Castro, Marcio
    Wanderley Goes, Luis Fabricio
    Fernandes, Luiz Gustavo
    Mehaut, Jean-Francois
    EURO-PAR 2012 PARALLEL PROCESSING, 2012, 7484 : 465 - 476
  • [22] Thread Affinity in Software Transactional Memory
    Pasqualin, Douglas Pereira
    Diener, Matthias
    Du Bois, Andre Rauber
    Pilla, Mauricio Lima
    2020 19TH INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING (ISPDC 2020), 2020, : 180 - 187
  • [23] Thread-Safe: Towards Recognizing Human Actions Across Shot Boundaries
    Minh Hoai
    Zisserman, Andrew
    COMPUTER VISION - ACCV 2014, PT IV, 2015, 9006 : 222 - 237
  • [24] A Thread-Safe Lattice Boltzmann Model for Multicomponent Turbulent Jet Simulations
    Montessori, Andrea
    Hegele, Luiz A.
    Lauricella, Marco
    AIAA JOURNAL, 2025, 63 (03) : 1005 - 1012
  • [25] Architectural aspects of a thread-safe graphical component system based on Aos
    Frey, TM
    MODULAR PROGRAMMING LANGUAGES, PROCEEDINGS, 2003, 2789 : 188 - 191
  • [26] Thread-safe lattice Boltzmann for high-performance computing on GPUs
    Montessori, Andrea
    Lauricella, Marco
    Tiribocchi, Adriano
    Durve, Mihir
    La Rocca, Michele
    Amati, Giorgio
    Bonaccorso, Fabio
    Succi, Sauro
    JOURNAL OF COMPUTATIONAL SCIENCE, 2023, 74
  • [27] An Evaluation of Thread-Safe and Contexts-Domains Features in Cray SHMEM
    Namashivayam, Naveen
    Knaak, David
    Cernohous, Bob
    Radcliffe, Nick
    Pagel, Mark
    OPENSHMEM AND RELATED TECHNOLOGIES: ENHANCING OPENSHMEM FOR HYBRID ENVIRONMENTS, 2016, 10007
  • [28] Safe Privatization in Transactional Memory
    Khyzha, Artem
    Attiya, Hagit
    Gotsman, Alexey
    Rinetzky, Noam
    ACM SIGPLAN NOTICES, 2018, 53 (01) : 233 - 245
  • [29] A Comprehensive Study on the Energy Efficiency of Java']Java's Thread-Safe Collections
    Pinto, Gustavo
    Liu, Kenan
    Castor, Fernando
    Liu, Yu David
    32ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2016), 2016, : 20 - 31
  • [30] MAP-Coverage: a Novel Coverage Criterion for Testing Thread-Safe Classes
    Wang, Zan
    Zhao, Yingquan
    Liu, Shuang
    Sun, Jun
    Chen, Xiang
    Lin, Huarui
    34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019), 2019, : 734 - 746