Digitala Vetenskapliga Arkivet

Endre søk
RefereraExporteraLink to record
Permanent link

Direct link
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annet format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annet språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
JVM Tuning with Machine Learning on Garbage Collection Logs
KTH, Skolan för elektroteknik och datavetenskap (EECS).
2024 (engelsk)Independent thesis Advanced level (degree of Master (Two Years)), 20 poäng / 30 hpOppgaveAlternativ tittel
JVM-tuning med maskininlärning på skräpsamling-loggar (svensk)
Abstract [en]

The performance of Java applications is crucial for developers and system administrators. Performance is primarily assessed through throughput (work done in a unit of time) and latency (responsiveness) of the application. These depend not only on the efficiency of the written code but also on the performance of the language runtime, the Java Virtual Machine (JVM). Optimizing the performance of the JVM or adjusting the JVM flags for each application can be a tedious task because it requires significant expertise and effort. This project proposes a tuning strategy for specific memory-related JVM flags based on Machine Learning (ML) techniques, using information collected from the Garbage Collection (GC) logs where GC is a process of reclaiming unused memory during runtime in JVM. We explore the possibility of improving throughput while maintaining an acceptable application latency by using the JVM flag values suggested by the ML models for one Java program at a time. DaCapo and SPECjbb2015 benchmarks are the programs that we use to measure performance. We analyze the impact of different ML techniques on performance improvements. According to our findings, tuning the selected JVM flags using suggestions from the models shows considerable potential to enhance throughput by up to 20% compared to default flag settings while maintaining latency within acceptable limits. This project aims to help developers and system administrators automatically determine optimum values for memory-related JVM flags, ultimately saving time and effort to achieve better throughput without compromising latency.

Abstract [sv]

Prestandan hos Java-applikationer är avgörande för utvecklare och systemadministratörer. Prestanda bedöms främst genom genomströmning (arbete utfört under en tidsenhet) och latens (responsivitet) hos applikationen. Dessa beror inte bara på effektiviteten hos den skrivna koden utan också på prestandan hos exekveringsmiljön, den s.k. JVM. Att optimera prestandan hos JVM eller justera JVM-flaggor för varje applikation kan vara en tidskrävande uppgift eftersom det kräver betydande expertis och ansträngning. Detta projekt föreslår en strategi för justering av specifika minnesrelaterade JVM-flaggor baserat på maskininlärnings-tekniker, med hjälp av information som samlats in från GC-loggar där GC är en process för att återta oanvänt minne under körning i JVM. Vi utforskar möjligheten att förbättra genomströmningen samtidigt som vi bibehåller en acceptabel applikationslatens genom att använda de flaggvärden som föreslås av maskininlärning-modellerna för ett Java-program åt gången. DaCapo och SPECjbb2015 benchmarkprogrammen är de program som vi använder för att mäta prestanda. Vi analyserar inverkan av olika maskininlärnings-tekniker på prestandaförbättringar. Enligt våra resultat visar justering av de valda JVM-flaggorna med hjälp av förslag från modellerna betydande potential att förbättra genomströmningen med upp till 20% jämfört med standardflagginställningar samtidigt som latensen hålls inom acceptabla gränser. Detta projekt syftar till att hjälpa utvecklare och systemadministratörer att automatiskt bestämma optimala värden för minnesrelaterade JVM-flaggor, vilket slutligen sparar tid och ansträngning för att uppnå bättre genomströmning utan att kompromissa med latensen.

sted, utgiver, år, opplag, sider
2024. , s. 54
Serie
TRITA-EECS-EX ; 2024:631
Emneord [en]
Java Virtual Machine, Machine Learning, Auto-tuning, JVM flags, Garbage Collection logs, Garbage First, Performance Optimization
Emneord [sv]
Java Virtual Machibe, Maskininlärning, Automatisk justering, JVM-flaggor, Garbage Collection-loggar, Garbage First, Prestandaoptimering
HSV kategori
Identifikatorer
URN: urn:nbn:se:kth:diva-353979OAI: oai:DiVA.org:kth-353979DiVA, id: diva2:1901064
Eksternt samarbeid
Oracle
Veileder
Examiner
Tilgjengelig fra: 2024-10-02 Laget: 2024-09-25 Sist oppdatert: 2024-10-02bibliografisk kontrollert

Open Access i DiVA

fulltext(3118 kB)808 nedlastinger
Filinformasjon
Fil FULLTEXT01.pdfFilstørrelse 3118 kBChecksum SHA-512
91a32c6c047a1c4d0a5a44180cbb55865f179e01976bab5e9b8604a6e29656bf478969b1b50adc2b9a186ad9dab78e4e98e4c909f7752ed1475a2a70b691eece
Type fulltextMimetype application/pdf

Av organisasjonen

Søk utenfor DiVA

GoogleGoogle Scholar
Totalt: 808 nedlastinger
Antall nedlastinger er summen av alle nedlastinger av alle fulltekster. Det kan for eksempel være tidligere versjoner som er ikke lenger tilgjengelige

urn-nbn

Altmetric

urn-nbn
Totalt: 1821 treff
RefereraExporteraLink to record
Permanent link

Direct link
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annet format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annet språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf