Portál AbcLinuxu, 6. května 2025 17:33
V určitých úlohách je procesor úzkým hrdlem. A není to kvůli špatným programům. Itanium se svojí implementací VLIW je opravdu schopno dosáhnout špičkových hodnot FLOP.
Stačí se podívat na dekódování videa. Když nepoužijete SIMD rozšíření dnešních FPU, tak i velmi výkoné amd64 se zapotí. A SIMD je jen první stupeň optimalizace, kde pořád budete mít problém s vyléváním keše a zastavováním rozpracovaných instrukcí kvůli skokům a v jiných případech budete jen tupě říkat procesoru další instrukce, další… Rozšířením na SMP, kam se dnešní vývoj vydal, mnoho nezískáte, pokud máte úlohu, kde data na sobě závisí. V ten okamžik potřebujete MIMD s vnitřní paralelizací, což právě Itanium nabízí.
Omlouvám se, tohle je velmi obsáhlé téma, skusím to zkrátit na úroveň komentáře.
Dělám fyzikální (částicový) simulátor pro svůj soukromí projekt. na x86-64 lze ty problémy řešit. Problém je efektivita. Smysl Itania vzroste, začnete-li používat paralelizaci (3paralelní instrukce na cyklus) a výhody HPC procesorů. Představte si jednoduchý paralelizační problém, 10^28 částic ve vzájemném pohybu a vy vyhodnocujete jejich lokální interakce v reálném čase. Zapomeňte na obecná řešení, jde o brute force výpočty. A teď do toho zasaďte Itanium. Nakousnu, registry: 128(64bit)Integer, 64bit Predicate,128(64bit)Aplication,128(82bit)Floating point + mnoho dalších speciálních registrů (je jich okolo 400)samozdřejmostí jsou 128bit sběrnice. Když to umíte, spustíte paralelně 3 úlohy v 1 cyklu. Dál je tu EPIC(VLIW), spousty spousty spousty instrukcí, zadrátovaných přímo v procesoru, umožňující dělat všechno efektivněji a na méně instrukcí.
Otevírají se další možnosti, proč LOAD/STORE ten stačí použít jen jednou za čas,když si můžete připravovat další iterace a používat čísla přímo na úrovni registrů(rychlejší,efektivnější). To vše samozdřejmě s maximálními přesnostmi nativně. (pracuji v rozměrech planckovy délky..)
Zkuste to udělat na 4 integer a 4 floating-point registrech na x86, jde to ale... Kdysi jsem to testoval v roce 2003 a rozhodoval se co nasadím, udělal jsem pár specifických úkolů : Itanium vs Xeon (2003-2004) výkonnostní rozdíl 50000% ano opravdu vidíte správně, rozdíl je obrovský, ale jen pro specifické úlohy, které potřebuji... časově Xeon několik 10 minut, vůči pár vteřinám na Itaniu. Navíc můžete použít více procesorů (testuji na 4 proc Dellu, tam je díky návrhu Itania přímo pro HPC rozdíl ještě větší) + dalších 1000 speciálních použití které to umí AES, matice atd...Power je super, ale o něco pomalejší a více specifický, RISC věci jsou taky super, ale takovéhle úlohy se vám nikdy nepodaří napsat na méně instrukcí a efektivněji než je navrhli stovky inženýrů pro dané úlohy na Itaniu a zadrátovali do procesoru.
Šlo by použít i vektorové procesory Cray,NEC, ty by byly úplně nejlepší... ale ty v potravinách asi u pultíku neseženu...
Pro mnoho lidí může být problém u vývoje na Itaniu nutnost Assembleru a C. Ale to jsou největší výhody.Open Cl o tom jsem něco slyšel, ale to je framework ne ? Bude to rychlejší než assembler ? U všech těch ostatních ostatních projektů mám velké obavy o přesnost. Tam jde výkon pak rapidně dolů. Pro mě je např. minimum 43 pozic ve FP a nejlépe začít s co největší přesností.. Chyba se s každou iterací nese dál takže pro 100 iterací začínám s přesnostma okolo 4300 des. míst.
Nemám možná tolik zkušeností, dělám to jako amatér pro sebe tak mě omluvte jestli řeším nějaké blbosti.
Bude to rychlejší než assembler ?Todle je trochu nesmyslna otazka, ne ? :) Assembler na kterem hardware ?
Aha zní to na mě dost složitě. jak by se tam počítaly časy potřebné na operaci ? čili operace/kmitočet/čas ?Tezko.
Omlouvám se, špatně specifikovaná otázka, o kolik instrukcí vyrobí ten kompilátor více kódu, než kdyby se to udělalo v assembleru ?V podstate jde o to, ze mas nejaky program, typicky pracujici s vektory daty a OpenCL to prizpusobi HW na kterem to bezi. Bud pouzije SIMD instrukce procesoru nebo pokud ma k dispozici GPGPU tak to rozhodi na vsechny vypocetni jednotky, coz na ulohy tohoto typu muze byt docela narez.
Tam bude problém s tím počítáním operace/kmitočet/čas, aby jste mi rozuměl, ta úloha je velmi časově náročná, začal jsem s výpočetním časem 10^9 let dnes se pohybuji kolem 10^2 let. Ta paralelizace v rámci 1 procesoru je vyladěná v řádu nano - piko sekund. Některé intrukce jsou v tom paralelním výpočtu se předbníhají nebo opožďují schválně o ~ 100-150 piko sec. Jakmile se cokoliv stane posloupnostně jinak, výsledek je špatně. Bojím se u takto komplexsních frameworků o správné načasování a maximálním vylaďění... popravdě mám komplex z toho když něco mimo mě rozhoduje co se jak udělá.
Vesměs se to chová jako analogový počítač i když ve skutečnosti jde o velice jemné iterace, které se snaží dosáhnout přesnosti AP.Dalšího zrychlení chci dosáhnout rozdělením přípravy těch podmínek, dle kterých se řídí ta daná paralelní interakce a předpřipravý se do daných registrů a pak ještě stroj, který bude data rozdistribuovávat po daných strojích. Mám ještě chvíli čas, protože ta na tu úlohu potřebuju ~700TB úložiště, což zatím nejsou mnou finančně dosažitelné možnosti. Zatím pracuju s 4x IA64-2 1.4GHz. Pro finální výpočet seženu něco modernějšího, víceprocesorového a sázím na to, že zvýšením kmitočtu bych měl dosáhnout na výpočetní čas okolo 1 měsíce, s tím, že se nic nerozladí, když jediná změna bude jen v kmitočtu a architektura se vším zůstane stejná.
Myslíte, že uvažuji správně ? Moc to s nikým externě neřeším.
Tam bude problém s tím počítáním operace/kmitočet/čas, aby jste mi rozuměl, ta úloha je velmi časově náročná, začal jsem s výpočetním časem 10^9 let dnes se pohybuji kolem 10^2 let. Ta paralelizace v rámci 1 procesoru je vyladěná v řádu nano - piko sekund. Některé intrukce jsou v tom paralelním výpočtu se předbníhají nebo opožďují schválně o ~ 100-150 piko sec. Jakmile se cokoliv stane posloupnostně jinak, výsledek je špatně.nevim sice poradne co delas, ale toto je desive. osobne odhaduju, ze prechod na jiny hw, ti cely ten projekt rozbije. nechapu, proc potrebujes synchronizovat vypocet vuci realnemu casu! jinak merit rychlost operace/cas je na spouste dnesnich procesoru totalni nesmysl (zejmena x86), protoze jednotlive instrukce jsou rozkladany na mikroinstrukce, diky cemuz muzou byt instrukce zpracovavany paralelne, tzn. rychlost zpracovani zalezi na tom jake kombinace instrukci jdou za sebou.
Smysl proč to dělám v reálném čase, je ten, že to ušetří výpočetně 60% času. Zbavíš se tím stovek operací navíc. Snaha přihlížit se analogovému počítači. Je to jako s kuličkami které propadávají různými díramy na nakloněných plochách. Když to postavíš celé, nemusíš nic počítat, děje se to automaticky a kuličky sami propadávají do daných stavů. Kdyby se to nedělo paralelně ( rozuměj reálně) musel by jsi každý z těch stavů (propadnutí) udělat zvlášť, čili je to pak celkově o dost více výpočetně náročné. A pro tak velkou úlohu jsou rozdíly v řádu 1000 let.
s těmi částicemy to v itaniu dělám stejně jako s kuličkami, dělají se různé operace ovlivňované hodnotami v registrech a dělají se 3 částice zároveň, každá ovlivní nějakou charakteristiku dalších registrů v daném cyklu atd. celkově se spočítají 3 interakce jako na analogovém stroji najednou. Proto to časování, musí to být tak dobré jako analogové stroje. Kdyby to tak nebylo musel by jsi to rozsekat na 10000x jemnější interakce aby se zachovali přesnosti a dělat výpočet 3x kombinace 2 částic 1s2,1s3,2s3, s tím jsem kdysi začal a ten počet operací který se tím ušetří je obrovský třeba 10^3 let výpočetního času. V instrukcích je to třeba 1350 vůči 165 aktuálně. A těch 1350 by jsi musel udělat 10000x...
V anglii jsem zkoušel v jednom metacentru na testovacím stroji spustit to na novém itaniu 9000 a výsledky byly stejné, protože všechny ty principy a časy jsou stejné na starých itanium 2 i nových 9000. Funguje to. Netestoval jsem to blíže, měl jsem na to asi jen hodinu, ale výsledky vyšli přesně, takže časování muselo být ok.
Musí to být naprosto přesně vůči reálnému systému.A takovy model proudeni existuje?
nevim sice poradne co delas, ale toto je desive. osobne odhaduju, ze prechod na jiny hw, ti cely ten projekt rozbije. nechapu, proc potrebujes synchronizovat vypocet vuci realnemu casu!Simuluje vesmír?
No já nerad cestuju, takže emigrovat asi ne, ale přes mail nebo abíčkovkej jabber mě samozřejmě může kontaktovat kdokolivTelelearning!.
řezání plastu laserem na plotteruJediný „plast“, který jsme kdy přeřízli, byl polystyrenový kelímek z automatu na kávu. PCB jsme zkoušeli - svítit near-UV laserem do fotocitlivého laku. Je to takové všelijaké, nevím, jestli zaostřením nebo něčím jiným. Každopádně bychom rádi udělali laserovou hlavici na RepRap - místo extrudéru se tam prostě dá laser. Teď je ale trendem tohle.
Jediný „plast“, který jsme kdy přeřízli, byl polystyrenový kelímek z automatu na kávuNepodceňuj PR
Teď je ale trendem tohle.Hmm to přímo tiskli na měď? To si museli máknout aby ten prášek na tý mědi držel na správným místě (hlavně když nedrží často ani na papíru). Jinak ta metoda co jsem popisoval je vlastně to samý, akorát s vyloučením fotocitlivého válce na přenos prášku.
Hmm to přímo tiskli na měď?Jop, laserovkou s placatým průchodem (používají se třeba na potisk CD).
To si museli máknout aby ten prášek na tý mědi držel na správným místěPo vyjetí tam drží silou vůle (nedýchat!), musí se nějak zažrat - buď prohřátím na danou teplotu (ale ne vyšší - roztekl by se a rozmazal) nebo několik minut v parách acetonu.
Jinak ta metoda co jsem popisoval je vlastně to samý, akorát s vyloučením fotocitlivého válce na přenos prášku.Jo, a bojím se, že by ti ta měděná deska odvedla teplo z bodu, do kterého svítíš, tak rychle, že by se buď nic nezapeklo, nebo by se naopak připeklo rozsáhlé okolí…
Už před lety existovaly laserovky, co uměly přímo exponovat světlocitlivé kovolisty.Hmm to přímo tiskli na měď?Jop, laserovkou s placatým průchodem (používají se třeba na potisk CD).
Osobně jsem si tedy myslel, že optimalizace strojového kódu na úrovni „tohle doběhne o dva takty dřív, takže se ještě stihne jedna operace“U FPGA se dokonce počítá s tím jak rychle doběhne z jednoho flipflopu signál do druhýho...
Osobně jsem si tedy myslel, že optimalizace strojového kódu na úrovni „tohle doběhne o dva takty dřív, takže se ještě stihne jedna operace“ skončilo někdy v 70. letech, a dnes ho používají maximálně čínští výrobci snažící se uřídit 3D CNCčko pomocí ATtiny :).
Tak se zkus někdy podívat na kód přeložený gcc (se zapnutou optimalizací) a porovnat si ho se zdrojákem.
add r18, r18 add r18, r18 mov r19, r18 add r18, r18 add r19, r18 add r19, r18 ; ... zde instrukce, které výsledek přičtou k indexovacímu registruMísto mnohem rychlejšího:
ldi r19, 20 mul r18, r19 ; 2 tiky ; ... zde instrukce, které výsledek přičtou k indexovacímu registru eor r1, r1Překladač ignoruje fakt, že procesor má hardwarovou násobičku (násobení trvá dva takty) (Ten eor - xor - na konci je k vynulování registru r1, kam se ukládá výsledek toho násobení. avr-libc předpokládá, že v r1 je vždy nula, tzn. kód, který to změní, tam tu nulu zase musí vrátit.) 2. zápis hodnoty do 3 po sobě jdoucích paměťových pozic:
unsigned char *j; unsigned char a; j = sdev->out_hlavicka; /* out_hlavicka je char[3] */ for (a = 3; a; a--) *(j++) = b;vygeneruje tohle:
adiw r26, 0x15 ; posun indexovacího registru st X, r18 sbiw r26, 0x15 ; návrat na začátek struktury adiw r26, 0x16 ; abychom se hned vrátili zpátky o byte dál st X, r18 sbiw r26, 0x16 adiw r26, 0x17 st X, r18místo mnohem rychlejšího:
adiw r26, 0x15 ; indexovací registr ukazující na začátek struct sdev ; se posune na prvek out_hlavicka st X+, r18 ; hodnota v r18 se zkopíruje do tří po sobě st X+, r18 ; jdoucích pozic st X+, r18Tady překladač prostě ignoruje fakt, že a) pracuje s po sobě jdoucími daty a b) že procesor umí post-dekrement adresovacího registru. 3. kopírování bufferu: v podání překladače:
movw r30, r10 ; r10:r11 obsahuje adresu bufferu, ze kterého se kopíruje, ; nahraje se do r30:r31 ld r24, Z+ ; Z je r30:r31, inkrementuje se movw r10, r30 ; nové Z se uloží zpět do r10:r11 movw r30, r12 ; totéž pro cílovou adresu uloženou v r12:r13 st Z+, r24 ; kam se hodnota v r24 uloží movw r12, r30 ; a nový ukazatel se vrátí do r12:r13 subi r16, 0x01 ; dekrementace počítadla a skok, pokud sbci r17, 0x00 ; není nulové brne .-22v podání člověka:
mov ZL, r10 ; jeden ukazatel do Z mov XL, r12 ; druhý ukazatel do X 1: ld r24, Z+ st X+, r24 subi r16, 0x01 sbci r17, 0x00 brne 1bKaždý průchod cyklem je v kódu od překladače prodloužen na dvojnásobek. Někde mám možná ještě uloženo, co vznikne, když se člověk pokouší pracovat s jednotlivými bity číslených promenných...
O důvod víc přejít na MicrochipCo se osmibitových jednočipů týče, měl jsem možnost pracovat s obojím - PIC i AVR. Můj názor: člověk, který dobrovolně pracuje s PICem, je bláznivej masochista.
Zkuste to udělat na 4 integer a 4 floating-point registrech na x86, jde to ale... Kdysi jsem to testoval v roce 2003 a rozhodoval se co nasadím, udělal jsem pár specifických úkolů : Itanium vs Xeon (2003-2004)To je argument jak stehno. Mimochodem, x86 ma 7 GP registru a 8 FP, ale tyto procesory jsou uz passe jako kalhoty do zvonu. Pokud si vezmu dnesni AMD64 a procesory sandy/ivy bridge mas tam pro vektorove instrukce 16 256bitovych registru, pocitac, ktery dneska ma 64 jader taky neni problem.
Itanium umí 3 větve takže dělám okolí 3 částic, které spolu právě interagují a jsou vzdálenější od jiných částic v tom lokálním okolí. Spustím současně všechny 3 interakce a mění se jejich polohy, rychlosti a enegrie dle závislostí obsažených v jiných registrech vztažené na dané podmýnky (teploty, síly rychlosti) a každá z těch částic dané parametry v jiných registrech malinko pozmění. 1 iterace musí být hotová v planckově čase nejpozději, rozpočítané podle počtu instrukcí na operaci a kmitočet. Podle toho kolik sad operací na jednu iteraci se vejde do daného časové úseku tak se provádí load/store dat, mění se minimum dat a postupuje se systematicky celým prostorem. Podmýnky se mění takže výpočet každého cyklu interace 3 částic netrvá stejně dlouho, musí být ovšem celkově vždy pod Planc. časem.
ok děkuji za info, ano máte pravdu je jich 7 a 8, na tom x86 dělal kod kamarad, ja ne, ja mam nastudovane jen Itanium, tak jsme to testovali, celkem už dost dávno.
AMD64 to je pro mě celkem nová věc, požívám techniku tak 2001-2004 zatím. Ještě nemám ani SATA disky :D:D
Zní to zajímavě jak se tam dělá paralelizace ?
Zní to zajímavě jak se tam dělá paralelizace ?Jsou tam operace typu SIMD. Hledej rozsireni SSE2, 3 a 4. Treba tady: http://softpixel.com/~cwright/programming/simd/sse2.php
A uprimne receno, sebelepsi CPU nikdy nedosahne na vykon GPU/vektorovych procesoru,
Ono to především nemá smysl porovnávat, protože GPU sice dosahují úžasného výkonu, ale hodí se jen pro velmi specifickou třídu úloh. Takže v těchto úlohách sice CPU porážejí na hlavu, ale v ostatních mají - sportovní terminologií řečeno - v zápisu DNS.
Specifickou tridu uloh - jestli tim myslite vsechno, co lze dobre paralelizovat, tak souhlasNestaci aby sly paralelizovat, je treba aby ten paralelni vypocet byl dostatecne uniformni, tedy aby jednotlive thready bezely velmi podobne, 'nerozbihaly se'. Je spousta uloh, ktere jde velmi dobre paralelizovat, ale presto se na GPU vypocty vubec nehodi, prave kvuli tomuhle.
na přesném načasování paralelních instrukcí,Je to nejaky realtimovy system, ktery provadi mereni a musi ne ne reagovat? Jinak mi nejsou jasne ony casova omezeni/pozadavky. Navic, pokud je to spocitano vcas, je snad jedno, jestli je to spocitano seriove ci paralelne.
Ty kritické časy jsou dány tím, že při tom paralelním výpočtu 3 částic se ovlivňují různé parametry od kterých se odvíjejí každé z daných vláken. Pokud se něco předběhne byť jen o jedinou intrukci, je to celé špatně a neodpovídá to realitě.Řekl bych, že instrukce jsou v tomto případě už implementační záležitost (jak to na dostupném HW co nejvíc zrychlit - trošku mi to připomíná řízení Alfiho osmibitem :). Jednak ti jde o thread-safe paralelismus (to snad dneska zvládne každý vyšší jazyk defaultně) a pak to vypadá, že počítáš spoustu stejných výpočtů pro oddělené trojice částic. To by fakt šlo rozhodit po GPUčku nebo clusteru, ne? (ber mě s rezervou, tomuhle fakt nerozumím :)
thread-safe paralelismusNebo to ani ne, každý si hrabe na svém písečku a jde jenom o to, aby další krok výpočtu nezačal než doběhne předchozí, ne?
ne nedá se to vygooglit, je to můj vlastní model.
ne není to threat safe paralelzimus, je to spuštění různých intrukcí nad různými daty, které se vzájemně ovlivňují (a souvisí spolu) v rámci jednoho cyklu a procesoru v závislosti různých parametrů ( které mohou být také ovlivněny). Jsou to přímo 3 operace v 1 proc cyklu. Není to SIMD ale MIMD jako na starých vektorových Cray apod..
Ty trojice nejsou tak úplně oddělené,mohou zasahovat i jinam.
Mě se zase nezdá, že by assemblerová ruční optimalizace na Itanium dávala o mnoho lepší výsledky než assemblerová ruční optimalizace na něco jinýho.Přečti si padesát ostatních příspěvků foldyho, je to tam popsané.
proti třeba x86Netuším.
nebo GPUU úloh vhodných pro GPU GPU jednoznačně vede, u úloh nevhodných pro GPU pochopitelně povede normální procesor.
Jakej má vůbec Itanium poměr cena/výkon proti třeba x86 ?O tom nejvic vypovida jeho zastoupeni v rebricku Top 500 superpocitacu. Puvodni verze (Merced) byly dost sklamanim co se tyce vykonu a i kdyz se pry nasledujici verze zlepsily, tak celkove Itanium zdaleka nesplnilo ocekavani do nej vkladana.
Ano HPC a paralelizmu nemusím ve všech oblastech hlavně mimo itanium rozumět.
Ehm - tak spustíš ty tři instrukce po sobě, přinejhorším si předtím rozkopíruješ data po registrech, pokud by se měli ovlivňovat. On je pak procesor stejně udělá paralelně, když tam nebudou závislosti.
Problém je hned s první věcí, tři instrukce se nesmí stát po sobě, ale zároveň, to je nutná podmínka. U každé takovéto paralelní interakce se totiž měří entropie procesoru (teplotně,napěťově,proudově), v daný čas výpočtu(přes ipmi[BMP],serial a externí snímače teploty na procesoru) dle které se všechno řídí a dále váží parametry dané interakce. Je to jedna z kritických podmýnek, bez které by to nefungovalo. Celé se to neřídí časem, ale entropií.
Musel bych navrhnout jiný přesný princip jak to udělat, kdysi jsem měl možnost začít na 72 proc SGI s RISC, ale nepodařilo se mi to vyřešit(taky jsem to neřešil úplně moc dlouho), tady bych asi dopadl stejně, musely by se nějak zesynchronizovat ty interakce tak, aby třeba na jádrech toho x86 procesoru proběhly všechny ve stejný čas paralelně a nic se nestalo kolem toho. Nevím jestli mezi jádry na sebe registry vidí, mění se tam některé věci v průběhu té paralelní interakce, nikdy jsem s multicore procesory nedělal.
Nejde o molekuly ale o částice, vzdálené se ovlivňují ale ne v rámci toho krátkého paralelního výpočtu.. Mám na to nějaké své mechanizmy.
Chápu tu výhodu těch peněz a rychlosti x86 nebo něčeho jiného. Tímhle principem, který jsem si navrhl posouvám tu úlohu k hranici vypočitatelnosti, ušetří to cca ~8,9^5 let.
Díky za tvůj zájem a čas, konzultace jsou pro mě důležité, děkuji.
U každé takovéto paralelní interakce se totiž měří entropie procesoru (teplotně,napěťově,proudově), v daný čas výpočtu(přes ipmi[BMP],serial a externí snímače teploty na procesoru) dle které se všechno řídí a dále váží parametry dané interakce. Je to jedna z kritických podmýnek, bez které by to nefungovalo. Celé se to neřídí časem, ale entropií.Tohle je dosti klicova vec - a z meho pohledu i silena.
přes ipmi[BMP],serial a externí snímače teploty na procesoruChcete mi tvrdit, ze v techto pripadech hraje roli casovani v radu trvani instrukci? Kouknete se treba na samplovaci frekvenci systemovych HW monitoru - je to velmi velmi pomale, se vsemi dopady na entropii systemu. Na strane druhe, nove Ivy Bridge procesory implementuji instrukci RdRand, ktera skutecne vyuziva vnitrni entropii procesoru.
3 parametry, proud, napětí a teplo.Jenze key-point je ze je to pomale, lokalne stacionarni, tudiz vam muze byt uplne jedno, jestli je to sejmuto ted nebo o 100 instrukci pozdeji. Pokud data pochazi z externich senzoru je to srovnani ospaleho sneka s F1.
Jak by mi pomohla ta instrukce v měření energie pořebné k výpočtu a její míry degradace ?Protoze Intel implementoval a pouzil hardwarovy zdroj entropie, ktery na rozdil od vasich senzoru je rychly a vyuziva termalni sum uvnitr procesoru, ktery je zase mimo jine i funkci energie potrebne k vypoctu.
to měřím cca 3sPak je tedy snad jedno jestli je to x86_64 ci Itanium.
Proud se počítá cca po 1000 interakcích.Proboha jak? 3*10^9 iteraci trva tri 3 sekundy, 1000 interakci cca 111 nanosekund. Jak takto rychle aktualizujete hodnoty spotreby? Tohle zadny externi HW monitor neumoznuje, odpovida tomu Nyquistova frekvence 4.5MHz, to je PC, ne spektralni analyzator.
Jak z toho dostat spotřebu procesoru a jeho efektivitu ?Vy jste zabudoval termodynamicke parametry a performance charakteristiky konkretniho CPU do vaseho modelu? Spotrebu z toho nedostanete, ale my mluvili o entropii.
Z principu je možné každý paralelní výpočet udělat sekvenčně,Presne tak.
Popř. v jednom threadu si dopředu ukládat ty náhodné hodnoty a druhým threadem si je jen vyzvedávat z paměti ...V okamziku, kdy tu pracujeme na urovni instrukci bych do toho thready moc netahal, neb jejich overhead bude znacny.
Jenže jsou dvě možnosti: buďto opravdu závisí teplota procesoru (atd...) na datech, nad kterými je prováděn výpočet. Pak ovšem v podstatě tuto funkci analogově počítáš tím, že provádíš výpočty a měříš co udělá s procesorem. To je samozřejmě možné (byť velmi nepravděpodobné).Ano přesně to dělám.
V tom případě je to ale silně závislé na konkrétní implementaci mikroprocesoru (stačí změnit latenci cache a najednou jsou k dispozici data, která dříve nebyla, procesor přestane čekat a zcela se změní teplotní gradient v daném místě výpočtu). Stejnětak to visí na rychlosti a přesnosti čidel v procesorech a X dalších proměných, které nejsou konstantní ani v jedné várce procesorů, natož v procesoru X generací novější.Ano data jsou jiná. Pokud provedu stejný výpočet na každém ze 4 procesorů, data vyjdou malinko jinak. Ale vždy o stejný rozdíl, pokud provedu jinou sadu totožných výpočtů, ale to je v pořádku, tak se to má chovat, válce u motorů pálí taky každý jinak, ale pro totožné výbuchy budou hodnoty posunuty o určitou konstantu.
Vzhledem k tomu, že Ti to běželo na dosti novější architektuře stejně, tak jsem dosti přesvědčen (samozřejmě, mohu se mýlit), že ta entropie, co získáváš z CPU, jsou jen náhodná čísla s vhodným rozložením a že Tvá metoda je ve skutečnosti něco jako pravděpodobnostní Monte Carlo s vhodnou heuristikou.Ty výsledky byly úplně jiné, ale byly správně. Zrekonstuovaný atraktor z té entropie a chování systému byl velmi podobný, čili dynamika byla zachována, ale samozdřejmě že šlo o jiný fyzikální systém (stroj) takže výsledky vyšli jinak a to je v pořádku. S tím nasamplováním, to jsem požíval při testování, ale pak je to rozmazané, chyby se pak nesou dál a dynamika není kompletní.
thread (či dokonce proces) level paralelismus pak samozřejmě nejde použít stejným způsobem, nicméně pro reálné použití na výpočetních clusterech či na GPU je to nutnost. Výkon CPU se zvyšovat už moc nebude, míra možného paralelismu ano.Už není tak moc potřeba rapidně přidávat na výkonu, vývoj těch itanií příštích 5-7 let bude stačit. Migrovat nebudu muset, pokud to budou vyrábět a vyvíjet. Stejně mi to ještě bude trvat to připravit minimálně tak dlouho a tak velké úložiště jaké potřebuju taky není k dispozici zatím.
nikdo nezatručí, že se za pět let bude prodávat CPU se stejnou charakteristikouPokud vysledky nesedi, muze to poladit chladicem, pripadne termalni pastou ci otacky vetraku
Máte na to nějaký paper, kde to popisujete podrobněji?Nema, jiz jsem se ptal.
v daný čas výpočtu(přes ipmi[BMP],serial a externí snímače teploty na procesoru) dleTo sampluješ teplotu procesoru každou instrukci? :-O
Jako, že se v kapitalismu musí dodržovat uzavřené smlouvy?Kopat do kapitalismu je prostě moderní, a to i v případech, kdy to s danou tématickou vlastně ani tak moc nesouvisí. A za ten rozsudek stejně může Klaus.
Itanium celosvětově drží cca 40% trhu s procesory/servery pro UNIX operační systémy.Tím UNIXem v tomhle případě myslíte i Linux, nebo máte na mysli 40 % toho trhu, co se každý rok rapidně zmenšuje a je podstatně menší než ten linuxový?
Vám to přijde, jako umírající "chcípák" ?Mrkněte třeba na tu Wikipedii, jak tomu padá obrat a dodavatelé OS ruší svou podporu.
Ono by to šlapalo, ale jak často byste musel celou síť shodit a patchovat servery nebo Linux?A jak s tím souvisí architektura CPU?
Nemluvě o nemožnosti řešení HW problémů (např vadný RAM čip apod) operačním prostředím tak, jak to umí UNIX.Linux hotswap pamětí (i CPU) umí a už hodně dlouho. Musíte mluvit konkrétněji.
Ale ma pravdu v tom, ze Linux je v porovnani napr. so Solarisom len nedorastene dieta.
Konkretne pripady, ktore mi chybaju v Linuxe:
... Red Hat je len banda prasivych hobbyist koderov.aniž bych tento výrok chtěl nějak potvrzovat nebo vyvracet, zeptal bych se, a ve které firmě to prosím ráčí býti lepší?
pro systémy "velkého" UNIXu
Nedávno jsem se na webu s žebříčkem 500 největších "superpočítačů" díval, jaký systém běží na prvních deseti. Na devíti z nich to byl Linux. Nabízí se tedy otázka, nakolik je ten přívlastek "velký" ještě na místě…
třeba HPUX 11v3 je na trhu asi 4 roky a bude až do roku 2022
Podíváte-li se na celkový lifetime RHEL 4 nebo SLES 9, dojdete k velmi podobnému (ne-li většímu) číslu a nic nenasvědčuje tomu, že u novějších verzí by tomu mělo být jinak.
pouze se 2x ročně vydají aktualizace, které ale nejsou povinné
Frekvence vydávání updatů má velmi malou vypovídací hodnotu, protože z ní nijak nevyplývá, že interval je tak dlouhý proto, že to častěji nebylo potřeba.
prostě ten systém běží a běží a běží - což u aplikací typu "bankomaty" nebo řízení výrobní linky, která jede 360dní x 24hod je zatraceně důležité
Opravdu si myslíte, že se pro takové aplikace Linux nepoužívá? Používá - a dnes už pravděpodobně i častěji než to, čemu vy říkáte "UNIX".
Jinými slovy HPUX nerozjedete na IBM Power, AIX nespustíte na Itaniu...
Což je také jeden z důvodů, proč řada zákazníků tyto systémy opouští a přechází na Linux. Ono to není jen kvůli ceně.
Kdežto jádro open Linuxu se může díky zásahu vývojářů měnit neustále (někde jsem na to na webu narazil, ale nevím, už kde), třeba 40x denně - a pak byste mohli patchovat neustále
To myslíte vážně? Opravdu si myslíte, že někdo v enterprise prostředí používá poslední commitnutou verzi z gitu? Pokud ne, tak proč vůbec takhle zavádějící argument používáte? Používají se maintenance updaty, které procházejí podobným procesem jako u toho HP-UX. Rozdíl je jen v tom, že kdo má zájem, může se podívat, co v nich je a jak se k nim došlo.
ALE TY SI UPLNE JEBNUTY CECHUN OMFG. SORRY ALE TAKY CHUJ AKO TY MA DENNODENNE VYTACA NA RED HAT SUPPORTENeprehanite to jiz trochu?
Preto aj menim zamestnanie.Jdeš dělat operátora hovnocucu?
ALE TY SI UPLNE JEBNUTY CECHUN OMFG. SORRY ALE TAKY CHUJ AKO TYAsi bych měl varovat tvého ošetřujícího lékaře, ať ti nepůjčuje počítač.
SQLERRMC=DB2ADMIN.KOKOTStučné a výstižné.
Tak to je síla… Dostalo mne ovšem, když jsem se dole na stránce pod celým tím elaborátem dočetl
Chyba AnonymousUserException!
Pokud chcete přídat komentář, musíte se přihlásit přes účet na Gmail, Facebook, G+, Twitter nebo LinkedIn.
Kouzlo nechtěného… :-)
ALE TY SI UPLNE JEBNUTY CECHUN OMFG. SORRY ALE TAKY CHUJ AKO TY MA DENNODENNE VYTACA NA RED HAT SUPPORTE (zakaznik ma enterprise kontrakt) a je to nieco strasne...Zkus nejdřív tohle před voláním na support, třeba se pak s tebou bude někdo bavit, evidentně se ti to tlačí na mozek.
Nie latest commity ale ver tomu ze sa pouzivaju aj nove veci. Jeden nas zakaznik (circa 50 serverov) pouziva celkom nove kernely.Aha, takže protože někdo používá nová jádra, tak je celý Linux úplně na nic.
Použil byste na tento komplexní provázaný systém, který musí obsloužit 30 až 500 bezhotovostních transakcí za vteřinu x86 s Linuxem ? Ono by to šlapalo, ale jak často byste musel celou síť shodit a patchovat servery nebo Linux? Nemluvě o nemožnosti řešení HW problémů (např vadný RAM čip apod) operačním prostředím tak, jak to umí UNIX.ano, to umí jedině UNIX, a proto například NYSE, kde není transakcí 500 za sekundu ale o několik řádů víc, jede na Linuxu (a mimo jiné i x86 - Opterony)
Garantovaná dostupnost 99.9999%To totiž nezaručí ani ten zSeries box, když Tier 4 má OČEKÁVANOU dostupnost 99,995%.
Na milionech transakcí za sekundu a/nebo při masivním I/O si linux ani neškrtne...No tak zrovna cena/vykon bude u amd64 urcite vyhodnejsi nez u jakehokoliv mainframe.
Na to se používají mainframy, ne trapné nixové servery."The new trading platform includes at least 600 servers from Hewlett-Packard. Specifically, the list includes 200 HP ProLiant DL-585 quad-core servers and 400 ProLiant BL 685c blades with AMD dual-core Opteron processors, according to Red Hat." (zdroj) - hm, to nezní moc jako "mainframy" ...
Garantovaná dostupnost 99.9999%, 40+ let *binární kompatibility a další featury žádný jiný enterprise systém nenabídne (hot-swap libovolného hw samozřejmostí) :)jednak nevím, kde bereš ty procenta, a jednak mícháš hrušky a jabka RHEL samozřejmě běží i na hardwaru, co umí hotswap; že to některý hardware neumí je věc jiná 40 let kompatibility se těžko nabízí, když firma neexistuje ani polovinu té doby - nicméně řešení pro běh starého kódu RH má, a samotný systém má aktuálně plánovanou podporu na 13 let od vydání, zatímco například u opěvovaného HP-UX vidím na wiki podporu konkrétní verze na "nejméně" 5 let po vydání
Na milionech transakcí za sekundu a/nebo při masivním I/O si linux ani neškrtne...když jako protipříklad nestačí NYSE, tak co takhle LHC?
"All of the top 25 world banks run their businesses on mainframes.Nedokáže a ani na tom nezáleží, protože nikdo nebude HA instalaci stavět na jednom 1U severu. Redundance komponent tady prostě funguje na jiné úrovni než u zSeries nebo iSeries. Zatímco u zSeries za chodu vyměníte book, u x86 vyměníte blade a jedete dál.
71% of global Fortune 500 companies are System z clients."
Předpokládám, že ty firmy ví proč to dělají. viz: https://www.ibm.com/developerworks/university/systemz/
Z roku 2001 - "A single iSeries 400 system delivers an average of 99.9+% availability. According to data collected by IBM over the last two years, AS/400 and iSeries 400 owners have experienced on average less than nine hours of unplanned down time per year."
Dokáže tohle jeden linuxový stroj?
http://www.redbooks.ibm.com/redpapers/pdfs/redp0501.pdf
Ok, spustím na nejnovějším RHELu *binárku pro nejstarší RHEL?Ve virtuálním stroji téměř jistě ano, to se koneckonců dělá v z/VM taky. V Herculovi spustí dokonce i tu binárku pro OS/360 ;)
LHC má zaběhnutou x64 infrastrukturu, nemá důvod přecházet. Respektive přepsání SW vyjde dráž než zachování infrastruktury.To platí i pro přechod z Mainframe jinam.
"All of the top 25 world banks run their businesses on mainframes.
71% of global Fortune 500 companies are System z clients."
Předpokládám, že ty firmy ví proč to dělají. viz: https://www.ibm.com/developerworks/university/systemz/
To, že něco běží na zSeries, neznamená, že to neběží na Linuxu…
"All of the top 25 world banks run their businesses on mainframes. 71% of global Fortune 500 companies are System z clients." Předpokládám, že ty firmy ví proč to dělají. viz: https://www.ibm.com/developerworks/university/systemz/opět, hrušky a jabka System Z je obchodní název pro mainframy od IBM - hardware, a na tom hardware běží různý software, mimo jiné i RHEL kromě toho, nebyla tu řeč o tom, kolik procent na čem běží, nýbrž jestli to Linux zvládne (a jestli se na to používá)
Z roku 2001 - "A single iSeries 400 system delivers an average of 99.9+% availability. According to data collected by IBM over the last two years, AS/400 and iSeries 400 owners have experienced on average less than nine hours of unplanned down time per year." Dokáže tohle jeden linuxový stroj?viz výše, zřejmě dokáže
Ok, spustím na nejnovějším RHELu *binárku pro nejstarší RHEL?ne, proč bych to dělal? - jak již řekl kolega, spustím na tom virtuálku ve které tu binárku spustím
LHC má zaběhnutou x64 infrastrukturu, nemá důvod přecházet. Respektive přepsání SW vyjde dráž než zachování infrastruktury.cool ... takže ... vlastně to tedy na tom x86 fungovat může, přestože výše se tvrdí opak, hm ...
System Z je obchodní název pro mainframy od IBM - hardware, a na tom hardware běží různý softwareOno je to s mainframy ještě o něco zamotanější, protože mají Integrated Facility for Linux - IBM mainframe processor dedicated to running the Linux operating system, with or without z/VM.
když jako protipříklad nestačí NYSE, tak co takhle LHC?A nebo treba London Stock Exchange smashes world record trade speed with Linux.
Itanium celosvětově drží cca 40% trhu s procesory/servery pro UNIX operační systémy.Asi se pohybuju ve špatných kruzích, ale skoro všechno, co vidím, je Linux nebo FreeBSD na x86_64. Takže… [citation needed] Bankomaty bych jako příklad radši nedával, protože jak je to s bezpečností všichni víme…
Jak už bylo naznačeno v jedné z předchozích reakcí, trik je patrně v účelově zvolené definici toho, co patří do základu.
Celý ten komentář je přehnaně optimistický (z pohledu Itania). Na druhou stranu, je potřeba si uvědomit, že i když platforma zvolna umírá, v enterprise sféře může takové umírání trvat ještě poměrně dlouho a podpora takové platformy může být komerčně zajímavá.
Jestli dneska nekde bezi HP-UX, tak je to jen z historickych duvodu, kvuli nicemu jinemu.Tohle je taky pěkný hlod :)
Posledni dvaja nadnarodni zamestnavatelia (korporacie) mali nasadene na systemoch prevazne HP-UXvetsinou jsou tyto rozhodnuti ale politickeho charakteru nez technickeho.
Je všeobecnou pravdou, že udržovat při životě něco, co je již fakticky blízko stavu klinické smrti, nebo by to evoluční proces nechal sám o sobě dávno „chcípnout“, nemá moc smysl.
Rocny obrat intelu z Itanii tvori 4 Miliardy usd/rok. Rocny obrat celeho AMD (gpu+cpu+ zvysok) je 6.5 Miliard USD/rok. Z toho logicky vyplyva ze amd je v stave klinickej smrti.
Kalifornský soud v Santa Claře tedy nyní rozhodl, že tato smlouva je pro Oracle závazná a musí ji nadále ctít. A to i přes skutečnost, že Intel sice ještě pár nových Itanií na trh uvede, ale pak nastane definitivní šmitec.
Citation needed. Ma autor clanku dokumenty od Intelu ze po Kittsone nic nebude, alebo taha exkrementy z konca svojho travacieho ustrojenstva?
S tou zeminou nedufaj. Ak ta potesi zdroj je ars/IDF ( hej neni to web formatu abclinuxu ale paci sa mi viac):
zdrojna tom IDF 2011 někde byl slajd s tím, že trh se serverama s Itaniem je 4 mld dolarů (což docela sedí s tím Gartner Inc.) a ten pán z toho udělal, že Intel z toho má ten obrat.Přesně, 4 mld. USD obratu za procesory Itanium je čirá utopie.
Zajímavé je srovnání cen Itanií před pár lety a nyní. Ve výčetce benchmarku TPC-C (test z roku 2007) je uváděna cena 31500$ za osazené Itanium 1,6GHz, ark.intel.com nyní zmiňuje u nejdražšího Itania cenu pod 4000$.
http://c970058.r58.cf2.rackcdn.com/individual_results/HP/tpcc.hp.SD.es.082107.pdf
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.