Diferența dintre UMA și NUMA

Autor: Laura McKinney
Data Creației: 2 Aprilie 2021
Data Actualizării: 5 Mai 2024
Anonim
CONȘTIENTUL ȘI PERSONALITATEA. DE LA INEVITABIL MORT LA VEȘNIC VIU
Video: CONȘTIENTUL ȘI PERSONALITATEA. DE LA INEVITABIL MORT LA VEȘNIC VIU

Conţinut


Multiprocesoarele pot fi împărțite în trei categorii de modele cu memorie partajată: UMA (Uniform Memory Access), NUMA (Non-uniform Memory Access) și COMA (Cache only Memory Access). 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ă uniform î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ă folosită în UMA la memorie este restricționată, deoarece folosește un singur controller de memorie. Motivul principal al apariției mașinilor NUMA este de a îmbunătăți lățimea de bandă disponibilă în memorie folosind mai multe controlere de memorie.

    1. Diagramă de comparație
    2. Definiție
    3. Diferențele cheie
    4. Concluzie

Diagramă de comparație

Baza de comparațieUMANUMA
De bazăUtilizează un singur controller de memorieMai multe regulatoare de memorie
Tipul autobuzelor utilizateSingle, multiplu și transversal.Arbore și ierarhic
Timp de acces la memorieEgalModificări în funcție de distanța microprocesorului.
Potrivit pentruAplicații cu scop general și pentru schimb de timpAplicații în timp real și critice
VitezăMai lentMai repede
Lățime de bandăLimitatMai mult decât UMA.


Definiția UMA

UMA (acces la memorie uniformă) sistemul este o arhitectură de memorie partajată pentru multiprocesoare. În acest model, o singură memorie este utilizată și accesată de toate procesoarele care prezintă sistemul multiprocesor cu ajutorul rețelei de interconectare. Fiecare procesor are memorie egală cu timp de acces (latență) și viteză de acces. Poate folosi oricare dintre autobuzele unice, mai multe autobuze sau întrerupătoare transversale. Deoarece oferă acces echilibrat la memorie partajată, este cunoscut și sub denumirea de SMP (multiprocesor simetric) sisteme.

Designul tipic al SMP este prezentat mai sus unde fiecare procesor este conectat mai întâi la cache, apoi cache-ul este conectat la magistrala. În cele din urmă, autobuzul este conectat la memorie. Această arhitectură UMA reduce conținutul pentru autobuz prin preluarea instrucțiunilor direct din cache-ul izolat individual. De asemenea, oferă o probabilitate egală pentru citire și scriere pentru fiecare procesor. Exemple tipice de model UMA sunt serverele Sun Starfire, serverul Compaq alpha și seria HP v.


Definiția NUMA

NUMA (Acces de memorie neuniform) este de asemenea un model multiprocesor în care fiecare procesor conectat cu memoria dedicată. Totuși, aceste mici părți ale memoriei se combină pentru a crea un singur spațiu de adrese. Principalul lucru pe care trebuie să-l gândim este faptul că, spre deosebire de UMA, timpul de acces al memoriei se bazează pe distanța în care este amplasat procesorul, ceea ce înseamnă un timp de acces variabil la memorie. Permite accesul la oricare dintre locațiile de memorie prin utilizarea adresei fizice.

Așa cum am menționat mai sus, arhitectura NUMA este destinată să crească lățimea de bandă disponibilă în memorie și pentru care utilizează mai multe controlere de memorie. Combină numeroase nuclee de mașini în „noduri”Unde fiecare nucleu are un controler de memorie. Pentru a accesa memoria locală într-o mașină NUMA, nucleul preia memoria gestionată de controlerul de memorie de către nodul său. În timp ce accesați memoria la distanță care este gestionată de celălalt controler de memorie, nucleul este solicitarea de memorie prin legăturile de interconectare.

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

  1. Modelul UMA (memorie partajată) folosește unul sau două controlere de memorie. Spre deosebire, NUMA poate avea mai multe controlere de memorie pentru a accesa memoria.
  2. Busurile simple, multiple și transversale sunt utilizate în arhitectura UMA. Dimpotrivă, NUMA folosește ierarhizarea și tipul arborelui de autobuz și conexiunea la rețea.
  3. În UMA, timpul de acces la memorie pentru fiecare procesor este același, în timp ce în NUMA, timpul de acces la memorie se schimbă pe măsură ce se schimbă distanța de memorie de la procesor.
  4. Aplicațiile cu scop general și de schimb de timp sunt potrivite pentru mașinile UMA. În schimb, aplicația adecvată pentru NUMA este centrată î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, au lățimea de bandă limitată. Dimpotrivă, NUMA are lățimea de bandă mai mult decât UMA.

Concluzie

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