Hledání léků na různé nemoci dnes probíhá nejen v laboratorních zkumavkách, ale ve stále větší míře také na počítačích. V případě některých simulací je potřeba tak obrovský výpočetní výkon, že s nimi pomáhají superpočítače. Například nejvýkonnější stroj Summit s výkonem až 200 petaFLOPS nedávno vytipoval a doporučil k dalšímu zkoumání 77 sloučenin, které by mohly zabránit koronaviru infikovat hostitelské buňky.
Kromě superpočítačů vědci používají také různé platformy pro distribuované výpočty. Jedná se o sítě, skládající se z počítačů dobrovolníků, poskytujících výkon svého stroje ve prospěch vědy. Asi nejznámějším projektem tohoto typu je nedávno zastavený Seti@Home, který 21 let hledal mimozemské vysílání umělé povahy.
Projekt SETI@home
Základní princip fungování je v podstatě prostý. Vědci mají připravený obrovský balík dat, který „rozporcují“ na menší kousky. Tyto kousky si pak stahují klientské aplikace, nainstalované na počítačích dobrovolníků. Ty data zpracují požadovaným způsobem a výsledky odešlou zpět. Motivací bývá dobrý pocit a případně body do statistik, které uživatelé dostávají podle objemu zpracovaných dat.
Zevrubný přehled nejzajímavějších platforem pro distribuované výpočty připravil počátkem března Kuba Čížek. V jeho článku Propojte miliony domácích notebooků a PC a vyrobíte superpočítač. Dnes zkoumá koronavirus i vesmír najdete celou řadu projektů, do kterých se můžete zapojit. Na výběr je například klima naší planety, studium asteroidů, simulace vesmíru či hledání léků na různé nemoci.
My se teď v dalších kapitolách zaměříme na Folding@home, projekt platformy distribuovaných výpočtů, které nyní slouží vědcům hledající lék na aktuální koronavirus.
Jak vznikl a co už dokázal Folding@home
Folding@home, zkráceně též FAH nebo F@h, je projekt, zabývající se simulací skládání proteinů. 1. října 2000 ho vytvořil profesor Vijay Pande, který ho vedl až do roku 2019. Dnes běží pod záštitou Stanfordovy univerzity, která by měla být garantem toho, že aplikace opravdu dělá jen to, co má, a netěží například v něčí prospěch Bitcoiny.
Web Folding@Home
Od simulací skládání proteinů se Folding@home časem posunul směrem ke konkrétním biomedicínským problémům. V jeho rámci se například hledají léky na Alzheimerovu chorobu, Parkinsonovu chorobu, Ebolu, rakovinu a v současnosti patrně nejaktuálnější onemocnění COVID-19.
V roce 2007 se do výpočtů mohly zapojit herní konzole PlayStation 3 a díky tomu celý projekt překonal hranici 1 petaFLOPS. V té době byl nejrychlejším superpočítačem BlueGene s výkonem „jen“ 0,280 petaFLOPS. V květnu 2008 bylo dosaženo výkonu 2 petaFLOPS, další milníky pak padly v srpnu a září téhož roku. Hranice 5 petaFLOPS bylo dosaženo v únoru 2009. Nárůst výkonu ve srovnání s nejrychlejším superpočítačem můžete vidět v následujícím grafu.
Vývoj výkonu Folding@Home ve srovnání s nejvýkonnějším superpočítačem
Právě zapojení do výzkumu léčby nemoci, způsobené novým koronavirem SARS-CoV-2, přineslo této platformě velký příliv více než 400 tisíc nových dobrovolníků. 20. března 2020 dosáhl celkový výpočetní výkon hodnoty 470 petaFLOPS, díky čemuž je tento distribuovaný stroj výkonnější než sedm nejvýkonnějších superpočítačů světa dohromady.
Tento výkon umožňuje vědcům provádět výpočetně náročné simulace tisíckrát rychleji než v minulosti. Od spuštění Folding@Home vydala laboratoř Pande Lab 223 vědeckých výzkumných prací, ve kterých výsledky simulací souhlasí s následně provedenými experimenty.
Co vlastně Folding@home počítá
Proteiny jsou nezbytnou součástí mnoha biologických funkcí a účastní se prakticky všech procesů v buňkách. Často působí jako enzymy a provádějí různé biochemické reakce, jako je molekulární transport či buněčná regulace. Některé proteiny působí jako určitý typ kostry buněk a jako protilátky, zatímco jiné proteiny jsou součástí imunitního systému.
Proteiny jsou součástí imunitního systému
Předtím, než protein může plnit svou roli, se musí složit do funkční trojrozměrné struktury. To je proces, který se často děje spontánně a je závislý na interakcích v rámci jeho aminokyselinové sekvence a reakcí aminokyselin s jejich okolím. Porozumění skládání je tedy rozhodující pro pochopení toho, co protein dělá a jak funguje, a je považováno za svatý grál výpočetní biologie.
Simulace skládání proteinů je z výpočetního hlediska velmi náročná, proto pro ně vědci často využívají drahé superpočítače. Zde však musejí sdílet výkon s dalšími vědeckými úkoly, což do značné míry limituje jejich možnosti. Právě z tohoto důvodu se v těchto oborech začaly prosazovat distribuované výpočetní platformy.
Jak to funguje
V rámci architektury modelu typu klient-server dostávají dobrovolnické stroje ke zpracování kousky simulace („work units“). Po dokončení výpočtů vracejí výsledky na databázové servery projektu, kde jsou následně zkompilovány do celkové simulace.
Balíčky „work units“ obsahují zlomek simulace mezi stavy v Markovově řetězci
Balíčky „work units“ obsahují zlomek simulace mezi stavy v Markovově řetězci. Klientská aplikace, nainstalovaná na počítači dobrovolníka, si je stahuje automaticky a následně je zpracovává. Zde je nutné podotknout, že s ohledem na rychlý vzestup počtu dobrovolníků v posledních dnech jsou někdy servery přetížené a na přijetí nového balíčku se kvůli tomu často čeká. Někdy lze tento proces urychlit ukončením a opětovným spuštěním aplikace nebo restartem počítače.
Na zpracování balíčku má každý počítač vyhrazený určitý časový limit. Pokud ho v daném termínu neodevzdá, je balíček předán ke zpracování jinému uživateli. Důvodem je skutečnost, že některé simulace na sebe vzájemně navazují a zpoždění jednoho výpočtu by mohlo zdržet celou následující sekvenci. Termíny pro odevzdání jsou stanoveny s ohledem na celkový výkon stroje – v případě slabších počítačů jsou tedy delší, u výkonných strojů naopak kratší.
Za odeslání výsledků v termínu dostane uživatel body, které by měly odpovídat odvedenému výkonu. Podrobněji se této „gamifikační“ části budeme věnovat v následující kapitole.
Co z toho budete mít?
V první řadě můžete mít ze zapojení do projektu Folding@home dobrý pocit. Toho se pochopitelně, jak se říká, nenajíte. Na druhé straně je reálně možné, že lék, který bude vyvinut na základě simulací provedených i vaším počítačem, někdy v budoucnosti pomůže vám nebo vašim blízkým.
Dalším motivačním faktorem jsou body, jež obdržíte za zpracované a odeslané balíčky dat. Další bonusové body můžete získat za spolehlivé a rychlé dokončení jednotek, které jsou náročnější z výpočetního hlediska nebo mají větší vědeckou prioritu. Můžete se pak porovnávat s ostatními účastníky, ale i členy týmu, do kterého se (volitelně) zapojíte. Na stránce profilu najdete informace o termínu odeslání posledního balíčku, počtu nasbíraných bodů, celkovém počtu zpracovaných jednotek a vašem přínosu v rámci týmu.
Profil uživatele Folding@Home
Každý uživatel se může stát členem jednoho týmů, případně je možné založit si vlastní tým. Například v rámci našeho týmu Zive.cz s číslem 235910 se v posledních padesáti dnech zapojilo bezmála 1500 procesorů a celkově bylo zpracováno přes 12 tisíc balíčků. V březnu tohoto roku jsme se drželi kolem pěkného 350. místa.
Náš tým v rámci projektu
Zapojte se do Folding@home i vy!
Pokud se chcete zapojit do komunity dobrovolníků, poskytujících výkon svého počítače pro vědecké účely, budete si muset nejprve stáhnout a nainstalovat klientskou aplikaci. Ta je k dispozici pro operační systémy Windows, macOS, linuxové distribuce Debian, Mint, Ubuntu, Redhat, Centos a Fedora.
Ve výchozím nastavení pracuje klientská aplikace na pozadí s nízkou prioritou, což v praxi znamená, že byste neměli zaznamenat žádný výraznější vliv na celkový výkon stroje. Po spuštění se klient připojí k serveru, odkud si stáhne balíček s daty a případně i „jádro“, s jehož pomocí bude tato data zpracovávat. Ke komunikaci klient využívá běžné porty 80 a 8080, přičemž veškerá komunikace je ověřována pomocí 2048bitových digitálních podpisů.
Následně se pustí do výpočtů, pro které využívá jádra procesoru a případně i grafické karty. Zajímavostí je, že zatímco grafické uživatelské rozhraní klienta je open-source, samotná aplikace nemá otevřený kód. Jako důvod tohoto kontroverzně přijímaného rozhodnutí je uváděna snaha o bezpečnost a vědeckou integritu.
Jak ovládat a nastavit klienta Folding@home
Aplikace Folding@home se po spuštění usadí v panelu rychlého spuštění, odkud je možné přes kontextovou nabídku měnit její prioritu, případně pozastavit činnost. Základní nastavení lze provádět přes webové rozhraní dostupné na adrese client.foldingathome.org.
Webová aplikace
Zde můžete klepnutím na odkaz Change identity nastavit jméno (Name), pod kterým budete figurovat ve statistikách, případně zadat číslo týmu (Team Number), do kterého se hodláte připojit (v případě týmu Zive.cz je to číslo 235910). Pokud chcete mít jistotu, že vaše jméno nepoužije nikdo další, můžete si na stránce Get Passkey požádat o vydání bezpečnostního klíče, který obdržíte na zadanou e-mailovou adresu.
Nastavení jména a týmu
Ve webovém rozhraní můžete pomocí rozbalovací nabídky I support research fighting zvolit, s výzkumem které nemoci chcete pomáhat. Na výběr je Alzheimerova choroba, rakovina, Huntingtonova choroba, nebo Parkinsonova nemoc. COVID-19 v nabídce zatím není, takže pokud chcete pracovat i na vědeckém výzkumu tomto onemocnění, ponechte volbu Any disease. V takovém případě bude váš klient zpracovávat různé projekty, včetně těch zabývajících se koronavirem.
Ve webovém rozhraní je možné sledovat, jak procesor a grafická karta vašeho stroje zpracovávají přijatá data. K vidění je průběh v procentech, předpokládaný počet bodů, jež obdržíte za dokončení i očekávaná doba běhu. V pravé dolní části se pak dočtete podrobnosti o výzkumu, na němž se váš stroj aktuálně podílí. Další detaily o projektu, jeho garantovi a vědeckém zařízení získáte po klepnutí na odkaz Learn more.
Informace o projektu
Velmi zásadními ovládacími prvky jsou táhlo Power a přepínač When. Jejich pomocí můžete nastavit výkon, který klientské aplikaci přidělíte (Light/Middle/Full) a kdy bude počítat (While I'm working – i během toho, kdy s počítačem pracujete/Only when idle – pouze, když na PC nic neděláte). Tlačítkem Stop Folding pak probíhající výpočty úplně zastavíte.
Při používání webového rozhraní v prohlížeči Chrome jsme bohužel opakovaně naráželi na to, že se aplikace po nějaké době samovolně opakovaně obnovovala, takže nebylo možné provádět její nastavení. V takovém případě stačí v Nastavení-Vymazat údaje o prohlížení zvolit položku Obrázky a soubory v mezipaměti a stisknout tlačítko Vymazat data. Druhou možností je otevření stránky v anonymním okně.
Desktopová aplikace
Podstatně širší možnosti nabízí desktopová aplikace, kterou najdete po instalaci v nabídce Start-FAHClient-FAHControl. Základní rozhraní je rozděleno do několika sekcí – například ve Folding Slots se můžete podívat na úlohy, které aktuálně zpracovává procesor a grafická karta.
Desktopová aplikace Folding@Home
K dispozici je mnohem více podrobností než ve webovém rozhraní – kromě aktuálního průběhu, vyjádřeného sloupcovým grafem, je tu předpokládaný čas dokončení (ETA), očekávaný počet bodů (Estimated Credit) a IP adresy serverů, ze kterých si klient stahuje data a kam nahrává výsledky. Na záložce Log pak můžete sledovat záznamy o provozu – například komunikaci mezi klientem a serverem.
Záznamy o provozu aplikace
Podstatně širší jsou také možnosti nastavení, které najdete pod tlačítkem Configure. Zde můžete na záložce Identity zadat své jméno a číslo týmu, v sekci Slots pak lze podrobně konfigurovat prostředky, které věnujete ve prospěch distribuované výpočetní platformy. V případě, že se k internetu připojujete přes proxy server, můžete zadat jeho adresu na záložce Proxy.
Podrobné nastavení aplikace
Koronavirus online
Tento článek je součástí balíčku PREMIUM+
Odemkněte si exkluzivní obsah a videa bez reklam na devíti webech.
Vyzkoušet za 1 Kč
Nebo samostatné Živě Premium