NUMA (non-uniform memory access)

NUMA (non-uniform memory access) è un metodo di configurazione di un cluster di microprocessori in un sistema multiprocessing in modo che possano condividere la memoria localmente, migliorando le prestazioni e la capacità del sistema da espandere. NUMA è utilizzato in un sistema di multiprocessing simmetrico (SMP). Un sistema SMP è un sistema “strettamente accoppiato “”condividi tutto” in cui più processori che lavorano sotto un singolo sistema operativo accedono alla memoria dell’altro su un bus comune o un percorso di “interconnessione”. Normalmente, una limitazione di SMP è che quando vengono aggiunti microprocessori, il bus condiviso o il percorso dei dati vengono sovraccaricati e diventano un collo di bottiglia delle prestazioni. NUMA aggiunge un livello intermedio di memoria condivisa tra alcuni microprocessori in modo che tutti gli accessi ai dati non debbano viaggiare sul bus principale.

NUMA può essere pensato come un ” cluster in una scatola.”Il cluster è tipicamente costituito da quattro microprocessori (ad esempio, quattro microprocessori Pentium) interconnessi su un bus locale (ad esempio, un bus di interconnessione dei componenti periferici) a una memoria condivisa (chiamata “cache L3 “) su una singola scheda madre (probabilmente potrebbe anche essere definita una scheda ). Questa unità può essere aggiunta a unità simili per formare un sistema multiprocessing simmetrico in cui un bus SMP comune collega tutti i cluster. Tale sistema contiene tipicamente da 16 a 256 microprocessori. Per un programma applicativo in esecuzione in un sistema SMP, tutte le singole memorie del processore sembrano una singola memoria.

Quando un processore cerca dati ad un certo indirizzo di memoria, prima cerca nella cache L1 sul microprocessore stesso, poi su un chip di cache L1 e L2 un po ‘ più grande nelle vicinanze, e poi su un terzo livello di cache che la configurazione NUMA fornisce prima di cercare i dati nella “memoria remota” situata vicino agli altri microprocessori. Ognuno di questi cluster è visto da NUMA come un “nodo” nella rete di interconnessione. NUMA mantiene una vista gerarchica dei dati su tutti i nodi.

I dati vengono spostati sul bus tra i cluster di un sistema SMP NUMA utilizzando la tecnologia Scalable Coherent Interface (SCI). SCI coordina ciò che viene chiamato “coerenza della cache” o coerenza tra i nodi dei cluster multipli.

I sistemi SMP e NUMA sono in genere utilizzati per applicazioni come il data mining e il sistema di supporto alle decisioni in cui l’elaborazione può essere suddivisa in un numero di processori che lavorano collettivamente su un database comune. Sequent, Data General e NCR sono tra le aziende che producono sistemi SMP NUMA.