Recomandat, 2024

Alegerea Editorului

Diferența dintre UMA și NUMA

Multiprocesoarele pot fi împărțite în trei categorii de modele de memorie partajată - UMA (Uniform Memory Access), NUMA (Acces neuniform în memorie) și COMA (Access Memory Only). Modelele sunt diferențiate în funcție de modul în care sunt distribuite resursele de memorie și hardware. În modelul UMA, memoria fizică este împărțită în mod egal între procesoare care au de asemenea latență egală pentru fiecare cuvânt de memorie, în timp ce NUMA oferă timp de acces variabil pentru ca procesoarele să acceseze memoria.

Lățimea de bandă utilizată în UMA în memorie este restricționată deoarece utilizează un controler de memorie unică. Motivul principal al apariției mașinilor NUMA este îmbunătățirea lățimii de bandă disponibile a memoriei prin utilizarea mai multor controale de memorie.

Diagramă de comparație

Bazele de comparațieUMANUMA
De bazăUtilizează un singur controler de memorieMultiple controler de memorie
Tipul autobuzelor utilizateSingle, multiple și transversale.Arbore și ierarhic
Timpul de accesare a memorieiEgalModificări în funcție de distanța microprocesorului.
Potrivit pentruScopuri generale și aplicații de partajare a timpuluiAplicații în timp real și în timp critic
VitezăMai lentMai repede
Lățime de bandăLimitatMai mult decât UMA.

Definiția UMA

Sistemul UMA (Uniform Memory Access) este o arhitectură de memorie partajată pentru multiprocesoare. În acest model, o singură memorie este utilizată și accesată de toți procesorii care prezintă sistemul multiprocesor cu ajutorul rețelei de interconectare. Fiecare procesor are timp de acces la memorie egal (latență) și viteză de acces. Poate utiliza fie o magistrală unică, fie un magistrală sau un buton transversal. Dat fiind faptul că asigură acces echilibrat la memoria partajată, este cunoscut și ca sistem SMP (Symmetric multiprocessor) .

Designul tipic al SMP este arătat mai sus, în care fiecare procesor este conectat mai întâi la cache, apoi cache-ul este conectat la magistrala. În cele din urmă, magistrala este conectată la memorie. Această arhitectură UMA reduce conflictul pentru magistrală prin preluarea instrucțiunilor direct din memoria cache individuală izolată. De asemenea, oferă o probabilitate egală pentru citire și scriere pentru fiecare procesor. Exemple tipice ale modelului UMA sunt serverele Sun Starfire, serverele Compaq alpha și seria HP v.

Definiția NUMA

NUMA (Access Memory Non-uniform) este, de asemenea, un model multiprocesor în care fiecare procesor este conectat la memoria dedicată. Cu toate acestea, aceste mici părți ale memoriei se combină pentru a crea un singur spațiu de adresă. Punctul principal de analizat aici este că, spre deosebire de UMA, timpul de acces al memoriei se bazează pe distanța unde este amplasat procesorul, ceea ce înseamnă un timp de acces variabil în memorie. Acesta permite accesul la oricare dintre locațiile de memorie utilizând adresa fizică.

După cum sa menționat mai sus, arhitectura NUMA intenționează să crească lățimea de bandă disponibilă în memorie și pentru care utilizează mai multe controale de memorie. Acesta combină numeroase nuclee de mașină în " noduri ", unde fiecare nucleu are un controler de memorie. Pentru a accesa memoria locală într-o mașină NUMA, nucleul extrage memoria gestionată de controlerul de memorie de către nodul său. În timp ce pentru a accesa memoria la distanță care este gestionată de celălalt controler de memorie, nucleul trimite cererea de memorie prin legăturile de interconectare.

Arhitectura NUMA folosește rețelele bus și ierarhice pentru a interconecta blocurile de memorie și procesoarele. BBN, TC-2000, SGI Origin 3000, Cray sunt câteva dintre exemplele arhitecturii NUMA.

Diferențe cheie între UMA și NUMA

  1. Modelul UMA (memorie partajată) utilizează unul sau două controlere de memorie. În schimb, NUMA poate avea mai multe controlere de memorie pentru a accesa memoria.
  2. În arhitectura UMA sunt folosite autobuze multiple, multiple și transversale. În schimb, NUMA folosește tipurile ierarhice și tipurile de arbori și conexiunea la rețea.
  3. În UMA, timpul de accesare a memoriei pentru fiecare procesor este același în timp ce în NUMA timpul de accesare a memoriei se modifică odată cu modificarea distanței dintre memoria procesorului.
  4. Aplicațiile cu scop general și distribuirea timpului sunt potrivite pentru mașinile UMA. În schimb, aplicația corespunzătoare pentru NUMA este centrică în timp real și critică în timp.
  5. Sistemele paralele bazate pe UMA funcționează mai lent decât sistemele NUMA.
  6. Când vine vorba de lățimea de bandă UMA, aveți o lățime de bandă limitată. Dimpotrivă, NUMA are o lățime de bandă mai mare decât UMA.

Concluzie

Arhitectura UMA oferă aceeași latență generală procesoarelor care accesează memoria. Acest lucru nu este foarte util când memoria locală este accesată deoarece latența ar fi uniformă. Pe de altă parte, în NUMA, fiecare procesor avea memoria sa dedicată, care elimină latența la accesarea memoriei locale. Latența se modifică pe măsură ce distanța dintre procesor și memorie se schimbă (adică, neuniformă). Cu toate acestea, NUMA a îmbunătățit performanța în comparație cu arhitectura UMA.

Top