SMP (Symmetric Multiprocessing) und  Numa (Non Uniform Memory Access) beschreiben kurzerhand Technologien wie ein Prozessor mt seinem Speicher dem RAM (Random Access Memory) umgeht.

SMP Symetric Multiprocessing

Alle Prozessoren greifen auf ein und denselben Speicher (RAM) zu und teilen sich diesen.

Ein Computer arbeitet seine Befehle über den Prozessor ab.  Hierzu werden Werte in den RAM geladen und über den Prozessor dann entsprechend abgearbeitet und in den RAM zurückgeschrieben.

Nun liegt es nahe zu meinen, das je mehr Prozessoren einem System hinzugefügt werden, umso schneller der Rechner arbeitet. Dies ist auch so bis zu einer Anzahl von acht Prozessoren. Dann erweist sich der RAM schnell als der Flaschenhals der die Prozessoren untereinander ausbremst.

Man kann sich das so vorstellen, dass alle Prozessoren versuchen auf den Speicher zuzugreifen und zu schreiben und zu lesen. Je mehr Prozessoren darauf zugreifen wollen, umso größer ist der Overhead an Sperren (Latches) und Daten die über den Memory ausgetauscht werden.

Insbesondere ist hier der Memory Bus gemeint. Es erfolgt ein nicht optimales Arbeiten und es entsteht ein sogenanntes Bootlenack (Flashenhals).  Das heißt die Prozessoren können nicht mehr optimal gemäß ihrer Leistung arbeiten da sie einfach zu lange warten müssen um auf den Memory zuzugreifen.

Die Lösung des Problems:

NUMA (Non Uniform Memory Access)

Jeder im System befindliche Prozessor besitzt seinen eigenen Speicherbereich.