BOINC – virtuální laboratoř aneb oč tu vlastně běží

Autor: Merlin SF, vytvořeno 21.2.2008

BOINC neboli Berkeley Open Infrastructure for Network Computing je velmi, velmi zvláštní fenomén. Je nejznámějším pojmenováním fenoménu, označovaného jako DC ( Distributed Computing ), neboli distribuovaných výpočtů. Jeho název Berkeley otevřená infrastruktura pro síťové výpočty v sobě nese informaci o místu jeho zrození, o University of Berkeley. A Berkeley zná snad každý z nás. Je jedním z předních světových center pro fyziku všech možných odvětví, od kvantové mechaniky až po astrofyziku.

1. Co že to vlastně je ?

Dnešní vědecká zkoumání využívají stále modernějších technologií při sledování nějakého jevu, což sebou přináší rostoucí počet dat, získaných pro další analýzu. A toto množství se dnes navyšuje téměř exponenciálně. A tady se nám nabízejí dvě možnosti technologie k jejich zpracování. Pojďme se podívat na první z nich.

2. Megacomputer

Již jsme si nastínili obrovské množství údajů, čekajících na další zpracování pomocí různých algoritmů. Nyní si představme hardwarové požadavky na počítač, který by byl určen jen pro jejich zpracování. Základním požadavkem je početní výkon. Dnes, počátkem roku 2008 víme, že jeden z nejúspěšněji používaných nových procesorů Intel, konkrétně mezi námi počtáři velmi oblíbený Intel Core 2 Duo Quad @2,40GHz má v základním taktu zmiňovaný početní výkon asi 5 500 000 000 operací za sekundu. Srozumitelněji výkon 5,5Gflops. Současný požadavek na početní výkon od průměrného projektu je však deset až stotisíckrát vyšší. Můžeme tedy zakoupit obrovskou halu, do níž umístíme pro příklad 10 000 počítačů osazených tímto procesorem. A tyto počítače zapojíme do sítě. Myslím, že dvacetipatrová hala velikosti ligového fotbalové hřiště by pro začátek mohla stačit.

Máme nyní strukturu, která představuje jakýsi „ideální počítač“. Můžeme být spokojeni, s investicí v řádu milionů dolarů jsme jej vybudovali. Jenže, nesmíme zapomenout na další roztomilou vlastnost každého počítače. Ke své činnosti potřebuje stálý přísun elektrické energie. A protože dnes víme, že průměrná spotřeba průměrného počítače s tímto procesorem je asi 180 W, a my jich máme v hale deset tisíc, potřebujeme příkon v hodnotě 1.800 kWh. Fajn, postavíme si za pár dalších milionů vlastní elektrárnu. A jdeme na to. Další omyl přátelé. Těch desettisíc počítačů má další negativní vlastnost. Vzhledem k faktu, že část elektrické energie se při jejich činnosti přemění na teplo, a ztrátové teplo bude třeba jen 50 W na jeden z nich, máme tu navíc 500kW tepelného výkonu. A to by vytopilo menší městečko. Jak známo, teplo a elektronické součástky se snesou je do určitého poměru. Nechceme-li si naši investici za miliony upéct, musíme účinně chladit = další náklady. A to jsme se ještě nedostali ke svícení, obsluze, údržbě a vrátnému. Máte-li pocit, že jsem nyní vyčerpal všechny nároky, mýlíte se. Trend vývoje počtu dat pro analýzu roste, jak jsme si již říkali, exponenciálně. Aby projekt fungoval i za rok prostřednictvím tohoto megapočítače, bude nutno pravděpodobně během jediného roku:

Upgradovat hardware na nejnovější úroveň, zdvihnout halu o dalších deset pater a zdvojnásobit počet zapojených počítačů. A to jsou další a další investice. A žádná banka na světě tohle financovat nebude, ani kdyby měla stoprocentní jistotu že na konci tohoto úsilí naleznete odpovědi na všechny záhady, objevíte nesmrtelnost a prostředek na léčbu všech chorob.

Pojďme se spolu nyní podívat na jeden zajímavý paradox, kterým je možnost zpracování zmiňovaných dat s minimálními náklady a maximální flexibilitou.

3. Mravenci a sloni aneb kdo udělá více práce

Statistika předvídá, že každý z vás milí čtenáři, který právě dorazil na tyto řádky, má k dispozici nějaký ten počítač. Na velikosti, výkonu a typu, operačním systému a formě vlastnictví příliš nezáleží. Záleží spíše na tom, k čemu a kdy jej používáte. Proč? Vysvětlím na modelové situaci, kterou lze použít stejně tak pro počítač doma nebo ve vaší kanceláři.

Přijdete ke svému PC a zapnete jej. Záleží na jeho typu a vybavení, operačním systému a vaší šikovnosti s hesly ve Windows, než plně „naběhne“. Spustíte nějakou tu aplikaci, gamesku nebo třeba Excel a začnete se věnovat interaktivní zábavě ( nebo trápení, podle typu té dané aplikace ). Co se však děje uvnitř počítače? V procesoru? V jednu chvíli zpracovává sadu instrukcí. Pak nic. A zase pracuje. A zase nic. To nic je zdánlivě nepatrné, ale je. A tady je ten paradox. Máte počítač. Běžící počítač. Počítač konzumující elektrickou energii. Ale chvílemi nic nedělající. A tyto chvíle je možno využít právě pro zpracování té obrovské spousty dat, která na to čeká. Jak?

Spojíme všechny takové počítače do jedné obrovské struktury. Po drobných kouscích poskládáme úctyhodný výpočetní výkon jen ze ztrátového času vašich lenošících procesorů. A předčíme se svými stroji všech typů a národností mnohonásobně výkon výše zmíněného megapočítače. No uznejte sami, není to geniální ? Je, viďte.

Nyní se zeptáte jak toho docílit. Jednoduše. Pojďme si trochu osvětlit princip BOINCu.

4. Datová samoobsluha a její regály

BOINC platforma je postavena na myšlence rozmělnění obrovských datových souborů na mnohem menší části, které je reálně schopen běžný počítač zpracovat v řádu několika hodin až dnů. Aby byl vyloučen zásah vyšší moci do tohoto systému, stal se jeho základem soubor zvaný Boinc Manager, obsahující mimo jiné také Boinc Core neboli jádro. Tento software je volně šiřitelný, a jeho úkolem je po instalaci do vašeho počítače po krátkém nastavení za vaší účasti komunikovat s vámi zvoleným projektem automaticky tak, aby vás neobtěžoval a současně vynecháním nutnosti manuálního ovládání eliminoval problém mezi klávesnicí a monitorem. Ale k samotnému prvotnímu nastavení se vrátíme až v instalačním návodu, nyní jej vynechme.

Onen Boinc manažer běží jako služba, a za vás komunikuje s vámi zvoleným projektem. Po přihlášení k projektu dojde ke stažení příslušné aplikace, především sady algoritmů a datových jednotek, takzvaných WU neboli workunits. Boinc manažer monitoruje vytížení vašeho procesoru. Když zjistí stav „nicnedělání“ zapojí do procesoru některou z uvedených jednotek a ten pěkně šupajdí zase do práce. Jakmile ale manažer zjistí požadavek vašeho systému nebo aplikace na prostředky procesoru, výpočet odpojí a čeká. A tak to běží až do doby, kdy je příslušná jednotka hotova, odeslána a nahrazena další, pokud jste v původním nastavení tuto volbu povrdili.

A určitě už vás napadlo, co že za to bude, když pomáháte svými počítači šetřit projektům výše uvedené náklady. Nic, přátelé, nic. Tedy skoro nic. Za každou spočítanou a odeslanou jednotku obdržíte na svůj účet příslušný kredit. Ne finanční a ne na skutečný účet. Pouze kredit virtuální o jehož funkci se ještě zmíníme ve druhé kapitole . Vaším administrátorským úkolem a současně právem je rozhodnout se, k jakému projektu a v jakém rozsahu se připojíte. A vaší odměnou je vědomí, že pomáháte v mnoha vědních oborech nalézt odpovědi a řešení, jimiž se projekty zabývají.

Pokud vás předchozí řádky zaujaly, a chcete se dozvědět více o jednotlivých vědeckých projektech a jejich zaměření, čekají na vás další informace v menu projekty.

Instalace a základní nastavení BOINC pod Windows krok za krokem

Autor: Barbar, vytvořeno 24.6.2008

Tento článek Vás krok za krokem provede instalací BOINC pod Windows a jeho základním nastavením.

Nejprve si ze stránky http://boinc.berkeley.edu/download.php stáhneme instalační probram BOINC Managera a BOINC klienta, což je software, s jehož pomocí se budeme připojovat k jednotlivým projektům. Na výše uvedné stránce se nám automaticky ke stažení nabídne aktuální verze BOINC dle našeho operačního systému.

Pokud nám automaticky navržená verze BOINC nevyhovuje (nejčastěji proto, že BOINC stahujeme na jiném počítači, než kam bude instalována), tak si příslušnou verzi BOINC vybereme na stráce http://boinc.berkeley.edu/download_all.php.

My budeme instalovat verzi BOINC 5.10.45. Po kliknutí na odkaz Stáhnout BOINC zvolíme spustit.

Instalční program BOINC se stáhne ...

... a začne se instalovat.

My klikneme na tlačítko Next ...

... odsouhlasíme licenční podmínky a opět klikneme na tlačítko Next.

Instalační program nám umožní zvolit adresář k instalaci.

Dále máme na výběr z několika možností instalace:

  • "Single-User Instalation nainstaluje BOINC" pouze pro aktuálního uživatele. Pokud aktuální uživatele není přihlášen (je odhlášen či je přihlášen jiný uživatel), tak BOINC není spuštěn. Běh BOINC je indikován ikonou v systémové liště.
  • "Shared Instalation" nainstaluje BOINC pro všechny uživatele PC. BOINC tak může běžet pokud je přihlášen libovolný uživatel, který zároveň může BOINC ovládat. Běh BOINC je indikován ikonou v systémové liště.
  • "Service Instalation" nainstaluje BOINC jako službu. BOINC se spouští po startu PC a k běhu tak nepotřebuje žádného přihlášeného uživatele. Běh BOINC není indikován ikonou v systémové liště, je tedy "skrytý". Spořič BOINC nelze použít.

My vybereme možnost "Single-User Instalation".

Dále si vybereme zda chceme spořič BOINC použít jako výchozí spořič systému a zda chceme spouštět BOINC automaticky po přihlášení uživatele. Pokud jste v předchozím kroku zvolili "Service Instalation", tak volba "Launch BOINC when loggin on" způsobí spuštění grafického rozhraní (BOINC Manager), protože BOINC klient se spouští vždy. V ostatních případech dojde ke spuštění BOINC klienta i BOINC Managera.

Potvrdíme instalaci.

Instalace probíhá ...

... a na konci instalace spustíme BOINC Managera.

Zobrazí se nám okno BOINC Managera a tento nás ihned vyzve k připojení se k nějakému projektu. Pokud by se tak nestalo, tak klikneme na "Add project".

Zobrazí se nám seznam vybraných projektů (existuje jich mnohem více). Ze seznamu si můžeme vybrat kliknutím nebo rovnou napsat adresu pro připojení k projektu do dolního řádku. Projekty se liší nejenom ve svém zaměření, ale i v určité stabilitě poskytování práce. Pro začátek si dovoluji doporučit vyzrálé a stabilní projekty:

  • Seti@Home - hledání signálů mimozemských civilizací
  • Einstein@Home - zkoumání gravitačních vln
  • Rosetta@Home - vývoj léků proti rakovině

V tomto návodu jsem zvolil projekt Rosetta@Home a klikl na tlačítko "Další".

Po zvolení projektu se s ním BOINC Manager pokusí spojit. Pokud by spojení skončilo chybou, tak to s největší pravděpodobností bude tím, že server projektu je dočasně nedostupný. Vyberte si proto jiný projekt. Také vás může váš firewall vyzvat k povolení komunikace BOINC s internetem.

Pokud na projektu ještě nemáte svůj účet (připojujete se k němu poprvé), tak vyplňte svoji emailovou adresu (skutečnou, později si na ní můžete nechat zaslat zapomenuté heslo) a heslo a znovu heslo pro potvrzení. Pokud se budete připojovat do více projektů, tak raději vždy používejte stejnou emailovou adresu. Tuto adresu, stejně jako další údaje, můžete kdykoli změnit.

BOINC Manager se pokusí připojit k projektu ...

... což by mělo skončit hláškou, že připojení k projektu proběhlo úspěšně.

BOINC Manager vám dále ve vašem internetovém prohlížeči umožní změnit nastavení vašeho účtu. Zde si můžete zvolit uživatelské jméno. Ve všech projektech mějte stejné jméno. Ve jméně nepoužívejte háčky a čárky. Dále zvolte zemi (vaše kredity za výpočty se budou započítávat i pro zvolenou zemi).

Mezi tím, co nastavujeme náš účet na Roseta@Home, si můžeme všimnout, že BOINC Manager stahuje práci ze serveru.

My budeme pokračovat v nasatevní. Dále si vybereme tým, pro který chceme počítat. V týmu sice být nemusíte, ale zároveň neznám důvod proč v nějakém týmu nebýt. My vyhledáme tým Space Family.

Po nalezení týmu Space Family klikneme na jeho název a ...

zobrazí se nám informace k týmu Space Family ...

... včetně důležitého odkazu "Join this team" na který klikneme a tím se připojíme k týmu Space Family.

Na další stránce můžete vyplnit například adresu vašich webových stránek a ...

... pokud chcete, tak provést nastavení projektu kliknutím na "Rosetta@Home nastavení".

Zde můžeme nastavit:

  • "Resource share" - pokud budeme připojeni k více projektů, tak toto číslo udává podíl na výpočtech mezi projekty. Například u Rosetta@Home číslo změníme na 200 a připojíme se k Seti@Home, kde necháme 100, takže projekt Rosetta@Home se bude počítat 2x více času než projekt Seti@Home.
  • "Is it OK for Rosetta@home and your team (if any) to email you?" - Možnost projektu a týmu posílat emaily na vaši emailovou adresu.
  • "Should Rosetta@home show your computers on its web site?" - Zda budou zobrazovány podrobnosti (operační sytém, procesor) o vašich počítačích.
  • "Default computer location" - v případě, že použijeme více násobné nastavení viz na konci stránky odkazy: Add separate preferences for home, Add separate preferences for school a Add separate preferences for work, tak které je výchozí.
  • "Percentage of CPU time used for graphics" - míra maximálního využití CPU pro grafiku.
  • "Number of frames per second for graphics" - počet obrázků za sekundu pro grafiku.
  • "Target CPU run time" - specifická volba u Rosetta@Home umožňuje nastavit, jak časově náročné úkoly má toto PC dostávat.

Nastavení můžeme změnit po kliknutí na "Edit Rosetta@home preferences".

Já doporučuji nastavit alespoň "Should Rosetta@home show your computers on its web site?" na NO.

Po kliknutí na "Update preferences" se nám zobrazí nové nastavení s varováním, že se projeví až poté, co se BOINC znovu zkontaktuje se serverem projektu.

Webové stránky projektu i BOINC nyní můžeme vypnout.

Přesuneme se k BOINC Managerovi. Pro podrobnější přehled klikneme na "Advanced View".

Zobrazí se nám BOINC Manager s několika záložkami. Na záložce "Projekty" vidíme přehled projektů, ke kterém je BOINC Manager připojen a další údaje. pokud jsme prováděli změny v nastavení projektu, tak je vhodné projekt označit a kliknout na tlačítko
"Aktualizovat" - BOINC Manager se tak vynuceně spojí se serverem projektu. Další tlačítka:
"Pozastavit" přeruší práci na vybraném projektu
"Žádnou další práci" - ze serveru nebude stažena žádná další práce pro zvolený projekt
"Restartovat projekt" - v případě problému s výpočty zruší všechny úlohy projektu a stáhne nové
"Opustit" - odpojí BOINC Managera od projektu (účet na projektu tím není zrušen, můžete se k němu kdykoli zase připojit).

Na záložce "Úkoly" vidíme seznam stažených úkolů včetně podrobností. Důležitý je datum "Odevzdat do", který udává, do kdy je úlohu potřeba spočítat, aby byla serverem akceptována a využita. Příkazy vlevo snad není potřeba popisovat.

Na záložce "Přenos" vidíme přenos souborů mezi BOINC Managerem a serverem projektu.

Na záložce "Zprávy" je detailní výpis toho, co BOINC provádí a to včetně případných chybových hlášení.

Na záložce "Statistiky" je základní přehled za výpočty obdrženého kreditu.

Na záložce "Disk" je textové a grafické znázornění využití diskového prostoru.

A dostáváme se k dalším možným nastavením "Nastavení" - "Předvolby" má tři záložky. Na záložce využití procesoru lze nastavit, kdy mají být výpočty spuštěny.
"While computer is on baterie" - Zda počítat pokud je PC napájeno z baterií.
"While computer is in use" - Zda počítat když je PC používáno.
"Switch between aplication every" - Pokud máme více projektů, po jak dlouhé době je střídat. Doporučuji nastavit alespoň na 5 hodin. Časté střídání některé aplikace špatně nesou.
"On multiprocessor systems, use at most" - Kolik procesorových jader využít pro výpočty.
"Use at most" - Kolik procesorového času pro výpočty použít. Snižte pokud se váš procesor přehřívá. Výpočty BOINC běží s nízkou přioritou, takže jiné vaše aplikace brzdit nebudou.

Záložka "Využití internetu" umožňuje nastavit maximální rychlost odesílání a stahování dat a dále:
"Connect about every" - Udává jak často se má BOINC připojovat k internetu. Čím menší hodnota, tím častější připojování.
"Additional work buffer" - Jak velkou zásobu práce má BOINC stáhnout. Při vysoké hodnotě hrozí, že práci včas nespočítáte.

Záložka "Využití disku a paměti" umožňuje omezit množství paměti a disku používané výpočty pod BOINC. Pokud máte počítač s malým množstvím paměti, tak jeho výkon může být paměťovou náročností BOINC brzděn. V tomto případě snižte položky "Memory usage". Pozor ale, že některé úlohy se v případě, že pro ně nebude dost paměti, nebudou počítat.

Změny v nastavení nezapomeňte potvrdit kliknutím na OK :-)

Pokud se chcete vrátit do jednoduššího vzhledu BOINC Managera, tak můžete přes "Vzhled" -> "Simple view".

Diskuze k článku a k instalaci a nastavení BOINC.

Nahoru