Non-Uniform Memory Access: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Modifico de:NUMA→de:Non-Uniform Memory Access |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(28 versioni intermedie di 16 utenti non mostrate) | |||
Riga 1:
'''Non-Uniform Memory Access''' ('''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 [[Multiprocessore simmetrico|SMP]].
== Concetti basilari ==
Line 14 ⟶ 13:
== Coerenza delle cache e NUMA (ccNUMA) ==
{{vedi anche|Coerenza della cache#Directory-based - Message-passing}}
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.▼
▲Oramai qualsiasi processore è dotato di una piccola zona di memoria molto veloce e ad accesso esclusivo chiamata [[cache memory|cache]]. Queste
Sebbene 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 dei meccanismi hardware che provvedono a gestire la coerenza delle cache; queste architetture sono chiamate '''ccNUMA'''.▼
▲Sebbene 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 dei meccanismi hardware che provvedono a gestire la coerenza delle cache; queste architetture sono chiamate '''ccNUMA'''.
Questi sistemi normalmente utilizzano comunicazioni interprocesso tra i gestori delle cache che tengono traccia del fatto che più processori abbiano copie della stessa zona di memoria e questi provvedono a invalidare le cache se uno dei processori modifica una di queste zone di memoria controllate.
Line 23 ⟶ 24:
== NUMA e cluster ==
L'architettura NUMA può essere vista come una versione ridotta di [[computer cluster|cluster di computer]]. L'aggiunta della [[paginazione]] della [[memoria virtuale]] a un sistema a cluster permette di emulare un'architettura NUMA anche se questa non esiste in hardware. Tuttavia questa soluzione è molto più lenta: la [[Comunicazione tra processi|comunicazione interprocesso]] in un'architettura NUMA software è diversi ordini di grandezza più lenta di una comunicazione interprocesso in un'architettura NUMA hardware.
== Bibliografia ==
* {{cita libro|autore=[[Andrew Stuart Tanenbaum]]|titolo=Architettura dei calcolatori. Un approccio strutturale|editore=Pearson Education|città=Milano|anno=2006|url=http://books.google.it/books?id=hK8lJ4BPOYcC|pp=581-589|capitolo=Multiprocessori NUMA|isbn=978-88-7192-271-3|cid=adc}}
== Voci correlate ==
* [[Computer cluster]]
* [[
* [[Supercomputer]]
* [[Silicon Graphics
== Altri progetti ==
{{Interprogetto|preposizione=sulla}}
== Collegamenti esterni ==
* {{FOLDOC}}
* {{
* {{cita web|1=http://cne.gmu.edu/modules/dsm/yellow/page_dsm.html|2=Page-based distributed shared memory|lingua=en|accesso=5 gennaio 2006|urlarchivio=https://web.archive.org/web/20051214085335/http://cne.gmu.edu/modules/dsm/yellow/page_dsm.html|dataarchivio=14 dicembre 2005|urlmorto=sì}}
* {{cita web|1=http://www.linuxgazette.com/node/8843|2=NUMA article at the Linux Gazette (stored at archive.org)|lingua=en|accesso=3 maggio 2019|dataarchivio=10 febbraio 2005|urlarchivio=https://web.archive.org/web/20050210025950/http://www.linuxgazette.com/node/8843|urlmorto=sì}}
{{Portale|informatica}}
Line 40 ⟶ 49:
[[Categoria:Supercomputer]]
[[Categoria:Calcolo parallelo]]
▲[[cs:Non-Uniform Memory Access]]
|