Tue 14 Jun 2022 10:30 - 10:50 at Rousseau Center - Optimization for Compilers and Languages Chair(s): Yousun Ko
Tue 14 Jun 2022 22:30 - 22:50 at Rousseau Center - Optimization for Compilers and Languages Chair(s): Yousun Ko

Code size is an increasing concern on resource constrained systems, ranging from embedded devices to cloud servers. To address the issue, lowering memory occupancy has become a priority in developing and deploying applications, and accordingly compiler-based optimizations have been proposed to reduce program footprint. However, prior arts are generally dealing with source codes or intermediate representations, and thus are very limited in scope in real scenarios where only binary files are commonly provided. To fill the gap, this paper presents a novel code-size optimization RollBin to reroll loops at binary level. RollBin first locates the unrolled loops in binary files, and then probes to decide the unrolling factor by identifying regular memory address patterns. To reconstruct the iterations, we propose a customized data dependency analysis that tackles the challenges brought by shuffled instructions and loop-carry dependencies. Next, the recognized iterations are rolled up through instruction removal and update, which are generally reverting the normal unrolling procedure. The evaluations on standard SPEC2006/2017 and MiBench demonstrate that RollBin effectively shrinks code size by 1.7% and 2.2% on average (up to 7.8%), which respectively outperforms the state-of-the-arts by 31% and 38%. In addition, the use cases of representative realistic applications manifest that RollBin can be applicable in practices.

Tue 14 Jun

Displayed time zone: Pacific Time (US & Canada) change

10:30 - 12:00
Optimization for Compilers and LanguagesLCTES at Rousseau Center +12h
Chair(s): Yousun Ko Yonsei University
10:30
20m
Talk
RollBin: Reducing code-size via loop rerolling at binary levelVirtual
LCTES
Tianao Ge Sun Yat-sen University, Zewei Mo Sun Yat-sen University, Kan Wu Sun Yat-sen University, Xianwei Zhang Sun Yat-sen University, Yutong Lu Sun Yat-sen University
10:50
20m
Talk
Tighten Rust's Belt: Shrinking Embedded Rust Binaries
LCTES
Hudson Ayers Stanford University, Google, Evan Laufer Stanford University, Paul Mure Stanford University, Jaehyeon Park Stanford University, Eduardo Rodelo Stanford University, Thea Rossman Stanford University, Andrey Pronin Google, Philip Levis Stanford University, Johnathan Van Why Google
11:10
20m
Talk
JAX Based Parallel Inference for Reactive Probabilistic Programming
LCTES
Guillaume Baudart IBM Research, USA, Louis Mandel IBM Research, USA, Reyyan Tekin
11:30
20m
Talk
Implicit State MachinesVirtual
LCTES
Fengyun Liu Oracle Labs, Aleksandar Prokopec Oracle Labs
11:50
5m
Talk
(WIP) Scalable Size Inliner for Mobile Applications
LCTES
22:30 - 00:00
Optimization for Compilers and LanguagesLCTES at Rousseau Center
Chair(s): Yousun Ko Yonsei University
22:30
20m
Talk
RollBin: Reducing code-size via loop rerolling at binary levelVirtual
LCTES
Tianao Ge Sun Yat-sen University, Zewei Mo Sun Yat-sen University, Kan Wu Sun Yat-sen University, Xianwei Zhang Sun Yat-sen University, Yutong Lu Sun Yat-sen University
22:50
20m
Talk
Tighten Rust's Belt: Shrinking Embedded Rust Binaries
LCTES
Hudson Ayers Stanford University, Google, Evan Laufer Stanford University, Paul Mure Stanford University, Jaehyeon Park Stanford University, Eduardo Rodelo Stanford University, Thea Rossman Stanford University, Andrey Pronin Google, Philip Levis Stanford University, Johnathan Van Why Google
23:10
20m
Talk
JAX Based Parallel Inference for Reactive Probabilistic Programming
LCTES
Guillaume Baudart IBM Research, USA, Louis Mandel IBM Research, USA, Reyyan Tekin
23:30
20m
Talk
Implicit State MachinesVirtual
LCTES
Fengyun Liu Oracle Labs, Aleksandar Prokopec Oracle Labs
23:50
5m
Talk
(WIP) Scalable Size Inliner for Mobile Applications
LCTES