ProcessorsymmetriEdit
I ett multiprocessing-system kan alla CPU:er vara likvärdiga, eller så kan vissa vara reserverade för speciella ändamål. En kombination av överväganden om utformning av maskinvara och programvara för operativsystemet bestämmer symmetrin (eller bristen på symmetri) i ett visst system. Hårdvaru- eller mjukvaruöverväganden kan till exempel kräva att endast en viss CPU svarar på alla maskinvaruavbrott, medan allt annat arbete i systemet kan fördelas lika mellan CPU:erna, eller att körning av kod i kernel-läge begränsas till endast en viss CPU, medan kod i användarläge kan köras i vilken kombination som helst av processorer. Multiprocesseringssystem är ofta lättare att utforma om sådana begränsningar införs, men de tenderar att vara mindre effektiva än system där alla CPU:er utnyttjas.
System som behandlar alla CPU:er lika kallas symmetriska multiprocesseringssystem (SMP). I system där alla CPU:er inte är likvärdiga kan systemresurserna delas upp på ett antal olika sätt, bland annat asymmetrisk multiprocessering (ASMP), multiprocessering med icke likformig minnesåtkomst (NUMA) och klustrad multiprocessering.
Master/slave-multiprocessorsystemRedigera
I ett master/slave-multiprocessorsystem styr master-CPU:n datorn och slav-CPU:n(erna) utför tilldelade uppgifter. Processorerna kan vara helt olika när det gäller hastighet och arkitektur. Några (eller alla) av processorerna kan ha gemensam buss, var och en kan också ha en privat buss (för privata resurser), eller så kan de vara isolerade med undantag för en gemensam kommunikationsväg. På samma sätt kan processorerna dela ett gemensamt RAM-minne och/eller ha ett privat RAM-minne som de andra processorerna inte har tillgång till. Rollerna som master och slav kan skifta från en CPU till en annan.
Ett tidigt exempel på ett master/slave-multiprocessorsystem är skrivbordsdatorn Tandy/Radio Shack TRS-80 Model 16 som kom ut i februari 1982 och körde operativsystemet Xenix, Microsofts version av UNIX, som är ett operativsystem för flera användare och flera uppgifter (kallat TRS-XENIX). Model 16 har tre mikroprocessorer, en 8-bitars Zilog Z80 CPU med 4 MHz, en 16-bitars Motorola 68000 CPU med 6 MHz och en Intel 8021 i tangentbordet. När systemet startades upp var Z-80:an huvudprocessorn och Xenix uppstartsprocess initierade slaven 68000:an och överförde sedan kontrollen till 68000:an, varpå processorerna bytte roller och Z-80:an blev en slavprocessor som ansvarade för alla I/O-operationer, inklusive disk, kommunikation, skrivare och nätverk samt tangentbordet och den integrerade bildskärmen, medan operativsystemet och programmen kördes på 68000:ans CPU. Z-80 kunde användas för att utföra andra uppgifter.
Den tidigare TRS-80 Model II, som släpptes 1979, kan också betraktas som ett multiprocessorsystem eftersom den hade både en Z-80 CPU och en Intel 8021-mikroprocessor i tangentbordet. 8021:an gjorde Model II till det första stationära datorsystemet med ett separat löstagbart lättvikts-tangentbord som var kopplat till en enda tunn flexibel tråd, och troligen det första tangentbordet som använde en särskild mikroprocessor, båda egenskaper som senare skulle komma att kopieras flera år senare av Apple och IBM.
Instruktions- och dataströmmarRedigera
I multiprocessing kan processorerna användas för att utföra en enda sekvens av instruktioner i flera sammanhang (single-instruction, multiple-data eller SIMD, som ofta används vid vektorbehandling), flera sekvenser av instruktioner i ett enda sammanhang (multiple-instruction, single-data eller MISD, som används för redundans i felsäkra system och ibland används för att beskriva pipelined-processorer eller hyper-threading), eller flera sekvenser av instruktioner i flera sammanhang (multiple-instruction, multiple-data eller MIMD).
ProcessorkopplingRedigera
Tightly coupled multiprocessorsystemRedigera
Tightly coupled multiprocessorsystem innehåller flera CPU:er som är anslutna på bussnivå. Dessa CPU:er kan ha tillgång till ett centralt delat minne (SMP eller UMA) eller delta i en minneshierarki med både lokalt och delat minne (SM)(NUMA). IBM p690 Regatta är ett exempel på ett högklassigt SMP-system. Intel Xeon-processorer dominerade multiprocessormarknaden för företagsdatorer och var det enda större x86-alternativet fram till lanseringen av AMD:s Opteron-processorer 2004. Båda processorserierna hade egen inbyggd cache men gav tillgång till delat minne; Xeon-processorerna via en gemensam pipe och Opteron-processorerna via oberoende vägar till systemets RAM-minne.
Chip-multiprocessorer, även kända som flerkärniga datorer, innebär att mer än en processor är placerad på ett enda chip och kan betraktas som den mest extrema formen av tätt sammankopplad multiprocessing. Stordatorsystem med flera processorer är ofta tätt kopplade.
Löst kopplade multiprocessorsystemRedigera
Löst kopplade multiprocessorsystem (ofta kallade kluster) är baserade på flera fristående datorer med en eller två processorer av standardkvalitet som är sammankopplade via ett höghastighetskommunikationssystem (Gigabit Ethernet är vanligt). Ett Linux Beowulf-kluster är ett exempel på ett löst kopplat system.
Tätt kopplade system presterar bättre och är fysiskt mindre än löst kopplade system, men har historiskt sett krävt större initiala investeringar och kan avskrivas snabbt; noderna i ett löst kopplat system är vanligen billiga datorer och kan återvinnas som fristående maskiner när de tas ur klustret.
Effektförbrukningen är också en faktor att beakta. Tätt kopplade system tenderar att vara mycket mer energieffektiva än kluster. Detta beror på att betydande besparingar kan uppnås genom att utforma komponenter så att de fungerar tillsammans från början i tätt kopplade system, medan löst kopplade system använder komponenter som inte nödvändigtvis var särskilt avsedda att användas i sådana system.
Löst kopplade system har möjlighet att köra olika operativsystem eller operativsystemversioner på olika system.