Hlavní navigace

Názor ke zprávičce AMD představilo serverové CPU Naples se 32 jádry od tnr - Je to trosku slozitejsi, nez jak si to...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 8. 3. 2017 15:33

    tnr (neregistrovaný)

    Je to trosku slozitejsi, nez jak si to predstavujes
    U AMD mame (resp. meli jsme, u Ryzenu jsem to jeste nestudoval) dva rezimy:
    Ganged - pamet se prokladanim rozdeli na stridajici se adresy podle bloku a chova se to podobne jako RAID 0, vysledkem je jedna sbernice s teoreticky dvojnasobnou propustnosti.
    Unganged - obe sbernice jsou nezavisle, tzn. muzeme udelat nekolik nezavislych requestu.
    Oboji funguje celkem dobre - ganged rezim je vyhodny v sirce pasma (zejmena pro vetsi requesty na MC), unganged se nejlepe vyuzije u multithreadovych aplikaci.

    U Intelu se pouziva interleaving pameti, CPU rozdeluje pamet na jednotlive regiony a pristupuje k nim paralelne. Dale podporuje optimalizaci pristupu pomoci rankingu (v pripade vicerankovych modulu) v ramci jednoho kanalu. Cilem optimalizaci je snizit latenci pristupu k pameti. Takze pridelena pamet v kuse v modulu neni a to je vicemene i cilem.

    Pointa celeho reseni je ale to, ze OS to nemusi do znacne miry resit - staci zahltit MC dostatecnym poctem dostatecne dlouhych pozadavku - coz se bezne deje, protoxe instrukce se zpracovavaji/de­koduji/vykona­vaji out of order (a navic MC pozadavky jsou mnohem vice nizkourovnovou zalezitosti nez jedna x86 instrukce).

    Kde to naopak OS musi resit (a resi, zcela bezproblemu), jsou NUMA systemy, kde je pomerne velky rozdil v pristupu k lokalni pameti CPU a k sdilene pameti. Ale to samozrejme vsechny serverove OS bezproblemu zvladaji a zajistuji tak lokalitu pametovych alokaci (coz je ale docela dobry napad obecne, treba kvuli caches).