OT: Hyper Threading, bylo: OT: Asus Eee - prijemne prekvapeni

Galloth lordgalloth@gmail.com
Sobota Říjen 18 14:03:54 CEST 2008


Z|dravim
Pokud jsem HT porozumel spravne, tak bych se toho ubytku vykonu moc
nebal. Spociva v podstate v tom, ze HT je jeden procesor, ktery na HW
urovni podporuje spracovani vice vlaken, coz OS pripada, jako by byly
dva procesory. Funguje to tak, ze mate nekolik vlaken (A a B). Vlakno
A pracuej do okamziku, nez dojde k vypadku cache nebo nejakemu
blokujicimu cekani. Potom procesor automaticky zacne spracovavat
vlakno B a vypada to, jako by pracoval druhy procesor. Ve skutecnosti
je to jeste komplikovane tim, ze se jedna o superskalarni procesor. Ty
zpracovavaji v jednom okamziku vice instrukci. Pro HT to znamena, ze v
jednom okamziku mohou byt rozpracovany instrukce dvou vlaken zaraz. A
to se stane tehdy, kdyz by se napriklad muselo cekat na vysledek
nejake slozitejsi operace.

Ted mozna trochu placnu, ale predstavte si, ze pocitate hodnotu funkci
sinus pro nejake velke pole, mate teda smycky for  a v ni jen
instrukci sin. Pak by v klasickem pripade pracovala jenom tato
vypocetni cast procesoru a zbytek by se flakal. V tomto nastoupi HT a
volne casti procesoru budou zpracovavat instrukce druheho vlakna. (Coz
muze byt treba enjake ICQ, Word nebo neco, kde se vubec s floating
point nepocita).

Takze osobne si myslim, ze poklesu vykonu se bat nemusite, pokud to
srovnavate s jedinym jadrem - tedy pokud na tom poustite jedine
narocne vlakno.

Abych to shrnul, HT je dobre tam, kde mate vice vlaken ktera malo
zatezuji procesor a zbytecne tam, kde mate jedno vlakno intenzivne
vyuzivajici procesor. Tedy pokud chcete na svem PC spoustet napriklad
geneticke algoritmy, tak va HT nic neda (budete it spoustu vlaken,
ktere ale delaji to samo, takze bude stejne bezet jen jedno). POkud
ale chcete napriklad serfovat, messengerovat, atd. a pritom si nechat
bezet jeden velky vypocet, tak HT je dobra vec.

Honza

PS: Aplikace, ktere by spusobily ubytek vykonu by si museli napr.
vyhazovat data z Cache pameti a to by byl problem i u vicejader od
intelu, ktere take maji jednu spolecnou L2 Cache ....

Dne 18. říjen 2008 13:29 Tomáš Koželuh <mr.death@ipq.cz> napsal(a):
> Můžu se zeptat, při kterých činnostech hrozí pokles výkonu nejvíc? Já už mám
> sice dvoujádro, ale sem tam se k nějakému HT ještě dostanu a pokud Intel
> opět HT nasazuje, tak časem zase taky něco budu mít. A HT lze obvykle
> zakázat v biosu, takže jestli by nemělo smysl HT sem tam někde zakazovat...
>
>> -----Original Message-----
>> From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On
>> Behalf Of Vojtěch Bubník
>> Sent: Saturday, October 18, 2008 12:31 AM
>>
>> Je to takový podvod.
>>
>> Moderní Intelí a AMD procesory se pokouší binární kód paralelizovat za
>> běhu. CPU obsahuje umí zpracovávat v některých případech integer a
>> floating point instrukce paralelně atd. Pokud se kód paralelizovat
>> nedá, potom jsou některé části CPU nečinné.
>>
>> Hyper Threading je o tom, jak využít ty nečinné části CPU. Byl přidán
>> takový půlprocesor, který sdílí většinu křemíku s tím hlavním
>> procesorem. Pokud je aplikace napsaná tak, aby rozložila výkon na více
>> vláken, může Hyper Threading zvýšit výkon tak o 30%. Jsou známy
>> aplikace, kde výkon poklesne.
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>



-- 
Jan Kastil
galloth@jabbim.cz


Další informace o konferenci Hw-list