Non-Uniform Memory Access: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
 
mNessun oggetto della modifica
Riga 1:
'''Non-Uniform Memory Access''' o '''Non-Uniform Memory Architecture''' ('''NUMA''') è un'architettura di memoria sviluppata per i sistemi [[multiprocessore simmetrico|multiprocessore]] dove i tempi di accesso dipendono dalla posizione della memoria rispetto al processore. Nelle architetture NUMA un processore può accedere rapidamente alla propria memoria locale, più lentamente alle memorie degli altri processori o alla memoria condivisa.
 
L'architettura NUMA è il logico passo successivo delle architetture [[MUltiprocessoMultiprocessore simmetrico|SMP]]. Questa tipologia di architettura fu sviluppata inizialmente da [[Sequent Computer Systems|Sequent]] e [[Data General]] durante gli [[anni 1990|anni 90]]. Queste tecnologie vennero in seguito adottata da molti sistemi [[Unix]] e parzialmente anche nell'architettura di [[Windows NT]] e dei successivi.
 
==Concetti basilari==
Riga 14:
==Corenza delle cache e NUMA (ccNUMA)==
Oramai qualsiasi processore è dotato di una piccola zona di memoria molto veloce ad accesso esclusivo chiamata cache. Queste cache migliorano le prestazioni del sistema perché sfruttano il [[principio di località]] dei programmi ma la loro gestione introduce un notevole carico di lavoro aggiuntivo all'architettura NUMA.
Nearly all CPU architectures use a small amount of very fast non-shared memory known as [[CPU cache|cache]] to exploit [[locality of reference]] in memory accesses. With NUMA, maintaining [[cache coherence]] across shared memory has a significant overhead.
 
SebbenSebbene semplice da progettare un''architettura NUMA senza cache non viene normalmente implementata date le scarse prestazioni del sistema. Un architettura NUMA che non mantenga le cache coerenti sarebbe anch'essa semplice da progettare ma la sua programmazione sarebbe praticamente impossibile. Quindi tutte le architetture NUMA hanno al loro interno hanno dei meccanismi hardware che provvedono a gestire la coerenza delle cache, queste architetture sono chiamate '''ccNUMA'''.
 
Questi sistemi normalmente utilizzano comunicazioni inter-prcesso tra i gestori delle cache che tengono traccia del fatto che più processori abbino copie della stessa zona di memoria e questi provvenodo a invalidare le cache se uno dei processori modifica una di queste zone di memoria controllate.
Riga 27 ⟶ 26:
==Vedi anche==
* [[Cluster computing]]
* [[MultiprocessoMultiprocessore simmetrico]] (SMP)
* [[Supercomputer]]
* [[Silicon Graphics|SGI]]