ZGC-jeva tehnika večkratnega preslikave vključuje preslikavo različnih obsegov navideznega pomnilnika v isti fizični pomnilnik. Ta tehnika se uporablja za omogočanje več hkratnega zbiranja smeti z zmanjšanjem obremenitve ovir za obremenitev. Tukaj je nekaj ključnih točk o tem, kako ta tehnika vpliva na delovanje sistema:
Multi-Mapping in sistemska zmogljivost
1. Zmanjšana poraba pregrade za obremenitev: Večkratno preslikavo zmanjša obremenitev ovire za obremenitev, tako da omogoča zbiralcu smeti, da hitro ugotovi, ali je predmet v določenem stanju (npr. označen ali neoznačen). To zmanjša število strojnih navodil, potrebnih za pregrade za tovor, kar vodi k izboljšani zmogljivosti.
2. Povečana sočasnost: Večkratno preslikavo omogoča več hkratnega zbiranja smeti, tako da omogoča zbiralcu smeti, da obdeluje več predmetov vzporedno. To poveča skupno prepustnost zbiralnika smeti in skrajša čase premora.
3. Izboljšana učinkovitost pomnilnika: Večkratno preslikavo lahko vodi do izboljšane učinkovitosti pomnilnika z zmanjšanjem količine pomnilnika, potrebnega za kopico. To je zato, ker je isti fizični pomnilnik mogoče preslikati v več obsegov navideznega pomnilnika, kar zmanjša skupno uporabo pomnilnika.
4. Povečana zapletenost: Večkratno preslikavo uvaja dodatno zapletenost zbiralnika smeti, kar lahko povzroči povečane stroške vzdrževanja in morebitne težave z zmogljivostjo.
5. Vpliv na sistemske vire: Večkratno preslikavo lahko vpliva na sistemske vire, kot sta CPE in uporaba pomnilnika. Zbiralec smeti mora upravljati preslikave in zagotoviti, da so obdelani pravilni objekti, kar lahko povzroči povečano porabo procesorja.
6. Vpliv na zmogljivost sistema: Večkratno preslikavo lahko pomembno vpliva na zmogljivost sistema, zlasti v smislu časov premora in prepustnosti. Zbiralec smeti mora upravljati preslikave in zagotoviti, da so obdelani pravilni objekti, kar lahko vodi do daljših časov premora in zmanjšane prepustnosti.
7. Vpliv na stabilnost sistema: Večkratno preslikavo lahko vpliva tudi na stabilnost sistema, zlasti če se preslikave ne upravljajo pravilno. To lahko privede do težav, kot je uhajanje pomnilnika ali nepravilne reference objektov.
8. Vpliv na razširljivost sistema: Večkratno preslikavo lahko vpliva na razširljivost sistema, zlasti če se preslikave ne upravljajo pravilno. To lahko povzroči težave, kot je povečana poraba pomnilnika ali zmanjšana zmogljivost.
Če povzamemo, ima lahko ZGC-jeva tehnika večkratnega preslikave pozitivne in negativne učinke na delovanje sistema. Čeprav lahko zmanjša obremenitvene ovire in poveča sočasnost, lahko tudi uvede dodatno kompleksnost in vpliva na sistemske vire in stabilnost.
Citati:[1] https://codeline24.com/java-21-path-to-generational-zgc/
[2] https://openjdk.org/jeps/439
[3] https://www.opsian.com/blog/javas-new-zgc-is-very-exciting/
[4] https://dev.java/learn/jvm/tool/garbage-collection/zgc-deepdive/
[5] https://www.diva-portal.org/smash/get/diva2:1466940/FULLTEXT01.pdf