Berkeley Open Infrastructure for Network Computing
Berkeley Open Infrastructure for Network Computing (BOINC) je software pro distribuované výpočty, který umožňuje provozovat projekty, jako je například SETI@home.[1] Tento software je svobodný s otevřeným kódem a je vydán pod licencí LGPL. BOINC je vyvíjen skupinou, která pochází z Kalifornské univerzity v Berkeley a je vedena Davidem Andersonem, ředitelem projektu Seti@home.
Vývojář | David Pope Anderson, Rom Walton a Kalifornská univerzita v Berkeley |
---|---|
První vydání | 10. dubna 2002 |
Aktuální verze | 8.0.2 (24. května 2024) |
Operační systém | Linux FreeBSD Android Microsoft Windows macOS Solaris OS/2 Raspberry Pi OS |
Platforma | multiplatformní software |
Vyvíjeno v | C++ |
Typ softwaru | middleware, volunteer computing, distributed computing software, občanská věda, grid computing a otevřený software |
Licence | GPLv3 GNU Lesser General Public License, version 3.0 |
Web | boinc |
Některá data mohou pocházet z datové položky. |
SETI@home je jedním nejznámějších projektů využívající BOINC. Úspěch SETI@home všechny přesvědčil, že distribuované výpočty se mohou použít i pro mnoho jiných výpočetně náročných vědeckých projektů. Záměrem BOINCu je umožnit badatelům různých oborů, například molekulární biologie, klimatologie, kryptografie nebo astrofyziky, jednoduchý přístup do výpočetní sítě osobních počítačů na celém světě s ohromným výkonem.
BOINC je založen na myšlence, že po světě běží naprostá většina osobních počítačů nevyužita, zejména díky neustále rostoucímu výpočetnímu výkonu moderních procesorů. Moderní operační systémy dokážou tento nevyužitý výkon v reálném čase využít, aniž by došlo ke znatelnému zpomalení aplikací, které uživatel v danou chvíli používá.
Design a struktura BOINCu
editovatBOINC je navržen jako otevřená struktura pro každého, kdo by se rád zapojil do projektu distribuovaných výpočtů. Většina projektů využívajících BOINC je neziskových a závisejí, pokud ne zcela, tak převážně na dobrovolnících. To ale neznamená, že BOINC nemůže být použit pro zisk. BOINC sestává ze serveru a klientů, kteří spolu komunikují při distribuci pracovních jednotek. Každý klient pak jednu jednotku zpracuje a vrátí ji serveru, aby si posléze vyžádal další.
Struktura serveru
editovatHlavní součástí je takzvaný backend server, který může běžet na jednom nebo několika strojích, takže je BOINC možno snadno nastavit pro potřeby různě velkých projektů. Servery BOINCu běží na počítačích s Linuxem a pro své webové a databázové systémy používají Apache, PHP a MySQL. BOINC jen distribuuje pracovní jednotky a sám žádnou vědeckou práci nedělá. Vědecké výpočty běží na počítačích uživatelů a výsledky jsou zpracovány až po tom, co jsou ověřeny a přesunuty z BOINCu do vědecké databáze.
Struktura klienta
editovatKlient BOINCu je malá aplikace, která spravuje práci na počítačích připojených do projektů zvolených počtářem. Jakýkoliv počítač připojený k BOINCu může zpracovávat data pro libovolný počet projektů v různých odvětvích výzkumu. Klient zodpovídá za stahování a odesílání pracovních jednotek a výsledků z nich. Kromě toho je klient zodpovědný také za přidělování času, který počítač stráví při výpočtech pro jednotlivé projekty podle nastavení uživatele. Nastavit lze samozřejmě i možné využití prostředků daného počítače. Toto se týká procesoru, operační paměti i grafické karty.
Klient systému BOINC se nemůže z bezpečnostních důvodů sám updatovat, ale samotné vědecké aplikace jsou automaticky stahovány, jakmile se počítač přidá k některému z projektů. Toto umožňuje jednoduše vydat a distribuovat nové verze vědeckých aplikací bez zprostředkování uživatelem a prodlení.
Mobilní aplikace
editovatExistuje oficiální mobilní aplikace BOINC pro Android, díky které mohou uživatelé zařízení s tímto operačním systémem poskytnout jejich výpočetní výkon pro různé vědecké projekty.
Ve výchozím nastavení aplikace počítá jen v případě, kdy je telefon připojený k nabíječce a baterie je nabitá nejméně na 90%, stahování a odesílání zpracovaných jednotek probíhá pouze přes Wi-Fi a pokud dosáhne teplota baterie 40 °C, výpočet se automaticky zastaví. Toto nastavení může uživatel libovolně měnit. V aplikace jsou dostupné pouze některé z BOINC projektů, které jsou pro práci na zařízeních se systémem Android přizpůsobeny.
Pro jiné mobilní OS aplikace v současnosti neexistuje.
Ohodnocení uživatele připojeného do BOINCu
editovatZ různých statistických důvodů BOINC zahrnuje také systém ohodnocení uživatelů. Tento systém také zabraňuje podvádění, a tím znehodnocení vědeckých výpočtů.
Pro ohodnocování uživatelů se používá jednotka cobblestone pojmenovaném po Jeffu Cobbovi z projektu SETI@home. Uživatel získá 100 cobblestonů, pokud jeho počítač s následujícími parametry pracoval 1 den.
- 1 miliarda operací za sekundu s čísly s plovoucí řádovou čárkou (založeno na benchmarku Whetstone)
- 1 miliarda operací za sekundu s celými čísly (založeno na benchmarku Dhrystone)
Těchto parametrů dnešní osobní počítače celkem běžně dosahují. V případě, že má uživatel rychlejší počítač, cobblestony mu přibývají rychleji a naopak.
Projekty využívající BOINC uvolňují své statistiky ve formátu XML, takže kdokoli je může zpracovat po svém. Vznikly tak už mnohé statistické webové stránky třetích stran, které porovnávají výkon jednotlivých uživatelů, týmů, do kterých se uživatelé mohou sdružovat, jednotlivých typů počítačů, operačních systémů a také zemí. Uživatelé tak mohou mezi sebou svým způsobem závodit, což při garanci zachovaní hodnověrnosti výsledků přináší zvýšení výkonu celé sítě.
Gridcoin
editovatOd roku 2013 je kryptoměna Gridcoin spojena s BOINC. Gridcoin používá modifikovaný Proof-of-Stake systém pojmenovaný proof-of-research, který odměňuje účastníky za výpočetní práci dokončenou na projektech BOINC. Proof-of-research systém byl zaveden dne 11. října 2014. Systém pracuje pouze na některých projektech zařazených na whitelistu a podíl Gridcoinu rozdělených mezi uživatele projektu se počítá podle RAC (Recent Average Credit). Každý projekt na whitelistu získává stejnou částku GRC, která je rozdělena mezi jeho uživatele.
Projekty využívající BOINC
editovatPrůběžně aktualizovaná tabulka projektů se nachází zde.
Astrofyzika, vesmír
editovat- Asteroids@home – Zkoumání tvaru planetek v naší sluneční soustavě z fotometrických dat
- Cosmology@Home – Práce s modely popisujícími náš vesmír
- Einstein@Home – Hledání gravitačních vln
- MilkyWay@Home – Výzkum vývoje Mléčné dráhy
- Orbit@Home – Monitoring srážek vesmírných těles s planetami
Biologie
editovat- Docking@home – Spojování malých molekul bílkovin
- Drugdiscovery@home – Modelování sloučenin vhodných pro tvorbu nových léků
- GPUGRID – Studium charakteristiky biomolekul výhradně na GPU nVidia a PlayStation3
- Malariacontrol.net – Vědecká činnost v oblasti výzkumu šíření Malárie
- POEM@home – Optimalizace proteinů metodou volné energie
- QMC@home – Výzkum v oblasti kvantové chemie
- RNA World@home – Zkoumání, analýza a předpovídání molekul RNA
- Rosetta@home – Výzkum struktury bílkovin
- SIMAP – Simap se zaměřuje na analýzu známých proteinů a zkoumá podobnost jejich funkcí
Grafika
editovat- BURP – Vývoj distribuovaného systému pro renderování 3D animací
- Open Rendering Environment – Platforma pro distribuované renderování
Kryptografie
editovat- Enigma@Home – Cílem projektu je dešifrovat zprávy zakódované Enigmou M4[nedostupný zdroj]
- RSA Lattice Siever (2.0) – láme šifrované 512bitové klíče podpisu operačního systému pro programovatelné kalkulačky Texas Instruments
Matematika
editovat- ABC@Home – Projekt zkouší prvočísla a,b,c, pro která platí takzvaná ABC rovnice (hypotéza) a + b = c Archivováno 21. 1. 2008 na Wayback Machine.
- Collatz Conjecture – Projekt se zabývá metodou 3x+1, metodou rozkladu čísel Archivováno 4. 12. 2017 na Wayback Machine.
- DNETC@home – Projekt distributed.net. Řeší blokovou cifru RC5, aktuálně RC5-72
- NFS@home – Faktorizace celých čísel
- Primaboinca – Hledání protiargumenty k domněnkám
- Rectilinear Crossing Number – Ideálních vykreslení úplných grafů s n uzly
- SZTAKI Desktop Grid – Hledání zobecněných systémů dvojkových čísel[nedostupný zdroj]
- WEP-M+2 – Hledání Mersennových čísel Archivováno 12. 1. 2016 na Wayback Machine.
- RieselSieve – Hledání prvočísel za pomoci Rieselovy teorie[nedostupný zdroj]
Nové technologie
editovat- AQUA@home – Vývoj adiabatických kvantových mechanismů
- EDGeS@home – Integrátor Stochastické diferenciální rovnice plazmatu
- Hydrogen@home – Výzkum v oblasti výroby a zpracování vodíku
- LHC@home – Optimalizace detektorů na urychlovači LHC v CERNu
- Spinhenge@home – Výzkum nanotechnologií
- uFluids@home – Simuluje mezní fáze mikrolátek a mikročástic
Multiprojekty
editovat- Climateprediction.net – Předpověď klimatu
- IBERCIVIS – Projekt sdružující aplikace z různých oblastí, například termojaderná fúze a nanotechnologie
- The Lattice Project – Projekt sdružující aplikace z různých oblastí Archivováno 21. 1. 2008 na Wayback Machine.
- PrimeGrid – Rozklad čísel na prvočísla[nedostupný zdroj]
- SETI@home – Hledání mimozemských signálů
- World community Grid – Projekt sdružující aplikace z různých oblastí, pod patronací IBM
- Yoyo@home – Integrace podprojektů pomocí wrapperu do BOINCu
Ostatní projekty
editovat- Almere Grid – Projekt holandského městečka Almere pro jeho podporu Archivováno 9. 10. 2008 na Wayback Machine.
- Convector – Projekt fakulty stavební ČVUT Praha (výpočty optimalizace zatížení konstrukcí)
- FreeHAL@home – Vývoj počítačové aplikace umělé inteligence Archivováno 4. 1. 2012 na Wayback Machine.
- Leiden Classical – Projekt se pokouší o vysvětlení některých základů vědy Archivováno 21. 1. 2008 na Wayback Machine.
- Quake-Catcher Network – Detekce šíření seismických vln
- Radioactive@Home – Detekce radioaktivního pozadí Archivováno 3. 8. 2014 na Wayback Machine.
- WUProp@home – Projekt vytvářející rozsáhlou volně dostupnou databázi několika parametrů výpočtu z ostatních projektů
Odkazy
editovatReference
editovat- ↑ HÁJEK, Petr. Cnews.cz [online]. 2010-08-10 [cit. 2020-03-26]. Dostupné online.
Související články
editovatExterní odkazy
editovat- Obrázky, zvuky či videa k tématu Berkeley Open Infrastructure for Network Computing na Wikimedia Commons
- Nejúspěšnější český tým zabývající se výpočty pod boinc
- Berkeley Open Infrastructure for Network Computing (BOINC)
- BOINC users and teams statistics (daily updated)
- Unofficial BOINC „Wiki“ (only approved users could edit)
- Interview with David Anderson