CCoW: kirjutamisel kopeerimise optimeerimine, võttes arvesse töökoormuste ruumilist paiknemist, 1. osa

Apr 02, 2024

Abstraktne:

Kopeerimine kirjutamisel (CoW) on oluline mäluhaldustehnika, mis võimaldab tõhusat lehtede jagamist protsesside vahel. Täpsemalt, kombineerides CoW-i ja kahvli süsteemikutsega, saavad rakendused isegi tohutu mälumahuga teha hetkemälus olevatest andmetest väikese üldkuluga hetketõmmise.

Mälu andmed viitavad arvuti mällu salvestatud andmetele. Kuigi see erineb inimese mälust, on nende kahe vahel teatav seos.

Esiteks võivad mäluandmed soodustada inimese mälu arengut. Näiteks saame kasutada arvutite salvestamise, salvestamise ja otsimise funktsioone, mis aitavad meil teadmisi õppida, meeles pidada ja mõista. Kaasaegne tehnoloogia annab meile tõhusamad viisid meeldejätmiseks ja õppimiseks, mis tagab teadmiste ja oskuste parema omandamise.

Teiseks võivad mäluandmed aidata inimestel oma mälestusi paremini hallata. Andmeid korralikult korrastades ja klassifitseerides saame kiiremini leida ja meelde tuletada vajalikku infot, mis on meie eluks, tööks ja õppimiseks väga oluline.

Kõige tähtsam on see, et mälus olevad andmed hoiavad ära inimese mälukaotuse. Inimese mälu aja jooksul järk-järgult nõrgeneb, seda protsessi nimetatakse "unustamiseks". Andmete salvestamisega arvuti kõvakettale saame aga tagada, et meile vajalikku teavet ja mälestusi on võimalik igal ajal säilitada ja taastada.

Seetõttu võib mäluandmete ja inimmälu seost öelda positiivseks. Kuigi me ei tohiks liiga palju tehnoloogiale lootma jääda, võib mäluandmete mõistlik kasutamine parandada meie töö efektiivsust ja õpitulemusi, aidata meil paremini mälu hallata ja vältida unustamist. On näha, et me peame parandama mälu ja Cistanche deserticola võib oluliselt parandada mälu, sest Cistanche deserticola on traditsiooniline Hiina ravimmaterjal, millel on palju ainulaadseid toimeid, millest üks on mälu parandamine. Cistanche deserticola efektiivsus tuleneb selles sisalduvatest mitmetest aktiivsetest koostisosadest, sealhulgas parkhape, polüsahhariidid, flavonoidglükosiidid jne. Need koostisosad võivad mitmel viisil edendada aju tervist.

improve memory

Klõpsake nuppu Tea 10 võimalust mälu parandamiseks

Kuna aga CoW toimub lehe veakäsitlejas lehekülje kohta, peaks iga kord, kui lehe tõrge ilmneb, sekkuma operatsioonisüsteem. See põhjustab kirjutamismahukate töökoormuste jõudluse märkimisväärset halvenemist.

Selles artiklis pakutakse välja katvusepõhine kopeerimis-kirjutamine (CCoW), optimeeritud CoW-skeem, mis võtab arvesse mälu juurdepääsu asukohta, et leevendada CoW-i probleemi. CCoW mõõdab ruumilist asukohta protsessi aadressiruumides katvuse kontseptsiooniga.

CoW-i töötlemise ajal kopeerib CCoW kõrge asukohaga mälupiirkondade jaoks ette mitu lehekülge, minimeerides sellega OS-i kaasamist intensiivse kirjutamiskoormuse korral. Selgitame paikkonna mõõtmise väljakutseid ja pakume kontseptsiooni rakendamiseks optimeerimist.

Prototüübi hindamine näitab, et see lähenemisviis võib väikese mälumahuga parandada rakenduste üldist jõudlust kuni 10%.

Märksõnad: kopeerimine-kirjutamine; virtuaalse mälu süsteem; kahvel; Redis; lehe viga.

1. Sissejuhatus

Operatsioonisüsteemi (OS) põhiülesanne on hallata väärtuslikke süsteemiressursse ja kirjutamisel kopeerimine (CoW) on üks põhilisemaid mäluhaldustehnikaid, mida enamik kaasaegseid operatsioonisüsteeme kasutavad.

Kui kahel või enamal protsessil peavad olema samad andmed, võimaldab CoW-skeem protsessidel jagada samu lehti, selle asemel, et lehti kohe kopeerida. Jagatud lehed dubleeritakse nõudmisel ainult siis, kui üks protsessidest kirjutab jagatud lehtedele.

Virtuaalsed mälusüsteemid suudavad tõhusalt pakkuda protsesside vahel andmete jagamist ning kopeerimisel kirjutamisel põhinevad mitmesugused virtuaalse mälu funktsioonid, nagu aadressiruumi dubleerimine protsesside kahvlite ajal, samade lehtede dubleerimine ja lehtede nulljagamine [1–3]. Tänu nendele funktsioonidele saavad rakendused teha endast väikese ruumikuluga koopia ja kasutada klooni asjakohaselt.

Näiteks Redis, üks populaarsemaid mälusiseste võtmeväärtuste salvestussüsteeme [4], kasutab koos kahvlisüsteemiga kopeerimist kirjutamisel, et kutsuda mälus püsivaid andmeid salvestusruumi. Sissetulevate päringute teenindamise ajal loob Redise põhiprotsess perioodiliselt kahvliga alamprotsessi. Alamprotsess algab mälu hetktõmmisega, mis on identne põhiprotsessiga, et salvestada mälus olevad andmed mällu.

short term memory how to improve

Kuna hetktõmmis on põhiprotsessi aadressiruumist isoleeritud, kuid seda hallatakse kirjutamise-kopeerimise abil, ei vaja põhi- ja alamprotsessid praeguste andmete ja hetktõmmise järjepidevuse säilitamiseks keerulist mehhanismi.

Seega võime arvata, et kirjutamisel kopeerimine on virtuaalmälusüsteemis hädavajalik. Praegune kirjutamis-kirjutamine on aga problemaatiline mälumahukates rakendustes, kus on palju kirjutuskoormust. Täpsemalt, andmete dubleerimine toimub tavaliselt OS-i lehetõrgete töötlejas. Kuna andmete dubleerimist töödeldakse ühe lehekülje kohta mitme kirjutusega, võib protsessiga kaasneda märkimisväärne hulk lehevigu.

OS on seotud iga lehe veaga, mille tulemuseks on sagedased kasutaja-tuuma režiimi lülitid. Arvestades mälumahukate rakenduste tohutut mälujala, on režiimilülitite arv suur.

Lisaks muudetakse dubleerimise ajal lehetabelit, mis toob kaasa kõigi süsteemi tuumade tõlkepuhvri (TLB) mahavõtmise. Kõik need toovad kaasa märkimisväärseid üldkulusid ja halvendavad rakenduste jõudlust.

Selles artiklis pakutakse välja katvusepõhine kirjutamisel kopeerimine (CCoW), uudne kirjutamisel kopeerimise optimeerimisskeem. Kui lehele pääsete juurde kirjutamiseks, pääseb mälujuurdepääsude ruumilise asukoha tõttu tõenäoliselt peagi juurde ka selle läheduses olevatele lehtedele. CCoW kasutab ruumilist asukohta, et vähendada kirjutamisel kopeerimisel tekkivate lehtede vigade arvu. Täpsemalt, CCoW töötleb kirjutamisel kopeerimist suure detailsusega (nimetatakse piirkonnaks).

Kopeerides lehe veakäsitlejas mitu lehekülge, saab CCoW vähendada märkimisväärselt palju kirjutamise peale kopeerimise ja sellega kaasnevate lehtede tõrkeid. Ruumilise lokaalsuse määr on aga olenevalt asukohast protsessi aadressiruumis väga erinev ja mälu madala asukohaga osade dubleerimine toob kaasa ainult aja ja ruumi üldkulud.

Selle puuduse ületamiseks pakume välja täpse madala üldkulude mehhanismi, et hinnata ruumilist asukohta protsessi aadressiruumis. CCoW loendab igas piirkonnas kirjutatavate koopiate ja kirjutamiste arvu.

Kandes asukohateavet üle kahvlite, saame hinnata ruumilise asukoha määra ja CCoW teostab tõhusalt eelkoopiat ainult kõrge asukohaga piirkondade jaoks. Rakendasime kavandatud CCoW-skeemi Linuxi tuumas.

Kuna rakendused on integreeritud operatsioonisüsteemi virtuaalmälusüsteemi, saavad rakendused CCoW-st kasu ilma muudatusteta. Analüüsisime jõudlusnäitajaid mikromõõdustikuga ja realistlike töökoormustega võrdlusalust kasutav hindamine näitab, et CCoW võib mõistliku mälumahuga parandada rakenduse jõudlust kuni 10%.

ways to improve memory

Ülejäänud osa sellest artiklist on korraldatud järgmiselt. 2. osas anname ülevaate paberi taustast ja sellega seotud töödest, sealhulgas virtuaalsest mälust ja kahvlist. CCW disaini ja selle rakendamise üksikasju selgitame jaotises 3. Peatükis 4 on toodud CCW hindamistulemused. Lõpuks lõpetame selle artikli 5. jaotises.

2. Taust ja sellega seotud töö

2.1. Lehitsemine ja virtuaalne mälu

Peaaegu kõik kaasaegsed arvutid ja operatsioonisüsteemid kasutavad oma peamise mäluhaldusskeemina otsingut ja virtuaalmälu [5]. Põhimälu on jagatud ühesuurusteks lehtedeks ja OS-id eraldavad või eraldavad mälu leheüksuse kasutajaprotsessidest.

OS-id säilitavad ka protsesside aadressiruumide vastendamist süsteemi füüsilise asukohaga. Protsessi aadressiruumi iga loogiline leht vastendatakse selle füüsilise asukohaga ja see vastendus salvestatakse lehetabeli kujul.

Protsessi mäluviite käsitlemiseks tõlgib mäluhaldusüksus (MMU), protsessori riistvarakomponent, taotletud aadressi selle füüsiliseks aadressiks, viidates leheküljetabelile. Leheküljetabel sisaldab leheküljetabeli kirjeid (PTE). Iga PTE sisaldab kaardistamise teavet ja võib sisaldada täiendavaid välju vastava lehe oleku ja kaardistamise kirjeldamiseks.

Kuigi lehe suurus on arhitektuurispetsiifiline, on enamikus arhitektuurides tavaliselt 4 KB. See tähendab, et protsessi aadressiruumi igal 4 KB-l peaks olema üks PTE. Arvestades protsessi aadressiruumi tohutut suurust, võib lehetabeli suurus isegi ühe protsessi puhul olla tohutu.

Näiteks 4 KB lehtede ja 8-baidise PTE-ga 64-bitise arhitektuuriga protsessi leheküljetabeli suurus oleks 32 PB (264/212 × 8=255 baiti). Kuid aadressiruum on tavaliselt hõredalt asustatud ja suurem osa aadressiruumist pole vajalik.

See valgustab lehetabeli hierarhilist korraldust. Kogu lehe tabel on jagatud lehe tabeli osadeks, mis sobivad lehele. Lehekülje tabeli osi ei jaotata jaotamata aadressipiirkondadele.

memory enhancement

Täidetud lehetabeli tükid saab kokku võtta ashigher-taseme lehetabeli osadeks. Seda kaudset juhist korratakse seni, kuni ühel lehel on ainult tükid, võimaldades seeläbi lehetabelite kompaktset vormi.


For more information:1950477648nn@gmail.com

Ju gjithashtu mund të pëlqeni