Differenza tra UMA e NUMA

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 5 Maggio 2024
Anonim
La differenza tra Tu x Você | POPI - Portoghese per Italiani
Video: La differenza tra Tu x Você | POPI - Portoghese per Italiani

Contenuto


I multiprocessori possono essere suddivisi in tre categorie di modelli di memoria condivisa: UMA (Uniform Memory Access), NUMA (Non-uniform Memory Access) e COMA (Cache-only Memory Access). I modelli sono differenziati in base alla modalità di distribuzione della memoria e delle risorse hardware. Nel modello UMA, la memoria fisica è uniformemente condivisa tra i processori che hanno anche la stessa latenza per ogni parola di memoria mentre NUMA fornisce un tempo di accesso variabile ai processori per accedere alla memoria.

La larghezza di banda utilizzata in UMA per la memoria è limitata in quanto utilizza un singolo controller di memoria. Il motivo principale dell'avvento delle macchine NUMA è quello di migliorare la larghezza di banda disponibile nella memoria utilizzando più controller di memoria.

    1. Tabella di comparazione
    2. Definizione
    3. Differenze chiave
    4. Conclusione

Tabella di comparazione

Base per il confrontoUMANUMA
Di baseUtilizza un singolo controller di memoriaController di memoria multipla
Tipo di autobus utilizzatoSingolo, multiplo e traversa.Albero e gerarchico
Tempo di accesso alla memoriaPariCambia in base alla distanza del microprocessore.
Adatto aApplicazioni per scopi generici e di condivisione del tempoApplicazioni in tempo reale e critiche
VelocitàPiù lentamentePiù veloce
Larghezza di bandaLimitatoPiù di UMA.


Definizione di UMA

UMA (Uniform Memory Access) il sistema è un'architettura di memoria condivisa per i multiprocessori. 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 il singolo bus, il bus multiplo o l'interruttore a barra. Poiché fornisce un accesso bilanciato alla memoria condivisa, è anche noto come SMP (multiprocessore simmetrico) sistemi.

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


Definizione di NUMA

NUMA (accesso alla memoria non uniforme) è anche un modello multiprocessore in cui ciascun processore si è collegato con la memoria dedicata. Tuttavia, queste piccole parti della memoria si combinano per creare un unico spazio di indirizzi. Il punto principale su cui riflettere è che, a differenza di UMA, il tempo di accesso alla memoria dipende dalla distanza in cui è posizionato il processore, il che significa variare il tempo di accesso alla memoria. Permette l'accesso a qualsiasi posizione della memoria usando l'indirizzo fisico.

Come accennato in precedenza, l'architettura NUMA ha lo scopo di aumentare la larghezza di banda disponibile nella memoria e per la quale utilizza più controller di memoria. Combina numerosi core di macchine in "nodi"In cui ciascun 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 che è gestita dall'altro controller di memoria, il core è la richiesta di memoria attraverso i collegamenti di interconnessione.

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

  1. Il modello UMA (memoria condivisa) utilizza uno o due controller di memoria. Al contrario, NUMA può avere più controller di memoria per accedere alla memoria.
  2. I bus singoli, multipli e crossbar sono utilizzati nell'architettura UMA. Al contrario, NUMA utilizza un tipo gerarchico e ad albero di bus e connessioni 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. Le applicazioni per scopi generici e di condivisione del tempo sono adatte per le macchine UMA. Al contrario, l'applicazione appropriata per NUMA è in tempo reale e incentrata sul tempo critico.
  5. I sistemi paralleli basati su UMA funzionano più lentamente dei sistemi NUMA.
  6. Quando si tratta di larghezza di banda UMA, avere una larghezza di banda limitata. Al contrario, NUMA ha una larghezza di banda superiore a UMA.

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 (ovvero, non uniforme). Tuttavia, NUMA ha migliorato le prestazioni rispetto all'architettura UMA.