CCoW: Optimalizing Copy-on-Write med tanke på den romlige lokaliteten i arbeidsbelastninger, del 6

Apr 03, 2024

Den beste regionstørrelsen og terskelen varierer i henhold til arbeidsbelastningskarakteristikkene. For å evaluere påvirkningen av arbeidsbelastning måler vi ytelsen til CCoW på arbeidsbelastningene med ulike lokaliteter. Spesifikt endret vi parameteren til Zipf-fordelingen, som bestemmer graden av lokalitet.

Det er en nær sammenheng mellom menneskelig hukommelse og arbeidsbelastning. Når vi trenger å behandle store mengder informasjon eller fullføre komplekse oppgaver, må hjernen vår være svært årvåken for å sikre at all nødvendig informasjon behandles og lagres riktig. Nevroner i hjernen kobler seg hele tiden sammen og kommuniserer, noe som i stor grad påvirker måten vi tenker og husker på.

Mens behandling av store mengder informasjon og fullføring av komplekse oppgaver kan utfordre hukommelsen og kognitive evner, viser forskning at med riktig trening og øvelse kan vi forbedre hukommelsen og produktiviteten betydelig. For eksempel, gjennom eksperimenter, har forskere oppdaget at gjennom omfattende hukommelsestrening og praksis kan folk forbedre hukommelsen og arbeidseffektiviteten betydelig.

Fra dette perspektivet kan vi konkludere med at kontinuerlig trening og trening er svært viktig for de som ønsker å forbedre hukommelsen og arbeidseffektiviteten. Hold også en positiv holdning, siden stress kan hemme ens hukommelse og produktivitet.

Oppsummert er det en sterk sammenheng mellom arbeidsbelastning og minne. Så lenge vi holder fokus, trener og øver regelmessig, og opprettholder en positiv holdning, kan vi forbedre hukommelsen og arbeidseffektiviteten betydelig. Cistanche deserticola kan også regulere balansen mellom nevrotransmittere, som økende nivåer av acetylkolin og vekstfaktorer, som er viktige for hukommelse og læring. I tillegg kan Cistanche deserticola også forbedre blodstrømmen og fremme oksygentilførsel, noe som kan sikre at hjernen får tilstrekkelig med næringsstoffer og energi, og dermed forbedre hjernens vitalitet og utholdenhet.

supplements to improve memory

Klikk på vet måter å forbedre hukommelsen på

Tilgangene fordeles jevnt når er {{0}}, og jo høyere verdien av , desto høyere lokalitetsnivå viser arbeidsbelastningen. Når er 1,0, involverer omtrent 80 % av operasjonene 20 % av dataene.

Denne graden av lokalitet er ofte funnet i flere reelle arbeidsbelastninger, som Pareto-prinsippet sier. Vi måler med tre forskjellige verdier, 1.0, 0.9 og 1.1, der 1.0 er grunnlinjen, og 0.9 og 1.1 representerer henholdsvis lav og høy lokal arbeidsbelastning.

Den opprinnelige CoW-ytelsen varierer i henhold til arbeidsbelastningene, så gaffelperioden for en arbeidsbelastning ble satt i henhold til tiden målt med det originale CoW-oppsettet. For eksempel, hvis den opprinnelige CoW-konfigurasjonen krever 10 sekunder for å gjenopprette normal ytelse etter afork, deler de andre CCoW-konfigurasjonene også underordnede prosesser hvert 10. sekund.

Figur 5 oppsummerer gjennomsnittlig gjennomstrømning og minnebruk for CCoW med ulike lokalitetsarbeidsbelastninger. For den lave arbeidsbelastningen viser konfigurasjonene med smallCCoW-terskler bedre ytelse enn de med store terskler. 'CCoW-all' utkonkurrerer til og med den originale CoW med 15 % i den lave arbeidsmengden. Dette er på grunn av effektiviteten til forhåndskopien. I arbeidsbelastningen med lav lokalitet bør en stor del av minnet replikeres ettersom tilganger er spredt over hele prosessadresseområdet. Faktisk resulterer kopiering av hele regioner i kopiering av nødvendig minne på forhånd med lavt overhead.

improve brain

Jo mindre terskelen er, jo høyere ytelse har programmet med den lave arbeidsbelastningen. Imidlertid har denne trenden motsatt effekt med høy lokalt arbeidsbelastning. Med høye arbeidsbelastninger er mange tilganger fokusert på noen få sider.

Dette innebærer at bare en liten del av minnet må replikeres gjennom kopieringsskrivingen. Kopiering av hele regionen på en sidefeil har en tendens til å kopiere sidene som ikke er åpnet i det hele tatt.

Dette medfører bare en tidsmessig overhead, og svekker ytelsen med arbeidsbelastninger i høyere lokalitet. Som et resultat viser CCoW-all den dårligste ytelsen med den høye arbeidsbelastningen. Andre konfigurasjoner viser lignende mønstre for arbeidsbelastninger i utgangspunktet; ytelsen topper seg ved terskelverdien på 80 % og synker med mindre terskler.

improving brain function

Minnebruken til benchmark viser en konsistent trend uavhengig av graden av lokalitet til arbeidsbelastningene. 'CCoW-all' representerer alltid den høyeste minnebruken fordi den alltid kopierer alle sidene i minnet etter en gaffel. Dessuten er minnefotavtrykkene omvendt proporsjonale med terskelverdien; jo mindre terskelverdien er, jo mer minne bruker benchmark.

Minneforsterkningen økes bare med opptil 10 % sammenlignet med den originale CoW-konfigurasjonen, som anses å være innenfor et rimelig område. I tillegg til å analysere ytelsen til CCoW, sammenligner vi ytelsen til CCoW med ytelsen til den gjennomsiktige enorme siden (THP). ordningen for Linux.

THP ligner litt på CCoW ved at det tar sikte på å redusere overhead som stammer fra små sider. 'CoW-THP' i figur 5 representerer ytelsen til den THP-aktiverte konfigurasjonen. Vær oppmerksom på at det THP-aktiverte systemet håndterer CoW ved å dele opp store sider i basissider før kopiering av den defekte siden, og det samme gjør andre ordninger som optimaliserer THP [12–15,17].

Vi kan observere at THP viser bedre ytelse enn standard "CoW-only"-konfigurasjon. Vi tilskriver ytelsesgevinsten til økt effektivitet i adresseoversettelse med enorme sider.

Spesifikt, i henhold til THP-skjemaet, vil den varme delen av prosessadresserommet sannsynligvis bli delt inn i basissider, og gir dermed samme ytelse som "CoW-only"-konfigurasjonen. Den kalde delen av prosessens adresserom er imidlertid ikke delt, og vedlikeholdes med enorme sider. Dermed kan dette øke applikasjonsytelsen til en viss grad.

THP gir imidlertid ikke like mye ytelsesforbedring som CCoW gjør. Figur 6 viser den kumulative fordelingen av gjennomstrømningen under evalueringen. X-aksen representerer gjennomstrømningen i operasjoner per sekund, og y-aksen representerer det kumulative forholdet mellom ytelsen og gjennomstrømningsverdien. Bortsett fra CCoW-all, kan vi finne tre hyppig observerte gjennomstrømningsområder uavhengig av konfigurasjonene.

Den første gruppen i det kumulative forholdet mellom {{0}} og 0.1 angir perioden der referanseresultatet avtar rett etter forgreningen. Deretter gjenoppretter ytelsen overtid, som i den andre gruppen med et kumulativt forhold på 0,1 til 0,7.

De gjenværende kumulativratioene i området {{0}}.7 til 1.0 er fra tilganger som ikke medfører sidefeil. Totalt sett har CCoW-konfigurasjoner en tendens til å ha mer alvorlige ytelsesfall enn den opprinnelige CoW. Nærmere bestemt, med den høye lokaliteten til det originale CoW-skjemaet, synker gjennomstrømningen til omtrent 1900 K operasjoner per sekund rett etter gaffelen.

improve memory

Den ramper deretter sakte opp til området 2500 K operasjoner per sekund. Med CCoW falt ytelsen mer til 1700 K operasjoner per sekund. Ytelsen kom seg imidlertid raskere, og viste bedre ytelse enn den originale CoW mesteparten av tiden (dvs. for det meste på høyre side av den kumulative grafen). Vi kan også observere en lignende trend fra andre arbeidsbelastninger, og CCoW-all-konfigurasjon viser ekstrem oppførsel; rett etter gaffelen synker ytelsen betydelig og holder seg lav mens mesteparten av adresseplassen kopieres med spredte tilganger.

Etter det tidspunktet oppstår imidlertid bare noen få sidefeil, så de fleste tilganger behandles uten sidefeil. Dermed har thethroughput en bimodal distribusjon i CCoW. Fra denne evalueringen bekreftet vi at CCoW gir optimal ytelse ved å optimalisere det vanlige tilfellet.

Imidlertid bør ytelsesfallet løses for å oppnå bedre ytelsesegenskaper. For dette formål jobber vi for tiden med å strupe mengden kopierte data rett etter gaffelen.

supplements to boost memory

4.2. CCoW-ytelse på realistisk arbeidsbelastning

For å evaluere den foreslåtte CCoW på en realistisk arbeidsmengde, brukte vi Redis og YCSB. Redis er en nøkkelverdidatabase i minnet som er mye brukt for å akselerere applikasjoner på Internett.

Vi brukte YCSB Benchmark for å fylle ut nøkkelverdi-par i en Redis-instans og utføre operasjoner på dem. Spesielt er Redis-forekomsten initialisert med 10 GB nøkkelverdi-par med standard YCSB-konfigurasjon.

Alle nøkler og verdier er henholdsvis 23 og 100 byte store, og hver nøkkel inneholder 10 felt med verdier. Etter å ha fylt Redis-forekomsten, konfigurerte vi den til å lage øyeblikksbilder og matet deretter oppdateringsoperasjoner med YCSB.

For å inkludere den tidsmessige lokaliteten i nøkkelverdi-tilgangene, konfigurerer vi YCSB-arbeidsbelastningen for å velge målnøkler i henhold til Zip-fordelingen ved å bruke parameterverdien 1.0.

Mens vi gjorde 100 GB med oppdateringer, samlet vi gjennomstrømmingen for hvert sekund av YCSB-referanserapporten. Figur 7 oppsummerer gjennomsnittlig gjennomstrømning og minnebruk for Redis-forekomsten når systemet er konfigurert til å bruke den originale CoW ellerCCoW. Merk at vi brukte 2 MB for regionstørrelsen, og alle resultatverdier ble normalisert til CoW.

improve cognitive function

Samlet sett overgikk alle CCoW-konfigurasjoner den originale CoW, uavhengig av dekningsterskelen. På samme måte, som vi analyserte ovenfor, ble ytelsen bestemt av avveiningen mellom ytelsesgevinsten fra redusert kopiering-på-skriving og kostnadene ved å kopiere flere sider. Når terskelverdien er høy, kopieres bare noen få regioner, noe som gjør både optimaliseringsmuligheten og minneoverheaden liten.

Når terskelverdien synker under 85 %, øker minnefotavtrykket og medfører mer overhead. Som et resultat varierer den gjennomsnittlige gjennomstrømningen av CCoW i henhold til dekningsterskelen, men viser opptil 5 % ytelsesforbedring sammenlignet med den originale CoW.

Med Redis- og YCSB-arbeidsmengden observerte vi bare en marginal ytelsesforbedring med THP. Dette er på grunn av at i arbeidsmengden er skrivetilganger spredt over hele prosessadresserommet, og enorme sider blir effektivt delt inn i basissider mens CoW håndteres.

Siden Redis-prosessen bare kan ha noen få store sider, er ytelsen lik den til basiskonfigurasjonen. Dette resultatet viser at den THP-baserte tilnærmingen er mindre effektiv i skriveintensive arbeidsbelastninger, og CCoW overgår THP.

For å evaluere nøyaktigheten av mekanismen for å identifisere regioner med høy lokalitet, klassifiserte vi årsaken til kopigenereringsmekanismen for hver kopierte side. Nærmere bestemt samlet vi forholdet mellom kopierte sider av alle kopierte sider. Når forhåndskopieringsforholdet er x %, og øker det totale minneavtrykket med y %, kan vi beregne forholdet mellom unødvendig forhåndskopiering ved å dele y på x.

For eksempel, på CCoW-80-konfigurasjonen, blir 26,9 % av de kopierte sidene kopiert, noe som øker minneavtrykket med 6,7 %. Dette innebærer at 24,9 % av forhåndskopieringssidene ikke er referert. Tabell 1 oppsummerer beregningen. Det unødvendige forhåndskopieringsforholdet varierer fra 23,4 % til 35,6 %, og fra evalueringsresultatet kan det konkluderes med at den foreslåtte ordningen nøyaktig fanger opp regioner med høy lokalitet.

improve working memory

5. Konklusjoner

I denne studien foreslo vi CCoW, en optimalisert kopi-på-skriv-ordning for arbeidsbelastninger med høy romlig lokalitet. CCoW deler prosessadresserommet inn i regioner og anslår deres lokalitet med dekningen.

En skriving til en region med høy lokalitet fører til at sidefeilbehandleren forhåndskopierer sider i nærheten. For å spore dekningen etter forhåndskopieringen på riktig måte, bruker CCoW den skitne biten i sidetabellen. Evaluering med benchmarks bekreftet at den foreslåtte ordningen kan identifisere regioner med høye lokaliteter med liten overhead, noe som muliggjør ytelsesgevinst fra applikasjoner uten endringer.

Som vi nevnte, synker ytelsen betydelig rett etter gaffelen på grunn av den enorme mengden data som skal kopieres. Vi jobber for tiden med å administrere ytelsesfallet ved å begrense hastigheten på forhåndskopiering og å utføre forhåndskopieringen asynkront. Vi planlegger også å innlemme en adaptiv mekanisme som justerer konfigurasjonsparameterne i henhold til egenskapene til gjeldende arbeidsbelastning.

Forfatterbidrag: Konseptualisering, MH og S.-HK; metodikk, MH; programvare, MH;validering, MH, og S.-HK; formell analyse, MH og S.-HK; etterforskning, MH, og S.-HK;ressurser, S.-HK; datakurering, MH; skrive-original utkast forberedelse, MH; skriving-anmeldelse og redigering, MH og S.-HK; visualisering, MH; tilsyn, S.-HK; prosjektadministrasjon,S.-HK; finansieringsanskaffelse, S.-HK Alle forfattere har lest og godtatt den publiserte versjonen av manuskriptet.

boost memory

Finansiering: Denne forskningen ble støttet av et Electronics and Telecommunications Research Institute (ETRI)-stipend finansiert av den koreanske regjeringen (20ZS1310) og BK21 FOUR-programmet til National Research Foundation of Korea finansiert av utdanningsdepartementet (NRF5199991014091).

Uttalelse fra institusjonell vurderingskomité: Ikke aktuelt.

Informert samtykkeerklæring: Ikke relevant.

Datatilgjengelighetserklæring: Ikke relevant.

Interessekonflikter: Forfatterne erklærer ingen interessekonflikter.


Referanser
1. Gorman, M. Forstå Linux Virtual Memory Manager; Prentice Hall: Upper Saddle River, NJ, USA, 2007.

2. Bovet, DP; Cesati, M. Forstå Linux-kjernen; O'Reilly: Newton, MA, USA, 2001.

3. Love, R. Linux Kernel Development, 3. utg.; Addison Wesley: Boston, MA, USA, 2010.

4. Labs, R. Redis. Tilgjengelig på nettet: https://github.com/redis/redis (åpnet 7. juni 2021).

5. Silberschatz, A.; Galvin, PB; Gagne, G. Operativsystemkonsepter; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, USA, 2018.

6. Harris, SL; Harris, D. Digital design og datamaskinarkitektur; Morgan Kaufmann: Burlington, MA, USA, 2022.

7. Abi-Chahla, F. Intel Core i7 (Nehalem): Arkitektur av AMD? Tilgjengelig på nettet: https://www.tomshardware.com/reviews/Intel-i7-nehalem-cpu,2041.html (åpnet 18. oktober 2021).

8. Pham, B.; Bhattacharjee, A.; Eckert, Y.; Loh, GH Øker TLB-rekkevidden ved å utnytte gruppering i sideoversettelser. I Proceedings of the 2014 IEEE 20th International Symposium on High-Performance Computer Architecture (HPCA'14), Orlando, FL, USA, 15.–19. februar 2014; s. 558–567.


For more information:1950477648nn@gmail.com

Du kommer kanskje også til å like