Symmetriset moniprosessorit (SMP:t)
SMP (Symmetric multiprocessing) tarkoittaa ohjelmien suorittamista useammalla fyysisellä prosessorilla rinnakkaisesti siten että ne jakavat keskenään saman käyttöjärjestelmän ja keskusmuistin ja kaiken muun mitä kysessä olevaan tietokoneen kokoonpanoon sisältyy. Moniprosessorikoneissa rinnakkaisten prosessoreiden määärä on yleensä rajattu maksimissaan 16 prosessoriin. SMP järjestelmä on parempi kuin muut rinnakkaisprosessointi systeemit sekä myös periaatteessa kustannustehokkaampi koska rypäs prosessoreja on suoraan yhdistetty emolevyllä toisiinsa. Kustannustehokkuus on tietysti suhteellinen käsite koska tuotantomäärät pienenevät sitä mukaa mitä useamman prosesorin järjestelmästä on kymymys. Käyttöjärjestelmän moniprosessointituki on tietysti myös ratkaiseva seikka nopeuden hyödyntämisen kannalta jonka yhden järjestelmän nopeat väylät tarjoavat. Laskentaklusterissa on etuna se että jos se on suunniteltu alusta asti kattavasti niin koneita pystytään lisäämään koko ajan lisää. Toisaalta kun lisätään uudempia huomattavasti nopeampia koneita jälkikäteen niin ratkaisevaa on se miten klusterointia kontrolloiva ohjelmisto on toteutettu. Yleensä ohjelmisto jakaa tietyn kokoisia paketteja tasaisesti koneille koska oletetaan että klusteriin kytkeytyneet koneet ovat saman nopeuksisia. Optimaalisinta olisi tehdä mahdollisimman yksinkertainen konekielinen ohjelma joka ottaisi ensin kaiken irti mahdollisimman usean prosessorin yhtenäisestä järjestelmästä sekä lisäksi jakaisi vielä toisen asteen priorisoituja tehtäviä ympärillä olevalle klusterille. Järjestelmän hallinta olisi kokonaan ulkoistettu eikä koneilla olisi minkäänlaisia graafisia käyttöliittymä eikä myös käännettävää koodia.
Nykyään nämä monen prosessorin ja yhden muistin koneet ovat yleistymässä.
[1]
Kuvassa neljän prosessorin emolevy intelin piirillä jossa tuki Xeon 7500-sarjan prosessoreille.
Joskus tarvitaan enemmän laskentatehoa kuin yksittäisen prosessorin tietokone pystyisi tarjoamaan kustannustehokkaasti. Symmetristä multiprosessointia tukevat emolevyn piirisarjat tarjoavat mahdollisuuden kasvattaa fyysisten prosessoreiden määrä yhdellä tai jopa useammalla prosessorilla jotka pystyvät hyödyntämään samaa muistiavaruutta täysillä väylänopeuksilla.
Kuvassa näkyy mikä on erona symmetrisen multiprosessoinnin ja asymmetrisen multiprosessoinnin välillä. Eli Symmetrisessä kaikki erilliset fyysiset prosessorit käyttävät samaa muistia kun taas asymmetrisessä ne käyttävät omia muistialueitaan.
Alla olevassa taulukossa vertaillaan symmetrisen ja asymmetrisen multiprosessoinnin toimintaperiaatetta.
muokkaaVertailu taulukko | symmetrinen | asymmetrinen |
---|---|---|
perusperiaate | jokainen prosessori ajaa tehtävää käyttöjärjestelmässä | vain pääprosessori ajaa tehtäviä käyttöjärjestelmässä |
tehtävien suorittaminen | prosessorit ottavat uusia tehtäviä suoritettavakseen jonosta tai sitten voi olla myös niin että tehtävät ovat jo valmiiksi yksilöity tietylle prosessorille | master prosessori jakaa tehtäviä slave prosessoreille |
arkkitehtuuri | symmetrisessä järjestelmässä kaikki prosessorit omaavat saman prosessoriarkkitehtuurin | asymmetrisessä järjestelmässä prosessorit voivat olla erilaisilla arkkitehtuureilla |
kommunikointi | kaikki prosessorit kommunikoivat keskenään | aliprosessorit kommunikoivat pääprosessorin kanssa mutteivat keskenään |
virhetilanne | jos yksi prosessori kaatuu niin silloin järjestelmän teho laskee | jos pääprosessori kaatuu niin silloin aliprosessori vaihtuu automaattisesti pääprosessorin asemaan. Jos aliprosessori taas kaatuisi niin silloin sen jäljellä olevat tehtävät vain siirretään seuraavalle prosessorille |
rakenne | symmetrinen prosessointi on monimutkaisempaa koska jokaisen prosessorin täytyy olla synkronoitu keskenään | asymmetrisessä järjestelmässä on yksinkertaisempi rakenne koska samanlaista synkronointia ei vaadita |
Takaisin sivulle Rinnakkaisprosessointi
Lähteet
muokkaaTieteellinen hajautetun laskennan projekti "Seti@Home." Berkeleyn yliopisto. https://setiathome.berkeley.edu/
Artikkeli symmetristen multiprosessoreiden käytöstä. "Embedded Intel Solutions" http://www.embeddedintel.com/technology_applications.php?article=53
https://setiathome.berkeley.edu/
http://www.embeddedintel.com/technology_applications.php?article=53
https://www.techopedia.com/definition/25896/symmetric-multiprocessing-smp
https://en.wikipedia.org/wiki/Symmetric_multiprocessing
https://searchdatacenter.techtarget.com/definition/SMP
Viitteet
muokkaa- ↑ Intelin 2600-sarjan emolevyissä on tuki kahdella fyysiselle prosessorille jotka jakavat yhteisen muistin.