Reducing energy usage in resource-intensive Java-based scientific applications via micro-benchmark based code refactorings
- University of Southern California
1337 1/2 W Adams Blvd, Los Angeles (90007), United States
mathiasl@usc.edu - ISISTAN-CONICET-UNICEN
Campus Universitario, Tandil (B7001BBO), Argentina
{ana.rodriguez,cristian.mateos,alejandro.zunino}@isistan.unicen.edu.ar
Abstract
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%.
Key words
Energy, Scientific application, Java, Micro-benchmarks, Code refactoring
Digital Object Identifier (DOI)
https://doi.org/10.2298/CSIS123456789X
Publication information
Volume 16, Issue 2 (June 2019)
Year of Publication: 2019
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium
Full text
Available in PDF
Portable Document Format
How to cite
Longo, M., Rodriguez, A., Mateos, C., Zunino, A.: Reducing energy usage in resource-intensive Java-based scientific applications via micro-benchmark based code refactorings. Computer Science and Information Systems, Vol. 16, No. 2, 541-564. (2019), https://doi.org/10.2298/CSIS123456789X