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.