Začalo to ufouny
Distribuované výpočty umožňují složité úlohy rozdělit mezi běžné domácí počítače. Nápad distribuce úloh je starý jako počítače samotné, ale v aktuální podobě je realizovatelný až někdy od devadesátých let, kdy se mezi běžné uživatele dostalo slušné připojení k internetu. Snad nejznámějším projektem tohoto druhu je SETI@home, který pomocí velkého radioteleskopu sbírá signály z vesmíru a hledá v nich známky mimozemské inteligence.
Jelikož je obloha skutečně rozsáhlá a signálů je hodně, byl využit právě systém distribuovaných výpočtů, který od roku 1999 rozesílá jednotlivé bloky dat počítačům běžných uživatelů. Ti museli mít dříve na svých počítačích nainstalován specializovaný software.
Protože se organizátoři projektu báli o bezpečnost svých dat, rozhodli se, že klient bude uzavřený software, který bude navíc obsahovat ochrany proti jednoduchému disasemblování, aby bylo velmi obtížné zjistit jeho funkci. To mělo pochopitelně několik podstatných nevýhod: klient běžel jen na vybraných platformách, neuměl využít nové technologie, nebylo možno jej optimalizovat a podobně.
Podobných projektů existovalo více, každý měl svého uzavřeného klienta s výše uvedenými nevýhodami. Klienti byli navíc nekompatibilní, takže jste si museli vybrat, co vlastně přesně chcete počítat. Navíc jste si nikdy nemohli být jisti tím, že počítáte to, co chcete. Objevili se lidé, kteří tvrdili, že podobný software používá NSA (CIA, KGB a doplňte dle vlastního uvážení) pro lámání šifer.
Vývoj pokračuje
S tím, jak se první distribuované výpočty rozšířily, objevily se také nápady, jak celou věc vylepšit. Bylo potřeba připravit zcela novou platformu, která musela splňovat nové požadavky:
- multiplatformnost
- otevřenost
- univerzálnost
Tak se v roce 2003 zrodil projekt Boinc. Ten přesně splňuje stanovené požadavky do puntíku. Původní absurdní strach z podvržených výsledků pomohly odbourat kontrolní mechanismy, které jsou implementovány na straně serveru a sledují, zda některý účastník nepodvání a neposílá falešná data.
Nový klient je navíc univerzální a tak mohou vznikat další projekty, které mohou lákat potencionální zájemce o sdílení výkonu. Nástroje pro realizaci jsou jednoduše k dispozici. Sláva Boinc se začala okamžitě šířit a výhody jeho návrhu jsou natolik zřejmé, že nakonec přesvědčily i lidi od SETI. Poslední důležitý krok byl uskutečněn na konci loňského roku (tedy 15. 12. 2005), kdy pod Boinc přešel i samotný SETI@home. Od tohoto data není starý uzavřený klient podporován a je nadále nefunkční.
Jak to funguje
Vše je pochopitelně postaveno jako aplikace klient-server. Autor projektu, který by rád využil váš strojový čas, si nahodí server, kterému podstrčí data a to, co je potřeba s nimi udělat. Vy si nainstalujete klienta, kterému řeknete, ke kterému projektu se chcete připojit, a on už začně stahovat a počítat. Nastavit je možno spoustu detailů: můžete omezit dobu výpočtu, vybrat i více projektů a podobně.
Podobně jako v případě původního SETI klienta můžete spustit výpočet na více strojích najednou. Pokud tedy máte v práci několik nudících se serverů, jedná se o ideální vobu (pokud není šéf proti). Výhodou proti SETI je ovšem to, že veškerá konfigurace probíhá na straně serveru přes webové rozhraní. Klienti jsou tedy opravdu jen hloupé ovce. Veškeré nastavení tak máte po ruce na jednom místě.
Co můžu počítat
V současné době je k dispozici 11 různých projektů, do kterých se můžete zapojit. Zkoumat tedy můžete: zmíněné ufouny, klima Země, gravitační vlny, strukturu proteinů, částice z urychlovačů nebo třeba počítat 3D obrázky. Poslední jmenovaný je zajímavý v tom, že za svou snahu skutečně můžete něco získat. Pokud budete dostatečně dlouho počítat obrázky jiným, získáte možnost občas si do sítě také nějaký poslat a nechat si jej vyrenderovat. Pokud jste tedy nadšenými 3D grafiky, máte možnost počítat složité obrázky opravdu rychle.
Co budu potřebovat
Základem je samozřejmě počítač s operačním systémem MS Windows, Linux, Mac OS X nebo Solaris. Pak budete potřebovat připojení k internetu. Nemusíte se obávat ani na pomalejších linkách, balíčky nebývají velké. Bez připojení to ovšem nemá moc cenu, i když existují projekty (třeba zmíněná předpověď klimatu Země), kde trvá výpočet několik týdnů, takže si můžete data nosit třeba z práce.
Pak budete samozřejmě potřebovat Boinc klienta. Toho stáhnete buďto ze stránek projektu Boinc nebo jej najdete v repozitářích své distribuce. Pravděpodobně tam bude.
Tím máte splněno a můžete se pustit do domácí vědy.
Počítáme
Klienta stačí normálně nainstalovat z distribuce, používá obvykle uživatele boinc. Je vhodné jej pouštět po startu systému. Neměl by vám nijak výrazně odčerpávat zdroje, protože si sám nastaví nice na 19 a počítá jen ve chvíli, kdy se systém nudí. Nenechejte se zaskočit tím, že pak budete mít systém stále zatížený na sto procent.
Klienta je potřeba nakonfigurovat, aby se připojoval ke správnému serveru a přihlašoval se na něj pod správným uživatelem (kvůli statistikám samozřejmě). Proto se nejprve musíte na zvoleném projektu zaregistrovat a údaje tak získat. Pak už můžete začít.
Možná vám chybí nějaké pěkné grafické výstupy, které generoval starý SETI. Veškeré statistiky můžete najít na webu, ale pokud přeci jen trváte na nějakém tom přímém výstupu, budete muset ještě nainstalovat nějakou grafickou nádstavbu, která data stáhne a zobrazí. Asi nejznámějším linuxovým ukazovačem je v tomto případě KBoincSpy.
Český národní tým
Abychom nepočítali jen za sebe, mohou se uživatelé sdružovat do takzvaných týmů, které pak mezi sebou „závodí” v rychlosti počítání. Náš tým se jmenuje Czech National Team (CNT) a v současné době jej tvoří téměř 3000 členů. Jedná se o jeden z největších týmů na světě. Pokud se vám Boinc zalíbil a chcete se přidat, určitě se staňte jeho členy.
Závěrem
A to je vše přátelé. Nějak se vám to nezdá a chcete ještě vědět, co z toho celého budete mít? Inu, je toho dost: pomůžete vědě, využijete svůj počítač naplno, zasoutěžíte si a třeba svými výsledky nakonec zachráníte i nějaké ty životy. Takže otázka nezní „Proč?” ale „Proč ne?”.
Odkazy
Oficiální stránky projektu Boinc
České stránky CNT