NUMA (non-uniform memory access) is een methode om een cluster van microprocessoren in een multiprocessing systeem zo te configureren dat zij lokaal geheugen kunnen delen, waardoor de prestaties en de uitbreidbaarheid van het systeem worden verbeterd. NUMA wordt gebruikt in een symmetrisch multiprocessing ( SMP ) systeem. Een SMP-systeem is een "strak gekoppeld", "alles delen"-systeem waarin meerdere processoren die onder één besturingssysteem werken, toegang hebben tot elkaars geheugen via een gemeenschappelijke bus of "interconnect"-pad. Gewoonlijk is een beperking van SMP dat naarmate er meer microprocessoren bijkomen, de gedeelde bus of het gegevenspad overbelast raakt en een prestatieknelpunt wordt. NUMA voegt een tussenniveau van geheugen toe dat wordt gedeeld door een paar microprocessoren, zodat niet alle gegevenstoegang over de hoofdbus hoeft te lopen.
NUMA kan worden gezien als een "cluster in een doos". Het cluster bestaat meestal uit vier microprocessoren (bijvoorbeeld vier Pentium microprocessoren) die via een lokale bus (bijvoorbeeld een Peripheral Component Interconnect bus) zijn verbonden met een gedeeld geheugen (een "L3 cache " genoemd) op een enkel moederbord (het zou waarschijnlijk ook een kaart kunnen worden genoemd ). Deze eenheid kan aan soortgelijke eenheden worden toegevoegd om een symmetrisch multiprocessingsysteem te vormen waarin een gemeenschappelijke SMP-bus alle clusters met elkaar verbindt. Een dergelijk systeem bevat doorgaans 16 tot 256 microprocessoren. Voor een applicatieprogramma dat in een SMP-systeem draait, zien alle afzonderlijke processorgeheugens eruit als één enkel geheugen.
Als een processor gegevens zoekt op een bepaald geheugenadres, kijkt hij eerst in de L1-cache op de microprocessor zelf, dan in een iets grotere L1- en L2-cachechip in de buurt, en dan in een derde cache-niveau dat de NUMA-configuratie biedt, voordat hij de gegevens zoekt in het "remote memory" dat zich in de buurt van de andere microprocessoren bevindt. Elk van deze clusters wordt door NUMA gezien als een "knooppunt" in het interconnectienetwerk. NUMA behoudt een hiërarchisch overzicht van de gegevens op alle nodes.
Gegevens worden over de bus tussen de clusters van een NUMA SMP-systeem verplaatst met behulp van scalable coherent interface (SCI)-technologie. SCI coördineert de zogenaamde "cache coherence" of consistentie tussen de knooppunten van de meervoudige clusters.
SMP- en NUMA-systemen worden meestal gebruikt voor toepassingen als datamining en beslissingsondersteunende systemen, waarbij de verwerking kan worden uitbesteed aan een aantal processoren die gezamenlijk aan een gemeenschappelijke database werken. Sequent, Data General en NCR behoren tot de bedrijven die SMP NUMA-systemen produceren.