CCoW: Optimiziranje kopiranja ob pisanju ob upoštevanju prostorske lokacije pri delovnih obremenitvah, 6. del
Apr 03, 2024
Najboljša velikost regije in prag se spreminjata glede na značilnosti delovne obremenitve. Za ovrednotenje vpliva delovne obremenitve merimo delovanje CCoW pri delovnih obremenitvah z različnimi lokacijami. Natančneje, spremenili smo parameter distribucije Zipf, ki določa stopnjo lokalnosti.
Med človeškim spominom in delovno obremenitvijo obstaja tesna povezava. Ko moramo obdelati velike količine informacij ali dokončati zapletene naloge, morajo naši možgani ostati zelo pozorni, da zagotovijo, da so vse potrebne informacije obdelane in pravilno shranjene. Nevroni v možganih se nenehno povezujejo in komunicirajo, kar močno vpliva na naše razmišljanje in pomnjenje.
Medtem ko lahko obdelava velikih količin informacij in dokončanje zapletenih nalog predstavlja izziv za naš spomin in kognitivne sposobnosti, raziskave kažejo, da lahko s primernim treningom in prakso bistveno izboljšamo svoj spomin in produktivnost. Na primer, s poskusi so znanstveniki odkrili, da lahko ljudje z obsežnim treningom spomina in prakso bistveno izboljšajo svoj spomin in delovno učinkovitost.
S tega vidika lahko sklepamo, da sta stalna vadba in trening zelo pomembna za tiste, ki želijo izboljšati svoj spomin in delovno učinkovitost. Ohranite tudi pozitiven odnos, saj lahko stres ovira spomin in produktivnost.
Če povzamemo, obstaja močna povezava med delovno obremenitvijo in spominom. Dokler ostanemo zbrani, redno treniramo in vadimo ter ohranjamo pozitiven odnos, lahko bistveno izboljšamo svoj spomin in delovno učinkovitost. Cistanche deserticola lahko uravnava tudi ravnovesje nevrotransmiterjev, kot je povečanje ravni acetilholina in rastnih faktorjev, ki so pomembni za spomin in učenje. Poleg tega lahko Cistanche deserticola izboljša pretok krvi in spodbuja dostavo kisika, kar lahko zagotovi, da možgani prejmejo dovolj hranil in energije, s čimer se izboljša vitalnost in vzdržljivost možganov.

Kliknite Spoznajte načine za izboljšanje spomina
Dostopi so enakomerno porazdeljeni, ko je {{0}}, in višja kot je vrednost, višjo raven lokalnosti izkazuje delovna obremenitev. Ko je 1.0, približno 80 % operacij vključuje 20 % podatkov.
To stopnjo lokalnosti običajno najdemo pri več dejanskih delovnih obremenitvah, kot navaja Paretov princip. Merimo s tremi različnimi vrednostmi, 1.0, 0.9 in 1.1, kjer je 1.0 izhodišče, 0.9 in 1.1 pa predstavljata nizko oziroma visoko lokalno delovno obremenitev.
Izvirna zmogljivost CoW se spreminja glede na delovne obremenitve, zato je bilo obdobje razcepa za delovno obremenitev nastavljeno glede na čas, izmerjen z izvirno nastavitvijo CoW. Na primer, če prvotna konfiguracija CoW potrebuje 10 sekund za obnovitev normalne zmogljivosti po aforku, druge konfiguracije CCoW prav tako razcepijo podrejene procese vsakih 10 sekund.
Slika 5 povzema povprečno prepustnost in uporabo pomnilnika CCoW z različnimi krajevnimi delovnimi obremenitvami. Za nizko lokalno delovno obremenitev imajo konfiguracije z majhnimi pragovi CCoW boljšo zmogljivost kot tiste z visokimi pragovi. 'CCoW-all' celo prekaša originalni CoW za 15 % pri delovni obremenitvi z nizko lokacijo. To je posledica učinkovitosti predkopije. Pri delovni obremenitvi z nizko lokalnostjo je treba velik del pomnilnika podvojiti, saj so dostopi razpršeni po celotnem naslovnem prostoru procesa. Rezultat kopiranja celotnih regij je vnaprejšnje kopiranje potrebnega pomnilnika z nizkimi stroški.

Torej, manjši kot je prag, večja je zmogljivost programa z nizko lokalno obremenitvijo. Vendar pa ima ta trend nasprotni učinek pri obremenitvah z veliko lokalnostjo. Pri visokolokalnih delovnih obremenitvah je veliko dostopov osredotočenih na nekaj strani.
To pomeni, da je treba le majhen del pomnilnika podvojiti med kopiranjem-pisanjem. Kopiranje celotne regije na napaki strani ponavadi kopira strani, do katerih sploh ni dostopa.
To povzroči samo časovne stroške, kar poslabša zmogljivost pri delovnih obremenitvah z višjo lokalnostjo. Posledično CCoW-all kaže najslabšo zmogljivost z visoko lokalno delovno obremenitvijo. Druge konfiguracije kažejo podobne vzorce osnovnih delovnih obremenitev; zmogljivost doseže vrh pri vrednosti praga 80 % in upade pri nižjih pragovih.

Poraba pomnilnika v merilu uspešnosti kaže dosleden trend ne glede na stopnjo lokalnosti delovnih obremenitev. 'CCoW-all' vedno predstavlja največjo porabo pomnilnika, ker vedno kopira vse strani v pomnilniku po razcepu. Poleg tega so pomnilniški odtisi obratno sorazmerni z vrednostjo praga; manjša kot je mejna vrednost, več pomnilnika uporablja merilo uspešnosti.
Povečanje pomnilnika se poveča samo za do 10 % v primerjavi z izvirno konfiguracijo CoW, ki velja za razumno. Poleg analize delovanja CCoW primerjamo delovanje CCoW z zmogljivostjo transparentne ogromne strani (THP). shema Linuxa.
THP je nekoliko podoben CCoW v tem, da je njegov cilj zmanjšati stroške, ki izvirajo iz majhnih strani. 'CoW-THP' na sliki 5 predstavlja zmogljivost konfiguracije, ki podpira THP. Upoštevajte, da sistem, ki podpira THP, obravnava CoW tako, da velike strani razdeli na osnovne strani, preden kopira stran z napako, in enako počnejo druge sheme, ki optimizirajo THP [12–15,17].
Opazimo lahko, da THP kaže boljšo zmogljivost kot privzeta konfiguracija 'samo CoW'. Povečanje zmogljivosti pripisujemo povečani učinkovitosti pri prevajanju naslovov z ogromnimi stranmi.
Natančneje, v skladu s shemo THP bo vroč del naslovnega prostora procesa verjetno razdeljen na osnovne strani, s čimer bo zagotovljena enaka zmogljivost kot konfiguracija »samo CoW«. Vendar hladni del naslovnega prostora procesa ni razdeljen in se vzdržuje z ogromnimi stranmi. Tako lahko to do neke mere poveča zmogljivost aplikacije.
Vendar THP ne zagotavlja tolikšnega izboljšanja zmogljivosti kot CCoW. Slika 6 prikazuje kumulativno porazdelitev pretoka med vrednotenjem. Os x predstavlja pretok v operacijah na sekundo, os y pa kumulativno razmerje med zmogljivostjo in vrednost prepustnosti. Razen CCoW-all lahko najdemo tri pogosto opazovane razpone prepustnosti ne glede na konfiguracije.
Prva skupina v kumulativnem razmerju {{0}} do 0,1 označuje obdobje, v katerem primerjalna uspešnost upada takoj po forku. Nato se uspešnost obnovi čez čas, kot v drugi skupini s kumulativnim razmerjem 0.1 do 0,7.
Preostala kumulativna razmerja v območju od {{0}}.7 do 1,0 so iz dostopov, ki ne povzročajo napak na strani. Na splošno imajo konfiguracije CCoW močnejše padce zmogljivosti kot prvotne CoW. Natančneje, z visoko lokalno delovno obremenitvijo prvotne sheme CoW pretok takoj po razcepu pade na približno 1900 K operacij na sekundo.

Nato se počasi poveča na obseg 2500 K operacij na sekundo. Pri CCoW je zmogljivost še padla, na razpon 1700 K operacij na sekundo. Vendar pa se je zmogljivost obnovila hitreje in je večino časa pokazala boljšo zmogljivost kot prvotni CoW (tj. večinoma na desni strani kumulativnega grafa). Podoben trend lahko opazimo tudi pri drugih delovnih obremenitvah in konfiguracija CCoW-all kaže izjemno vedenje; takoj po razcepu zmogljivost znatno pade in ostane nizka, medtem ko se večina naslovnega prostora kopira z razširjenimi dostopi.
Po tej točki pa se pojavi le nekaj napak strani, tako da je večina dostopov obdelanih brez napak strani. Tako ima pretok bimodalno porazdelitev v CCoW. Iz te ocene smo potrdili, da CCoW zagotavlja optimalno zmogljivost z optimizacijo običajnega primera.
Vendar je treba obravnavati padec zmogljivosti, da bi dosegli boljše lastnosti delovanja. V ta namen trenutno delamo na zmanjšanju količine kopiranih podatkov takoj po razcepu.

4.2. Učinkovitost CCoW pri realni delovni obremenitvi
Za ovrednotenje predlaganega CCoW pri realni delovni obremenitvi smo uporabili Redis in YCSB. Redis je baza podatkov ključev in vrednosti v pomnilniku, ki se pogosto uporablja za pospeševanje aplikacij v internetnem merilu.
Uporabili smo YCSB Benchmark za zapolnitev parov ključ-vrednost v primerku Redis in za izvajanje operacij na njih. Natančneje, primerek Redis je inicializiran z 10 GB parov ključ-vrednost s privzeto konfiguracijo YCSB.
Vsi ključi in vrednosti so veliki 23 oziroma 100 bajtov, vsak ključ pa vsebuje 10 polj vrednosti. Po zapolnitvi primerka Redis smo ga konfigurirali za izdelavo posnetkov in nato z YCSB dovajali operacije posodabljanja.
Da bi vključili časovno lokalnost v dostope ključ-vrednost, smo nastavili delovno obremenitev YCSB za izbiro ciljnih ključev glede na distribucijo Zip z uporabo vrednosti parametra 1.0.
Medtem ko smo izvajali 100 GB posodobitev, smo zbrali prepustnost za vsako sekundo poročila YCSB o primerjalnem preizkusu. Slika 7 povzema povprečno prepustnost in porabo pomnilnika primerka Redis, ko je sistem konfiguriran za uporabo originalnega CoW aliCCoW. Upoštevajte, da smo za velikost regije uporabili 2 MB in vse vrednosti rezultatov so bile normalizirane na vrednost CoW.

Na splošno so vse konfiguracije CCoW presegle prvotno CoW, ne glede na prag pokritosti. Podobno, kot smo analizirali zgoraj, je bila zmogljivost določena s kompromisom med pridobitvijo zmogljivosti zaradi zmanjšanega kopiranja ob pisanju in dodatnih stroškov kopiranja dodatnih strani. Ko je vrednost praga visoka, se kopira le nekaj regij, zaradi česar sta priložnost za optimizacijo in poraba pomnilnika majhna.
Ko se mejna vrednost zmanjša pod 85 %, se pomnilniški odtis poveča in povzroči več stroškov. Posledično se povprečna prepustnost CCoW spreminja glede na prag pokritosti, vendar kaže izboljšanje zmogljivosti do 5 % v primerjavi z originalnim CoW.
Z delovno obremenitvijo Redis in YCSB smo opazili le obrobno izboljšanje zmogljivosti s THP. To je posledica tega, da so med delovno obremenitvijo pisalni dostopi razpršeni po celotnem naslovnem prostoru procesa, ogromne strani pa so med obdelavo CoW učinkovito razdeljene na osnovne strani.
Ker ima lahko proces Redis le nekaj ogromnih strani, je njegova zmogljivost podobna kot pri osnovni konfiguraciji. Ta rezultat dokazuje, da je pristop, ki temelji na THP, manj učinkovit pri pisno intenzivnih delovnih obremenitvah in CCoW prekaša THP.
Da bi ocenili natančnost mehanizma pri prepoznavanju območij z veliko lokalnostjo, smo razvrstili razlog za mehanizem za ustvarjanje kopij za vsako kopirano stran. Natančneje, zbrali smo razmerje med kopiranimi stranmi in vsemi kopiranimi stranmi. Ko je razmerje vnaprejšnjega kopiranja x %, kar poveča skupni pomnilniški odtis za y %, lahko izračunamo razmerje nepotrebnega predkopiranja tako, da y delimo z x.
Na primer, pri konfiguraciji CCoW-80 se kopira 26,9 % kopiranih strani, kar poveča pomnilniški odtis za 6,7 %. To pomeni, da 24,9 % strani pred kopiranjem ni navedenih. Tabela 1 povzema izračun. Razmerje nepotrebnega predkopiranja se giblje od 23,4 % do 35,6 %, iz rezultata vrednotenja pa je mogoče sklepati, da predlagana shema natančno zajame območja z visoko lokalnostjo.

5. Sklepi
V tej študiji smo predlagali CCoW, optimizirano shemo kopiranja ob pisanju za delovne obremenitve z visoko prostorsko lokalnostjo. CCoW razdeli procesni naslovni prostor na regije in oceni njihovo lokalnost s pokritostjo.
Pisanje v regijo z visoko lokalnostjo povzroči, da obravnavalec pagefault predkopira bližnje strani. Za pravilno sledenje pokritosti po predkopiranju CCoW izkorišča umazan bit v tabeli strani. Vrednotenje z merili uspešnosti je potrdilo, da lahko predlagana shema identificira regije z visoko lokalnostjo z majhnimi režijskimi stroški, kar omogoča izboljšanje zmogljivosti aplikacij brez sprememb.
Kot smo omenili, zmogljivost občutno pade takoj po forku zaradi ogromne količine podatkov za kopiranje. Trenutno delamo na upravljanju zmogljivosti spuščanja z dušenjem stopnje predkopiranja in asinhronim izvajanjem predkopiranja. Načrtujemo tudi vključitev prilagodljivega mehanizma, ki nastavi konfiguracijske parametre glede na značilnosti trenutne delovne obremenitve.
Avtorski prispevki: Konceptualizacija, MH in S.-HK; metodologija, MZ; programska oprema, MH; validacija, MH in S.-HK; formalna analiza, MH in S.-HK; preiskava, MH in S.-HK; viri, S.-HK; kuriranje podatkov, MH; pisanje-priprava izvirnega osnutka, MZ; pisanje-recenzija in urejanje, MH in S.-HK; vizualizacija, MZ; nadzor, S.-HK; projektna administracija, S.-HK; pridobitev sredstev, S.-HK Vsi avtorji so prebrali objavljeno različico rokopisa in se z njo strinjali.

Financiranje: To raziskavo sta podprla nepovratna sredstva raziskovalnega inštituta za elektroniko in telekomunikacije (ETRI), ki jo financira korejska vlada (20ZS1310), in program BK21 FOUR Nacionalne raziskovalne fundacije Koreje, ki ga financira ministrstvo za izobraževanje (NRF5199991014091).
Izjava institucionalnega nadzornega odbora: Ni primerno.
Izjava o informiranem soglasju: Ni primerno.
Izjava o razpoložljivosti podatkov: Ni uporabno.
Nasprotje interesov: Avtorji izjavljajo, da ni navzkrižja interesov.
Reference
1. Gorman, M. Razumevanje upravitelja virtualnega pomnilnika Linux; Prentice Hall: Upper Saddle River, NJ, ZDA, 2007.
2. Bovet, DP; Cesati, M. Razumevanje jedra Linuxa; O'Reilly: Newton, MA, ZDA, 2001.
3. Love, R. Razvoj jedra Linuxa, 3. izdaja; Addison Wesley: Boston, MA, ZDA, 2010.
4. Labs, R. Redis. Dostopno na spletu: https://github.com/redis/redis (dostopano 7. junija 2021).
5. Silberschatz, A.; Galvin, PB; Gagne, G. Koncepti operacijskega sistema; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, ZDA, 2018.
6. Harris, SL; Harris, D. Digitalno oblikovanje in računalniška arhitektura; Morgan Kaufmann: Burlington, MA, ZDA, 2022.
7. Abi-Chahla, F. Intel Core i7 (Nehalem): Arhitektura AMD? Na voljo na spletu: https://www.tomshardware.com/reviews/Intel-i7-nehalem-cpu,2041.html (dostopano 18. oktobra 2021).
8. Pham, B.; Bhattacharjee, A.; Eckert, Y.; Loh, GH Povečanje dosega TLB z izkoriščanjem združevanja v gruče pri prevodih strani. V zborniku 20. mednarodnega simpozija IEEE o visokozmogljivi računalniški arhitekturi (HPCA'14) 2014, Orlando, FL, ZDA, 15.–19. februar 2014; str. 558–567.
For more information:1950477648nn@gmail.com






