Máme pomalé počítače... (úvaha) (Archiv)

uvahapc   !! článek archivu 08/09. Může být omezena vypovídající hodnota !! Nutkání napsat článek na toto téma se mě zmocnilo teprve nedávno a to čistě náhodou, když jsem se podíval na status nějakého distribuovaného výpočtu, kterému se moje PC v dané chvíli naplno věnovalo a jeho procentuelní pokrok se rovnal řádově dvěma tisícinám procenta každou sekundu počítání. Napadlo mě v té chvíli, jakou asi část celku můj počítač odešle až výpočet dokončí? Také jsem si vzpoměl na vášnivou debatu kterou jsem vedl u piva před delší dobou ještě s několika kamarády na téma výkonu procesorů, kde oni nadšeně jásali nad pokrokovou architekturou a násobného zvýšení výkonu u procesorů Intel(r) Core2 a já chladně konstatoval, že je nutný exponenciální výkonnostní nárůst...

 

 

 

   Když se nad tématem zamýšlím dnes, myslím si, že jsem měl pravdu a vyspělá architektura Core2 mě nechávala chladnou oprávněně. Budu-li se zamýšlet nad tématem jako naprostý laik čerpající z obecných faktů a informací týkajících se promblematiky výpočtů a práce jež počítače vykonávají, docházím k závěru, že je něco špatně, resp. lidstvo zoufale potřebuje nové technologie počítačů zajišťující exponenciální nárůst výkonu oproti dnešnímu standardu. Ale proč...?

 

   Osobně věřím tomu, že 95% dnešní populace žije v domění, že výkon dnešních počítačů a počítačových systémů je adekvátní a dále dostačující, přičemž tato část obyvatelstva bude vycházet z obecně známých faktů jež jsou uvěřejňovány v masových médiích a vlastně se jim nelze divit, že u nich tento názor zůstává v popředí - vždyť kolikrát jsme slyšeli, že let na měsíc, jakýsi pomyslný triumf lidstva, řídil počítač o ýkonu kalkulačky a přitom dnes má procesor za 800stovek tisícinásobný výkon. Kolikráte už jsme překročili údajně nepřekročitelné mezní hranice frekvence polovodičových čipů? Nebo stačí praktický příklad, za jak dlouho spočítá člověk odmocninu z X a za jak dlouho ji spočítá CPU? Ano, jsitě, počítače jsou nesrovnatelně rychlejší v určitých výpočtech než-li člověk a také při svém aktuálním výkonu dokáží spočítat věci, na které by lidský život nestačil. Dokáží pracovat bezchybně s pro člověka nepředstavitelnými obejmy dat (chápej nepředstavitelnými ve smyslu, že by je musel sám zpracovávat) a to se ještě nebavíme o tzv. superpočítačích, jež disponují teoretickým výkonem v řádech statisíců domácích počítačů a každým rokem se násobně zvyšují. Ale popravdě, zamyslíme-li se nad tím jaké výpočty jsou aktuálně v popředí a jak dlouho dnešním počítačům trvá jejich dokončení, musíme říci, že dnešní počítače jsou opravdu pomalé.

 setis

   Pro příklad nemusíme chodit kdovíjak daleko a protože je tato úvaha, nebo možná zamyšlení koncipováno z pohledu laika pro laika podíváme se třeba na světoznámý projekt SETI@home jež nám poslouží jako ukázkový příklad neadekvátnosti výkonu dnešních počítačů a navíc si jej může v podstatě každý sám vyzkoušet na vlastní kůži.

   Věřím, že o projektu mnoho z Vás již slyšelo, protože se o něm občasně vyskytne zmínka v mass mediích. Pro ty nezasvěcené popíšu stručně v čem tkví. SETI@home (Search for Extra-Terrestrial Intelligence) je jeden z mnoha stovek projektů spadající do kategorie distribuovaných výpočtů. V principu tento typ projektů funguje takto. Ze serverů projektu je práce (jednotlivé fragmenty nezpracovaných dat) rozesíláno na počítače účastnící se projektu (tedy někdo doma v práci atp. povolí aby jeho PC přijímalo práci a nevyužitý výkon CPU věnovalo na zpracovávání dat které počítač příjme ze serveru projektu). Konkrétně projekt SETI se zabývá příjmem  rádiových signálu z vesmíru a jednotlivé počítače mají za úkol analyzovat zda-li přijmuté signály obsahují umělé prvky respektive jsou zaměřeny na signály jež nevznikají přírodní cestou (úzká šířka pásma), jakožto známka inteligentního vysílání. A nyní, proč se jedná o tak krásný příklad:

   Jednotlivé teleskopy přijímají rádiové signály z určitých částí vesmíru (jak asi velkou část vesmíru máme tímto způsobem pokrytou se mi zjistit nepodařilo, avšak teleskopy jsou směrovány na jednotlivé hvězdy, poté nějaký čas poslouchají a přesouvají se jinam) tedy pokrytí bude minimální, navíc je úměrné dostupnému početnímu výkonu (aktuálně 2009-08-19 cca 650TFLOP/s). Přijmuté singály jsou rozděleny a odesílány na PC kterých se projektu SETI účastní statisíce po celém světě. Teoretický početní výkon je tedy obrovský, i přesto, je práce stále plno a počítače nestíhají data analyzovat v adekvátním čase. Jedná se zde pouze o "hloupou" analýzu rádiového signálu z opravdu procentulně zanedbatelné celkové části vesmíru a i přesto nejsme schopni tyto data zpracovávat v reálném čase. Jaký početní výkon bychom potřebovaly abychom mohli tento projekt efektivně zpracovávat za předpokladu, že bychom měli technologii, která by pokryla 100% námi viditelného vesmíru?

 

   Podíváme se dále, na další projekt, tentokráte již s detailnější statistikou a proto je pro naši úvahu také relevantní. Na projekt, který pracuje narozdíl od SETI (hypoteticky) s teoretickým základem a který se snaží potvrdit, popř. vyvrátit řečenou teorii a jejíž potvrzení, popř. vyvrácení bude mít dnes a zejména v budoucnosti pravděpodobně nesmírný význam. Řeč je o projektu Einstein@home jež ve vesmírů vyhledává gravitační vlny jejichž existence byla předpovězena v Einsteinově teorii relativity a nyní je důkládněji (úměrně aktuální technologii) zkoumáme. Projekt anlyzuje data z interferometrů GEO600 (spolupracuje také s projekty LIGO) jež by měli být schopny zachytit rotující binární systémy, kolapsy na černou díru, supernovy, gravitační vlny emitované v Planckově čase a další. Interferometr GEO600 vytvářel k roku 2005 okolo 50Gb dat denně, nejedná se tedy o nějaký nepředstavitelný objem dat, a i přesto že průměrný početní výkon zůčastněných počítačů dosahuje 200TFLOP/s (200 bilionů opercí s plovoucí řadovou čárkou za 1s) je práce pro projekt stále plno a dokončení například aktuálních výpočtů bylo na "startu" odhadnuto na 272,5 dnů. Myslíte že máme dostatečně výkonné počítače?

faq39   Pro pochopení početního výkonu který jsou dnešní počítače schopné nabídnout se zde pokusím o menší výkonnostní přehled který by měl čtenáři přiblížit o jaké výkony se jedná, bavíme-li se o teraflopech apod. jednotkách.

   FLOPS je zkratka pro počet operací v plovoucí řádové čárce za sekundu. Jedná se o standardní měřítko výkonnosti počítačů.

  • 1FLOP tedy odpovídá 1 operaci/s
  • 1(kilo)KFLOP  odpovídá 1 000 operací/s
  • 1(mega)MFLOP odpovídá 1 000 000 (1mil) operací/s
  • 1(giga)GFLOP odpovídá 1 000 000 000 (1mld) operací/s
  • 1(tera)TFLOP odpovídá 1 000 000 000 000 (1bilion) operací/s
  • 1(peta)PFLOP odpovídá 1 000 000 000 000 000 (1biliarda) operací/s
  • 1(exa)EFLOP odpovídá 1 000 000 000 000 000 000 (1trilion?) operací/s
  • 1(zetta)ZFLOP odpovídá 1 000 000 000 000 000 000 000 (1triliarda?) op/s

   (zdroj číselné řady Wikipédia, pro puntičkáře uvádím konkrétní odkaz protože názvy jednotek se liší je-li použit krátký [quadrilion, sextilion apod.] nebo dlouhý [bilion, trilion] systém. Já nejsem amtematik ale obecně mám vypozorováno, že v případě výkonnosti počítačů se používá dlouhý systém, je-li to z matematického hlediska správně nevím :) odkaz: http://cs.wikipedia.org/wiki/Kr%C3%A1tk%C3%A1_a_dlouh%C3%A1_%C5%A1k%C3%A1la ).

   Nyní k praxi: Výkon průměrné kalkulačky je řádově v desítkách flopů, nebudeme lpět na detailecha  řekněme do 1KFLOPu. Výkony domácích počítačů se již liší, uvedu zde několik příkladů:

  • AMD Sempron64 1,8Ghz - 145MFLOP/s
  • AMD Sempron61 2,6Ghz - 214MFLOP/s
  • Intel Core 2 Duo E6300 1,86Ghz - 380MFLOP/s
  • Intel Core 2 Duo E6300 3,15Ghz - 600MFLOP/s
  • AMD Turion60 (ntb CPU) 1,83Ghz - 300MFLOP/s
  • AMD Athlon XP (sc. A) 2,0Ghz - 100MFLOP/s
  • Intel ATOM N270(ASUS Eee PC) 1Ghz - 70MFLOP/s
  • Intel ATOM N270(ASUS Eee PC) 1,8Ghz - 122MFLOP/s
  • Intel Core 2 Quad Q6600 2,4Ghz - 520MFLOP/s
  • Intel Celeron M (ntb. CPU) 1,6Ghz - 280MFLOP/s
  • AMD turion TL-52 (ntb. CPU) 1.6GHz - 220MFLOP/s
  • Intel Celeron 1,3Ghz - 30MFLOP/s
  • AMD Athlon64 5000+ 3,1Ghz - 500MFLOP/s
  • Intel P3-M (ntb. CPU) 1,2Ghz - 50MFLOP/s
  • Intel Pentium 4 Presscot 3,75Ghz - 280MFLOP/s

   Příklady převzaty z fóra www.zive.cz , tak aby zhruba odpovídali. Výkon testován v aplikaci Linapck http://www.netlib.org/benchmark/linpackjava/ kde si můžete otestovat i své PC. Test v Linpacku je takový +- řádově odpovídající. Linpack akceptuje pouze jedno jádro, tedy testuje na jednom jádru, proto podobné výkony QuadCPU třeba s dvoujádry. Z příspěvku je patrné, že výkon samozřejmě v průběhu let násobně roste.

   Mrkneme se také na výkony superpočítačů. stránka http://www.top500.org/ pravidelně aktualizuje žebříček TOP 500 nejvýkonějších PC na světě. U Superpočítačů je viditelný výraznější výkonnostní nárůst než-li u domácích PC oproti předchozím letům a i přesto, že dosahují oproti obyčejným PC extrémních výkonů, stále jsou tak omezené viz. níže.

  • Aktuálně k 2009-08-19 
  • 001. Roadrunner (IBM) - výkon 1,105 Petaflop/s (1 105TFLOPS)
  • 002. Jaguar (Cray) - výkon 1,059 Petaflop/s (1 059TFLOPS)
  • 003. BlueGene/P (IBM) - výkon 825,5 Teraflop/s
  • 010. Juropa - výkon 274,5 Tflop/s
  • 100. R-System - výkon 39,6 Tflop/s
  • 500. Financial Services - výkon 17,09 Tflops/s

 

  • K datu 2005-08.01 - BlueGene/L - 136,8Tflop/s
  • K datu 2006-08.01 - BlueGene/L - 280,6Tflop/s
  • K datu 2007-08.01 - BlueGene/L - 280,6Tflop/s
  • K datu 2008-08.01 - Roadrunner - 1 026Tflop/s
  • K datu 2009-08.01 - Roadrunner - 1 105Tflop/s
  • K datu 2010-08.01 - Jaguar - 2 331Tflop/s
  • K datu 2011-08.01 - K Computer - 8 773Tflop/s
  • K datu 2012-08.01 - Sequoia - 20 132,7Tflop/s
  • K datu 2013-06.01 - Tianhe-2 - 33 862Tflop/s
  • (Zajímavý výkonnostní nárůst mezi rokem 2007 a 2008, stejně jako 2010 a 2011 !!!)

   Superpočítače jsou obvykle složeny z tisíců až statisíců procesorových jednotek o standardním výkonu. V součtu jsou poté schopny pracovat na dnes až petaflopech. Rozměry se jedná u těch nejvýkonějších obvykle o celé budovy, u průměrných o velké místnosti, spíše haly.

   Pro zajímavost nejvýkonější PC v ČR se nazývá Amálka a dosahuje něco málo přes 4Teraflop/s.

   Porovnejte výkon dnešního výkonného domácího PC Quad CPU řekněme 600MFLOPx4=2,4GFLOP s výkonem Roadrunnera 1,105PFLOP co bude Roadrunner počítat 1 den by takovýto domácí počítač počítal necelých 400 000 dnů (za předpokladu, že jsem to spočet dobře ehm).

   Zajímavost: Společnost IBM již představila záměr na vybudování superpočítače o výkonu Exaflopu !!!

 

   Nebudu se již dále opakovat a zaměstnávat čtenáře dalšími příklady distribuovaných výpočtů, řeknu jen, že tímto způsobem se počítají stovky projektů od matematiky přes simulace šíření nemocí až po výzkum umělé inteligence a na síti BOINC (jež sdružuje asi většinu takto koncipovaných projektů) byl k roku 2008 udáván celkový početní výkon více než 1PFLOP (dnes odhaduji dvojnásobek). Čtenář této úvahy by měl mít jistý cit pro tuto informaci, uvědomme si o jak obrovský početní výkon se jedná a přesto výpočty trvají roky.

superpcs

Superpočítač - něco málo jsme o nich napsali výše v tabulce, nebudeme to dále příliš rozepisovat, zaměříme se na to, co tyto klenoty ldiské rasy v oblasti výpočetních technologií počítají. Jejich zaměření je různé, některé dokáží počítat širokou škálu odvětví, jiné jsou postaveny konkrétně pro daný účel (toto byl například šachový počítač jež dokázal porazit Kasparova). Počítače dnes počítají výpočty v oblasti počasí (věnovat výkon superpočítače na to, abychom možná zjistili jaký bude zítra vítr je šílenost, já bych to zakázal), dále analyzují například genom, vypočítávají fyzikální modely (efekty při výbuchu, účinnost explozí včetně jaderných), dešifrování zašifrovaných dat, vědecké projekty a analýzy, hledají nová efektivnější využití například v aerodynamice, zkoumají vlastnosti materiálů a hledají nové. Avšak některé například teoretizují s výpočty průběhu finančního trhu (a asi hledají pomyslný vzorec na předpoklad vývoje tohoto trhu) a také se starají o katalogizaci stránek internetu (např. Google). Existují velmi výkonné počítače jež se starají pouze o simulaci chování plutonia v závislosti na čase a tak zjišťují bezpečnost jaderných zbraní. 

   Chápeme-li výkon superpočítačů jako obrovský, opětovně se musíme vrátit k základům této úvahy a uvědomit si jak dlouho trvá výpočet téměř čehokoliv v oblasti kterou by superpočítač mohl počítat. A to nezahrnuje data jež je ptořeba analyzovat viz. SETI která by k pokrytí alespoň již procentuelně nezanedbatelné části vesmíru potřebovala výkony v řádech Zettaflopů a pravděpodobně vyšší. Superpočítače dnes viz. předchozí odstavec počítají praktické záležitosti, "vymýšlejí" nové materiály. Technologický pokrok civilizace je stále více závislí na tom za jak dlouho počítač něco spočítá - u počítačů se tedy již nemůžeme bavit jen jako o technickém odvětví, ale spíše jako o základním odvětví jež má obrovskou mírou vliv na celkový postup v oborech technologických i vědeckých dopředu. Výkon počítačů v mnoha odvětvých určují technologický pokrok, určuje úroveň civilizace. Proto potřebujeme najít technologie které zvýší výkon počítačů exponenciálně, nikoliv pouze v násobcích.

   Návrhy na vývoj dalších generací počítačů existují. Vážně se experimentuje s kvantovými počítači, také s biologickými počítači. Existují teorie na počítače využívající horizontu červých děr. Všechny tyto řešení by poskytli v budoucnu exponenciální nárůst výkonu, který tak nutně až zoufale potřebujeme.

 


   Pod čarou se podíváme ještě na počítače "obyčejné" domácí jejichž výkony jsou v řádech Mega - Giga Flopů a oproti superpočítačům jsou mnohdy i statisícenásobně pomalejší. Přemýšleli jste někdy and tím co všechno onen počítač ve skutečnosti počítá? Jak rychle? Komprese videa, nebo jeho převod? Trvá desítky minut až hodiny. Přehrávání DVD videa v reálném čase - ntuný CPU o frekvenci alespoň 1Ghz. Přehrávání MP3 v reálném čase odhaduji tak 80Mhz na 128Kb stream. Zkoušeli jste někdy na svém PC dekryptování data metodou brute force (zkouší možné kombinace za sebou)? Vzpomínám si, že kdysi jsem se na Athlonu (sc.462) o frekvenci 2,2Ghz dostával k 10 000 000 kombinací za sekundu u zip souboru. Je to hodně? Mno, heslo o 10ti znacích obsahující velká a malá písmena + číslice bych hledal roky a roky. Povídáte a co hry? mno to je trochu nefér, u her pomáhá procesoru také grafika jež je v určitých operacích enormě výkonější než CPU a dnes se začínají GPU také využívat ve spolupráci s CPU například pro práci s videem, ale dokonce vznikají i projekty využívající VGA v odvětví distribuovaných výpočtů (dobrý tah řekl bych).

   Ano, je super, že počítače dnes nejsou černobílé, že se Visty hezky vlní a že se okno prohlížeče otevře ihned po kliknutí, ale pravdou je, že domácí počítač má své hranice počítání né o moc dále než kalkulačka, pouze je mnohem více variabilní. Myslíte že ne?

 

   Zdroje:

    Podporuji:                                                                                                               A tesim se:
    BOINC   Happy Eund (zeleny sport)   EU Fuck You
Copyright ©2008-2017 i-skladka.cz All Rights Reserved. Contact: i-skladka@tiscali.cz. Basic template by RocketTheme
i-skladka run an open source CMS system Joomla! | | Compatible with:
FirefoxIE 11SafariOperaGoogle Chrome