Prosessorin symmetriaEdit
Moniprosessointijärjestelmässä kaikki suorittimet voivat olla samanarvoisia, tai osa suorittimista voidaan varata erityistarkoituksiin. Laitteiston ja käyttöjärjestelmäohjelmiston suunnitteluun liittyvien näkökohtien yhdistelmä määrittää symmetrian (tai sen puutteen) tietyssä järjestelmässä. Laitteisto- tai ohjelmistonäkökohdat voivat esimerkiksi vaatia, että vain yksi tietty prosessori vastaa kaikkiin laitteistokeskeytyksiin, kun taas kaikki muu työ järjestelmässä voidaan jakaa tasaisesti prosessoreiden kesken; tai ydintoimintatilan koodin suoritus voidaan rajoittaa vain yhteen tiettyyn prosessoriin, kun taas käyttäjätoimintatilan koodia voidaan suorittaa missä tahansa prosessorien yhdistelmässä. Moniprosessorijärjestelmät ovat usein helpompia suunnitella, jos tällaiset rajoitukset on asetettu, mutta ne ovat yleensä vähemmän tehokkaita kuin järjestelmät, joissa kaikkia suorittimia käytetään.
Järjestelmiä, joissa kaikkia suorittimia kohdellaan tasavertaisesti, kutsutaan symmetrisiksi moniprosessorijärjestelmiksi (SMP). Suorittimet voivat olla nopeudeltaan ja arkkitehtuuriltaan täysin erilaisia. Joillakin (tai kaikilla) suorittimilla voi olla yhteinen väylä, jokaisella voi olla myös yksityinen väylä (yksityisiä resursseja varten), tai ne voivat olla eristettyjä lukuun ottamatta yhteistä tietoliikenneväylää. Samoin suorittimilla voi olla yhteinen RAM-muisti ja/tai yksityinen RAM-muisti, jota muut suorittimet eivät voi käyttää. Master- ja slave-roolit voivat vaihtua suorittimelta toiselle.
Varhainen esimerkki master/slave-moniprosessorijärjestelmästä on Tandy/Radio Shack TRS-80 Model 16 -pöytätietokone, joka julkaistiin helmikuussa 1982 ja jossa käytettiin Xenix-käyttöjärjestelmää, Microsoftin versiota UNIX:stä (nimeltään TRS-XENIX). Model 16:ssa on kolme mikroprosessoria, 8-bittinen Zilog Z80 -suoritin, joka toimii 4 MHz:n kellotaajuudella, 16-bittinen Motorola 68000 -suoritin, joka toimii 6 MHz:n kellotaajuudella, ja Intel 8021 -prosessori näppäimistössä. Kun järjestelmä käynnistettiin, Z-80 oli master-prosessori, ja Xenixin käynnistysprosessi alusti orjaprosessori 68000:n ja siirsi sitten kontrollin 68000:lle, minkä jälkeen suorittimet vaihtoivat rooleja ja Z-80:stä tuli orjaprosessori, joka vastasi kaikista I/O-toiminnoista, kuten levystä, tietoliikenteestä, tulostimesta ja verkkoyhteydestä sekä näppäimistöstä ja integroidusta näytöstä, kun taas 68000:n suorittimessa toimi käyttöjärjestelmä ja sovellukset. Z-80:tä voitiin käyttää myös muihin tehtäviin.
Vuonna 1979 julkaistua aiempaa TRS-80 Model II:ta voitiin myös pitää moniprosessorijärjestelmänä, sillä siinä oli sekä Z-80-suoritin että Intelin 8021-mikroprosessori näppäimistössä. 8021:n ansiosta Model II oli ensimmäinen pöytätietokonejärjestelmä, jossa oli erillinen irrotettava kevyt näppäimistö, joka oli yhdistetty yhdellä ohuella taipuisalla johdolla, ja todennäköisesti ensimmäinen näppäimistö, jossa käytettiin omaa mikroprosessoria, molemmat ominaisuudet, jotka Apple ja IBM kopioivat vuosia myöhemmin.
Käsky- ja tietovirratMuokkaa
Moniprosessoinnissa prosessoreita voidaan käyttää yhden käskysarjan suorittamiseen useissa yhteyksissä (single-instruction, multiple-data eli SIMD, jota käytetään usein vektorikäsittelyssä), useita käskysarjoja yhdessä kontekstissa (multiple-instruction, single-data tai MISD, jota käytetään redundanssiin vikasietoisissa järjestelmissä ja jota joskus käytetään kuvaamaan putkijohdinprosessoreita tai hyper-threadingia), tai useita käskysarjoja useissa konteksteissa (multiple-instruction, multiple-data tai MIMD).
ProsessorikytkentäEdit
Tiiviisti kytketty moniprosessorijärjestelmäEdit
Tiiviisti kytketyt moniprosessorijärjestelmät sisältävät useita suorittimia, jotka on kytketty väylätasolla. Näillä suorittimilla voi olla pääsy jaettuun keskusmuistiin (SMP tai UMA) tai ne voivat osallistua muistihierarkiaan, jossa on sekä paikallista että jaettua muistia (SM) (NUMA). IBM p690 Regatta on esimerkki huippuluokan SMP-järjestelmästä. Intelin Xeon-prosessorit hallitsivat yritystietokoneiden moniprosessorimarkkinoita, ja ne olivat ainoa merkittävä x86-vaihtoehto, kunnes AMD:n Opteron-prosessorit tulivat markkinoille vuonna 2004. Molemmissa prosessoreissa oli oma välimuisti, mutta ne tarjosivat pääsyn jaettuun muistiin; Xeon-prosessorit yhteisen putken kautta ja Opteron-prosessorit itsenäisten väylien kautta järjestelmän RAM-muistiin.
Chip-moniprosessorit, jotka tunnetaan myös nimellä moniydinlaskenta, käsittävät useamman kuin yhden prosessorin, joka on sijoitettu yhdelle sirulle, ja niitä voidaan pitää tiukasti kytketyn moniprosessoinnin äärimmäisenä muotona. Suurkonejärjestelmät, joissa on useita prosessoreita, ovat usein tiukasti kytkettyjä.
Löyhästi kytketty moniprosessorijärjestelmäMuokkaa
Löyhästi kytketyt moniprosessorijärjestelmät (joita kutsutaan usein klustereiksi) perustuvat useisiin itsenäisiin yhden tai kahden prosessorin hyödyketietokoneisiin, jotka on kytketty toisiinsa huippunopean tiedonsiirtojärjestelmän välityksellä (tavallista on käyttää Gigabit Ethernetiä). Linux Beowulf -klusteri on esimerkki löyhästi kytketystä järjestelmästä.
Kireästi kytketyt järjestelmät ovat suorituskykyisempiä ja fyysisesti pienempiä kuin löyhästi kytketyt järjestelmät, mutta ne ovat historiallisesti vaatineet suuremmat alkuinvestoinnit, ja ne ovat saattaneet menettää nopeasti arvonsa.
Virrankulutus on myös otettava huomioon. Tiiviisti kytketyt järjestelmät ovat yleensä paljon energiatehokkaampia kuin klusterit. Tämä johtuu siitä, että tiukasti kytketyissä järjestelmissä voidaan saavuttaa huomattavaa säästöä suunnittelemalla komponentit alusta alkaen toimimaan yhdessä, kun taas löyhästi kytketyissä järjestelmissä käytetään komponentteja, joita ei välttämättä ole erityisesti tarkoitettu käytettäväksi tällaisissa järjestelmissä.
Löyhästi kytketyissä järjestelmissä on mahdollisuus käyttää eri käyttöjärjestelmiä tai käyttöjärjestelmäversioita eri järjestelmissä.