Opterony vs Xeony - aneb cim a jak prelozit program v C

Jan Derfinak ja na mail.upjs.sk
Čtvrtek Leden 19 21:39:37 CET 2006


On Thu, 19 Jan 2006, Ing. Pavel PaJaSoft Janoušek wrote:

> Václav Štěpán <mailto:stepan na kmlinux.fjfi.cvut.cz> wrote:
> >> Jake jsou velikosti cache?
> > Opteron 246:  1 MB
> > Xeon (3 GHz): 1 MB

Opteron 246 by mal mat taktovaciu frekfenciu 2GHz.
Xeon ma 3GHz.
Xeon je optimalizovany na vysoku frekfenciu, kym Opteron je na paralelizmus
a vysoko efektivne zretazenie instrukcii. Z toho vypliva, ze kazdy procesor
je vhodny pre iny typ cinnosti. Problem Xeonu spociva v tom, ze pri vysokej
frekfenciu musi zabezpecit, dostacne rychly prisun instrukcii a dat k ALU.
To funguje perfektne, pokial sa vykonavaju nevetvene ulohy, instrucie aj
data sa spracuvaju sekvencne, takze funguje predikcia kese. Este lepsie je
pokial je instrukcii len malo a zmestia sa do 12K Execution Trace Cache (tam
sa ukladaju dekodovane instrukcie). Vtedy Xeon vyuzije vyssiu frekfenciu a
je lepsi nez procesory na nizsej frekfencii. Obrovsky problem nastava,
pokial sa v programe vyskytuje vetvenie a skoky. To pre Xeon znamena
vyprazdnit vsetky kese a dekodovane instrukcie a vykonat mnoho taktov na
prazdno, kym sa data pripravia z pomalej pamate.
Naproti tomu Opterom ma dekodovaciu logiku, ktora dava prednost efektivnosti
naplnania instukcnej fronty. To je umoznene tym, ze moze zabalit viac
dekodovanych instrukcii spolu a vykonavat ich paralelne. Tak isto dlzka
integer fronty je iba 12 oproti 31 pri Xeone, co znamena omnoho mensie
straty pri vetveni programu. Opteron ma tiez viac vykonavacich a
dekodovacich jednotiek.

To co som napisal teda znamena, ze Xeon vdaka frekfencii dosiahne lepsich
vysledkov v jednoduchych pocitacich ulohach s minimom vetveni. Typicky
kompresia videa, matematicke vypocty a idealne je pokial je to iba jeden
proces. Opteron je vykonnejsi vo vsetkych ostatnych typoch uloh, kde sa
pomerne casto vyskytuje vetvenie a striedaju sa ulohy. Rozdiel potom este
narasta v prospech Opteronu s pribudajucim poctom procesorov.

jano


Další informace o konferenci Linux