CCoW: Optimalizace funkce Copy-on-Write s ohledem na prostorovou lokalitu v pracovní zátěži, část 6

Apr 03, 2024

Nejlepší velikost regionu a práh se liší podle charakteristik pracovní zátěže. Pro vyhodnocení vlivu zátěže měříme výkonnost CCoW na zátěži s různými lokalitami. Konkrétně jsme změnili parametr Zipfdistribution, který určuje stupeň lokality.

Mezi lidskou pamětí a pracovní zátěží existuje úzký vztah. Když potřebujeme zpracovat velké množství informací nebo dokončit složité úkoly, náš mozek musí zůstat velmi ostražitý, aby zajistil správné zpracování a uložení všech potřebných informací. Neurony v mozku se neustále propojují a komunikují, což značně ovlivňuje způsob, jakým myslíme a pamatujeme.

Zatímco zpracování velkého množství informací a dokončování složitých úkolů může zpochybnit naši paměť a kognitivní schopnosti, výzkumy ukazují, že správným tréninkem a cvičením můžeme výrazně zlepšit paměť a produktivitu. Vědci například pomocí experimentů zjistili, že pomocí rozsáhlého tréninku paměti a cvičení mohou lidé výrazně zlepšit svou paměť a efektivitu práce.

Z tohoto pohledu můžeme konstatovat, že neustálé cvičení a trénink jsou velmi důležité pro ty, kteří chtějí zlepšit svou paměť a efektivitu práce. Udržujte si také pozitivní přístup, protože stres může brzdit paměť a produktivitu.

Stručně řečeno, existuje silná korelace mezi pracovní zátěží a pamětí. Dokud zůstaneme soustředění, pravidelně trénujeme a cvičíme a udržujeme si pozitivní přístup, můžeme výrazně zlepšit svou paměť a efektivitu práce. Cistanche deserticola může také regulovat rovnováhu neurotransmiterů, jako je zvýšení hladiny acetylcholinu a růstových faktorů, které jsou důležité pro paměť a učení. Kromě toho může Cistanche deserticola také zlepšit průtok krve a podporovat dodávku kyslíku, což může zajistit, že mozek dostává dostatek živin a energie, a tím zlepšuje mozkovou vitalitu a vytrvalost.

supplements to improve memory

Klikněte na možnost poznat způsoby, jak zlepšit svou paměť

Přístupy jsou distribuovány jednotně, když je {{0}}, a čím vyšší je hodnota , tím vyšší je úroveň lokality, kterou pracovní zátěž vykazuje. Když je 1,0, přibližně 80 % operací zahrnuje 20 % dat.

Tento stupeň lokality se běžně vyskytuje v několika skutečných pracovních zátěžích, jak uvádí Paretův princip. Měříme se třemi různými hodnotami, 1.0, 0.9 a 1.1, kde 1.0 je základní čára a 0.9 a 1.1 představují pracovní vytížení s nízkou a vysokou lokalitou.

Původní výkon CoW se liší v závislosti na pracovní zátěži, takže perioda rozvětvení pro pracovní zátěž byla nastavena podle času naměřeného s původním nastavením CoW. Pokud například původní konfigurace CoW vyžaduje 10 sekund k obnovení normálního výkonu po aforku, ostatní konfigurace CCoW také každých 10 sekund rozvětvují podřízené procesy.

Obrázek 5 shrnuje průměrnou propustnost a využití paměti CCoW s různými místními pracovními zátěžemi. Pro pracovní zátěž s nízkou lokalitou vykazují konfigurace s malými prahovými hodnotami CCoW lepší výkon než konfigurace s velkými prahovými hodnotami. 'CCoW-all' dokonce překonává původní CoW o 15 % v pracovní zátěži s nízkou lokalitou. To je způsobeno účinností předkopie. Při pracovní zátěži s nízkou lokalitou by měla být velká část paměti replikována, protože přístupy jsou rozloženy po celém adresovém prostoru procesu. Výsledkem kopírování celých oblastí je zkopírování potřebné paměti předem s nízkou režií.

improve brain

Čím menší je tedy práh, tím vyšší je výkon programu s pracovní zátěží v nízké lokalitě. Tento trend má však opačný efekt s pracovním vytížením ve vysokých lokalitách. Při pracovním zatížení s vysokou lokalitou je mnoho přístupů zaměřeno na několik stránek.

To znamená, že pouze malá část paměti musí být replikována během kopírování-zápisu. Kopírování celé oblasti při chybě stránky má tendenci zkopírovat stránky, ke kterým není vůbec přístup.

To způsobuje pouze dočasnou režii, což zhoršuje výkon s pracovní zátěží ve vyšších lokalitách. Výsledkem je, že CCoW-all vykazuje nejhorší výkon při pracovní zátěži s vysokou lokalitou. Jiné konfigurace vykazují podobné vzorce základní pracovní zátěže; výkon vrcholí na prahové hodnotě 80 % a klesá s menšími prahovými hodnotami.

improving brain function

Využití paměti benchmarkem vykazuje konzistentní trend bez ohledu na stupeň lokalizace pracovních zátěží. 'CCoW-all' vždy představuje nejvyšší využití paměti, protože vždy po rozvětvení zkopíruje všechny stránky v paměti. Kromě toho jsou otisky paměti nepřímo úměrné prahové hodnotě; čím menší je prahová hodnota, tím více paměti benchmark využívá.

Zesílení paměti je zvýšeno pouze o 10 % ve srovnání s původní konfigurací CoW, která je považována za oblast, která je v přijatelném rozsahu. Kromě analýzy výkonu CCoW porovnáváme výkon CCoW s výkonem transparentní velké stránky (THP). schéma Linuxu.

THP je poněkud podobné CCoW v tom, že se zaměřuje na zmírnění režie pocházející z malých stránek. „CoW-THP“ na obrázku 5 představuje výkon konfigurace s podporou THP. Všimněte si, že systém s podporou THP zpracovává CoW tak, že před zkopírováním vadné stránky rozděluje velké stránky na základní stránky, stejně jako ostatní schémata optimalizující THP [12–15,17].

Můžeme pozorovat, že THP vykazuje lepší výkon než výchozí konfigurace 'CoW-only'. Zvýšení výkonu připisujeme zvýšené efektivitě při překladu adres s velkými stránkami.

Konkrétně podle schématu THP bude horká část adresového prostoru procesu pravděpodobně rozdělena na základní stránky, čímž bude zajištěn stejný výkon jako konfigurace „pouze CoW“. Studená část adresního prostoru procesu však není rozdělena a udržována pomocí velkých stránek. To může do určité míry zvýšit výkon aplikace.

THP však neposkytuje takové zlepšení výkonu jako CCoW. Obrázek 6 ukazuje kumulativní rozložení propustnosti během hodnocení. Osa x představuje propustnost operací za sekundu a osa y představuje kumulativní poměr výkonu k hodnotu propustnosti. Kromě CCoW-all najdeme tři často pozorované rozsahy propustnosti bez ohledu na konfiguraci.

První skupina v kumulativním poměru {{0}} k 0.1 označuje období, během kterého výkon benchmarku klesá hned po forku. Poté se výkon obnoví přesčas, jako ve druhé skupině s kumulativním poměrem 0,1 až 0,7.

Zbývající kumulativní poměry v rozsahu {{0}},7 až 1,0 pocházejí z přístupů, které nezpůsobují chyby stránky. Celkově mají konfigurace CCoW tendenci k výraznějšímu poklesu výkonu než původní CoW. Konkrétně při vysoké místní zátěži původního schématu CoW klesne propustnost na přibližně 1900 K operací za sekundu hned po rozvětvení.

improve memory

Poté se pomalu zvyšuje na rozsah 2500 K operací za sekundu. S CCoW výkon klesl ještě více, na rozsah 1700 000 operací za sekundu. Výkon se však obnovil rychleji a většinu času vykazoval lepší výkon než původní CoW (tj. většinou na pravé straně kumulativního grafu). Podobný trend můžeme pozorovat i u jiných pracovních zátěží a konfigurace CCoW-all demonstruje extrémní chování; hned po rozvětvení výkon výrazně klesá a zůstává nízký, zatímco většina adresního prostoru je zkopírována pomocí rozšířených přístupů.

Po tomto okamžiku však dojde pouze k několika chybám stránky, takže většina přístupů je zpracována bez chyb stránky. Propustnost má tedy bimodální rozložení v CCoW. Z tohoto hodnocení jsme potvrdili, že CCoW poskytuje optimální výkon optimalizací běžného případu.

Pokles výkonu by se však měl řešit za účelem získání lepších výkonových charakteristik. Za tímto účelem v současné době pracujeme na omezení množství zkopírovaných dat hned po rozvětvení.

supplements to boost memory

4.2. Výkon CCoW při realistickém pracovním zatížení

K vyhodnocení navrhovaného CCoW na realistické pracovní zátěži jsme použili Redis a YCSB. The Redis je in-memory databáze klíč-hodnota široce používaná pro urychlení internetových škálovatelných aplikací.

Použili jsme YCSB Benchmark k naplnění párů klíč–hodnota v instanci Redis ak provádění operací s nimi. Konkrétně je instance Redis inicializována s 10 GB párů klíč–hodnota s výchozí konfigurací YCSB.

Všechny klíče a hodnoty mají velikost 23 a 100 bajtů a každý klíč obsahuje 10 polí hodnot. Po naplnění instance Redis jsme ji nakonfigurovali tak, aby vytvářela snímky a poté napájela aktualizační operace pomocí YCSB.

Abychom do přístupů párů klíč–hodnota začlenili dočasnou lokalitu, nastavili jsme pracovní zátěž YCSB tak, aby vybrala cílové klíče podle distribuce Zip pomocí hodnoty parametru 1.0.

Při provádění 100 GB aktualizací jsme shromáždili propustnost pro každou sekundu zprávy YCSB benchmark. Obrázek 7 shrnuje průměrnou propustnost a využití paměti instance Redis, když je systém nakonfigurován pro použití původního CoW neboCCoW. Všimněte si, že jsme použili 2 MB pro velikost oblasti a všechny výsledné hodnoty byly normalizovány na hodnoty CoW.

improve cognitive function

Celkově všechny konfigurace CCoW překonaly původní CoW, bez ohledu na práh pokrytí. Podobně, jak jsme analyzovali výše, výkon byl určen kompromisem mezi zvýšením výkonu ze zmírněného kopírování při zápisu a režií při kopírování dalších stránek. Když je prahová hodnota vysoká, zkopíruje se pouze několik oblastí, čímž se zmenší jak příležitost k optimalizaci, tak i režie paměti.

Když prahová hodnota klesne pod 85 %, paměťová náročnost se zvýší a způsobí větší režii. V důsledku toho se průměrná propustnost CCoW liší podle prahu pokrytí, ale vykazuje až 5% zlepšení výkonu ve srovnání s původním CoW.

S pracovní zátěží Redis a YCSB jsme u THP pozorovali pouze okrajové zlepšení výkonu. To je způsobeno tím, že v pracovní zátěži jsou přístupy pro zápis rozptýleny po celém adresovém prostoru procesu a velké stránky jsou efektivně rozděleny na základní stránky při práci s CoW.

Protože proces Redis může mít jen několik velkých stránek, jeho výkon je podobný výkonu základní konfigurace. Tento výsledek ukazuje, že přístup založený na THP je méně účinný v zátěži náročné na zápis a CCoW překonává THP.

Abychom vyhodnotili přesnost mechanismu při identifikaci oblastí s vysokou lokalitou, klasifikovali jsme důvod mechanismu generování kopií pro každou zkopírovanou stránku. Konkrétně jsme shromáždili poměr zkopírovaných stránek ze všech zkopírovaných stránek. Když je poměr předkopírování x%, čímž se celková paměťová zátěž zvýší o y%, můžeme vypočítat poměr zbytečného předkopírování vydělením y x.

Například v konfiguraci CCoW-80 se zkopíruje 26,9 % zkopírovaných stránek, což zvyšuje nároky na paměť o 6,7 %. To znamená, že 24,9 % stránek před kopírováním není odkazováno. Tabulka 1 shrnuje výpočet. Poměr nepotřebných předkopií se pohybuje od 23,4 % do 35,6 % a z výsledku hodnocení lze usoudit, že navrhované schéma přesně zachycuje regiony s vysokou lokalitou.

improve working memory

5. Závěry

V této studii jsme navrhli CCoW, optimalizované schéma kopírování při zápisu pro pracovní zátěže s vysokou prostorovou lokalitou. CCoW rozděluje adresní prostor procesu na regiony a odhaduje jejich lokalitu s pokrytím.

Zápis do oblasti s vysokou lokalitou vede obslužný program chyby stránky k předkopírování blízkých stránek. Pro správné sledování pokrytí po předběžném zkopírování využívá CCoW špinavý bit v tabulce stránek. Hodnocení pomocí benchmarků potvrdilo, že navrhované schéma dokáže identifikovat regiony s vysokou lokalitou s malou režií, což umožňuje zvýšení výkonu z aplikací bez úprav.

Jak jsme zmínili, výkon hned po forku výrazně klesá kvůli obrovskému množství dat ke kopírování. V současné době pracujeme na řízení poklesu výkonu omezením rychlosti předběžného kopírování a prováděním předběžného kopírování asynchronně. Plánujeme také začlenit adaptivní mechanismus, který vyladí konfigurační parametry podle charakteristik aktuální zátěže.

Autorské příspěvky: Konceptualizace, MZ a S.-HK; metodika, MZ; software, MH; validace, MH, a S.-HK; formální analýza, MH, a S.-HK; vyšetřování, MH, a S.-HK;zdroje, S.-HK; správa dat, MH; psaní-originální příprava návrhu, MZ; psaní-recenze a redakce, MZ a S.-HK; vizualizace, MH; dozor, S.-HK; administrace projektu,S.-HK; získání finančních prostředků, S.-HK Všichni autoři si přečetli publikovanou verzi rukopisu a souhlasí s ní.

boost memory

Financování: Tento výzkum byl podpořen grantem Electronics and Telecommunications Research Institute (ETRI) financovaným korejskou vládou (20ZS1310) a programem BK21 FOUR Korejské národní výzkumné nadace financovaným ministerstvem školství (NRF5199991014091).

Prohlášení institucionální revizní komise: Neuplatňuje se.

Prohlášení o informovaném souhlasu: Neuplatňuje se.

Prohlášení o dostupnosti dat: Nelze použít.

Střet zájmů: Autoři neprohlašují žádný střet zájmů.


Reference
1. Gorman, M. Pochopení správce virtuální paměti Linux; Prentice Hall: Upper Saddle River, NJ, USA, 2007.

2. Bovet, DP; Cesati, M. Understanding the Linux Kernel; O'Reilly: Newton, MA, USA, 2001.

3. Love, R. Linux Kernel Development, 3. vydání; Addison Wesley: Boston, MA, USA, 2010.

4. Labs, R. Redis. Dostupné online: https://github.com/redis/redis (vstup 7. června 2021).

5. Silberschatz, A.; Galvin, PB; Gagne, G. Koncepce operačního systému; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, USA, 2018.

6. Harris, SL; Harris, D. Digitální design a počítačová architektura; Morgan Kaufmann: Burlington, MA, USA, 2022.

7. Abi-Chahla, F. Intel Core i7 (Nehalem): Architecture By AMD? Dostupné online: https://www.tomshardware.com/reviews/Intel-i7-nehalem-cpu,2041.html (přístup 18. října 2021).

8. Pham, B.; Bhattacharjee, A.; Eckert, Y.; Loh, GH Zvýšení dosahu TLB využitím shlukování v překladech stránek. In Proceedingsof 2014 IEEE 20th International Symposium on High-Performance Computer Architecture (HPCA'14), Orlando, FL, USA, 15.–19. února 2014; s. 558–567.


For more information:1950477648nn@gmail.com

Mohlo by se Vám také líbit