ProcessorsymmetriRedigér
I et multiprocessingssystem kan alle CPU’er være lige store, eller nogle kan være reserveret til særlige formål. En kombination af overvejelser vedrørende hardware og operativsystemets softwaredesign bestemmer symmetrien (eller manglen på samme) i et givet system. F.eks. kan hardware- eller softwarehensyn kræve, at kun én bestemt CPU skal reagere på alle hardwareafbrydelser, mens alt andet arbejde i systemet kan være ligeligt fordelt mellem CPU’erne; eller udførelse af kode i kernel-mode kan være begrænset til kun én bestemt CPU, mens kode i brugermode kan udføres i en hvilken som helst kombination af processorer. Multiprocessing-systemer er ofte nemmere at designe, hvis der pålægges sådanne begrænsninger, men de har en tendens til at være mindre effektive end systemer, hvor alle CPU’er udnyttes.
Systemer, der behandler alle CPU’er ens, kaldes symmetriske multiprocessing-systemer (SMP). I systemer, hvor alle CPU’er ikke er ligeværdige, kan systemressourcerne fordeles på en række måder, herunder asymmetrisk multiprocessering (ASMP), multiprocessering med ikke-uniform hukommelsesadgang (NUMA) og clustered multiprocessering.
Master/slave multiprocessorsystemRediger
I et master/slave multiprocessorsystem har master-CPU’en kontrol over computeren, og slave-CPU’en/slave-CPU’erne udfører tildelte opgaver. CPU’erne kan være helt forskellige med hensyn til hastighed og arkitektur. Nogle (eller alle) af CPU’erne kan have fælles bus, de kan hver især også have en privat bus (til private ressourcer), eller de kan være isolerede bortset fra en fælles kommunikationsvej. På samme måde kan CPU’erne dele fælles RAM og/eller have privat RAM, som den eller de andre processorer ikke har adgang til. Rollerne som master og slave kan skifte fra den ene CPU til den anden.
Et tidligt eksempel på et master/slave multiprocessorsystem er Tandy/Radio Shack TRS-80 Model 16 desktop-computeren, der udkom i februar 1982 og kørte Xenix-operativsystemet med flere brugere/multitasking, Microsofts version af UNIX (kaldet TRS-XENIX). Model 16 har 3 mikroprocessorer, en 8-bit Zilog Z80 CPU med en hastighed på 4 MHz, en 16-bit Motorola 68000 CPU med en hastighed på 6 MHz og en Intel 8021 i tastaturet. Når systemet blev startet op, var Z-80’eren master, og Xenix-opstartsprocessen initialiserede slave 68000’eren og overførte derefter kontrollen til 68000’eren, hvorefter CPU’erne skiftede roller, og Z-80’eren blev en slaveprocessor, der var ansvarlig for alle I/O-operationer, herunder disk, kommunikation, printer og netværk, samt tastaturet og den integrerede skærm, mens operativsystemet og programmerne kørte på 68000-CPU’en. Z-80 kunne bruges til at udføre andre opgaver.
Den tidligere TRS-80 Model II, som blev udgivet i 1979, kunne også betragtes som et multiprocessorsystem, da den både havde en Z-80 CPU og en Intel 8021-mikroprocessor i tastaturet. 8021’eren gjorde Model II til det første desktop-computersystem med et separat aftageligt letvægtstastatur, der var forbundet med en enkelt tynd, fleksibel ledning, og sandsynligvis det første tastatur, der anvendte en dedikeret mikroprocessor, begge egenskaber, som senere skulle blive kopieret år senere af Apple og IBM.
Instruktion og datastrømmeRediger
I multiprocessing kan processorer bruges til at udføre en enkelt sekvens af instruktioner i flere sammenhænge (single-instruction, multiple-data eller SIMD, ofte brugt i vektorbehandling), flere sekvenser af instruktioner i en enkelt kontekst (multiple-instruction, single-data eller MISD, der anvendes til redundans i fejlsikre systemer og undertiden anvendes til at beskrive pipelined-processorer eller hyper-threading) eller flere sekvenser af instruktioner i flere kontekster (multiple-instruction, multiple-data eller MIMD).
ProcessorkoblingRediger
Tightly coupled multiprocessorsystemRediger
Tightly coupled multiprocessorsystemer indeholder flere CPU’er, der er forbundet på busniveau. Disse CPU’er kan have adgang til en central delt hukommelse (SMP eller UMA), eller de kan deltage i et hukommelseshierarki med både lokal og delt hukommelse (SM)(NUMA). IBM p690 Regatta er et eksempel på et high end SMP-system. Intel Xeon-processorer dominerede multiprocessormarkedet for erhvervs-pc’er og var den eneste større x86-mulighed indtil lanceringen af AMD’s Opteron-serie af processorer i 2004. Begge serier af processorer havde deres egen indbyggede cache, men gav adgang til fælles hukommelse; Xeon-processorerne via en fælles pipe og Opteron-processorerne via uafhængige veje til systemets RAM.
Chip multiprocessorer, også kendt som multi-core computing, omfatter mere end én processor placeret på en enkelt chip og kan betragtes som den mest ekstreme form for tæt koblet multiprocessing. Mainframesystemer med flere processorer er ofte tæt koblet.
Løst koblet multiprocessorsystemRediger
Løst koblede multiprocessorsystemer (ofte omtalt som klynger) er baseret på flere enkeltstående enkelt- eller dobbeltprocessor-råvarecomputere, der er forbundet med hinanden via et højhastighedskommunikationssystem (Gigabit Ethernet er almindeligt). En Linux Beowulf-klynge er et eksempel på et løst koblet system.
Stramt koblede systemer yder bedre og er fysisk mindre end løst koblede systemer, men har historisk set krævet større startinvesteringer og kan hurtigt afskrives; knudepunkterne i et løst koblet system er normalt billige råvarecomputere og kan genbruges som uafhængige maskiner, når de tages ud af klyngen.
Effektforbruget er også en faktor, der skal tages i betragtning. Stramt koblede systemer har tendens til at være meget mere energieeffektive end klynger. Dette skyldes, at der kan opnås en betydelig besparelse ved at designe komponenterne til at arbejde sammen fra starten i tæt koblede systemer, hvorimod løst koblede systemer anvender komponenter, der ikke nødvendigvis var beregnet specielt til brug i sådanne systemer.
Løst koblede systemer har mulighed for at køre forskellige operativsystemer eller OS-versioner på forskellige systemer.