Non-Uniform Memory Access: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 6:
Le moderne [[CPU]] sono molto più veloci delle memorie a cui accedono. All'inizio degli [[anni 1970|anni 70]] quando iniziarono a diffondersi i primi [[supercomputer]] le memorie erano molto più veloci dei processori e quindi problemi di accesso alla memoria non si ponevano. Con il rapido incremento della frequenza di funzionamento delle CPU i tempi di accesso alla memoria divennero un problema sempre più impellente fino a diventare uno dei principali problemi delle attuali generazioni di processori. Molti sistemi sviluppati alla fine degli anni 80 e 90 si concentravano sull'ottenere sistemi di accesso alla memoria molto veloci piuttosto che unità di calcolo veloci dato che l'obiettivo dei sistemi era quello di poter trattare elevate quantità di dati.
La chiave per ottenere elevate prestazioni con i moderni supercomputer
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 [[server]] e simili l'architettura NUMA migliora le prestazioni se si suddivide la memoria centrale in diversi banchi e si assegna ad ogni banco un numero ridotto di processori.
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
==Coerenza delle cache e NUMA (ccNUMA)==
|