Supercomputer/Non-Uniform Memory Access: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 8:
La chiave per ottenere elevate prestazioni con i moderni supercomputer e quello di limitare l'accesso alla memoria a una limitata quantità di memoria molto veloce. Per realizzare questo vengono utilizzate cache di dimensioni sempre crescente all'interno dei processori che mantengono i dati utilizzati di frequente. Queste cache vengono aggiornate con algoritmi sempre più avanzati al fine di mantenere solo le informazioni utilizzate effettivamente di frequente. Questi metodi non sono in grado di compensare completamente il continuo aumento di memoria e di dimensione dei programmi e sistemi operativi che riducono le prestazioni delle cache. Nei sistemi multiprocessore questo diventa ancora più evidente dato che solo un processore può accedere memoria mentre gli altri processori se devono accedere alla memoria sono costretti ad attendere il loro turno.
L'architettura NUMA cerca di porre rimedio a questo problema fornendo a ogni processore una piccola zona di memoria ad accesso esclusivo e veloce in modo da evitare la creazione di colli di bottiglia. Nel caso di applicazioni che richiedono la condivisione di dati come nel caso di
Naturalmente i dati non sono realmente separati nelle memorie dei singoli processori e se dei dati devono essere elaborati da più processori questo è possibile. In questo caso l'architettura NUMA prevede che il software o dei dispositivi hardware provvedano a spostare i dati da un banco a un altro. Questa copia dei dati rallenta i processori e quindi l'efficienza delle architettura NUMA dipende molto dai compiti svolti dal sistema.
|