Virtualizarea memoriei - Memory virtualization

În informatică , virtualizarea memoriei decuplează resursele de memorie cu acces aleator volatil (RAM) de la sistemele individuale din centrul de date și apoi agregă resursele respective într-un pool de memorie virtualizată disponibil oricărui computer din cluster. Pool-ul de memorie este accesat de sistemul de operare sau de aplicațiile care rulează deasupra sistemului de operare. Rezerva de memorie distribuită poate fi apoi utilizată ca o memorie cache de mare viteză, un strat de mesagerie sau o resursă mare de memorie partajată pentru un procesor sau o aplicație GPU.

Descriere

Virtualizarea memoriei permite serverelor din rețea și, prin urmare, distribuite, să partajeze un grup de memorie pentru a depăși limitările fizice ale memoriei, un blocaj obișnuit în performanța software-ului. Cu această capacitate integrată în rețea, aplicațiile pot profita de o cantitate foarte mare de memorie pentru a îmbunătăți performanța generală, utilizarea sistemului, crește eficiența utilizării memoriei și permite noi cazuri de utilizare. Software-ul de pe nodurile pool-ului de memorie (servere) permite nodurilor să se conecteze la pool-ul de memorie pentru a contribui la memorie și pentru a stoca și prelua date. Software-ul de gestionare și tehnologiile de supraangajare a memoriei gestionează memoria partajată, inserarea datelor, politicile de evacuare și aprovizionare, alocarea datelor către nodurile care contribuie și gestionează solicitările de la nodurile clientului. Pool-ul de memorie poate fi accesat la nivelul aplicației sau la nivelul sistemului de operare. La nivel de aplicație, pool-ul este accesat printr-un API sau ca sistem de fișiere în rețea pentru a crea o memorie cache de memorie partajată de mare viteză. La nivelul sistemului de operare, un cache de pagină poate utiliza pool-ul ca o resursă de memorie foarte mare, care este mult mai rapidă decât stocarea locală sau în rețea.

Implementările de virtualizare a memoriei se disting de sistemele de memorie partajate . Sistemele de memorie partajată nu permit extragerea resurselor de memorie, necesitând astfel implementarea cu o singură instanță a sistemului de operare (adică nu într-un mediu de aplicație clusterizat).

Virtualizarea memoriei este, de asemenea, diferită de stocarea bazată pe memoria flash, cum ar fi unitățile SSD (SSD) - SSD-urile și alte tehnologii similare înlocuiesc unitățile hard disk (în rețea sau altele), în timp ce virtualizarea memoriei înlocuiește sau completează memoria RAM tradițională.

Beneficii

Eliminați limitele de memorie fizică

Rulați mai multe aplicații simultan, ADĂUGAȚI Ceva aici noobs

Produse

Implementări

Integrare la nivel de aplicație

În acest caz, aplicațiile care rulează pe computere conectate se conectează la pool-ul de memorie direct printr-un API sau sistemul de fișiere.

Image
Cluster care implementează virtualizarea memoriei la nivelul aplicației. Contribuitorii 1 ... n contribuie cu memoria la pool. Aplicațiile citesc și scriu date în pool folosind API-urile Java sau C, sau un API de sistem de fișiere.

Integrare la nivel de sistem de operare

În acest caz, sistemul de operare se conectează la pool-ul de memorie și pune memoria pooled la dispoziția aplicațiilor.

Image
Clusterul implementează virtualizarea memoriei. Contribuitorii 1 ... n contribuie cu memoria la pool. Sistemul de operare se conectează la pool-ul de memorie prin sistemul cache de pagini . Aplicațiile consumă memorie colectată prin intermediul sistemului de operare.

fundal

Tehnologia de virtualizare a memoriei rezultă din arhitecturile de gestionare a memoriei și din tehnicile de memorie virtuală . În ambele domenii, calea inovației a trecut de la relații strâns cuplate între resurse logice și fizice la relații mai flexibile, abstracte, în care resursele fizice sunt alocate după cum este necesar.

Sistemele de memorie virtuală se abstractizează între RAM fizică și adrese virtuale, atribuind adrese de memorie virtuală atât RAM-ului fizic, cât și stocării pe disc, extinzând memoria adresabilă, dar cu prețul vitezei. Arhitecturile NUMA și SMP optimizează alocarea memoriei în cadrul sistemelor multiprocesor. În timp ce aceste tehnologii gestionează dinamic memoria în cadrul computerelor individuale, virtualizarea memoriei gestionează memoria agregată a mai multor computere din rețea ca un singur pool de memorie.

În paralel cu inovațiile de gestionare a memoriei , au apărut o serie de tehnici de virtualizare pentru a utiliza cât mai bine resursele hardware disponibile. Virtualizarea aplicației a fost demonstrată mai întâi în sistemele mainframe. Următorul val a fost virtualizarea stocării , ca servere conectate la sisteme de stocare, cum ar fi NAS sau SAN, pe lângă sau în locul unităților de hard disk de la bord. Virtualizarea serverului sau Virtualizarea completă partiționează un singur server fizic în mai multe mașini virtuale , consolidând mai multe instanțe ale sistemelor de operare pe aceeași mașină în scopul eficienței și flexibilității. Atât în ​​stocarea cât și în virtualizarea serverului, aplicațiile nu știu că resursele pe care le folosesc sunt mai degrabă virtuale decât fizice, astfel încât eficiența și flexibilitatea sunt obținute fără modificări ale aplicației. În același mod, virtualizarea memoriei alocă memoria unui întreg cluster de servere în rețea între computerele din acel cluster.

Vezi si

Referințe

  • Oleg Goldshmidt, Virtualizare: sisteme de operare avansate
  • "Rețelele RNA de pornire virtualizează memoria pe mai multe servere" . InformationWeek . 13 februarie 2009 . Adus la 24 martie 2009 .
  • „Cinci tendințe de virtualizare de urmărit” . ComputerWorld . 3 februarie 2009. Arhivat din original la 16 martie 2009 . Adus la 24 martie 2009 .
  • „Rețelele ARN și virtualizarea memoriei” . ZDNet . 2 februarie 2009 . Adus la 24 martie 2009 .
  • Kusnetzky, Dan (28 ianuarie 2007). "Sortarea diferitelor straturi de virtualizare" . ZDNet . Adus la 24 martie 2009 .