Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Hyper-Threading Vulnerability i alternativna vidjenja

[es] :: Advocacy :: Hyper-Threading Vulnerability i alternativna vidjenja

Strane: 1 2

[ Pregleda: 6148 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.nyc.res.rr.com.

ICQ: 60630914


+1 Profil

icon Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 00:20 - pre 230 meseci
originalni tekst autora:

http://www.daemonology.net/hyperthreading-considered-harmful/

debata:

http://kerneltrap.org/node/5120
http://kerneltrap.org/node/5120#comment-129703

have fun :)
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.sava.sczg.hr.



Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 06:05 - pre 230 meseci
Hoće mi netko objasniti kave veze ima latencija sa SMT paradigmom na HT-enabled CPU?

PS: Meni nikad nije bilo jasno zašto svi kenjaju po HT kao ne vide se odmah veelike razlike kad je očito da aplikacije na kojima testiraju nisu napisane da iskorištavaju HT! Idealno napisana multithreading aplikacija bez dijelova koda koji reserijaliziraju tok izvođenja može ići i do 40% brže!

Uostalom za par godina kad svi budu imali multicore CPU-ove odmah će se vidjeti razlika između dobro i loše napisanih programa, hehe.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.telemaxx.net.



+7173 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 08:00 - pre 230 meseci
Slazem se sa Sundance-om :-)

Aplikacije koje su dizajnirane tako da iskoriste HT rade primetno brze - a svaka moderna multimedijalna Win aplikacija je obicno optimizovana i za HT - pogotovu authoring i playback softver, o renderingu i sl.. da ne pricamo.

Ono sto je divota je da se sa HT-om vide svi problemi lose dizajniranog softvera - thread unsafe i, najvise "kvazi thread safe" (TS sa ponekim propustom tipa promakla globalna varijabla ili lose uradjena sinhronizacija niti) iz prve ne radi na HT-u - dok na ne-HT singlecore sistemima kvazi-TS moze i da se provuce bez primetnih problema.

A sto se pomenute diskusije koju je caboom linkovao tice - klasicni Linux story: ne poznajemo o cemu se radi, ali posto Linux nije bas dobar sa tim onda cemo da pljuckamo i pricamo kako je nebitna. Kako se neke stvari beskonacno puta ponavljaju :)

DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.montgomery.com.

ICQ: 60630914


+1 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 14:37 - pre 230 meseci
Citat:
Sundance: Hoće mi netko objasniti kave veze ima latencija sa SMT paradigmom na HT-enabled CPU?


pa tesko da ce ti neko objasniti osim linusa... covek ima univerzalne stavove po pitanju threading-a, RT-a, a evo sada i po pitanju HT-a. cesto mi se cini da je covek najblaze receno ... nekompetentan za poziciju na kojoj se trenutno nalazi. u sustini je zanimljiva i divergencija diskusije na kernel mailing listi o ovoj istoj temi.
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
195.175.37.*



Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 17:36 - pre 230 meseci
Naravno, "silly BSD-ovci" su to odmah riješili:

ftp://ftp.freebsd.org/pub/Free...RT/patches/SA-05:09/htt5.patch

Nema ništa smiješnije nego kad netko kaže "taj napad je nemoguć", ili "to nas ne tangira", i pogotovo kad to kažu neki so-called security experti :=)
 
Odgovor na temu

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.montgomery.com.

ICQ: 60630914


+1 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 18:36 - pre 230 meseci
za taj patch je na linux kernel listi receno da je bullshit, a mislim da je o istom trosku receno da je za jos par implementacija pri fbsd kernelu bullshit, pa se posle N postova ispostavilo da linux ima slican problem. objektivnost pre svega...
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.biz.mindspring.com.



+6 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 18:41 - pre 230 meseci
Citat:
Sundance
PS: Meni nikad nije bilo jasno zašto svi kenjaju po HT kao ne vide se odmah veelike razlike kad je očito da aplikacije na kojima testiraju nisu napisane da iskorištavaju HT! Idealno napisana multithreading aplikacija bez dijelova koda koji reserijaliziraju tok izvođenja može ići i do 40% brže!

Uostalom za par godina kad svi budu imali multicore CPU-ove odmah će se vidjeti razlika između dobro i loše napisanih programa, hehe.


Vrlo interesantan članak Herb Sutter-a na tu temu:

http://www.gotw.ca/publications/concurrency-ddj.htm
 
Odgovor na temu

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.montgomery.com.

ICQ: 60630914


+1 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 19:36 - pre 230 meseci
sustinski, ovo uopste nije nova tema osim za one koji su vezani za x86 arhitekturu. u svakom slucaju, pisanje mainstream sw-a ce postati interesantnije kada multicore arhitekture preplave korisnicko trziste.
 
Odgovor na temu

neetzach
LDAP specialist, Qindel
Iberija

Član broj: 4825
Poruke: 616
*.adsl.dial-up.cz.

Sajt: www.udarnik.net


+4 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja19.05.2005. u 23:32 - pre 230 meseci
Citat:
Sundance:
Uostalom za par godina kad svi budu imali multicore CPU-ove odmah će se vidjeti razlika između dobro i loše napisanih programa, hehe.


Ne treba ti multi-core za to, godinama unazad imas (velike) SMP sisteme (do 128 procesora) ili NUMA-CC sisteme (do 2048 procesora) na kojima dobro napisane aplikacije, a narocito operativni sistemi dolaze do izrazaja. Do skora Linux nije skalirao na vise od 4 procesora, i to je cak bilo jadno. Istovremeno komercijalni Unixi imaju skoro linearno skaliranje.

Ali isto tako, malo je besmisleno pricati o Intel arhitekturi i skaliranju...
What I hear, I forget. What I see, I remember. What I do, I understand. What I screw up, I
master.
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.sava.sczg.hr.



Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja20.05.2005. u 18:55 - pre 230 meseci
Nisam želio reći da je za SMT potreban multicore, već da je to trend u razvoju general-purpose CPU-ova (AMD, Intel)!

Jednostavno će vrlo brzo doći (tj. već je došlo + par godina da se zamaše) vrijeme kad su softveraši "ladili jaja" na račun hadrveraša, povijest uzvraća udarac žestoko i nasilno :)

Vjerojatno će se uočiti prednost .NET-a pošto tamo svaki objekt već ima dodijeljen SyncBlockIndex kojeg framework inicijalizira (CRITICAL_SECTION pod Win32), pa će nad njim biti lako implementirati neke konkurentne paradigme.

Možda za 10 god ako većina važnijih aplikacija bude managed bude se mogla napraviti tranzicija na neke nove arhitekture relativno bezbolno, pošto će se samo trebati portati framework :)
 
Odgovor na temu

Apatrid
Ottawa, ON

Član broj: 34944
Poruke: 471
*.freescale.com.



Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja24.05.2005. u 18:17 - pre 230 meseci
Citat:
Sundance: Nisam želio reći da je za SMT potreban multicore, već da je to trend u razvoju general-purpose CPU-ova (AMD, Intel)!


Svi su u tom filmu, Intel i AMD su se medju poslednjima pridruzili tom trendu. Moglo im je bit, a i fora sa OC je pazljivo gajena da kod "obicnog" korisnika izgradi tu svijest o potrebi sofisticiranih rijesenja za hladjenje u PC kucistu. Kad je Prescott poceo da isijava 108 (!!) Vati, e onda je djavo odnio salu i pojavila se prica da su "ratovi frekvencija zavrseni".

Ekipa koja pravi silikon gdje ekvivalenti vodenog hladjenja uopste ne dolaze u obzir davno je vec pocela da poseze za cipovima na kojima ima vise procesorskih jezgara.

U pocetku, takve masine (zbog cijene) trosene su za specijalizovane namjene (datapath u telekomunikacijama, naprimjer), a sad je vec jasno da ce se trend prosiriti na sve primjene procesora.

MIPS jezgra su, inace, najmasovnije koristena u pocetku, a razlog je efektivna povrsina chipa koja je potrebna da se procesorsko jezgro implementira. Narocito stariji R3000 je dobar bio za te stvari.

Sve vise se prica o "termickoj barijeri" kao stvari koja bi po prvi put mogla da ugrozi Murov zakon.

Tumbanja u softverskom svijetu kad pocne da izranja hardver sa vise procesorskih jezgara ce biti, SMP ima svoje limite.
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.sava.sczg.hr.



Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja24.05.2005. u 21:21 - pre 230 meseci
Slažem se. Ja bih radije volio da danas mogu kupiti CPU od 10 jezgara na 1GHz, nego sa 2 jezgre na po 3GHz.

Ali nažalost utrka za MHz je učinila svoje.

Stvarno je žalosno što na desktop tržištu nema nikakve konkurencije x86/amd64.

Meni je što više čitam o drugim arhitekturama to više žao što ih ne mogu isprobati u stvarnom životu.

Evo i sam koncept HyperThreadinga je Intel ukrao od Alpha EV8 procesora.

Ja bih recimo jako volio da MS isforsira za .NET da se napravi CPU sličan Sun MAJC za ili ARM Jazelle za Javu.
 
Odgovor na temu

Apatrid
Ottawa, ON

Član broj: 34944
Poruke: 471
*.freescale.com.



Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja01.06.2005. u 16:11 - pre 229 meseci
Citat:
Sundance: Ja bih radije volio da danas mogu kupiti CPU od 10 jezgara na 1GHz, nego sa 2 jezgre na po 3GHz.


Be careful what you wish for.

Mislim, ta racunica je OK, cak i sa nekim "normalnim" koeficijentima iskoriscenja koje SMP daje, a na sistemima gdje su aplikacije "dobro" napisane (u smislu da forkuju gdje god se moze) ces bolje proci nego sa dva procesorska jezgra.

Problem je sto SMP ima svoje limite. A limit je sto je covjek (vjest programer) ukljucen u pricu, nivo do koga mi (kao nesavrseni stvorovi) mozemo da izvrsimo paralelizaciju, a u odnosu na efektne troskove (vrijeme) da se takvo programiranje izvrsi postavlja prakticne barijere pred narastanjem broja procesorskih jezgara a na tradicionalnoj radnoj stanici.

Neko je ovdje pomenuo sisteme sa 128 i 256 procesora. Da, to su efektni serverski sistemi, ali efektno koriscenje takvog sistema je posljedica dijeljenja resursa i cinjenice da postoji ekipa koja takav sistem moze da zatrpa poslovima (nevazno da li se o pojedinacnim taskovima ili threads prica). Na radnoj stanici, natjerati sistem sa 16 procesorskih jezgara na 200 MHz da se bolje ponasa od sistema sa 2 procesorskih jezgara na 1 GHz nije tako lako, za neku uopstenu dinamiku sistema.

Pravo, mnogo bolje rijesenje, je da se paralelizacija izvrsavanja odradi u kompajleru, da kompajler generise threads. Upravo sam dobio rezultate benchmark-a gcc 4.0 autovectorizer za Altivec (vjerovatno su ekvivalentni rezultati za intelov SSE 3 u slicnim domenima). Poboljsanja su znatna, ali skromna u poredjenju sa teoretskim maksimumom.

Nemamo, jos uvijek, softversku infrastrukturu da iskrocimo u takav razvoj hardvera. Teorija za "loop unrolling" i ostale fazone za paralelizaciju je odavno ispisana, prakticna rijesenja tek treba da se pojave. SMP je rijesenje samo za prvu iteraciju i treba nam proboj i na toj strani.
 
Odgovor na temu

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.montgomery.com.

ICQ: 60630914


+1 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja01.06.2005. u 16:35 - pre 229 meseci
look Apatrid, cak i fake-SMP daje jako dobre cost-performance rezultate vec godinama unazad. teoretski maksimum je upravo to, teoretski maksimum, ali neke arhitekture se jako dobro skaliraju. pored ostalog, razvoj takvih aplikacija zahteva prilicno inzenjersko iskustvo i znanje sto otpisuje gro GPL/OS radne snage. ako pogledas, gro GPL aplikacija se katastrofalno skalira i sa tog stanovista zaista nije isplativo igrati se sa tim skupim igrackicama, ali se situacija dosta menja sa dobrim delom komercijalnog sw-a. pored ostalog, linux ce imati solidnih problema sa adaptacijom na takvom trzistu sa obzirom na kanta arhitekturu sto se tice kernel thread-inga.
btw. (almost) SMP arhitekture se zaista godinama unazad koriste veoma efikasno, ne razumem o kojoj prakticnoj implementaciji ti zapravo pricas.

Citat:
Apatrid
Pravo, mnogo bolje rijesenje, je da se paralelizacija izvrsavanja odradi u kompajleru, da kompajler generise threads.


IMNSHO, ovo je najgore resenje, posto ce apstrakcija threading-a cesto definise u samoj arhitekturi aplikacije i generalno ovo resava samo uski spektar problema.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
*.dip.t-dialin.net.



+7173 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja01.06.2005. u 16:51 - pre 229 meseci
Lose projektovanu aplikaciju nece spasiti nikakav "hyper-threading" ili "smp" kompajler, vec cela stvar mora biti uradjena u samoj fazi projektovanja aplikacije.

Sto je u biti vrlo dobro - jer je vrlo jasno da je buducnost razvoja procesora multi-core za PC platforme kao i hibridne arhitekture tipa TI-OMAP sa vise CPU/DSP podsistema za razlicite poslove, u domenu prenosnih uredjaja.

U takvim situacijama ce do izrazaja doci, o da, sposobnost i umece dizajnera i programera - a ne "grubi misici" kako su se mnogi nadali do pre samo par godina ;)

Citat:

Teorija za "loop unrolling" i ostale fazone za paralelizaciju je odavno ispisana, prakticna rijesenja tek treba da se pojave


Loop unrolling je stvar koju svaki bogovetni kompajler danas ima, Intel i slicni koriste odavno i vektorizaciju - a sto se tice transformacije svega ovoga na multi-procesorsko polje, sama ideja je osudjena na propast bez asistencije programera u aplikativnom dizajnu - jer, koliko god mi hteli, kompajler je jedna glupa alatka - i nije u stanju da pogodi neke stvari koje se ticu sinhronizacije procesa i podataka :-)
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

Apatrid
Ottawa, ON

Član broj: 34944
Poruke: 471
*.freescale.com.



Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja01.06.2005. u 17:06 - pre 229 meseci
Pricam, caboom, o implementaciji kompajlera koji radi paralelizaciju za tebe, napravi threads od "flat" koda. Ti ne moras da "forkujes", ali te nista ne sprecava da to uradis.

Stvari koje sam slusao i polozio na postdiplomskim studijama (koje nijesam zavrsio) jos 90-e, a ti se vidi koja je danas godina. Teorija za takve stvari poodavno postoji, prakticne implementacije nema, a da je ja znam. Ovaj "autovectorizer" iz GCC je prvi iskorak u prakticne implementacije iz tih domena, ja sam pricao o teoretskom maksimumu ne cipova sa vise procesorskih jezgara, vec Altivec kao jedinice za vektorsku aritmetiku.

Primjer koji sam naveo, utrpati u cip 16 procesorskih jezgara na 200 MHz, i to jace od toga, je nesto sto je sa tehnologijom od prije 5 godina moguce, ja i moji korisnici se sa takvom igrackom vec godinama nosimo.

Sto se hardvera tice, spakovati 32 procesorska jezgra umjesto 16 je relativno mali iskorak. Kod SMP-a, koeficijent iskoriscenja (za siroki spektar dinamike procesorskog load-a na general-purpose masini) sve vise i vise pada sto se povecava broj jezgara. Radi, bolje nego nista, ali nije "prava" stvar. Prava u smislu da oslobodi razvoj hardvera u tom smislu.
 
Odgovor na temu

Apatrid
Ottawa, ON

Član broj: 34944
Poruke: 471
*.freescale.com.



Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja01.06.2005. u 17:11 - pre 229 meseci
Citat:
caboom: IMNSHO, ovo je najgore resenje, posto ce apstrakcija threading-a cesto definise u samoj arhitekturi aplikacije i generalno ovo resava samo uski spektar problema.


E pa cuj, ako cemo tom logikom da idemo, nista ne moze da se nosi sa dobro optimizovanim asemblerskim kodom. Postavlja se pitanje sto je prakticno, a sto ne.
 
Odgovor na temu

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.montgomery.com.

ICQ: 60630914


+1 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja01.06.2005. u 17:16 - pre 229 meseci
ovo nema veze sa asemblerskim kodom Apatrid, ovo ima veze sa >> arhitekturom << aplikacije - kompajler ne moze da ti optimizuje losu arhitekturu. pored ostalog, dobre SMP performanse se ne postizu hack & thread implementacijama koje npr. mozes da vidis kod mysql-a, vec pazljivim projektovanjem. dakle, to ukljucuje 2 stvari, da znas sta zelis da postignes i da znas kako da postignes. apsolutno niko ne kaze da je pisanje high-performance threaded aplikacija jednostavno, cak stavise, ali to je stvar u kojoj ti kompajler ne moze pomoci, vec samo (donekle) profajleri. kompajler moze da ti odradi samo grube optimizacije, zapravo, poredjenje koje si dao je zapravo izrazito lose.
 
Odgovor na temu

neetzach
LDAP specialist, Qindel
Iberija

Član broj: 4825
Poruke: 616
*.dhl.com.

Sajt: www.udarnik.net


+4 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja01.06.2005. u 17:22 - pre 229 meseci
Citat:
Apatrid:
Sto se hardvera tice, spakovati 32 procesorska jezgra umjesto 16 je relativno mali iskorak. Kod SMP-a, koeficijent iskoriscenja (za siroki spektar dinamike procesorskog load-a na general-purpose masini) sve vise i vise pada sto se povecava broj jezgara. Radi, bolje nego nista, ali nije "prava" stvar. Prava u smislu da oslobodi razvoj hardvera u tom smislu.


Na ovoj fazi da, ali je recimo cilj kod Suna da se prevazidje jaz izmedju brzine procesora i memorije. Arhitektura na kojoj oni rade nije jednostavno ubacivanje 16 jezgara, nego i asinhroni memorijski kontroler tako da se dodje do maksimuma iskoriscenosti procesorskog vremena i memorije.

Doduse, ovakvo generalizovanje je veoma opasno jer arhitektura mora da bude u skladu sa prirodom problema. Broj procesora sam po sebi ne znaci apsolutno nista ako u prici nemas odnos procesora medju sobom, sa memorijom, kesom, itd. Na primer, odredjeni tipovi problema se efikasnije resavaju na SMP (shared memory processor) masinama, dok se neki drugi bolje resavaju na najobicnijim Beowulf klasterima.

U svakom slucaju, broj jezgara po procesoru samo treba da poboljsa odnos price/performance i u tome uspeva.

I da se nadovezem na cabooma. Performanse se postizu i poznavanjem hardverske arhitekture za koju se pise aplikacija. Dakle sve te stvari su veoma usko povezane i zapostavljanje jedne od tih cinjenica se zavrsava losim performansama.

[Ovu poruku je menjao neetzach dana 01.06.2005. u 18:24 GMT+1]
What I hear, I forget. What I see, I remember. What I do, I understand. What I screw up, I
master.
 
Odgovor na temu

caboom
Igor Bogicevic
bgd

Član broj: 255
Poruke: 1503
*.montgomery.com.

ICQ: 60630914


+1 Profil

icon Re: Hyper-Threading Vulnerability i alternativna vidjenja01.06.2005. u 17:24 - pre 229 meseci
problem sa cluster-ima je sto je trenutno jak hype po pitanju paralelnog procesiranja, pa se cesto prave veoma povrsni i losi kompromisi i clusteri koriste u kranje bizarno zamisljenim resenjima + ocajnom realizacijom, uostalom imao si prilike da vidis. ;)
 
Odgovor na temu

[es] :: Advocacy :: Hyper-Threading Vulnerability i alternativna vidjenja

Strane: 1 2

[ Pregleda: 6148 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.