Computer Science and Information Systems 2019 Volume 16, Issue 2, Pages: 541-564
https://doi.org/10.2298/CSIS180608009L
Full text ( 392 KB)
Cited by
Reducing energy usage in resource-intensive Java-based scientific applications via micro-benchmark based code refactorings
Longo Mathias (University of Southern California, Los Angeles, United States)
Rodriguez Ana (ISISTAN-CONICET-UNICEN, Campus Universitario, Tandil, Argentina)
Mateos Cristian (ISISTAN-CONICET-UNICEN, Campus Universitario, Tandil, Argentina)
Zunino Alejandro (ISISTAN-CONICET-UNICEN, Campus Universitario, Tandil, Argentina)
In-silico research has grown considerably. Today’s scientific code involves long-running computer simulations and hence powerful computing infrastructures are needed. Traditionally, research in high-performance computing has focused on executing code as fast as possible, while energy has been recently recognized as another goal to consider. Yet, energy-driven research has mostly focused on the hardware and middleware layers, but few efforts target the application level, where many energy-aware optimizations are possible. We revisit a catalog of Java primitives commonly used in OO scientific programming, or micro-benchmarks, to identify energy-friendly versions of the same primitive. We then apply the micro-benchmarks to classical scientific application kernels and machine learning algorithms for both single-thread and multi-thread implementations on a server. Energy usage reductions at the micro-benchmark level are substantial, while for applications obtained reductions range from 3.90% to 99.18%.
Keywords: Energy, Scientific application, Java, Micro-benchmarks, Code refactoring