Pasovna širina, uporabljena v UMA v pomnilnik, je omejena, saj uporablja en sam pomnilniški krmilnik. Primarni motiv prihodov strojev NUMA je povečanje razpoložljive pasovne širine v pomnilnik z uporabo več krmilnikov pomnilnika.
Primerjalna tabela
Podlaga za primerjavo | UMA | NUMA |
---|---|---|
Osnovno | Uporablja en sam pomnilniški krmilnik | Multiple memory controller |
Vrsta uporabljenih avtobusov | Ena, večkratna in prečna. | Drevo in hierarhično |
Čas dostopa do spomina | Enako | Spreminja se glede na razdaljo mikroprocesorja. |
Primerno za | Aplikacije za splošni namen in delitev časa | Aplikacije v realnem času in časovno kritične aplikacije |
Hitrost | Počasneje | Hitreje |
Pasovna širina | Limited | Več kot UMA. |
Opredelitev UMA
Sistem UMA (Uniform Memory Access) je skupna spominska arhitektura za večprocesorje. V tem modelu se uporablja en sam pomnilnik, do katerega dostopajo vsi procesorji, ki predstavijo večprocesorski sistem s pomočjo medomrežnega omrežja. Vsak procesor ima enak čas dostopa do pomnilnika (latence) in hitrost dostopa. Uporabi lahko bodisi enojni avtobus, več avtobusov ali stikalo za prečko. Ker zagotavlja uravnotežen dostop do skupnega pomnilnika, je znan tudi kot SMP (simetrični večprocesorski) sistemi.
Tipična zasnova SMP je prikazana zgoraj, kjer je vsak procesor najprej povezan s predpomnilnikom, nato pa je predpomnilnik povezan z vodilom. Končno je vodilo priključeno na pomnilnik. Ta UMA arhitektura zmanjšuje konkurenco za vodilo s pridobivanjem navodil neposredno iz posameznega izoliranega predpomnilnika. Prav tako zagotavlja enako verjetnost za branje in pisanje vsakemu procesorju. Tipični primeri modela UMA so strežniki Sun Starfire, Compaq alpha server in HP v serija.
Opredelitev NUMA
NUMA (Neenakomerni dostop do pomnilnika) je tudi večprocesorski model, v katerem je vsak procesor povezan z namenskim pomnilnikom. Ti majhni deli pomnilnika pa združujejo en naslovni prostor. Glavna točka, na kateri je treba premisliti, je, da je za razliko od UMA čas dostopa pomnilnika odvisen od razdalje, kjer je nameščen procesor, kar pomeni različen čas dostopa do pomnilnika. Omogoča dostop do katerega koli pomnilniškega mesta z uporabo fizičnega naslova.
Kot je navedeno zgoraj, je arhitektura NUMA namenjena povečanju razpoložljive pasovne širine za pomnilnik in za katere uporablja več pomnilniških krmilnikov. Združuje številna strojna jedra v " vozlišča ", kjer ima vsako jedro pomnilniški krmilnik. Za dostop do lokalnega pomnilnika v NUMA stroju jedro pridobi pomnilnik, ki ga upravlja vozlišče pomnilnika. Medtem ko za dostop do oddaljenega pomnilnika, ki ga upravlja drugi pomnilniški krmilnik, jedro pošlje zahtevo za pomnilnik prek povezovalnih povezav.
Arhitektura NUMA uporablja drevesna in hierarhična omrežja za povezovanje pomnilniških blokov in procesorjev. BBN, TC-2000, SGI Origin 3000, Cray so nekateri primeri arhitekture NUMA.
Ključne razlike med UMA in NUMA
- Model UMA (skupni pomnilnik) uporablja enega ali dva krmilnika pomnilnika. V nasprotju s tem lahko NUMA ima več pomnilniških krmilnikov za dostop do pomnilnika.
- Enotni, večkratni in prečni avtobusi se uporabljajo v UMA arhitekturi. Nasprotno pa NUMA uporablja hierarhično in drevesno vrsto avtobusov ter omrežno povezavo.
- V UMA je čas dostopa do pomnilnika za vsak procesor enak, medtem ko se v NUMA čas dostopa do pomnilnika spremeni, ko se razdalja med pomnilnikom in procesorjem spremeni.
- Za naprave UMA so primerne splošne in časovne aplikacije. V nasprotju s tem je ustrezna aplikacija za NUMA osredotočena v realnem času in časovno kritična.
- Vzporedni sistemi, ki temeljijo na UMA, delujejo počasneje kot sistemi NUMA.
- Ko gre za pasovno širino UMA, imajo omejeno pasovno širino. Nasprotno, NUMA ima pasovno širino več kot UMA.
Zaključek
Arhitektura UMA zagotavlja enako splošno latenco procesorjem, ki dostopajo do pomnilnika. To ni zelo uporabno, kadar je lokalni pomnilnik dostopen, ker bi bila latenca enotna. Po drugi strani pa je imel v NUMA vsak procesor svoj namenski pomnilnik, ki odpravlja latenco, ko je dostopen lokalni pomnilnik. Zakasnitev se spreminja glede na razdaljo med procesorjem in spremembami pomnilnika (tj. Neenakomerno). Vendar pa je NUMA izboljšala zmogljivost v primerjavi z arhitekturo UMA.