Logo: to the web site of Uppsala University

uu.sePublications from Uppsala University
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Optimizing Energy Efficiency of Concurrent Garbage Collection
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology.
2024 (English)Doctoral thesis, comprehensive summary (Other academic)
Description
Abstract [en]

The increasing energy consumption of the Information and Communication Technology sector amid climate change concerns underscores the urgency for energy efficiency improvements in computing. This thesis focuses on optimizing the energy efficiency of Java, a widely used programming language, and its implementation in OpenJDK. Specifically, our focus is on enhancing the energy efficiency of concurrent garbage collection.

As a starting point for our work, we assessed the energy consumption of various garbage collection algorithms within OpenJDK, establishing concurrent garbage collectors as the least energy-efficient. This prompted further investigation into methods to enhance their energy consumption. We investigated methods like dynamically adjusting the memory size required by an application based on how much of the computer's processors one wants to use for garbage collection. We also looked into scheduling garbage collection tasks to run on specific types of computer cores that use less energy and running these tasks when the computer is not being actively used. 

We implemented all the abovementioned strategies in one of Java’s concurrent garbage collectors, ZGC. Through our experiments, we showed that these techniques can significantly reduce the amount of energy used by garbage collection without slowing down the performance of the programs running on the computer. Overall, our research contributes to making computing more environmentally friendly by finding ways to use less energy while still getting the same results.

Place, publisher, year, edition, pages
Uppsala: Acta Universitatis Upsaliensis, 2024. , p. 76
Series
Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, ISSN 1651-6214 ; 2412
Keywords [en]
Energy Efficiency, Garbage Collection, Java, Runtimes.
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:uu:diva-527713ISBN: 978-91-513-2155-4 (print)OAI: oai:DiVA.org:uu-527713DiVA, id: diva2:1856259
Public defence
2024-08-30, 101195, Heinz-Otto Kreiss, Ångström, Lägerhyddsvägen 1, Uppsala, 13:19 (English)
Opponent
Supervisors
Available from: 2024-06-05 Created: 2024-05-06 Last updated: 2024-06-05
List of papers
1. Analysing and Predicting Energy Consumption of Garbage Collectors in OpenJDK
Open this publication in new window or tab >>Analysing and Predicting Energy Consumption of Garbage Collectors in OpenJDK
2022 (English)In: MPLR '22: Proceedings of the 19th International Conference on Managed Programming Languages and Runtimes / [ed] Elisa Gonzalez Boix; Tobias Wrigstad, New York: Association for Computing Machinery (ACM), 2022, p. 3-15Conference paper, Published paper (Refereed)
Abstract [en]

Sustainable computing needs energy-efficient software. This paper explores the potential of leveraging the nature of software written in managed languages: increasing energy efficiency by changing a program’s memory management strategy without altering a single line of code. To this end, we perform comprehensive energy profiling of 35 Java applications across four benchmarks. In many cases, we find that it is possible to save energy by replacing the default G1 collector with another without sacrificing performance. Furthermore, potential energy savings can be even higher if performance regressions are permitted. Inspired by these results, we study what the most energy-efficient GCs are to help developers prune the search space for energy profiling at a low cost. Finally, we show that machine learning can be successfully applied to the problem of finding an energy-efficient GC configuration for an application, reducing the cost even further.

Place, publisher, year, edition, pages
New York: Association for Computing Machinery (ACM), 2022
Keywords
Energy, GC, Java, Machine Learning
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-490859 (URN)10.1145/3546918.3546925 (DOI)978-1-4503-9696-7 (ISBN)
Conference
MPLR '22: 19th International Conference on Managed Programming Languages and Runtimes, Brussels, Belgium, September 14-15, 2022
Projects
JVMReCo
Funder
Swedish Foundation for Strategic Research, SM19-0059
Available from: 2022-12-15 Created: 2022-12-15 Last updated: 2024-05-06Bibliographically approved
2. Heap Size Adjustment with CPU Control
Open this publication in new window or tab >>Heap Size Adjustment with CPU Control
Show others...
2023 (English)In: PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON MANAGED PROGRAMMING LANGUAGES AND RUNTIMES, MPLR 2023 / [ed] Moss, E Bruno, R, ASSOC COMPUTING MACHINERY , 2023, p. 114-128Conference paper, Published paper (Refereed)
Abstract [en]

This paper explores automatic heap sizing where developers let the frequency of GC expressed as a target overhead of the application's CPU utilisation, control the size of the heap, as opposed to the other way around. Given enough headroom and spare CPU, a concurrent garbage collector should be able to keep up with the application's allocation rate, and neither the frequency nor duration of GC should impact throughput and latency. Because of the inverse relationship between time spent performing garbage collection and the minimal size of the heap, this enables trading memory for computation and conversely, neutral to an application's performance. We describe our proposal for automatically adjusting the size of a program's heap based on the CPU overhead of GC. We show how our idea can be relatively easily integrated into ZGC, a concurrent collector in OpenJDK, and study the impact of our approach on memory requirements, throughput, latency, and energy.

Place, publisher, year, edition, pages
ASSOC COMPUTING MACHINERY, 2023
Keywords
JVM, Garbage Collection, Heap sizing policy
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-523058 (URN)10.1145/3617651.3622988 (DOI)001142913500011 ()979-8-4007-0380-5 (ISBN)
Conference
20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR), OCT 22, 2023, Cascais, PORTUGAL
Available from: 2024-02-16 Created: 2024-02-16 Last updated: 2024-05-06Bibliographically approved
3. Scheduling Garbage Collection for Energy Efficiency on Asymmetric Multicore Processors
Open this publication in new window or tab >>Scheduling Garbage Collection for Energy Efficiency on Asymmetric Multicore Processors
2024 (English)In: The Art, Science, and Engineering of Programming, E-ISSN 2473-7321, Vol. 8, no 3, article id 10Article in journal (Refereed) Published
Abstract [en]

The growing concern for energy efficiency in the Information and Communication Technology (ICT) sector has prompted the exploration of resource management techniques. While hardware architectures, such as single-ISA asymmetric multicore processors (AMP), offer potential energy savings, there is still untapped potential for software optimizations. This paper aims to bridge this gap by investigating the scheduling of garbage collection (GC) activities on a heterogeneous architecture with both performance cores (“p-cores”) and energy cores (“e-cores”) to achieve energy savings.

Our study focuses on the concurrent ZGC collector in the context of Java Virtual Machines (JVM), as the energy aspect is not well studied in the context of latency-sensitive Java workloads. By comparing the energy efficiency, performance, latency, and memory utilization of executing GC on p-cores versus e-cores, we present compelling findings.

We demonstrate that scheduling GC work on e-cores overall leads to approximately 3% energy savings without performance and mean latency degradation while requiring no additional effort from developers. Overall energy reduction can increase to 5.3±0.0225% by tuning the number of e-cores (still not changing the program!).

Our findings highlight the practicality and benefits of scheduling GC on e-cores, showcasing the potential for energy savings in heterogeneous architectures running Java workloads while meeting critical latency requirements. Our research contributes to the ongoing efforts toward achieving a more sustainable and efficient ICT sector.

Place, publisher, year, edition, pages
Aspect-Oriented Software Association, 2024
Keywords
Energy-efficiency, Java, Garbage Collection, Asymmetric multicore processors
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-526870 (URN)10.22152/programming-journal.org/2024/8/10 (DOI)
Funder
Swedish Research Council, 2020-05346Swedish Foundation for Strategic Research, SM19-0059
Available from: 2024-04-19 Created: 2024-04-19 Last updated: 2024-06-28Bibliographically approved
4. Monk: opportunistic scheduling to delay horizontal scaling
Open this publication in new window or tab >>Monk: opportunistic scheduling to delay horizontal scaling
(English)Manuscript (preprint) (Other academic)
Abstract [en]

The goal of this work is to explore the opportunistic scheduling of a fully concurrent GC, namely ZGC. The main idea is that scheduling GC threads while the CPU is idle allows for upscaling server workloads at a higher average CPU utilization since latency starts degrading at a higher CPU utilization. We showed that opportunistic scheduling can allow SPECjbb2015 to process up to 15% more requests under 25ms. 

Keywords
JVM, Garbage Collection, OS scheduling
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-527461 (URN)
Available from: 2024-05-02 Created: 2024-05-02 Last updated: 2024-05-06

Open Access in DiVA

UUThesis_Shimchenko,M-2024(882 kB)150 downloads
File information
File name FULLTEXT01.pdfFile size 882 kBChecksum SHA-512
7517516f2ee9297729978dce65b091c4ea7bb705e36bff5176cec649521822a330db9e2febe198164c11e3d34111d7bd8eaf2e2820bf618752c26a47cb61d758
Type fulltextMimetype application/pdf

By organisation
Department of Information Technology
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 150 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 1200 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf