Fast Dynamic Binary Translation for the Kernel

被引:11
|
作者
Kedia, Piyus [1 ]
Bansal, Sorav [1 ]
机构
[1] Indian Inst Technol Delhi, Delhi, India
关键词
D O I
10.1145/2517349.2522718
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic binary translation (DBT) is a powerful technique with several important applications. System-level binary translators have been used for implementing a Virtual Machine Monitor [2] and for instrumentation in the OS kernel [10]. In current designs, the performance overhead of binary translation on kernel-intensive workloads is high. e.g., over 10x slowdowns were reported on the syscall nanobenchmark in [2], 2-5x slowdowns were reported on lmbench microbenchmarks in [10]. These overheads are primarily due to the extra work required to correctly handle kernel mechanisms like interrupts, exceptions, and physical CPU concurrency. We present a kernel-level binary translation mechanism which exhibits near-native performance even on applications with large kernel activity. Our translator relaxes transparency requirements and aggressively takes advantage of kernel invariants to eliminate sources of slowdown. We have implemented our translator as a loadable module in unmodified Linux, and present performance and scalability experiments on multiprocessor hardware. Although our implementation is Linux specific, our mechanisms are quite general; we only take advantage of typical kernel design patterns, not Linux-specific features. For example, our translator performs 3x faster than previous kernel-level DBT implementations while running the Apache web server.
引用
收藏
页码:101 / 115
页数:15
相关论文
共 50 条
  • [21] Exploiting Vector Processing in Dynamic Binary Translation
    Lin, Chih-Min
    Fu, Sheng-Yu
    Hong, Ding-Yong
    Liu, Yu-Ping
    Wu, Jan-Jan
    Hsu, Wei-Chung
    PROCEEDINGS OF THE 48TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING (ICPP 2019), 2019,
  • [22] Dynamic Binary Translation Specialized for Embedded Systems
    Kondoh, Goh
    Komatsu, Hideaki
    ACM SIGPLAN NOTICES, 2010, 45 (07) : 157 - 166
  • [23] Low Overhead Dynamic Binary Translation on ARM
    d'Antras, Amanieu
    Gorgovan, Cosmin
    Garside, Jim
    Lujan, Mikel
    ACM SIGPLAN NOTICES, 2017, 52 (06) : 333 - 346
  • [24] Fast binary dilation/erosion algorithm using kernel subdivision
    Narayanan, A
    COMPUTER VISION - ACCV 2006, PT II, 2006, 3852 : 335 - 342
  • [25] SINOF: A dynamic-static combined framework for dynamic binary translation
    Guan, Haibing
    Zhu, Erzhou
    Wang, Hongxi
    Ma, Ruhui
    Yang, Yindong
    Wang, Bin
    JOURNAL OF SYSTEMS ARCHITECTURE, 2012, 58 (08) : 305 - 317
  • [26] Dynamic Binary Translation of VLIW Codes on Scalar Architectures
    Michel, Luc
    Petrot, Frederic
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2017, 36 (05) : 789 - 800
  • [27] Using dynamic binary translation to fuse dependent instructions
    Hu, SL
    Smith, JE
    CGO 2004: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2004, : 213 - 224
  • [28] A Hardware-assisted Translation Cache for Dynamic Binary Translation in Embedded Systems
    Salgado, Filipe
    Gomes, Tiago
    Tavares, Adriano
    Cabral, Jorge
    2018 IEEE 23RD INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA), 2018, : 307 - 312
  • [29] VBIW: Optimizing Indirect Branch in Dynamic Binary Translation
    Zhang, Xiaochun
    Gao, Xiang
    Guo, Qi
    Huang, Jing
    Liu, Hongwei
    Meng, Xiaofu
    2013 IEEE 15TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2013 IEEE INTERNATIONAL CONFERENCE ON EMBEDDED AND UBIQUITOUS COMPUTING (HPCC_EUC), 2013, : 1456 - 1462
  • [30] Dynamic Binary Translation - a Model-Driven Approach
    Foleiss, Juliano Henrique
    Tinassi D'amato, Andre Luis
    da Silva, Anderson Faustino
    2012 31ST INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY (SCCC 2012), 2012, : 199 - 206