kth.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • 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
Improving relocation performance in ZGC by identifying the size of small objects
KTH, School of Electrical Engineering and Computer Science (EECS).
2022 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesisAlternative title
Förbättrad omplaceringsprestanda i ZGC genom att identifiera storleken på små objekt (Swedish)
Abstract [en]

Modern Garbage Collectors provide performance improvements by increasing program locality to utilize the faster CPU cache. A common approach is to move objects together according to the mutators’ access order, which brings more relocations during GC. In most cases, more relocations would not impact performance when using concurrent Garbage Collectors such as ZGC. However, in constrained environments with fewer CPU cores or less memory, bad relocation performance will cause overall performance degradation. In this thesis, we investigated why larger objects do not benefit from better program locality, then proposed a new design to reduce the number of relocations by efficiently identifying and ignoring larger objects. As a result, the relocation performance can be improved. In constrained environments, this can lead to an increase in overall throughput. In the new design, we introduce an extra page type, the tiny page. If an object is considerably small that it could benefit from relocation, it will be placed on the tiny page when allocating. As a result, we could replace the time‐consuming size check of objects with a faster page type check. Memory fragmentation also can be reduced by this design. To evaluate this design, we add the size identification procedure into a locality improvement implementation named HCSGC. The results of benchmarks show a slight improvement in constrained environments. In the JGraphT benchmark, we see a 3‐5% speedup in different configurations with memory limitations. In the SPECjbb2015 benchmark, we see a ~1% increase in performance on average, but with overlapping confidence intervals. In the DaCapo benchmark suite, we see a 1% improvement in the sunflow benchmark with CPU constraint. For other benchmarks in DaCapo, no significant difference is discovered. The results suggest that the proposed new design is a feasible way of filtering out larger objects, and doing so can further improve the relocation and overall performance. 

Abstract [sv]

Modern Garbage Collector ger prestandaförbättringar genom att öka programplatsen för att använda den snabbare CPU‐cachen. En vanlig metod är att flytta fler objekt baserat på mutators åtkomstorder. I de flesta fall skulle fler omplaceringar inte påverka prestanda vid användning av samtidiga Garbage Collector som ZGC. Men i begränsade miljöer med färre CPU‐kärnor eller mindre minne kommer dålig flyttningsprestanda att leda till övergripande prestandaförsämring. I denna avhandling undersökte vi varför större objekt inte gynnas av bättre programplats, och föreslog sedan en ny design för att minska antalet flyttningar genom att effektivt identifiera och ignorera större objekt. Som ett resultat kan flyttningsprestandan förbättras. I begränsade miljöer kan detta leda till en ökning av den totala genomströmningen. I den nya designen introducerade vi en extra sidtyp, den lilla sidan. Om ett objekt är avsevärt litet som kan ha nytta av omplacering, kommer det att placeras på den lilla sidan vid allokeringen. Som ett resultat kan vi ersätta den tidskrävande storlekskontrollen av objekt med en snabbare sidtypskontroll. Minnesfragmentering kan också reduceras med denna design. För att utvärdera denna design lägger vi till storleksidentifieringsproceduren i en implementering av lokaliseringsförbättring som heter HCSGC. Resultaten av riktmärken visar en liten förbättring i begränsade miljöer. I JGraphT‐riktmärket ser vi en hastighet på 3‐ 5% i olika konfigurationer med minnesbegränsningar. I riktmärket SPECjbb2015 ser vi i genomsnitt en ~1% prestationsökning, men med överlappande konfidensintervall. I DaCapo ‐riktmärket ser vi en förbättring på 1% i solflödesriktmärket med CPU‐begränsning. För andra riktmärken i DaCapo upptäcks ingen signifikant skillnad. Resultaten tyder på att den föreslagna nya designen är ett genomförbart sätt att filtrera bort större objekt, och det kan ytterligare förbättra flytten och den övergripande prestandan.

Place, publisher, year, edition, pages
2022. , p. 84
Series
TRITA-EECS-EX ; 2022:187
Keywords [en]
Garbage Collector, Java, Data locality
Keywords [sv]
Garbage Collector, Java, Datalokalitet
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:kth:diva-317055OAI: oai:DiVA.org:kth-317055DiVA, id: diva2:1693010
External cooperation
Oracle
Subject / course
Embedded System Design
Educational program
Master of Science - Embedded Systems
Supervisors
Examiners
Available from: 2022-09-09 Created: 2022-09-05 Last updated: 2022-09-09Bibliographically approved

Open Access in DiVA

fulltext(2119 kB)505 downloads
File information
File name FULLTEXT01.pdfFile size 2119 kBChecksum SHA-512
8d5d7b63254e997bfb53ab222c30c6e53e8910b995aa16b09b1bd17c2c5b6e262ad1d810c9a25ff7981d8e83b86715936c4ad0303633aedbcb10047b10722076
Type fulltextMimetype application/pdf

By organisation
School of Electrical Engineering and Computer Science (EECS)
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 507 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

urn-nbn

Altmetric score

urn-nbn
Total: 265 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • 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