UMA mälus kasutatav ribalaius on piiratud, kuna kasutab ühemälu kontrollerit. NUMA masinate tuleku esmaseks motiiviks on saadaoleva ribalaiuse suurendamine mällu mitme mälu kontrolleri abil.
Võrdluskaart
Võrdluse alus | UMA | NUMA |
---|---|---|
Põhiline | Kasutab ühte mälu kontrollerit | Mitme mälu kontroller |
Kasutatud busside tüüp | Ühekordne, mitmekordne ja ristlõige. | Puu ja hierarhiline |
Mälu ligipääsuaeg | Võrdne | Muutused vastavalt mikroprotsessori kaugusele. |
Sobilik | Üldised eesmärgi ja aja jagamise rakendused | Reaalajas ja ajakriitilised rakendused |
Kiirus | Aeglasemalt | Kiirem |
Ribalaius | Piiratud | Rohkem kui UMA. |
UMA määratlus
UMA (Uniform Memory Access) süsteem on mitmeprotsessorite ühismälu arhitektuur. Selles mudelis kasutavad ja töötlevad kõik töötlejad ühemälu, mis esitavad multiprotsessorite süsteemi vastastikuse sidumise võrgu abil. Igal protsessoril on võrdne mälupöördusaeg (latentsus) ja juurdepääsu kiirus. See võib kasutada kas ühte siini, mitme siini või ristlülitit. Kuna see tagab tasakaalustatud ühismälu, tuntakse seda ka kui SMP (sümmeetriline mitmeprotsessor) süsteeme.
SMP tüüpiline kujundus on näidatud ülalpool, kus iga protsessor on kõigepealt vahemäluga ühendatud ja vahemälu on ühendatud bussiga. Lõpuks on buss mäluga ühendatud. See UMA-arhitektuur vähendab siini väiteid, saates juhiseid otse individuaalsest eraldatud vahemälust. Samuti annab see igale protsessorile võrdse tõenäosuse lugemiseks ja kirjutamiseks. UMA mudeli tüüpilised näited on Sun Starfire serverid, Compaq alpha server ja HP v seeria.
NUMA määratlus
NUMA (mitteformaalne mälu juurdepääs) on ka mitmeprotsessori mudel, milles iga protsessor on ühendatud spetsiaalse mäluga. Kuid need mälu väikesed osad moodustavad ühe aadressi ruumi. Peamine punkt, mida siin kaaluda, on see, et erinevalt UMA-st sõltub mälu juurdepääsuaeg sellest kaugusest, kus protsessor on paigutatud, mis tähendab mälu ligipääsuaega. See võimaldab juurdepääsu mis tahes mälu asukohale, kasutades füüsilist aadressi.
Nagu ülalpool mainitud, on NUMA arhitektuur mõeldud suurendama mällu saadaolevat ribalaiust ja selle jaoks kasutab ta mitut mälu kontrollerit. See ühendab arvukaid masina südamikke “ sõlmedeks ”, kus igal südamikul on mälukontroller. Kohaliku mälu juurde pääsemiseks NUMA masinas leiab tuum mälu kontrolleri hallatava mälu oma sõlme kaudu. Kaugmälu juurde pääsemiseks, mida teine mälu kontroller käitab, saadab tuum mälupäringu vastastikuse sidumise linkide kaudu.
NUMA arhitektuur kasutab mäluplokkide ja protsessorite ühendamiseks puu- ja hierarhilisi bussivõrke. BBN, TC-2000, SGI Origin 3000, Cray on mõned NUMA arhitektuuri näited.
Peamised erinevused UMA ja NUMA vahel
- UMA (jagatud mälu) mudel kasutab ühte või kahte mälu kontrollerit. Vastupidi, NUMA-l võib mällu juurdepääsuks olla mitu mälu kontrollerit.
- UMA arhitektuuris kasutatakse ühekordseid, mitmekordseid ja ristlõike. Vastupidi, NUMA kasutab hierarhilist ja puuliiki ja võrguühendust.
- UMA-s on iga protsessori mälu ligipääsuaeg sama, kui NUMA-s muutub mälupöördusaeg, kui mälu kaugus protsessorist muutub.
- Üldkasutatavad ja ajajagamisrakendused sobivad UMA masinatele. Vastupidiselt sellele on sobiv rakendus NUMA jaoks reaalajas ja ajakriitiline.
- UMA-põhised paralleelsüsteemid töötavad aeglasemalt kui NUMA süsteeme.
- Kui tegemist on ribalaiusega UMA, on ribalaius piiratud. Vastupidi, NUMA-l on ribalaius rohkem kui UMA.
Järeldus
UMA-arhitektuur annab samale üldisele latentsusele mälu kasutavatele protsessoritele. See ei ole väga kasulik, kui kohalik mälu on kättesaadav, sest latentsus oleks ühtlane. Teisest küljest oli NUMA-s igal protsessoril oma spetsiaalne mälu, mis kõrvaldab latentsuse, kui kohalik mälu on kättesaadav. Latentsus muutub, kui protsessori ja mälu vaheline kaugus muutub (st mitte-ühtlane). Kuid NUMA on parandanud jõudlust võrreldes UMA arhitektuuriga.