Supercomputer/Uniform Memory Access
L'Uniform Memory Access (UMA) è stata la prima organizzazione di memoria sviluppata per i supercomputer paralleli. Ogni processore aveva un tempo di accesso costante alla memoria indipendentemente dal fatto che la memoria fosse fisicamente vicina al processore oppure no.
Questa architettura veniva ottenuta usualmente tramite un bus e delle unità di arbitraggio che mettevano in comunicazione la memoria con il processore. Questa tipologia di memoria è semplice da implementare e da programmare dato che i tempi di accesso sono prevedibili a priori. Lo svantaggio di questa tipologia di accesso alla memoria è che se la memoria non è molto più veloce dei processori si creano dei colli di bottiglia nell'accesso alla memoria.
Questa tipologia di memoria venne inizialmente utilizzata da sistemi con pochi processori ma venne rapidamente abbandonata dato che con l'aumento del numero di processori e con l'aumento della loro frequenza i tempi di accesso alla memoria penalizzavano eccessivamente i supercomputer. Questo portò allo sviluppo di sistemi come il sistema NUMA.