arrow
Return

Improved Basic Block Reordering

delete2020-12-01
delete11
delete
OA
AI
N
Newell, Andy
S
Sergey Pupyrev *
DOI:10.1109/TC.2020.2982888delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Basic block reordering is an important step for profile-guided binary optimization. The state-of-the-art goal for basic block reordering is to maximize the number of fall-through branches. However, we demonstrate that such orderings may impose suboptimal performance on instruction and I-TLB caches. We propose a new algorithm that relies on a model combining the effects of fall-through and caching behavior. As details of modern processor caching is quite complex and often unknown, we show how to use machine learning in selecting parameters that best trade off different caching effects to maximize binary performance. An extensive evaluation on a variety of applications, including Facebook production workloads, the open-source compilers Clang and GCC, and SPEC CPU benchmarks, indicate that the new method outperforms existing block reordering techniques, improving the resulting performance of applications with large code size. We have open sourced the code of the new algorithm as a part of a post-link binary optimization tool, BOLT.
Keywords:
Optimization
Fasteners
Measurement
Machine learning
Facebook
Central Processing Unit
Tools
Code generation
code layout
optimizing compilers
profile-guided optimizations
graph algorithms
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Computers cover
IEEE Transactions on Computers
IF:
3.8
Papers:
5.4K
Citations:
9.8K

Organization

F
facebook inc
Scholars:
588
Papers: 381
Citations: 0
Cited Papers

Cited Papers

Alpha-synuclein negatively controls cell proliferation in dopaminergic neurons
err2022-03-01
err0
errOAAI
errJordan Prahl; Steven E. Pierce; Gerhard A. Coetzee; Trevor Tyson
errShare
errSave
Carbonic anhydrase isozymes II, IX, and XII in uterine tumors
err2011-10-25
err0
errOAAI
errPIRITTA HYNNINEN; SEPPO PARKKILA; HEINI HUHTALA; SILVIA PASTOREKOVA; JAROMIR PASTOREK; ABDUL WAHEED; WILLIAM S. SLY; EIJA TOMAS
errShare
errSave
A Survey on Compiler Autotuning using Machine Learning
err2018-09-18
err123
errOAAI
errAshouri, Amir H.; Killian, William; Cavazos, John; Palermo, Gianluca; Silvano, Cristina
errShare
errSave
Machine Learning in Compiler Optimization
err2018-11-01
err110
errOAAI
errWang, Zheng; O'Boyle, Michael
errShare
errSave
errShare
errSave
Towards Semantic Reasoning on the Edge of IoT Systems
err2016-11-07
err0
PREAI
errXiang Su; Pingjiang Li; Yuhong Li; Huber Flores; Jukka Riekki; Christian Prehofer
errShare
errSave
Taming Hardware Event Samples for Precise and Versatile Feedback Directed Optimizations
err2013-02-01
err27
PREAI
errChen, Dehao; Vachharajani, Neil; Hundt, Robert; Li, Xinliang; Eranian, Stephane; Chen, Wenguang; Zheng, Weimin
errShare
errSave
researcher View more