CCoW: Optimiziranje kopiranja ob pisanju ob upoštevanju prostorske lokacije pri delovnih obremenitvah, 4. del
Apr 03, 2024
3.3. Sledenje dostopu do vnaprej kopiranih strani
CCoW naj bi amortiziral režijske stroške za pogoste napake pri obdelavi strani. Vendar vnaprejšnje kopiranje strani vodi do druge težave: sledenje dostopom strani po kopiranju.
Med obdelavo napak in pomnilnikom obstaja močna povezava. Za večino ljudi se na napake pogosto gleda kot na nekaj slabega, vendar so lahko priložnost, da se učimo in rastemo. S pravilnim ravnanjem z napakami lahko izboljšamo svoj spomin in nam pomagajo bolje razumeti in se odzvati na podobne situacije.
Eden od načinov za spopadanje z napakami je razmislek in analiza. Ko naredimo napako, si moramo vzeti čas za razmislek o tem, kako je do napake prišlo in kaj lahko storimo, da preprečimo, da bi se podobna napaka ponovila. Z razmislekom lahko prepoznamo temeljne vzroke težav in razvijemo protiukrepe za njihovo rešitev. Pri tovrstni analizi ne gre le za napake, lahko nam pomaga sprejemati boljše odločitve v drugih življenjskih situacijah in nam pomaga izboljšati naše veščine in sposobnosti.
Drug način za spopadanje z napakami je, da si jih dovolite sprejeti in iti naprej. Ne smemo dovoliti, da nas napake upočasnijo ali razočarajo. Namesto tega bi morali nanje gledati kot na priložnosti za rast, dovoliti si, da se učimo iz svojih napak in se še naprej izboljšujemo. Če znamo sprejeti napake in se z njimi soočiti s pozitivnim odnosom, lahko zgradimo močno miselnost in samozavest, kar je zelo pomembno za ohranjanje dobrega spomina.
Končno lahko okrepimo svoj spomin tako, da delimo svoje napake. Ko drugim pripovedujemo o napakah, ki smo jih storili, se teh dogodkov globlje spominjamo. To je zato, ker moramo, ko povemo drugim, stvari razjasniti in se spomniti vseh podrobnosti napake. Tako lahko bolje razumemo te napake in preprečimo, da bi se ponovile.
Če povzamemo, obstaja močna povezava med obdelavo napak in pomnilnikom. S pravilnim ravnanjem z napakami lahko okrepimo svoj spomin, izboljšamo svoje spretnosti in sposobnosti ter postanemo boljši ljudje. Na napake moramo gledati kot na priložnost, se aktivno soočati s težavami ter se iz njih učiti in rasti. Vidimo, da moramo izboljšati spomin, in Cistanche deserticola lahko bistveno izboljša spomin, saj je Cistanche deserticola tradicionalno kitajsko zdravilno sredstvo, ki ima številne edinstvene učinke, eden od njih je izboljšanje spomina. Učinkovitost Cistanche deserticola izhaja iz več aktivnih sestavin, ki jih vsebuje, vključno s taninsko kislino, polisaharidi, flavonoidnimi glikozidi itd. Te sestavine lahko spodbujajo zdravje možganov na različne načine.

Kliknite Spoznaj kratkoročni spomin, kako izboljšati
V izvirni shemi kopiranja ob pisanju prvi zapis na vsako stran zajame obravnavalec napak strani.
Kopira se samo stran z napako in sistem lahko natančno sledi dostopu do vsake strani prek upravljalnika napak strani. Po drugi strani pa, ko sistem kopira celotno regijo, so vse strani v regiji preslikane v proces s pisnim dovoljenjem.
Tako lahko nadaljnja pisanja na te kopirane strani potekajo brez sprožitve mehanizma za obravnavanje napak strani, tako da sistem ne more slediti dostopom do kopiranih strani. To je lahko problematično, če postopek večkrat izvaja razcepitve. Recimo, da ima območje visoko prostorsko lokalnost in je epoha definirana kot obdobje med dvema razcepoma.
Visoko lokalnost je mogoče zajeti s štetjem napak strani, ki so se zgodile v regiji. Potem predpostavimo, da proces ustvari nov proces z vilicami. Ko se z razcepom začne novo obdobje, bo prvi pisalni dostop do ene od strani v regiji sprožil CCoW in kopiral vse strani v regiji. Zdaj ima postopek vse strani z dovoljenjem za pisanje in nobena nadaljnja napaka strani se ne ustvari iz regije do konca epohe.
Ko se novo obdobje začne znova, se šteje, da ima regija nizko pokritost v obdobju, glede na to, da ima regija samo eno stran za kopiranje ob pisanju. Tako je vsako pisanje v regijo obdelano prek izvirnega mehanizma kopiranja ob pisanju na stran, s čimer je ogrožena možnost optimizacije delovanja, tudi če ima regija visoko lokalnost.
Upoštevajte, da se v naslednjem obdobju spet šteje, da ima regija visoko lokalnost, postopek pa se ponovi, da se situacija spremeni. Za rešitev te težave potrebujemo mehanizem za sledenje dostopu strani po kopiranju.
Ta študija predlaga uporabo umazanega bita v vnosu tabele strani (PTE). Na splošno moderne arhitekture vzdržujejo različne informacije v PTE za vsako stran in umazani bit je eno od polj, ki jih podpira večina arhitektur.
Ko MMU obdela pisalni dostop do pomnilnika, samodejno nastavi umazani bit ustrezne strani. To obratno pomeni, da ko je umazan bit za stran nastavljen, je bila stran posodobljena z dostopi za pisanje.
Na podlagi te zamisli smo modificirali mehanizem za izračun kritja. Sprva se vse regije štejejo za običajne regije. Med razcepitvijo se pokritost za normalne regije izračuna s številom kopij ob zapisovanju z uporabo enačbe (1).

Med obravnavo napake strani za regijo z veliko lokalnostjo se vse strani v regiji kopirajo s počiščenim umazanim bitjem. Poleg tega je regija označena kot predkopirana regija. Med razcepitvijo se pokritost za kopirano regijo izračuna s številom umazanih strani v tej regiji, kot sledi:
![]()
Izračunana pokritost za vsako regijo se prenaša skozi fork in se uporablja kot metrika za prostorsko lokacijo regije. Ko v regiji pride do napake pri pisanju strani, sistem preveri pokritost regije in lahko vnaprej kopira strani za regije z veliko lokalnostjo.
Slika 2 ponazarja situacijo, ko se pokritost izračuna po predkopijah. Recimo, da sta obe regiji kopirani (osenčeni z rdečo) in da imajo vse strani 0, 2, 3, 4 in 11 nastavljen dirtybit.
Za izračun pokritosti med obdelavo razcepa sistem uporablja umazane bite namesto števila kopiranja ob pisanju, saj so regije kopirane v trenutni dobi. Tako ima regija 0 pokritost 66 %.
Medtem ko je pokritost regije 1 15 %. Za obravnavo napake strani za stran 3 se območje 0 ponovno kopira, medtem ko se napaka strani za stran 9 obravnava z izvirnim mehanizmom. Na ta način lahko preprečimo, da bi regije z veliko lokalnostjo zdrsnile iz fokusa.

3.4. Ujemanje kraja
Ker je program za obravnavo napak strani na poti, ki je kritična za zmogljivost v operacijskem sistemu, bi morali zmanjšati stroške izvajanja predlagane sheme.
V bistvu CCoW zahteva mehanizem za izračun pokritosti in najenostavnejši način implementacije te funkcije je sledenje stranem, ki sprožijo napake strani, z bitno sliko, kot smo opisali v razdelku 3.2.
Med obravnavanjem napake strani sistem nastavi bit, ki ustreza strani z napako. Med razcepom sistem skenira bitno sliko, da prešteje število strani z napako za vsako regijo in izračuna pokritost. Bitna slika se po izračunu ponastavi.
Ta pristop je preprost, vendar nalaga velike prostorske in časovne omejitve. Sistem mora vzdrževati enobitni vnos bitne slike za vsako 4 KB stran in med razcepom pregledati celotno bitno sliko. Glede na ogromen pomnilniški odtis pomnilniško intenzivnih aplikacij bodo te operacije med razcepom povzročile veliko obremenitev, kar bo izravnalo učinkovitost delovanja CCoW. To izvedbo optimiziramo z izkoriščanjem značilnosti napake strani.
Če pride do napake strani s strani, stran ne povzroči dodatnih napak strani, dokler proces ne ustvari novega procesa. Tako lahko vsaka stran sproži napako največ ene strani, za regijo z n stranmi pa se lahko napake strani zgodijo največ n-krat. To pomeni, da za izračun pokritosti zadostuje štetje števila napak strani na regijo, namesto vzdrževanja bitne slike za posamezne strani.
Tako nadomestimo bitno sliko s števci napak. Vsaka regija je povezana s parom števcev, kot sledi: eden za štetje napak strani v zadnji dobi in drugi za štetje napak strani v trenutni dobi.
Prvi se uporablja za določanje prostorske umeščenosti regij, drugi pa se uporablja za spremljanje prostorske umeščenosti trenutne epohe. Med razcepom se trenutni števec napak prekopira na prejšnji števec napak.
Če je območje kopirano v tem obdobju, se število umazanih strani v območju namesto tega zapiše v prejšnji števec napak. Števci se zapolnijo med ustvarjanjem novega navideznega pomnilniškega območja (VMA) in se ponovno zahtevajo, ko je njihov ustrezen VMA skrčen ali nepreslikan. Ta optimizacija zmanjša porabo prostora za CCoW z enega bita na stran na nekaj bajtov na regijo.

For more information:1950477648nn@gmail.com






