Pomozte najít vakcínu na COVID-19

Chcete pomoci s hledáním vakcíny na onemocnění COVID-19? Nyní máte možnost! Nejen, že nepotřebujete hlubší znalosti v oblasti molekulární biologie a virologie, ale zapojit se můžete přímo z pohodlí vašeho domova. Folding@Home je projekt pro distribuované výpočty, kde mohou dobrovolníci poskytnout výpočetní prostředky svých počítačů k simulaci skládání proteinů. Právě od slova skládání (folding) vznikl název projektu, kteří vytvořili vědci z Washington University School of Medicine. Od roku 2020 se nově zaměřuje na proteiny viru SARS-CoV-2, přičemž aktuálně se na něm podílí přes 400 000 dobrovolníků. Tito dohromady vytvořili neuvěřitelný výpočetní výkon 474 petaFLOPS, což je více než kolik poskytne 7 nejsilnějších superpočítačů světa dohromady.

Chcete se přidat i vy? V tomto článku naleznete jednoduchý návod jak svůj počítač připojit k projektu. V době, kdy jej nepoužíváte, pak můžete nechat probíhat výpočty a kdo ví, třeba právě váš počítač pomůže najít chybějící kousek skládačky a zachrání tak stovky tisíc lidí na celém světě.

Vytvořili jsme tým Brno University of Technology, který sdružuje dobrovolníky z řad studentů i zaměstnanců VUT. Chcete se k nám přidat? Stačí postupovat podle návodu a při přihlášení do klienta aplikace zadat číslo našeho univerzitního týmu:

249477

Rozcestník

Jak se zapojit do Folding@Home

Tak, pojďme na to…

1) Instalace a spuštění

Navštivte stránku https://foldingathome.org/start-folding/ a stáhněte si klientskou aplikaci. Pro Windows je k dispozici instalátor. Máte-li operační systém Mac OS X či Linux, následujte odkaz „alternative downloads“.

Necháte-li při instalaci zaškrtnuto „Start Folding@home“, po dokončení instalace se klient ihned spustí. Zda klient běží, si můžete ověřit pomocí ikonky v pravém části hlavního panelu:

Po první instalaci se automaticky otevře webový klient (alternativně lze spustit pravým klikem na ikonku a výběrem volby „Web Control“).

Na uvítací obrazovce vyberte „Set up an identity“ a klikněte na zelené tlačítko „Start Folding“.

Následuje přihlášení. Do políčka „Name“ zadejte vaše jméno či přezdívku, pod kterou chcete v týmu figurovat. Do „Team Number“ vyplňte číslo týmu. Chcete-li podpořit náš tým VUT, zadejte číslo 249477. Zbývá získat a vyplnit heslo pro autentizaci. Po kliknutí na odkaz „Get a Passkey“ se vám otevře v novém okně formulář pro zadání jména a e-mailu. Po vyplnění vám na zadaný e-mail přijde přihlašovací heslo, které vyplníte do okýnka „Passkey“. Následně klikněte na tlačítko „Save“. Pozn.: tým i identita lze kdykoli změnit kliknutím na odkaz „Change Identity“.

A je hotovo! Chcete-li bojovat proti COVID-19, v sekci „I support research fighting“ nechte vybráno „Any disease“.

2) Řízení výpočtu

Váš klient automaticky kontaktujte servery projektu a žádá od nich práci. Ta je přidělována po tzv. pracovních jednotkách (workunits). Řešení takové jednotky může trvat několik desítek minut, ale také několik hodin – záleží na její náročnosti a výpočetních kapacitách vašeho počítače.

V okénku webového ovládání uvidíte aktuální stav vašeho procesoru (CPU) a grafického procesoru (GPU). Pracuje-li procesor na řešení přidělené pracovní jednotky, v zeleném kolečku se budou otáčet šipky a vy uvidíte, kolik procent dané úlohy je již hotovo. Po dokončení se výsledek odešle na server a za odměnu získáte body (credit) vy i váš tým. Tyto body jsou jakési skóre, které říká, jak moc jste k řešení problému přispěli. Přehled skóre jednotlivých týmu lze najít na https://stats.foldingathome.org/teams.

Ve webovém ovládání také můžete volbou „Power“ nastavit, jak moc má být vás počítač výpočtem zatížen na stupnici LightFull. Čím vyšší zátěž, tím více z kapacit vašeho PC se využije, vyřešíte ve stejném čase více a získáte také více bodů. Při vyšší zátěži ale bude použití počítače pro jinou činnost relativně omezené – počítač se může „sekat“, aj. Vyšší zátěž také znamená vyšší spotřebu a také teplotu procesoru, tj. ventilátory počítače se tak pravděpodobně roztočí na vyšší obrátky. Jaký režim tedy použít? Chcete-li při výpočtu zároveň pracovat, doporučujeme režim „Light“. Režim „Full“ je pro ty, kteří to s výpočtem myslí vážně, nevadí jim trocha hluku a jejich počítač má alespoň trochu kvalitní chlazení a odvětrávání. Pro ostatní případy je kompromisem režim „Medium“.

Kromě toho si můžete nastavit, zda se má výpočet provádět vždy („While I’m working“), nebo jen po dobu, kdy s počítačem nebudete fyzicky pracovat („Only when idle“). Při druhé volbě se výpočet automaticky pozastaví, jakmile např. pohnete myší a spustí se znovu až po určité době neaktivity.

Důležité je také vědět, že výpočet běží, i když okénko webového ovládání zavřete! Chcete-li počítání ukončit, klikněte na „Stop Folding“. Podobně se dá výpočet opět zapnout. Okénko webového rozhraní lze znovu otevřít pravým klikem na ikonku na hlavním panelu a výběrem volby „Web Control“.

3) Režim pro pokročilé

Režim pro pokročilé lze otevřít pravým klikem na ikonku na hlavním panelu a výběrem volby „Advanced Control“:

Ovládací rozhraní je zde o poznání složitější, ale nabízí lepší přehled a větší kontrolu nad výpočetními procesy. Řízení výpočtu můžete provádět nezávisle pro každý dostupný procesor (CPU i GPU). Máte tak kompletní přehled o tom, co se přesně které zařízení počítá včetně možnosti interaktivní 3D vizualizace práce zkoumaného proteinu. Můžete např. nechat počítat jen některé grafické karty, nastavit jim vlastní speciální parametry, aj. Dostupné je také nastavení zabezpečení klienta, které přijde vhod, je-li váš PC dostupný z veřejného internetu. Dalé pak nastavení vzdálené správy, použití proxy serveru, prioritu procesů, checkpointing a jiné.

Často kladené otázky (FAQ)

Potřebuji k zapojení výkonnou grafickou kartu (GPU)?

Ne nutně. Čím výkonnější výpočetní prostředky máte k dispozici, tím více samozřejmě přispějete a ve statistikách také získáte více bodů (credit). Výpočet lze ale bez problému realizovat i na CPU. Výkon dedikovaných GPU bude zpravidla vyšší. Je to dáno jejich architekturou, která je stavěna na vysoce paralelní zpracování dat, které je právě pro tento projekt ideální.

Po připojení nedostávám žádné úlohy. Proč?

Ačkoli požadavky klientů na přidělení úlohy obsluhuje velké množství výkonných serverů, zájem o projekt je tak obrovský, že jejich výkon v současnosti nedostačuje. Na řešení se usilovně pracuje a provozovatelé z Washington University pravidelně navyšují výpočetní kapacity. Dosud však s každým zdvojnásobením kapacit serverů docházelo ke zhruba čtyřnásobnému navýšení požadavků klientů. Pro vyřešení situace se nám osvědčily následující postupy:

  • Vyčkat, dokud server nebude mít úlohu i pro vás – někdy to může opravdu trvat i hodinu či déle.
  • V režimu pro pokročilé (Advanced control) pozastavit výpočet; vyčkat alespoň do doby než doběhne časovač pro další žádost a poté selektivně pro konkrétní zařízení (GPU, CPU) zapnout výpočet. Selektivní zapínání konkrétních zařízení se provádí v sekci „Folding slots“ pravým klepnutím na název daného zařízení. Pokud je zařízení nějakou dobu pozastaveno a pak jej zapnete, je velká šance, že vám bude přidělen jiný pracovní server „Work server„, který nebude tolik vytížen.
  • Pokud ani po delší době nedostáváte pro žádné zařízení práci, můžete zkusit restart klientské aplikace, popř. restart počítače.

Když probíhající výpočet pozastavím, nepokazím něco?

Nepokazíte, výpočet lze kdykoliv pozastavit a pak zase znovu pustit od stejného místa. Každá úloha má svůj „deadline„, typicky v řádu dní – tj. několikanásobku očekávaného času řešení. Pokud do té doby nedorazí výsledek, server úlohu přiřadí jinému zájemci. O rozdělanou práci v rámci úlohy tak přijdete jen, pokud výpočet pozastavíte na delší dobu.

Proč programu Protein viewer vidíme stále jen demo?

Nejnovější verze 7.5.x programu bohužel aktuálně není kompatibilní s nástrojem Protein viewer. Vývojáři o tomto vědí a pracují na řešení. Není třeba obav – jakou úlohu váš počítač řeší, lze jednoduše zjistit (viz další otázku). V budoucnu můžeme očekávat opětovné zprovoznění. Pokud chcete přesto vidět aktuálně zpracovávané proteiny, lze alternativně použít starší verzi 7.4. Používání jiné než aktuální verze však není doporučeno.

Kdo vlastně vytváří jednotlivé úlohy? Jak zjistím, co aktuálně počítám?

Jednotlivé úlohy jsou vytvářeny v podobě podobě skupin, kterým se říká projekty. Výzkumníci zapojení do Folding@Home tyto projekty postupně zadávají do systému, přičemž o aktualizacích pravidelně informují na diskusním fóru. Ve vašem programu si můžete u každého zařízení zobrazit hodnotu „Project„, což je číslo projektu, jehož úlohu vaše zařízení aktuálně počítá. Na této stránce pak po zadání čísla najdete detailní informace o tom, co se vlastně v rámci projektu zkoumá a také, kdo je konkrétně správcem daného projektu. Výsledky jednotlivých projektů řešených v rámci Folding@Home jsou následně volně dostupné – tj. získaná data jsou zveřejňována, aby se do následné analýzy mohl zapojit kdokoliv.

Jak zjistím, jak si aktuálně vedu já a můj tým?

Statistiky jednotlivců i týmů najdete na této stránce. Vyhledávat se dá dle jména i čísla.

Mohu použít Linux? Grafickou kartu v programu nevidím.

Operační systém Linux použít můžete. Je potřeba mít samozřejmě nainstalovány ovladače pro grafickou kartu. Nutná je ale přítomnost knihovny libOpenCL nebo libcuda – ta bývá dodávana výrobcem ovladače GPU, případně si ji můžete doinstalovat z balíčkovacího systému vaší distribuce. V pokročilém režimu po kliknutí na „Configuration“ v sekci „Expert“ v sekci „Extra client options“ je dále nutné nastavit atribut „gpu“ s hodnotou „true„. V sekci „Slots“ dále přidejte nový slot, vyberte „GPU„. Pokud hodnoty „gpu-index„, „opencl-index“ či „cuda-index“ necháte ve výchozím nastavení „-1„, aplikace se pokusí dostupnou kartu detekovat a zvolit sama. V opačném případě lze vybrat ručně.