Boinc: distribuované výpočty doma

26. 5. 2006
Doba čtení: 5 minut

Sdílet

Pravděpodobně znáte projekt SETI@home, který se zabývá hledáním mimozemšťanů. Není ovšem jediným podobným projektem a počítat můžete mnoho dalších a často důležitějších úloh. Přesně k tomu slouží projekt Boinc, pod který SETI nedávno také přešlo.

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

Boinc

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.

KBoinc

Č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.

bitcoin_skoleni

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

Zapojili jste se někdy do výpočtů?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.