Rekomenduojama, 2021

Redaktoriaus Pasirinkimas

Skirtumas tarp UMA ir NUMA

Daugiaprocesorius galima suskirstyti į tris bendrų atminties modelių kategorijas: UMA (vienoda atminties prieiga), NUMA (neformali atminties prieiga) ir COMA (tik atminties talpykloje). Modeliai yra diferencijuoti pagal tai, kaip paskirstomi atminties ir aparatūros ištekliai. UMA modelyje fizinė atmintis yra tolygiai paskirstyta tarp procesorių, kurie taip pat turi vienodą latentinę reikšmę kiekvienam atminties žodžiui, o NUMA suteikia kintamą prieigos laiką, skirtą procesoriams pasiekti atmintį.

Juostos plotis, naudojamas UMA atmintyje, yra ribotas, nes naudoja vieną atminties valdiklį. Pagrindinis NUMA mašinų atsiradimo motyvas yra padidinti atmintyje esantį dažnių juostos plotį naudojant kelis atminties valdiklius.

Palyginimo diagrama

Palyginimo pagrindasUMANUMA
PagrindinisNaudoja vieną atminties valdiklįKeli atminties valdikliai
Naudotų autobusų tipasViena, daugkartinė ir skersinė.Medis ir hierarchinis
Atminties prieigos laikas„Equal“Pokyčiai priklauso nuo mikroprocesoriaus atstumo.
TinkaBendrosios paskirties ir laiko paskirstymo programosRealaus laiko ir kritiškai svarbios programos
GreitisLėtesnisGreičiau
BandwidthLimitedDaugiau nei UMA.

UMA apibrėžimas

UMA (Uniform Memory Access) sistema yra bendrosios atminties architektūra daugiaprocesoriams. Šiame modelyje visos atmintinės naudojamos ir prieinamos visiems procesoriams, pateikiantiems daugiaprocesorių sistemą sujungimo tinklo pagalba. Kiekvienas procesorius turi vienodą atminties prieigos laiką (latentinį) ir prieigos greitį. Jame gali būti naudojamas vienas iš vieno autobuso, kelių magistralių arba skersinių jungiklių. Kadangi ji suteikia subalansuotą bendrąją atmintį, ji taip pat žinoma kaip SMP (simetrinė daugiaprocesorinė) sistema.

Tipinis SMP dizainas parodytas aukščiau, kur kiekvienas procesorius pirmą kartą prijungtas prie talpyklos, o talpykla yra susieta su autobusu. Pagaliau autobusas prijungtas prie atminties. Ši UMA architektūra sumažina autobuso įtarimą, atnešdama instrukcijas tiesiai iš atskiros izoliuotos talpyklos. Ji taip pat suteikia vienodą tikimybę skaityti ir rašyti kiekvienam procesoriui. Tipiški UMA modelio pavyzdžiai yra „Sun Starfire“ serveriai, „Compaq alpha“ serveris ir „HP v“ serija.

NUMA apibrėžimas

NUMA (neformali atminties prieiga) taip pat yra daugiaprocesorinis modelis, kuriame kiekvienas procesorius, prijungtas prie specialiosios atminties. Tačiau šios mažos atminties dalys sujungiamos, kad būtų sukurta viena adresų erdvė. Pagrindinis dalykas, kurį reikia aptarti, yra tas, kad, skirtingai nei UMA, atminties prieigos laikas priklauso nuo atstumo, kuriame yra procesorius, o tai reiškia skirtingą atminties prieigos laiką. Tai leidžia pasiekti bet kurią atminties vietą naudojant fizinį adresą.

Kaip minėta aukščiau, NUMA architektūra skirta padidinti prieinamą pralaidumą prie atminties ir už ją naudoja daug atminties valdiklių. Jis sujungia daugybę mašinų šerdelių į „ mazgus “, kuriuose kiekviena šerdis turi atminties valdiklį. Norėdami prieiti prie vietinės atminties NUMA įrenginyje, branduolys savo atmintyje valdo atminties valdiklio valdomą atmintį. Norint pasiekti nuotolinę atmintį, kurią tvarko kitas atminties valdiklis, šerdis siunčia atminties užklausą per sujungimo nuorodas.

NUMA architektūra naudoja medžio ir hierarchinius autobusų tinklus, kad sujungtų atminties blokus ir procesorius. BBN, TC-2000, SGI Origin 3000, Cray yra keletas NUMA architektūros pavyzdžių.

Pagrindiniai skirtumai tarp UMA ir NUMA

  1. „UMA“ (bendrosios atminties) modelis naudoja vieną ar du atminties valdiklius. Priešingai, NUMA gali turėti keletą atminties valdiklių, kad galėtų pasiekti atmintį.
  2. UMA architektūroje naudojamos vieno, kelių ir skersinių magistralės. Priešingai, NUMA naudoja hierarchinę ir medžio tipo autobusus ir tinklo ryšį.
  3. UMA atminties prieigos laikas kiekvienam procesoriui yra tas pats, kai NUMA atminties prieigos laikas pasikeičia, kai pasikeičia atminties atstumas nuo procesoriaus.
  4. Bendrosios paskirties ir laiko paskirstymo programos tinka UMA mašinoms. Priešingai, atitinkama NUMA programa yra realiu laiku ir kritiškai orientuota į laiką.
  5. UMA pagrindu veikiančios lygiagrečios sistemos veikia lėčiau nei NUMA sistemos.
  6. Kai kalbama apie UMA dažnių juostos plotį, turite ribotą dažnių juostos plotį. Priešingai, NUMA turi dažnių juostos plotį daugiau nei UMA.

Išvada

UMA architektūra suteikia tokį patį latentą procesoriams, pasiekiantiems atmintį. Tai nėra labai naudinga, kai pasiekiama vietinė atmintis, nes latencija būtų vienoda. Kita vertus, NUMA kiekvienas procesorius turėjo savo atmintį, kuri pašalina vėlavimą, kai pasiekiama vietinė atmintis. Vėlavimas pasikeičia, kai atstumas tarp procesoriaus ir atminties pasikeičia (ty neformali). Tačiau NUMA pagerino našumą, palyginti su UMA architektūra.

Top