kirancodes.me
To Proof Maintenance & Beyond!

TAO: two-level atomicity for dynamic binary optimizations

Edson Borin, Youfeng Wu, Cheng Wang, Wei Liu, Maurício Breternitz Jr., Shiliang Hu, Esfir Natanzon, Shai Rotem, Roni Rosner

Abstract

Dynamic binary translation is a key component of Hardware/Software (HW/SW) co-design, which is an enabling technology for processor microarchitecture innovation. There are two well-known dynamic binary optimization techniques based on atomic execution support. Frame-based optimizations leverage processor pipeline support to enable atomic execution of hot traces. Region level optimizations employ transactional-memory-like atomicity support to aggressively optimize large regions of code. In this paper we propose a two-level atomic optimization scheme which not only overcomes the limitations of the two approaches, but also boosts the benefits of the two approaches effectively. Our experiment shows that the combined approach can achieve a total of 21.5% performance improvement over an aggressive out-of-order baseline machine and improve the performance over the frame-based approach by an additional 5.3%.

Related papers