Power-Performance Implications of Software Runtime Bloat: A Case Study with the SPECpower_ssj2008 Benchmark

This paper presents a study of the impact on performance and power consumption of software bloat for Java applications. With the SPECpower ssj2008 benchmark, we create three distinct levels of object allocation - Alloc More, Alloc Orig and Alloc Less - to represent degrees of optimization/tuning for the creation of temporary objects. We then examine their impact on performance and energy-efficiency across a range of hardware and software configurations using real-time power and performance/activity instrumentation.

On a IBM HS21 blade server we see that the smarter allocation strategy, Alloc Less, can obtain a 59% improvement in energy-efficiency at peak load over the default strategy, Alloc Orig. On a POWER7 system we examine the sensitivity of the efficiencies of the allocation strategies to levels of multi-threading, cache sizes and JVM tuning. Further, interaction with power management based on dynamic voltage and frequency scaling (DVFS) shows synergistic benefits. DVFS reduces the detrimental impact of software bloat and can increase the benefits from bloat reduction - with DVFS, Alloc Less gets to 56% of the power for Alloc More, whereas without DVFS, its power is at 95% of Alloc More’s. Experiments on a Nehalem-based server further confirm the energy-efficiency impact of software bloat reduction and its benefits to reducing heap sizes.

We also present an analysis of why the JIT compiler is unable to perform the key optimization of object reuse that can be applied by even an inexperienced Java programmer and present preliminary ideas on a simple annotation based technique to eliminate this bloat. With a new microbenchmark for object reuse we show the power-performance tradeoffs of object reuse in isolation. Finally, our preliminary analysis with the DaCapo tradesoap and tradebean benchmarks show that the choice of fine grain messaging/transformations can have a significant power efficiency impact.

By: Suparna Bhattacharya; Karthick Rajamani; Manish Gupta

Published in: RC25150 in 2010


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to reports@us.ibm.com .