CCoW: optimització de la còpia sobre escriptura tenint en compte la localitat espacial de les càrregues de treball, part 2

Apr 02, 2024

La petita mida de la pàgina pot ser problemàtica, ja que els sistemes són capaços de gestionar una gran quantitat de memòria física. Amb l'organització jeràrquica de la taula de pàgines, cada traducció d'adreces virtuals requereix diversos accessos de memòria, un per a cada nivell de taula de pàgines, cosa que és inacceptable.

A mesura que les persones envelleixen, la memòria disminueix gradualment. Tanmateix, la memòria física no és un dels factors que afecta directament la nostra memòria. La memòria està relacionada amb la força de les connexions entre les neurones del cervell, amb la salut del cervell i amb la freqüència amb què s'utilitza la memòria.

Al nostre cervell, les neurones estan connectades per sinapsis. Aquestes sinapsis ens animen a emmagatzemar i recuperar informació. Tanmateix, a mesura que envellim, aquestes connexions sinàptiques disminueixen, la qual cosa fa que la nostra memòria es deteriori. Això no és perquè la nostra memòria física es redueixi, sinó perquè el nostre cervell està patint certs canvis que afecten les nostres capacitats.

Tanmateix, utilitzar el nostre cervell ens pot ajudar a mantenir bons records. El cervell necessita exercici, igual que el cos, necessita oci i exercici per mantenir-se sa. Desenvolupar bons hàbits de pensament ajudarà a la salut i l'eficiència del vostre cervell. Per exemple, aprendre coses noves, utilitzar tècniques de memòria, jugar trencaclosques lògics, etc. poden millorar la qualitat i l'eficiència del teu cervell.

Per tant, la memòria física és simplement la capacitat d'emmagatzematge disponible per al cervell. La nostra memòria està estretament lligada als límits del que el nostre cervell pot aconseguir. Exercint constantment el nostre cervell, podem fer que la nostra memòria sigui més duradora i mantenir-la a un alt nivell. Per millorar la memòria, hem de centrar-nos en l'exercici del cervell mantenint una actitud positiva i uns bons hàbits de salut. Es pot veure que hem de millorar la memòria, i Cistanche deserticola pot millorar significativament la memòria, perquè Cistanche deserticola té efectes antioxidants, antiinflamatoris i anti-envelliment, que poden ajudar a reduir l'oxidació i les reaccions inflamatòries al cervell, protegint així el salut del sistema nerviós. A més, Cistanche deserticola també pot promoure el creixement i la reparació de les cèl·lules nervioses, millorant així la connectivitat i la funció de les xarxes neuronals. Aquests efectes poden ajudar a millorar la memòria, l'aprenentatge i la velocitat de pensament, i també poden prevenir el desenvolupament de disfuncions cognitives i malalties neurodegeneratives.

increase brain power

Feu clic a conèixer maneres de millorar la funció cerebral

Per mitigar l'elevada sobrecàrrega de la traducció d'adreces virtuals a físiques, moltes arquitectures modernes incorporen una memòria cau per a la traducció d'adreces. TheMMU manté diversos resultats de traducció recents en una lògica de maquinari anomenada memòria intermèdia de traducció, també coneguda com TLB.

Normalment, els TLB de les arquitectures modernes poden contenir entre 500 i 2000 entrades [6,7]. Les entrades estan indexades per maquinari perquè el nucli del processador pugui buscar la traducció molt ràpidament. Aprofitant la localitat de les referències de memòria, es poden realitzar moltes traduccions d'adreces sense caminar per la taula de pàgines (coneguda com a hit TLB).

A mesura que la petjada de memòria per a aplicacions intensives en memòria creix ràpidament, el nombre de mapes de pàgines virtuals a físiques per a un procés també augmenta. No obstant això, a causa de les limitacions del maquinari, el nombre d'entrades TLB no pot mantenir el ràpid creixement de les petjades de memòria d'aplicacions. Així, les taxes d'error de TLB augmenten, provocant colls d'ampolla en el rendiment d'aplicacions intensives en memòria [8–11].

Per superar aquesta limitació, algunes arquitectures admeten mides de pàgina addicionals més grans que la mida de les pàgines base de 4 KB. Per exemple, les arquitectures Intel modernes admeten mida de pàgina de 2 MB i 1 GB [7]. Amb una mida de pàgina tan gran, la traducció d'una adreça pot cobrir un rang d'adreces més ampli, augmentant efectivament la cobertura que el TLB pot proporcionar amb el mateix nombre d'entrades.

Per exemple, un sistema amb 1024 entrades TLB i una mida de pàgina base de 4 KB pot proporcionar una cobertura TLB de 4 MB, mentre que el mateix nombre d'entrades amb pàgines enormes d'1 GB proporciona una cobertura d'1 TB. Linux utilitza la pàgina enorme en forma de pàgines enormes transparents. (THP). Com el seu nom indica, Linux proporciona implícitament als processos dels usuaris pàgines enormes sempre que sigui possible.

Si THP no està habilitat, Linux assigna memòria als processos de la unitat de pàgina base de 4 KB. Si THP està habilitat, Linux intenta assignar una pàgina enorme (2 MB de mida) en lloc de la pàgina base, permetent un mapeig de pàgina de gra gruixut. Aquesta gran granularitat permet compartir pàgines eficientment entre els processos pare i fills a través de la bifurcació. En cas que una gran assignació de pàgines no sigui factible en aquest moment, Linux tornarà a l'assignació de pàgines base. Linux escaneja periòdicament els espais d'adreces del procés per trobar pàgines base i consolidar-les en pàgines enormes.

improve your memory

Hi ha estudis que han intentat promoure pàgines enormes per al rendiment alhora que emmascaren encara més les seves mancances. Ingens [12,13] proposa preparar pàgines enormes de manera asíncrona fora del camí crític.

Hawkeye [14] presenta un esquema de promoció de pàgines enormes de gra fi basat en patrons d'accés a la memòria per maximitzar el rendiment amb un nombre mínim de promocions de pàgines enormes. Zhu et al. [15] generalitzar els processos d'ús de pàgines enormes i optimitzar el cicle de vida de pàgines enormes. Part et al. [16] permeten forats en pàgines enormes, proporcionant flexibilitat en la gestió de la memòria amb pàgines enormes.

La pàgina enorme, però, és una espasa de doble fulla. A causa de l'augment de la mida de la unitat de gestió, l'assignació de pàgines pateix una fragmentació interna. Si un rang d'adreces assignat és més petit que la gran mida de la pàgina, la resta de la pàgina no es pot utilitzar i es malgasta. Aquesta anomenada inflor de memòria pot disminuir significativament la utilització de la memòria en sistemes amb pàgines enormes [12–17].

L'augment de la mida de la pàgina també pot afectar negativament el rendiment del programa. Els sistemes operatius moderns adopten àmpliament l'esquema de còpia sobre escriptura per compartir la memòria eficient entre processos. Tanmateix, la CoW només es processa a la granularitat de la pàgina base.

Així, per gestionar CoW en una pàgina enorme, la pàgina enorme es divideix en pàgines base i només es copia la pàgina defectuosa. Trencar pàgines grans requereix una quantitat considerable de temps, donant lloc a un tractament intermitent d'errors de pàgines llargues. En aquest sentit, algunes aplicacions, fins i tot les intensives en memòria, no recomanen utilitzar pàgines enormes per a un rendiment estable i una utilització de la memòria [4,18].

En general, hi ha intervals d'espai d'adreces a l'espai d'adreces del procés on totes les pàgines de l'interval tenen els mateixos permisos i característiques. Per a la gestió, els sistemes operatius moderns solen adoptar el concepte d'"àrea de memòria virtual (VMA)" per representar aquests intervals d'espai d'adreces. Podem classificar les pàgines de l'espai d'adreces del procés segons el seu origen.

improving brain function

Algunes pàgines es poden carregar des d'un fitxer de còpia de seguretat a l'emmagatzematge secundari, anomenat "pàgines amb còpia de seguretat de fitxers". Mentre que, algunes pàgines s'omplen dinàmicament sense cap dada de suport. Les pàgines per a pila i munt són, en aquest cas, les anomenades 'pàgines anònimes'.

2.2. Fork i còpia sobre escriptura

Fork és una de les crides del sistema estàndard de POSIX per crear un procés nou. Quan un procés invoca la trucada del sistema de bifurcació, es crea un procés nou com a fill del procés de trucada.

Sota el capó, el sistema operatiu crea el procés secundari duplicant tot l'espai d'adreces del procés de trucada. Això implica que el procés fill hauria de començar amb les mateixes dades que el procés principal.

Per gestionar la duplicació de l'espai d'adreces de manera eficient, la majoria dels sistemes operatius moderns utilitzen la tècnica de còpia sobre escriptura (CoW). Per duplicar l'espai d'adreces del pare, el sistema operatiu no copia cada pàgina. En canvi, la taula de pàgines del procés fill es construeix copiant la taula de pàgines del procés pare.

Això fa efectivament un mapatge compartit a l'espai d'adreces del pare. Mentre es fa el mapeig compartit, el permís d'escriptura de cada pàgina s'elimina esborrant el bit de permís al PTE corresponent.

Després de copiar el mapeig, tant el pare com el fill poden llegir les pàgines compartides com a pàgines. Quan un dels processos fa un accés d'escriptura a una pàgina, la MMU, a causa de la manca de permís d'escriptura, desencadena un error de pàgina. Al gestor d'errors de pàgina, el sistema operatiu assigna una pàgina nova, copia la pàgina original i actualitza el mapa de pàgines corresponent del procés que causa errors amb permís escrit.

En aquest punt, el pare i el fill poden tenir diferents dades a la mateixa adreça virtual. Aquest mecanisme de còpia sobre escriptura s'utilitza àmpliament com a mecanisme clau fonamental per realitzar moltes funcions de memòria virtual. Concretament, les lectures de regions d'emmagatzematge dinàmic no inicialitzats es gestionen normalment amb un mapa compartit a una pàgina zero, que és una pàgina especial que conté tots els zeros.

La fusió de la mateixa pàgina del nucli (KSM) és la tècnica de desduplicar les mateixes pàgines del sistema. El sistema operatiu escaneja les pàgines del sistema per identificar pàgines amb dades idèntiques. Quan es troben aquestes pàgines, el sistema operatiu recupera totes les pàgines menys una i actualitza les taules de pàgines corresponents per compartir la pàgina restant.

En el processament, el permís d'escriptura s'elimina de manera que s'identifica i es copia l'accés d'escriptura posterior a la pàgina. Amb l'alta eficiència de la còpia sobre l'escriptura, la creació de processos es fa eficient i algunes aplicacions intensives en dades aprofiten aquest avantatge per crear una còpia de dades. .

El Redis, un dels populars serveis de botiga de valors-clau en memòria [4], és un d'aquests casos [19]. El Redisis està dissenyat principalment per mantenir les dades a la memòria per proporcionar un alt rendiment i una baixa latència.

Tanmateix, algunes aplicacions exigeixen la persistència de les dades emmagatzemades i rediscomplementa el disseny en memòria amb una bifurcació. El Redis aplica sol·licituds entrants només a l'índex de memòria i a les estructures de dades i invoca periòdicament la trucada del sistema de bifurcació. Això crea de manera efectiva un procés fill amb continguts de memòria duplicats del Redisprocess original, i el procés de crida (és a dir, el procés original) continua processant les sol·licituds entrants.

El procés fill desvia la seva execució; utilitzant el contingut de la memòria actual com a instantània, serialitza les estructures de dades a la memòria en fitxers, assegurant així la persistència de la instantània a la memòria. Després d'esborrar la instantània, el procés secundari finalitza.

El procés original pot fer una altra instantània de la mateixa manera, i en cas d'un error del sistema, Redis es pot recuperar llegint l'última instantània. Tot i que la bifurcació és una trucada del sistema inestimable, la seva sobrecàrrega ha estat criticada.

supplements to boost memory

Baumann et al. [20] van analitzar la forquilla i van trobar que la forquilla provoca la degradació del rendiment a les aplicacions modernes. Per exemple, a mesura que les aplicacions modernes es tornen més complexes, el sistema operatiu hauria de considerar aproximadament 25 casos especials per començar a processar la trucada del sistema de bifurcació per conformar-se amb l'especificació POSIX. Van resumir els problemes de la trucada del sistema fork i van suggerir les característiques que hauria de tenir la trucada del sistema fork per a l'ordinador modern.

També ofereixen maneres alternatives de substituir la forquilla. Zhao et al. [19] va assenyalar que la implementació de la bifurcació en els sistemes actuals és ineficient, ja que les aplicacions amb una gran quantitat de memòria requereixen molt de temps per configurar la taula de pàgines. Com a solució, van generalitzar la tècnica de còpia sobre escriptura perquè la taula de pàgines es copiï tant en escriptures com en pàgines normals.


For more information:1950477648nn@gmail.com

Potser també t'agrada