Raccomandato, 2024

Scelta Del Redattore

Differenza tra UMA e NUMA

I multiprocessori possono essere suddivisi in tre categorie di modelli a memoria condivisa: UMA (Uniform Memory Access), NUMA (accesso non uniforme alla memoria) e COMA (accesso solo memoria cache). I modelli sono differenziati in base alla modalità di distribuzione della memoria e delle risorse hardware. Nel modello UMA, la memoria fisica viene condivisa in modo uniforme tra i processori che hanno anche una latenza uguale per ogni parola di memoria mentre NUMA fornisce un tempo di accesso variabile ai processori per accedere alla memoria.

La larghezza di banda utilizzata nella memoria UMA nella memoria è limitata poiché utilizza un singolo controller di memoria. Il motivo principale dell'avvento delle macchine NUMA è aumentare la larghezza di banda disponibile nella memoria utilizzando più controller di memoria.

Grafico comparativo

Base per il confrontoUMANUMA
Di baseUtilizza un singolo controller di memoriaController di memoria multipla
Tipo di autobus utilizzatiSingle, multiplo e crossbar.Albero e gerarchico
Tempo di accesso alla memoriaPariCambia in base alla distanza del microprocessore.
Adatto aApplicazioni generiche e time-sharingApplicazioni in tempo reale e in tempo reale
VelocitàPiù lentamentePiù veloce
Larghezza di bandaLimitatoPiù di UMA.

Definizione di UMA

Il sistema UMA (Uniform Memory Access) è un'architettura di memoria condivisa per i multiprocessore. In questo modello, una singola memoria viene utilizzata e accessibile da tutti i processori che presentano il sistema multiprocessore con l'aiuto della rete di interconnessione. Ogni processore ha uguale tempo di accesso alla memoria (latenza) e velocità di accesso. Può impiegare uno dei singoli bus, bus multiplo o crossbar switch. Poiché fornisce un accesso bilanciato alla memoria condivisa, è anche noto come SMP (Symmetric multiprocessor) .

Il design tipico di SMP è mostrato sopra in cui ogni processore viene prima collegato alla cache, quindi la cache è collegata al bus. Finalmente il bus è collegato alla memoria. Questa architettura UMA riduce il conflitto per il bus recuperando le istruzioni direttamente dalla cache isolata individuale. Fornisce inoltre un'uguale probabilità di lettura e scrittura su ciascun processore. Gli esempi tipici del modello UMA sono i server Sun Starfire, il server Compaq alpha e HP v series.

Definizione di NUMA

NUMA (Non-uniforme Memory Access) è anche un modello multiprocessore in cui ogni processore è collegato alla memoria dedicata. Tuttavia, queste piccole parti della memoria si combinano per creare un unico spazio di indirizzamento. Il punto principale su cui riflettere qui è che a differenza di UMA, il tempo di accesso della memoria dipende dalla distanza in cui si trova il processore, il che significa che varia il tempo di accesso alla memoria. Consente l'accesso a qualsiasi posizione di memoria utilizzando l'indirizzo fisico.

Come accennato in precedenza, l'architettura NUMA ha lo scopo di aumentare la larghezza di banda disponibile nella memoria e per il quale utilizza più controller di memoria. Combina numerosi core macchina in " nodi " in cui ogni core ha un controller di memoria. Per accedere alla memoria locale in una macchina NUMA, il core recupera la memoria gestita dal controller di memoria dal suo nodo. Mentre per accedere alla memoria remota gestita dall'altra memoria controller, il core invia la richiesta di memoria attraverso i collegamenti di interconnessione.

L'architettura NUMA utilizza l'albero e le reti di bus gerarchici per interconnettere i blocchi di memoria e i processori. BBN, TC-2000, SGI Origin 3000, Cray sono alcuni degli esempi dell'architettura NUMA.

Differenze chiave tra UMA e NUMA

  1. Il modello UMA (memoria condivisa) utilizza uno o due controller di memoria. Diversamente, NUMA può avere più controller di memoria per accedere alla memoria.
  2. Bus single, multiplo e crossbar sono utilizzati nell'architettura UMA. Al contrario, NUMA utilizza gerarchici e tipo di bus e connessione di rete.
  3. In UMA il tempo di accesso alla memoria per ciascun processore è lo stesso mentre in NUMA il tempo di accesso alla memoria cambia al variare della distanza della memoria dal processore.
  4. Applicazioni generiche e time-sharing sono adatte per le macchine UMA. Al contrario, l'applicazione appropriata per NUMA è centrica in tempo reale e in base al tempo.
  5. I sistemi paralleli basati su UMA funzionano più lentamente dei sistemi NUMA.
  6. Quando si tratta di banda larga UMA, hanno una larghezza di banda limitata. Al contrario, NUMA ha una larghezza di banda superiore all'UDA.

Conclusione

L'architettura UMA fornisce la stessa latenza complessiva ai processori che accedono alla memoria. Questo non è molto utile quando si accede alla memoria locale perché la latenza sarebbe uniforme. D'altra parte, in NUMA ogni processore aveva la sua memoria dedicata che elimina la latenza quando si accede alla memoria locale. La latenza cambia al variare della distanza tra il processore e la memoria (cioè, Non uniforme). Tuttavia, NUMA ha migliorato le prestazioni rispetto all'architettura UMA.

Top