Symmetric multiprocessing
Symmetric multiprocessing, afgekort SMP, is een computerarchitectuur die het mogelijk maakt om meerdere microprocessoren in een computer te plaatsen. Hierbij worden meerdere processoren op de geheugenbus geplaatst, waarbij de geheugenbesturing bijhoudt welke processor zich met welk geheugen bezighoudt om conflicten te voorkomen.
SMP wordt vaak ten onrechte gelijkgesteld aan een computer waar meerdere processoren in zitten. Er zijn meerdere architecturen om meerdere processoren in een systeem te plaatsen, waar SMP er een van is.
Het plaatsen van meerdere processoren in een computer compliceert de software in een computer behoorlijk: datastructuren kunnen in de regel maar door één processor tegelijk bewerkt worden. Het schrijven van programma's welke door meerdere processoren uitgevoerd kunnen worden heet gedistribueerd programmeren. Indien men alleen de programma's over de processoren wil verdelen dient men alleen het besturingssysteem volgens multiprogrammeringstechnieken op te bouwen. Indien men programma's van meerdere processoren tegelijk gebruik wil laten maken, dan moet men ook de programma's opbouwen in multiprogrammering.
Omdat bij SMP alle processoren op dezelfde geheugenbus zijn aangesloten wordt de capaciteit van de geheugenbus zwaarder belast naarmate er meer processoren op worden aangesloten. Het plaatsen van grote aantallen processoren in een computer is dan ook problematisch en duur. SMP blijft in praktijk beperkt tot enkele processoren, daarboven zijn andere architecturen zoals NUMA economischer.
Op de pc-markt wordt de SMP-architectuur vooral toegepast door Intel; alle tot nog toe voor pc's geschikte multiprocessorsystem van deze fabrikant gebruiken de SMP-architectuur. AMD heeft zich kort met SMP beziggehouden, het resultaat hiervan was de Athlon MP-processor. Hierna heeft de fabrikant zich geconcentreerd op NUMA-architecturen.