CCoW: kirjutamisel kopeerimise optimeerimine, võttes arvesse töökoormuste ruumilist paiknemist, 6. osa
Apr 03, 2024
Parim piirkonna suurus ja lävi varieeruvad olenevalt töökoormuse omadustest. Töökoormuse mõju hindamiseks mõõdame CCoW jõudlust erinevate kohtade töökoormustele. Täpsemalt muutsime Zipfdistributioni parameetrit, mis määrab lokaalsuse astme.
Inimese mälu ja töökoormuse vahel on tihe seos. Kui meil on vaja töödelda suuri teabekoguseid või täita keerulisi ülesandeid, peab meie aju jääma väga valvsaks, et tagada kogu vajaliku teabe korrektne töötlemine ja salvestamine. Neuronid ajus on pidevalt ühenduses ja suhtlevad, mis mõjutab suuresti seda, kuidas me mõtleme ja mäletame.
Kuigi suurte teabehulkade töötlemine ja keerukate ülesannete täitmine võivad meie mälu ja kognitiivseid võimeid proovile panna, näitavad uuringud, et korraliku koolituse ja harjutamisega saame oluliselt parandada oma mälu ja tootlikkust. Näiteks on teadlased katsetega avastanud, et ulatusliku mälutreeningu ja -praktikaga saavad inimesed oluliselt parandada oma mälu ja töö efektiivsust.
Sellest vaatenurgast võib järeldada, et pidev harjutamine ja treeningud on väga olulised neile, kes soovivad parandada oma mälu ja töö efektiivsust. Säilitage ka positiivne suhtumine, sest stress võib pärssida mälu ja produktiivsust.
Kokkuvõttes on töökoormuse ja mälu vahel tugev seos. Niikaua, kui oleme keskendunud, treenime ja harjutame regulaarselt ning säilitame positiivse suhtumise, saame oluliselt parandada oma mälu ja töö efektiivsust. Cistanche deserticola võib reguleerida ka neurotransmitterite tasakaalu, näiteks suurendada atsetüülkoliini ja kasvufaktorite taset, mis on olulised mälu ja õppimise jaoks. Lisaks võib Cistanche deserticola parandada ka verevoolu ja soodustada hapniku kohaletoimetamist, mis tagab aju piisava toitainete ja energia kättesaamise, parandades seeläbi aju elujõudu ja vastupidavust.

Klõpsake nuppu Tea, kuidas oma mälu parandada
Juurdepääsud jaotatakse ühtlaselt, kui on {{0}} ja mida kõrgem on väärtus, seda kõrgem on töökoormuse asukoht. Kui väärtus on 1,0, hõlmab umbes 80% toimingutest 20% andmetest.
Seda lokaalsuse astet leidub tavaliselt mitmes reaalses töökoormuses, nagu seda näevad Pareto põhimõtted. Mõõdetakse kolme erineva väärtusega: 1.0, 0.9 ja 1.1, kus 1.0 on lähtejoon ning 0.9 ja 1.1 tähistavad vastavalt madala ja suure paikkonna töökoormus.
Algne CoW jõudlus varieerub olenevalt töökoormustest, seega määrati töökoormuse periood vastavalt algse CoW seadistusega mõõdetud ajale. Näiteks kui algne CoW konfiguratsioon nõuab normaalse jõudluse taastamiseks pärast forki 10 sekundit, kahveldavad ka teised CCoW konfiguratsioonid alamprotsesse iga 10 sekundi järel.
Joonis 5 võtab kokku CCoW keskmise läbilaskevõime ja mälukasutuse erinevate asukohtade töökoormustega. Madala asukohaga töökoormuse jaoks on väikeste CCoW lävedega konfiguratsioonide jõudlus parem kui suurte lävedega konfiguratsioonidel. 'CCoW-all' edestab algset CoW-d isegi 15% madala asukohaga töökoormuses. See on tingitud eelkoopia efektiivsusest. Madala asukohaga töökoormuse korral tuleks suur osa mälust paljundada, kuna juurdepääsud on hajutatud kogu protsessi aadressiruumis. Tegelikult põhjustab kogu piirkondade kopeerimine vajaliku mälu eelnevalt väikese kuluga.

Seega, mida väiksem on lävi, seda suurem on programmi jõudlus väikese töökoormusega. Sellel suundumusel on aga suure paikkonna töökoormuse korral vastupidine mõju. Suure lokaalse töökoormuse korral keskenduvad paljud juurdepääsud mõnele lehele.
See tähendab, et kopeerimise-kirjutamise ajal tuleb kopeerida vaid väike osa mälust. Lehe vea korral kogu piirkonna kopeerimine kipub kopeerima leheküljed, millele üldse juurde ei pääseta.
See toob kaasa ainult ajutised lisakulud, mis halvendab jõudlust suurema asukoha töökoormuse korral. Selle tulemusel on CCoW-all suure töökoormuse juures kõige halvem jõudlus. Teised konfiguratsioonid näitavad algtaseme töökoormuse sarnaseid mustreid; jõudlus saavutab haripunkti 80% läviväärtuse juures ja väheneb väiksemate lävede korral.

Võrdlusaluse mälukasutus näitab järjepidevat suundumust olenemata töökoormuse asukohast. 'CCoW-all' tähistab alati suurimat mälukasutust, kuna kopeerib alati kõik mälus olevad lehed pärast kahvlit. Peale selle on mälujalajäljed pöördvõrdelised läviväärtusega; mida väiksem on läviväärtus, seda rohkem mälu etalon kasutab.
Mälu võimendus suureneb vaid kuni 10% võrreldes algse CoW konfiguratsiooniga, mida peetakse piisavas piirkonnas asuvaks. Lisaks CCoW toimivuse analüüsimisele võrdleme CCoW jõudlust läbipaistva tohutu lehe (THP) jõudlusega. Linuxi skeem.
THP on mõnevõrra sarnane CCoW-ga, kuna selle eesmärk on vähendada väikestest lehtedest tulenevat üldkulusid. Joonisel 5 kujutatud "CoW-THP" tähistab THP-toega konfiguratsiooni jõudlust. Pange tähele, et THP-toega süsteem käsitleb CoW-d, jagades enne vigase lehe kopeerimist suured lehed põhilehtedeks, ja seda teevad ka teised THP-d optimeerivad skeemid [12–15,17].
Võime täheldada, et THP-l on parem jõudlus kui vaikekonfiguratsioonil "ainult CoW". Peame jõudluse kasvu põhjuseks suuremate lehtedega aadressi tõlkimise tõhususe.
Täpsemalt, vastavalt THP-skeemile jagatakse protsessi aadressiruumi kuum osa tõenäoliselt põhilehtedeks, tagades sellega sama jõudluse kui "ainult CoW" konfiguratsioonil. Protsessi aadressiruumi külm osa ei ole aga poolitatud ja seda hoitakse suurte lehtedega. Seega võib see rakenduse jõudlust mingil määral suurendada.
Kuid THP ei paranda nii palju jõudlust kui CCoW.Joonis 6 näitab läbilaskevõime kumulatiivset jaotust hindamise ajal. X-telg tähistab läbilaskevõimet toimingutes sekundis ja y-telg näitab jõudluse ja jõudluse kumulatiivset suhet. läbilaskevõime väärtus. Välja arvatud CCoW-all, leiame kolm sageli täheldatud läbilaskevõime vahemikku olenemata konfiguratsioonist.
Esimene rühm kumulatiivses suhtes {{0}} kuni 0.1 näitab perioodi, mille jooksul võrdlusaluste toimivus langeb kohe pärast hargnemist. Seejärel taastub sooritus ületunnitööna, nagu teises rühmas kumulatiivse suhtega 0,1 kuni 0,7.
Ülejäänud kumulatiivsed suhtarvud vahemikus {{0}},7 kuni 1,0 pärinevad juurdepääsudest, mis ei põhjusta lehevigu. Üldiselt on CCoW konfiguratsioonide jõudluse langus suurem kui algsel CoW-l. Täpsemalt, algse CoW-skeemi suure lokaalse töökoormuse korral langeb läbilaskevõime umbes 1900 000 toiminguni sekundis kohe pärast kahvlit.

Seejärel tõuseb see aeglaselt kuni 2500 K toiminguni sekundis. CCoW-ga langes jõudlus rohkem, ulatudes vahemikku 1700 K operatsiooni sekundis. Kuid jõudlus taastus kiiremini, näidates suurema osa ajast paremat jõudlust kui algne CoW (st enamasti kumulatiivse graafiku paremal küljel). Me võime täheldada sarnast suundumust ka teiste töökoormuste puhul ja CCoW-all konfiguratsioon näitab äärmuslikku käitumist; kohe pärast hargnemist langeb jõudlus märkimisväärselt ja jääb madalaks, samas kui suurem osa aadressiruumist kopeeritakse hajutatud juurdepääsuga.
Pärast seda hetke ilmnevad aga ainult mõned lehe vead, nii et enamik juurdepääsuid töödeldakse ilma lehetõrgeteta. Seega on läbilaskevõimel CCoW-s bimodaalne jaotus. Selle hindamise põhjal kinnitasime, et CCoW tagab optimaalse jõudluse, optimeerides tavajuhtumit.
Paremate jõudlusomaduste saavutamiseks tuleks siiski käsitleda jõudluse langust. Selleks tegeleme praegu kopeeritavate andmete hulga piiramisega kohe pärast hargnemist.

4.2. CCoW jõudlus realistlikul töökoormusel
Kavandatava CCoW hindamiseks realistliku töökoormuse alusel kasutasime Redist ja YCSB-d. Redis on mälusisene võtmeväärtuste andmebaas, mida kasutatakse laialdaselt Interneti-mastaapsete rakenduste kiirendamiseks.
Kasutasime YCSB võrdlusindeksit võtme-väärtuste paaride sisestamiseks Redise eksemplaris ja nendega toimingute tegemiseks. Täpsemalt, Redise eksemplar lähtestatakse 10 GB võtme-väärtuste paariga YCSB vaikekonfiguratsiooniga.
Kõik võtmed ja väärtused on vastavalt 23 ja 100 baiti suurused ning iga võti sisaldab 10 väärtusvälja. Pärast Redise eksemplari täitmist konfigureerisime selle hetktõmmiste tegemiseks ja seejärel värskendasime YCSB-ga värskendustoiminguid.
Ajalise asukoha kaasamiseks võtmeväärtuste juurdepääsudesse seadistasime YCSB töökoormuse, et valida sihtvõtmed vastavalt ZIP-jaotusele, kasutades parameetri väärtust 1.0.
100 GB värskenduste tegemise ajal kogusime YCSB etalonaruande iga sekundi läbilaskevõimet. Joonis 7 võtab kokku Redise eksemplari keskmise läbilaskevõime ja mälukasutuse, kui süsteem on konfigureeritud kasutama algset CoW-d või CCoW-d. Pange tähele, et kasutasime piirkonna suuruse jaoks 2 MB ja kõik tulemuste väärtused normaliseeriti CoW väärtustega.

Üldiselt ületasid kõik CCoW konfiguratsioonid algset CoW-d, sõltumata katvuse lävest. Nagu eespool analüüsisime, määras jõudluse ka kompromiss, mis tuleneb leevendatud kirjutamisel kopeerimisest saadava jõudluse kasvu ja täiendavate lehtede kopeerimisega seotud kulude vahel. Kui läviväärtus on kõrge, kopeeritakse vaid mõned piirkonnad, muutes nii optimeerimisvõimaluse kui ka mälumahu väikeseks.
Kui läviväärtus langeb alla 85%, suureneb mälujalajälg ja sellega kaasneb rohkem üldkulusid. Selle tulemusena varieerub CCoW keskmine läbilaskevõime olenevalt katvuse lävest, kuid see näitab kuni 5% jõudluse paranemist võrreldes algse CoW-ga.
Redise ja YCSB töökoormuse puhul täheldasime THP-ga ainult marginaalset jõudluse paranemist. Selle põhjuseks on asjaolu, et töökoormuses on kirjutamispääsud hajutatud kogu protsessi aadressiruumis ja tohutud lehed jagatakse CoW-i käsitlemise ajal tõhusalt baaslehtedeks.
Kuna Redise protsessil võib olla vaid paar suurt lehekülge, on selle jõudlus sarnane põhikonfiguratsiooni omaga. See tulemus näitab, et THP-põhine lähenemisviis on kirjutamismahukatel töökoormustel vähem efektiivne ja CCoW ületab THP-d.
Mehhanismi täpsuse hindamiseks suure asukohaga piirkondade tuvastamisel klassifitseerisime iga kopeeritud lehe koopia loomise mehhanismi põhjuse. Täpsemalt kogusime kopeeritud lehtede suhte kõigist kopeeritud lehtedest. Kui eelkoopia suhe on x%, suurendades kogu mälujalajälge y% võrra, saame tarbetu eelkoopia suhte arvutada, jagades y x-ga.
Näiteks CCoW-80 konfiguratsioonis kopeeritakse 26,9% kopeeritud lehtedest, mis suurendab mälumahtu 6,7%. See tähendab, et 24,9% kopeerimiseelsetest lehtedest ei ole viidatud. Tabel 1 võtab arvutuse kokku. Tarbetu eelkoopiate suhe jääb vahemikku 23,4% kuni 35,6% ja hindamistulemuste põhjal võib järeldada, et pakutud skeem kajastab täpselt kõrge asukohaga piirkondi.

5. Kokkuvõtted
Selles uuringus pakkusime välja CCoW, optimeeritud kopeerimise-kirjutamisel skeemi suure ruumilise asukohaga töökoormuste jaoks. CCoW jagab protsessi aadressiruumi piirkondadeks ja hindab nende asukohta koos levialaga.
Kõrge asukohaga piirkonda kirjutamine viib lehetõrgete töötleja lähedalasuvate lehtede eelkoopiani. Katvuse nõuetekohaseks jälgimiseks pärast eelkopeerimist kasutab CCoW lehetabelis olevat mustust. Hindamine võrdlusalustega kinnitas, et kavandatud skeem suudab tuvastada väikese üldkuludega kõrge asukohaga piirkondi, võimaldades rakenduste jõudlust ilma muutmata.
Nagu me mainisime, langeb jõudlus märkimisväärselt kohe pärast kahvlit kopeeritavate andmete tohutu hulga tõttu. Tegeleme praegu jõudluse haldamisega, vähendades eelkopeerimise kiirust ja teostades eelkoopiat asünkroonselt. Samuti plaanime lisada adaptiivse mehhanismi, mis häälestab konfiguratsiooniparameetreid vastavalt praeguse töökoormuse omadustele.
Autori kaastööd: Conceptualization, MH ja S.-HK; metoodika, MH; tarkvara, MH; valideerimine, MH ja S.-HK; formaalne analüüs, MH ja S.-HK; uurimine, MH ja S.-HK;ressursid, S.-HK; andmete kureerimine, MH; kirjalikult-originaalkavandi ettevalmistamine, MH; kirjutamine-retsenseerimine ja toimetamine, MH ja S.-HK; visualiseerimine, MH; järelevalve, S.-HK; projektihaldus,S.-HK; rahastamise omandamine, S.-HK Kõik autorid on käsikirja avaldatud versiooni läbi lugenud ja sellega nõustunud.

Rahastamine: seda uurimistööd toetasid Korea valitsuse rahastatud elektroonika ja telekommunikatsiooni uurimisinstituudi (ETRI) toetus (20ZS1310) ja Korea riikliku uurimisfondi programm BK21 FOUR, mida rahastas haridusministeerium (NRF5199991014091).
Institutsioonilise läbivaatamise nõukogu avaldus: Ei kohaldata.
Teavitatud nõusoleku avaldus: Ei kohaldata.
Andmete kättesaadavuse avaldus: Ei kohaldata.
Huvide konflikt: autorid ei deklareeri huvide konflikti.
Viited
1. Gorman, M. Linuxi virtuaalmäluhalduri mõistmine; Prentice Hall: Upper Saddle River, NJ, USA, 2007.
2. Bovet, DP; Cesati, M. Linuxi tuuma mõistmine; O'Reilly: Newton, MA, USA, 2001.
3. Love, R. Linux Kernel Development, 3. väljaanne; Addison Wesley: Boston, MA, USA, 2010.
4. Labs, R. Redis. Saadaval võrgus: https://github.com/redis/redis (kasutatud 7. juunil 2021).
5. Silberschatz, A.; Galvin, PB; Gagne, G. Operatsioonisüsteemi kontseptsioonid; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, USA, 2018.
6. Harris, SL; Harris, D. Digitaalne disain ja arvutiarhitektuur; Morgan Kaufmann: Burlington, MA, USA, 2022.
7. Abi-Chahla, F. Intel Core i7 (Nehalem): AMD arhitektuur? Saadaval Internetis: https://www.tomshardware.com/reviews/Intel-i7-nehalem-cpu,2041.html (kasutatud 18. oktoobril 2021).
8. Pham, B.; Bhattacharjee, A.; Eckert, Y.; Loh, GH TLB katvuse suurendamine lehtede tõlgete klastrite kasutamise abil. In Proceedingsof 2014 IEEE 20th International Symposium on High-Performance Computer Architecture (HPCA'14), Orlando, FL, USA, 15.–19. veebruar 2014; lk 558–567.
For more information:1950477648nn@gmail.com






