Energy optimization at the level of managed application runtimes is a less explored direction with unique benefits: the optimizer can harvest information invisible to underlying systems, and no programmer involvement is required. In this paper, we introduce Vincent, a novel energy-efficient solution for Java applications at the level of Java Virtual Machines (JVM). The key insight of Vincent is that the programming abstraction of methods — and more specifically, the frequently executed hot methods — can serve as an ideal unit of granularity for phase-based energy management. Vincent is a profile-directed optimizer that applies Dynamic Voltage and Frequency Scaling (DVFS) to hot methods. In phase-based energy management, a fundamental challenge is to identify the methods that make energy management ``worthwhile,'' i.e., the methods should consume sufficient energy so that the energy savings due to DVFS are not eclipsed by the overhead of the DVFS itself. Vincent introduces a novel automated energy profiling process to identify top-consuming hot methods in an application, followed by an automated selection process to determine the frequency each hot method should be executed on for most energy efficiency. Built on top of JikesRVM, experiments show Vincent can significantly reduce the energy consumption and the Energy-Delay Product (EDP) of Java applications when compared against the state-of-the-art approaches that rely on dynamically monitoring hardware performance counters, such as the Linux ONDEMAND, PERFORMANCE, and POWERSAVE power governors.
Thu 23 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:45 - 18:15
|Vincent: Green Hot Methods in the JVMVCOOP 2022|
Kenan Liu SUNY Binghamton, Khaled Mahmoud SUNY Binghamton, USA, Joonhwan Yoo SUNY Binghamton, Yu David Liu SUNY BinghamtonPre-print
|Verified Compilation and Optimization of Floating-Point Programs in CakeMLVCOOP 2022ECOOP 2022|
|Compiling Volatile Correctly in JavaVCOOP 2022|