TOP500: Superpočítač Jaguar konečně nejrychlejší

Diskuze čtenářů k článku

25. 11. 2009 17:22

Cim to je, ze sa linux tak presadzuje na superpocitacoch?

Preco nie unix, je snad unix horsi ako linux?

Souhlasím  |  Nesouhlasím  |  Odpovědět
25. 11. 2009 23:06

Tak prvni vec je, ze Linux je zdarma. No a pak bych rekl, ze je zkratka od prirody rychly a hlavne je mozne jej libovolne upravit pro konkretni ucel.

Souhlasím  |  Nesouhlasím  |  Odpovědět
25. 11. 2009 23:37

Jen dodam, ze Linux se neprosazuje, nybrz Linux se uz davno prosadil :) momentalne to je industry-standard, duvodem bude pravdepodobne vysoka modularita, vysoky vykon, vyborna stabilita a dostatek odborniku, kteri mu rozumi.

Souhlasím  |  Nesouhlasím  |  Odpovědět
26. 11. 2009 18:51

protoze komercni unixy mu nesahaji ani po kotniky a nebo uz nejsou.

Dale linux ma kupu SW a patchu do jadra pro clustery, podporuje cluster HW a hyperkostky.

Problem penez je to jen castecny, pravda, na unix se plati mnohdy absurdne, treba licence na pole, i kdyz si ty licence nehlidaji, zda je to ci neni unix, stejne tak hyperkostky ....Takova IBM vam proda to same pole pro AIX skoro za dvojnasobek ceny, nez na linux, pokud tam vyuzivate vice SW veci z RAID radice, jako replikace, vice hostu, clustery etc.

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 14:37

jj vypocty na osobnich pocitacich byvaji zajimave venuje se tomu stranka http://www.czechnationalteam.cz/... a potom ruzne statistiky vypoctu jsou tady http://cz.boincstats.com/... a jsou zajimave umisteni zemi ktera kolik ma poctaru tedy zapojenych pocitacu

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
24. 11. 2009 11:47

zaujal me ten Sun na konci. Za a) nikde SPARCy, za b) CENTOS (free kopie RedHatu) a nikoliv Solaris.

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 13:59

No mozno by to chcel lepsie hladat

Na mieste 36 su SPARKy a OpenSolaris

http://www.top500.org/system/9879...

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 14:00

pardon za preklep - maju byt SPARC a nie SPARK

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 10:34

kua to čo má znamenať ? V prvej päťke iba jeden počítač s CPU od Intelu a až štyri počítače s čipmi od AMD ? A v prvej desiatke 9 počítačov na Linuxe a ani jeden na OS od Microsoftu ? Kde bol Radek Hulán, keď tie superpočítače stavali ? Nechce sa mi veriť, že to s ním nikto nekonzultoval, takáto nezodpovednosť

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
24. 11. 2009 11:35

Proc by to melo byt na Windows? Windows jsou urceny pro uplne jine veci.

Ostatne, vy jezdite s tirakem na nedelni nakupy do tesca? Nejezdite, protoze tirak pouzivate na jine veci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 12:08

To se pleteš. I MS se tlačí do této oblasti. Zatim mu to ale moc nevychází:

http://www.zive.cz/bleskovky/superpocitace-z... ...

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 12:12

Teď už to snad pujde:

http://www.zkracovatko.cz/9nd...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
24. 11. 2009 14:54

MS ale na superpočítače nechce jít s novýma sedmičkama

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
24. 11. 2009 15:26

A proc teda MS nabizi Windows HPC Server 2008, kdyz jsou windows na jine veci? :))

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 15:40

Muzu se plest, navic nemam chut to hledat, ale pokud se nepletu, tak HPC server je urcen pro clustery postavene z pocitacu s architekturou PC. Tudiz opravdu jine urceni.

Souhlasím  |  Nesouhlasím  |  Odpovědět
25. 11. 2009 00:52

Co si predstavujes pod takovym pojmem "architektura PC"?

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
26. 11. 2009 12:30

PC==x86

chtel rict ze widle rozjedes jen na x86 platforme

Souhlasím  |  Nesouhlasím  |  Odpovědět
26. 11. 2009 16:07

No ale na x86 platforme je vetsina tech superpocitacu. Widle tam nejsou proste proto, ze jsou horsi.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
24. 11. 2009 09:34

A uz sa pracuje na nastupcovi

http://www.dsl.sk/article.php...

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 08:59

Předpokládám, že ti Číňani na tom budou provádět sčítání obyvatel

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 22:38

Spíš budou počítat rovnice pravděpodobnosti, že velký čínský firewall krachne

Ach ten západní imperialismus

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 07:21

Abych trochu rozproudil diskuzi, přepastuju sem svůj nedávný příspěvek:

Mne taková teoretická čísla dostávají vždycky do kolen. Proč teoretická? Tak si to vezměme hezky na paškál a porovnejme množství dat, která jsou potřeba, s množstvím dat, která jsou k dispozici. Na výkon kolem 2 _skutečných_ PFLOPS je třeba zhruba 2x10^15 x 4 x 3 bytů, tedy kolem 24 PB/s. A co máme k dispozici? Paměť, která je schopna dodávat (nenáhodně! jen v burst režimu!) 284 GB/s. Tedy o neuvěřitelných 5 řádů méně než kolik je potřeba, v případě náhodného přístupu místo sekvenčního pak pravděpodobně o 6 řádů!

Samozřejmě, jde namítnout, že jsou tu přeci takové věci jako cache, drobně možná může pomoci i meziprocesorová komunikace (je jen otázka, kolik si synchronizace mezi procesory naopak vezme na vlastní režii) a podobné vymoženosti. Ale probůh! Opravdu je tu někdo, kdo by uvěřil, že cache běh zrychlí v porovnání s během bez ní milionkrát?! Sám bych věřil u dobře na cache optimalizované aplikace na zrychlení něco mezi 100násobkem a 1000násobkem při využití náhodného přístupu, a 10 a 100násobkem, pokud budou data čtena hezky sekvenčně za sebou, aby u RAM šel využít burst režim.

P.S. FLOP chápu jako operaci FPU v alespoň single precision formátu. Single precision znamená 4 byty na číslo, a na jednu operaci je potřeba dvě čísla načíst a jedno uložit. Tedy suma sumárum 12 bytů, pokud některý z operandů či výsledků nerecykluji. V double precision jde o 24 bytů na jedinou operaci, v extended precision pak o bytů 30.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
24. 11. 2009 08:33

Tak ještě započítat povahu výpočtů, které se na superpočítačích dělají - relativně málo vstupních dat, hodně výpočtů, málo výstupních dat. Tj. drtivá většina výpočtů probíhá v procesorové cache a velká část přímo v registrech - ani tak ne kvůli optimalizaci, ale kvůli povaze úloh. Další věc je masivní paralelizace výpočtů, tj. rychlost práce s (nesdílenou) pamětí se sčítá. Dnes používané paměti dají při reálném nesekvenčním čtení cca 5 GB/s na modul (tj. tohle je rychlost mezi jedním procesorem a jedním paměťovým modulem).

Dobrý příklad: starý SETI@home; přenáší velmi málo dat a "docela dobře" vytíží milióny počítačových jader.

Souhlasím  |  Nesouhlasím  |  Odpovědět
25. 11. 2009 02:17

Ale vždyť já povahu výpočtu v úvahu beru: ve svém prvním příspěvku tvrdím, že 99 až 99,9 % dat se natáhne z cache! Jenže aby se využil výkon naplno, muselo by se natáhnout z cache 99,999 %, při nesekvenčním přístupu pak dost možná až 99,9999 %, což - nezlobte se na mne - nepovažuji za realistické s výjimkou opravdu úzce specializovaných úloh (typu bruteforce nějaké šifry apod.).

Údaje o celkové propustnosti paměti jsem bral z místní nedávné bleskovky.

Nesekvenčních 5 GB/s u dnešních pamětí je nesmysl jak hrom! Uvědomte si, že zatímco frekvence procesoru za posledních 10-15 let šla nahoru o dva řády, přístupová doba se zlepšila z 20 ns na 10 ns, čili jen dvakrát! Všechno ostatní je záležitost synchronního krmení cache po co největších blocích dat co největší rychlostí. Ale náhodný byte prostě z dnešní paměti dostanu plus mínus stomilionkrát za vteřinu. Ať nežeru, dvěstěmilionkrát. Půjde sice o naprosto nerealistickou hodnotu, ale počítejme s ní. Data budu potřebovat řekněme po slovech velikých 4B, přeci jen přístup na úrovni jednotlivých bytů, či dokonce bitů by byl už dost pošahaný předpoklad. Dostaneme nějakých 800 MB/s náhodně přistupovaných dat, a to máme u tohoto čísla jistotu, že jde o odhad značně nadsazený! Jasně, jakmile paměť DRAM dodá první slovo, je schopná ostatní data stejné řádky dodat burstem opravdu zatraceně svižně!... takže když si nadefinuji jako náhodný přístup čtení po 64B, pak ano, pak se opravdu na těch 5 GB/s asi dostanu. Ale to se myslím nedá považovat za náhodný přístup...

Poznámka pod čarou: uvědomuji si, že do L2 cache se z DRAM data nepřesouvají po bytech, ale po celých řádkách, takže dostat z paměti "pouhé" 4B není ani možné (totéž platí i o přesunu do L1). Ale to přeci není argument pro zadefinování si náhodného přístupu jako přístupu, který čte bloky po 32 či 64 bytech!

Jinak vývoj rychlosti náhodného přístupu v nanosekundách lze najít např. zde:

http://en.wikipedia.org/wiki/Memory_latency...

Mimochodem, když jsem na světěhardware četl (tuším Eaglův, zdravím!) popis, kolik cyklů "prostojů" stojí jeden L1 cache miss, a kolik pak L2 cache miss (kdy se musí do samotné RAM), točila se mi z těch údajů hlava. Stovky cyklů?! Je to vůbec možné? Odpověď je jasná: ano, možné to je, současná DRAM je prostě "úplně ta samá" DRAM jako před 10+ lety, jen je holt v ní více řádek a více sloupců, a pak trochu jiná ovládací logika. Pořád ale je nutné nejdříve prechargovat, pak... a tak dále...

Jinak pokud byla řeč náhodou o nějaké SRAM apod., pak ano, tam se asi 5 GB/s náhodných dat docílit bude dát, ale nakoupit místo DRAM do superpočítačů SRAM, to by - s trochou nadsázky - zruinovalo i miliardáře.

P.S. Jestli chápu správně způsob fungování DRAM, pak přístupová doba 10 ns navíc neznamená, že jsem schopen 100 milionů náhodných přístupů za vteřinu, ale reálně o mnoho méně. 10 ns mi prostě říká jen to, že když je RAM v nějakém "příznivém" stavu, dostanu náhodně zvolený byte po 10 ns času. Už to ale nic neříká o nutnosti data ze zvolené řádky uzavřít/zapsat zpátky apod. Jde ale jen o mé dohady, tak mne za případnou nesprávnost tohoto odstavce prosím nekamenujte.

Souhlasím  |  Nesouhlasím  |  Odpovědět
24. 11. 2009 10:41

Ta cisla jsou teoreticka, ale ne s chybou 5-6 radu. Vasimi slovy: to si opravdu myslite, ze pripojili radove 200k CPU k pameti o kterou se ty cpu pretahuji a naplno jich bezi jen 10? Mozna, ze kdybyste se zamyslel, tak jste si mohl usetrit vetsinu prispevku.

Nevim konkretne jakou architekturu pouzivaji pocitace z TOP 10, ale zkusim nacrtnout, jak muze vypadat usporadani takoveho superkompu. Docela to je videt i z toho videa. Na desce maji 8 procesoru, kazdy 6 jader. Kolem cpu jsou pameti, propojene to asi bude jako NUMA, tj kazdy cpu ma kus sve pameti kam ma rychly pristup a tam bude mit svoje data, takze pojede naplno. Muze pristupovat i do dalsich kusu pameti, ale tam uz to nebude tak rychle.

Tyto moduly jsou propojene nejakou siti do clusteru, drive se spise pouzivaly proprietarni a hiend technologie, dnes uz zacina prevladat ethernet.

Jeste poznamka k predchozimu komentari - tech vstupnich dat muze byt klidne hodne, ale dulezite je, aby sel vypocet rozdelit na mnoho jednoduchych, ktere potrebuji jen malou cast tech dat.

Ztraty na vykonu kvuli rezii a cekani porad jsou, ale myslim, ze to budou spise desitky %.

To co jsem popsal asi neodpovida uplne realite, ale pro predstavu to snad staci.

Souhlasím  |  Nesouhlasím  |  Odpovědět
25. 11. 2009 02:26

Já nehovořil o chybě 5 až 6 řádů, ale o rozdílu v potřebě dat a propustnosti hlavní paměti. Pokud budu předpokládat, že 99,9 % dat dostanu z cache (což jsem i předpokládal!), mám zde chybu o velikosti 2 až 3 řády.

NUMA: ano, jistě, tak nějak to asi bude. Dovolil bych si ale připomenout, že pokud by každý procesor byl propojený s každým jiným, bude počet propojení kvadratický, tedy naprosto neúnosný. NUMA to řeší svými hyperkrychlemi, či jak se to správně nazývá, jenže to zas prodlužuje cestu a zvedá režii. Propustnost pak samozřejmě proporcionálně klesá. A jsme opět u toho: pokud nebudu potřebovat náhodný přístup, ano, pak mi hyperkrychle fungují dobře, protože příjemně rychle propojují své nejbližší okolí. Jenže jakmile náhodný přístup potřebovat budu, efektivita jde do háje. A to je to, o co mi šlo. Totiž že nestačí jen možnost úlohu rozložit na spoustu dílčích podúloh, ale že i data pro ty podúlohy musejí být správně uspořádatelná (nebo jak to napsat)...

Souhlasím  |  Nesouhlasím  |  Odpovědět
25. 11. 2009 16:57

Prominte, ale pripada mi, ze jste nepochopil, co znamenaji cisla se kterymi operujete. Vykon 2.3 PFLOPS je vykon celeho systemu, to znamena soucet vykonu vsech cpu. Kdyz to podelite poctem cpu, dostanete se na nejakych 60 GFLOPS a to uz je radove na propustnosti pameti.

Vy jste spocital kolik dat potrebuji vsechny cpu a kolik jich je schopen dodat jeden modul, coz je cislo docela k nicemu, takze zbytek vasich uvah pak nema smysl. Jinymi slovy, tech vasich 5 radu nam tady dela tech 5 radu cpu a jader...

Dalsi vec je, ze ty vypocty a datove struktury byvaji uzpusobeny tak, ze lze casto vyuzit sekvencni pristup a vetsina dat v te cache skutecne je, takze ztraty jsou treba z clanku vyplyvajicich 30%.

K NUMA - prave kvuli rostoucimu poctu spojeni se nepropojuje moc cpu - v tomto pripade je jich 6. Dal je to propojeno siti do clusteru.

To ze data pro podulohy musi byt nejak rozdelena (to jste asi myslel tou usporadatelnosti) opakujete po me. Pokud vam o to slo uz od zacatku, tak jedine dobre

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor