Developer and User-Transparent Compiler Optimization for Interactive Applications
Thu 24 Jun 2021 21:10 - 21:15 at PLDI-B - Talks 3B: Architectures and Systems
Traditional offline optimization frameworks rely on representative hardware, software, and inputs to compare different optimization decisions on. With application-specific optimization for mobile systems though, the idea of a representative test bench is unrealistic while creating offline inputs is non-trivial. Online approaches partially overcome these problems but they might expose users to suboptimal or even erroneously optimized code. As a result, our mobile code is poorly optimized and this results in wasted performance, wasted energy, and user frustration. In this paper, we introduce a novel compiler optimization approach designed for mobile applications. It requires no developer effort, it tunes applications for the user’s device and usage patterns, and has no negative impact on the user experience. It is based on a lightweight capture and replay mechanism. In its online stage, it captures the state accessed by any targeted code region. By re-purposing existing OS capabilities, it keeps the overhead low. In its offline stage, it replays the code region but under different optimization decisions to enable sound comparisons of different optimizations under realistic conditions. Coupled with a search heuristic for the compiler optimization space, it allows us to discover optimization decisions that improve performance without testing these decisions directly on the user. We implemented a prototype system in Android based on LLVM combined with a genetic search engine. We evaluated it on both benchmarks and real Android applications. Online captures are infrequent and each one introduces an overhead of less than 15ms on average. For this negligible effect on user experience, we achieve speedups of 44% on average over the Android compiler and 35% over LLVM -O3.
Thu 24 JunDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 09:40 | |||
09:00 5mTalk | Reticle: A Virtual Machine for Programming Modern FPGAs PLDI Luis Vega University of Washington, Joseph McMahan University of Washington, Adrian Sampson Cornell University, Dan Grossman University of Washington, Luis Ceze University of Washington DOI | ||
09:05 5mTalk | Revamping Hardware Persistency Models: View-Based and Axiomatic Persistency Models for Intel-x86 and Armv8 PLDI Kyeongmin Cho KAIST, Sung-Hwan Lee Seoul National University, Azalea Raad Imperial College London, Jeehoon Kang KAIST DOI | ||
09:10 5mTalk | Developer and User-Transparent Compiler Optimization for Interactive Applications PLDI Paschalis Mpeis University of Edinburgh, Pavlos Petoumenos University of Manchester, Kim Hazelwood Facebook AI Research, Hugh Leather Facebook Link to publication DOI Media Attached | ||
09:15 5mTalk | Perceus: Garbage Free Reference Counting with Reuse PLDI Alex Reinking Microsoft Research, Ningning Xie University of Toronto, Leonardo de Moura Microsoft Research, Daan Leijen Microsoft Research DOI | ||
09:20 5mTalk | Filling Typed Holes with Live GUIs PLDI Cyrus Omar University of Michigan, David Moon University of Michigan, Andrew Blinn University of Michigan, Ian Voysey Carnegie Mellon University, Nick Collins University of Chicago, Ravi Chugh University of Chicago DOI Pre-print | ||
09:25 5mTalk | Boosting SMT Solver Performance on Mixed-Bitwise-Arithmetic Expressions PLDI Dongpeng Xu University of New Hampshire, Binbin Liu University of New Hampshire; University of Science and Technology of China, Weijie Feng University of Science and Technology of China, Jiang Ming University of Texas at Arlington, Qilong Zheng University of Science and Technology of China, Jing Li University of Science and Technology of China, Qiaoyan Yu University of New Hampshire DOI | ||
09:30 5mTalk | Automatically Enforcing Fresh and Consistent Inputs in Intermittent Systems PLDI Milijana Surbatovich Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University DOI | ||
09:35 5mTalk | Bliss: Auto-tuning Complex Applications using a Pool of Diverse Lightweight Learning Models PLDI Rohan Basu Roy Northeastern University, Tirthak Patel Northeastern University, Vijay Gadepally MIT Lincoln Laboratory, Devesh Tiwari Northeastern University DOI |
21:00 - 21:40 | |||
21:00 5mTalk | Reticle: A Virtual Machine for Programming Modern FPGAs PLDI Luis Vega University of Washington, Joseph McMahan University of Washington, Adrian Sampson Cornell University, Dan Grossman University of Washington, Luis Ceze University of Washington DOI | ||
21:05 5mTalk | Revamping Hardware Persistency Models: View-Based and Axiomatic Persistency Models for Intel-x86 and Armv8 PLDI Kyeongmin Cho KAIST, Sung-Hwan Lee Seoul National University, Azalea Raad Imperial College London, Jeehoon Kang KAIST DOI | ||
21:10 5mTalk | Developer and User-Transparent Compiler Optimization for Interactive Applications PLDI Paschalis Mpeis University of Edinburgh, Pavlos Petoumenos University of Manchester, Kim Hazelwood Facebook AI Research, Hugh Leather Facebook Link to publication DOI Media Attached | ||
21:15 5mTalk | Perceus: Garbage Free Reference Counting with Reuse PLDI Alex Reinking Microsoft Research, Ningning Xie University of Toronto, Leonardo de Moura Microsoft Research, Daan Leijen Microsoft Research DOI | ||
21:20 5mTalk | Filling Typed Holes with Live GUIs PLDI Cyrus Omar University of Michigan, David Moon University of Michigan, Andrew Blinn University of Michigan, Ian Voysey Carnegie Mellon University, Nick Collins University of Chicago, Ravi Chugh University of Chicago DOI Pre-print | ||
21:25 5mTalk | Boosting SMT Solver Performance on Mixed-Bitwise-Arithmetic Expressions PLDI Dongpeng Xu University of New Hampshire, Binbin Liu University of New Hampshire; University of Science and Technology of China, Weijie Feng University of Science and Technology of China, Jiang Ming University of Texas at Arlington, Qilong Zheng University of Science and Technology of China, Jing Li University of Science and Technology of China, Qiaoyan Yu University of New Hampshire DOI | ||
21:30 5mTalk | Automatically Enforcing Fresh and Consistent Inputs in Intermittent Systems PLDI Milijana Surbatovich Carnegie Mellon University, Limin Jia Carnegie Mellon University, Brandon Lucia Carnegie Mellon University DOI | ||
21:35 5mTalk | Bliss: Auto-tuning Complex Applications using a Pool of Diverse Lightweight Learning Models PLDI Rohan Basu Roy Northeastern University, Tirthak Patel Northeastern University, Vijay Gadepally MIT Lincoln Laboratory, Devesh Tiwari Northeastern University DOI |