- A hozzászóláshoz be kell jelentkezni
- 1795 megtekintés
Hozzászólások
Kicsit felreertheto a forditas, de az eredeti cikk is. A NUMA gepeken minden memoria processzorokhoz van rendelve. A "local" illetve "remote" kifejezesnek csak egy adott processzorcsoportra vonatkoztatva van ertelme.
A processzorok egyebkent kozvetlenul cimzik a tavoli memoriat is es osztozniuk kell az osszes processzorral, ha nem igy lenne, akkor kozonseges clustereknek minosulnenek (distributed memory).
Az SMP-hez kepest az az elorelepes, hogy a lokalis memoriat a memoriabuszon v. a crossbaron erik el a processzorok, a tavoli memoriat pedig specialis hardverek (memoriarouterek) segitsegevel.
Ami a lenyeg, hogy a memorian tovabbra is osztoznak a procik, a memoriainterfeszek, azok amelyek tehermentesitodnek. Igaz joval tobbet kell a gepbe epiteni, de az integralt memoriavezerlo legtobb modern CPU resze mar (kiveve Intel hehehe :)) ).
Az alapotlet egyebkent onnan szarmazik, hogy bizonyos numerikus-grafikai-szimulacios kodok mar eleve kieheztettek a processzorokat a gyakori memoriahivatkozasokkal. Ezen sokat enyhitett a tobbszintu memoria (L1,L2,L3 cache). Viszont megszulettek azok az implementaciok is, amik a szoftvert igazitottak a hardver lehetosegeihez, es az azonos memoriara vonatkozo irast/olvasast tombositve hajtottak vegre (locality of reference). Ezek utan mar latszik, hogy a NUMA miert epkezlab dontes. Ha egy adott processz eleve a memoria csak egy kis reszet hasznalja, akkor csak ezt a reszt tartsuk kozel hozza, nem gond, ha az a keves tavoli hivatkozast tovabb tart kivitelezni, cserebe az SMP rendszer 64 (extrem esetben 128 lasd AlphaServer) procija helyett akar 1000 CPU-t is kepes hatekonyan kezelni egy kernellel, raadasul LEGO-szeruen bovitheto az egesz cuccos.
Masegyebet nem tudok elmondani, kerem kapcsojja ki! :-)
Andrei
- A hozzászóláshoz be kell jelentkezni