Muistimallit
Jaettu muisti
- Jaetun muistin arkkitehtuureissa kaikki prosessorit jakavat samat muistiresurssit
- Yhden prosessorin tekemät muutoksen näkyvät suoraan muille prosessoreille
UMA ja NUMA
- Uniform Memory Access (UMA): Kaikki prosessorit voivat käyttää kaikkea muistia yhtä nopeasti
- Non-uniform Memory Access (NUMA): Kaikki prosessorit pääsevät suoraan käsiksi kaikkiin muistiresursseihin, mutta hakuajat riippuvat prosessorista ja muistipaikan fyysisestä sijainnista
Hyödyt
- Helppo ohjelmoida (ei eksplisiittistä kommunikointia lukuun ottamatta synkronointia)
- Tehtävien välinen kommunikointi on nopeaa
Haitat
- Ohjelmoijan tulee edelleen huolehtia siitä, että tehtävät käyttävät muistia oikein (järjestys, synkronointi, jne)
- Tehokkaan laitteiston rakentaminen on hankalaa ja kallista mikäli prosessoreita on paljon
Hajautettu muisti
- Hajautetun muistin arkkitehtuurissa jokaisella prosessilla on oma lokaali muisti
- Datan jakaminen prosessorien kesken vaatii kommunikointia verkon (tai muun vastaavan) yli
Hyödyt
- Skaalautuu helpommin
- Lokaalin muistin käyttäminen on nopeaa
- Voidaan toteuttaa normaaleilla PC-koneilla ja verkkokorteilla \(\implies\) pienet kustannukset
Haitat
- Hankalampi ohjelmoida (kommunikointi prosessorien välillä jne)
- Datan alustava jakaminen prosessorien ja niiden lokaalien muistien kesken saattaa olla haastavaa.
- Verkon kautta tapahtuva datan jakaminen on monta kertaluokkaa hitaampaa kuin lokaalin muistin suora käyttö
Hybridimuistiarkkitehtuurit
- Usein laskentaklusterit muodostuvat useista erillisistä tietokoneista, joista jokaisessa on useampi prosessori (joissa edelleen useampi ydin)
- Tietokoneen (CPU(t) + RAM) tasolla kyseessä on jaetun muistin arkkitehtuuri
- Laskentaklusterin tasolla kyseessä on hajautetun muistin järjestelmä
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.