Myšlenka využít uživatele Internetu a jejich počítače k řešení náročných výpočtů je již poměrně stará, přesto je stále do jisté míry revoluční. Především vidina dobrovolně spolupracujících uživatelů se zdála nejdříve utopií, později se mluvilo pouze o jejich dočasném nadšení pro podobné projekty. Čas však ukazuje, že počet uživatelů ochotných propůjčit svůj výpočetní výkon do cizích rukou je stále obrovský.
Pro systém distribuovaných výpočtů, tedy výpočtů, které jsou zárověň řešeny nezávisle na sobě na více místech a různými počítači, je Internet doslova rájem. Nákup superpočítačů, které jsou k řešení složitých problémů potřeba, je velmi nákladnou záležitostí, a tak pochopitelně mnoho vědců a dalších lidí lákala myšlenka využít obrovského potenciálu počítačů, jejichž primární určení je zcela jiné. Jejich výkon jako jednotky je sice relativně nízký, vzhledem k jejich obrovskému počtu však dokáží dohromady předstihnout i ty nejvýkonnější superpočítače. Navíc většina počitačů převážně zahálí a jsou plně vytíženy pouze nepatrnou část provozní doby. Hlavní problém však spočíval v tom, jak tyto počítače, které jsou rozesety ve firmách a domácnostech celého světa, spojit v jeden společný celek. Řešení tohoto problému přinesl Internet – najednou bylo možné bez nejmenšího problému rozdělovat úkoly jednotlivým počítačům právě za pomoci Sítě sítí. Mohly tak začít vznikat virtuální „superpočítače“ využívající jakéhokoliv počítače připojeného k Internetu. Základní princip distribuovaných výpočtů je jednoduchý. Jeden centrální systém rozdělí konkrétní výpočet na obrovské množství samostatných částí, které pak distribuuje mezi jednotlivé klienty, kteří vše spočítají a pošlou výsledek. To znamená, že tímto způsobem lze řešit pouze výpočty, které je možno rozdělit. Další omezení spočívá v tom, že výsledky výpočtů docházejí v různém pořadí, takže jeden nemůže čekat na druhý. Díky rychlosti Internetu také nesmí být distribuována příliš objemná data, aby se celý proces vůbec vyplatil. Ideálním případem jsou aplikace s malým objemem přenesených dat, které však tato data dlouho počítají. Typickým případem může být lámání šifer, kde každý účastník distribuovaného výpočtu dostane jisté rozmezí klíčů, které prozkoumá, a o výsledku informuje centrální systém. Objem přenesených dat je zde minimální, ale čas potřebný k jejich zpracování naopak velký. Z uživatelského hlediska je pochopitelně nejvýznamnější částí celého výpočetního procesu klient, který běží na jeho počítači. Ten se právě stará o počítání dat na straně uživatele a komunikaci s centrálním systémem. Dnes již jde většinou o velmi uživatelsky přívětivé aplikace s atraktivním grafickým designem. Textovým klientům však doba stále ještě neodzvonila, mají totiž jednu nespornou výhodu – jsou méně náročné, takže zbyde více výkonu pro samotné výpočty. Existují navíc dva základní způsoby, na nichž jednotlivé programy fungují. Jedny využívají kompletního výkonu klientského počítače, takže mohou být provozovány pouze v době, kdy se na nich nepracuje. Nejčastěji fungují ve formě různých šetřičů obrazovky atd. Další naopak pracují neustále a využívají vždy veškerý volný výkon počítače. Ty v současné době převládají. Jistý vývoj prodělala také distribuce dat určených k výpočtům. Od klientů přenášejících data pomocí emailu jsme se dostali k aplikacím komunikujícím online pomocí vlastních protokolů. Vzhledem k možnosti stáhnout u většiny klientů více dat určených k propočítání současně, lze také počítat offline a výsledky výpočtů posílat – a nová data stahovat – pouze občas. Tím se otevřela možnost zapojit do počítání i uživatele bez trvalého připojení k Internetu. To hlavní, co od sebe jednotlivé projekty odlišuje, je jejich zaměření. Vzhledem k nabyté konkurenci je to také hlavní faktor, který má působit na uživatele, aby zcela dobrovolně propůjčili své počítače pro ten či onen výpočet. Čím se tedy snaží jednotlivé projekty zaujmout? Projekt, který odstartoval slávu distribuovaných výpočtů, je nepochybně distributed.net. Celý vznikl v roce 1997 s jednoduchým cílem – demonstrovat názorně slabost některých šifer. V historii se díky němu podařilo prolomit nejednu šifru. V současné době je hlavním projektem prolomení šifry RC5–64 na které se pracuje již pomalu 1.300 dní. Ze všech klíčů se jich podařilo prozkoumat již přes 46%. Vzhledem k charakteru výpočtu však může být správný klíč vygenerován kdykoliv. Celý projekt je nekomerční, vzhledem ke sponzorství podobných výpočtů ze strany RSA však šťastlivec i jeho tým, který správný klíč najde, dostanou finanční odměnu. V hledání RC5 se Česká republika pohybuje v současné době na 19. příčce. Výhodou celé sítě distributed.net je především to, že její klienty jsou dostupné pro obrovské množství platforem a mají minimální hardwarové nároky. Nepotřebují permanentní připojení k Internetu a velmi dobře se také vypořádají s firewallem či proxy serverem. Pokud není zbytí, je možno přenášet data i pomocí emailu či diskety… Dalším zajímavým projektem je peerReview společnosti Porivo. Jde o komerční projekt zabývající se výzkumy v oblasti webu a snažící se o jeho zrychlení. Svým uživatelům navíc nabízí možnost vyhrát pravidelné finanční odměny. Uživatelský klient je napsaný v programovacím jazyku Java a je portován pro Windows, Linux a Solaris. Jde však spíše o bumbrdlíčka než nenáročnou aplikaci. Windowsovský klient má totiž 9 MB a vlastně se neobejde bez permanentního připojení k Internetu. Počet uživatelů tohoto projektu je pouhých 8.000. Projekt ProcessTree společnosti Distributed Science – dříve známý pod názvem DCypher.Net – je zajímavý především jednou konkrétní aplikací, která v jeho rámci běží. Jde totiž o první případ, kdy uživatelé dostávají peníze za svoji účast v projektu. Vzhledem ke svému mládí (leden 2001) se mu však zatím nepodařilo příliš prosadit. Uživatelský klient je dostupný pro Windows, Linux a FreeBSD. Rozhodně nezajímavý není projekt Moneybee, který se zabývá analýzou ekonomického trhu. Údajně má velmi dobré výsledky, které jsou dostupném všem účastníkům projektu. Jeho hlavní nevýhodou je z našeho pohledu, že je zatím pouze v němčině. Chystá se však i anglická verze. Klient je zatím dostupný pouze pro Windows, je však naprosto nenáročný a nevyžaduje permanentní připojení k Internetu. Dalším ekonomickým projektem, který vznikl teprve počátkem dubna, je SaferMarket. Jde o americký projekt, takže se věnuje pouze analýze amerických trhů. Svým uživatelům slibuje stabilizaci světové ekonomiky. Využívá řešení společnosti Entropia. V rámci systému Entropia se však řeší i další projekt. Jde o fightAIDS@home, který se snaží nalézt lék proti AIDS. Klientský program je však dostupný pouze pro Windows a navíc vyžaduje 96 MB RAM a samotný instalační balík je velký 5 MB. Největší množství projektů, určených pro distribuované výpočty, je pochopitelně v oblasti matematiky. Typickým zástupcem je hledání Mersennových prvočísel, tedy prvočísel ve tvaru (2^p – 1), která jsou vždy největšími známými prvočísly, a protože pro ně existuje velmi rychlý algoritmus na ověření, že jde opravdu o prvočísla. Projekt se jmenuje GIMPS a právě v jeho rámci se zatím podařilo naléz čtyři největší prvočísla na světě. Kromě zapsání do matematické historie však můžete vyhrát také velmi hodnotné ceny, aktuálně řešený problém je totiž sponzorován částkou 100.000 USD. Klientské programy navíc existují snad pro všechny platformy. Zatím nejúspěšnějším projektem je nepochybně SETI@home. Hledačů mimozemšťanů již bylo v průběhu celého projektu téměř 3.000.000. Mezi nimi obrovské množství hledačů z České republiky, která se také pohybovala mezi nejaktivnějšími státy, momentálně se však nacházíme až na 16. místě. Úspěch SETI@home nastartoval ostatní projekty, ty však zatím nedákázaly nabídnout nic podobně přitažlivého (navíc pod patronací významné univerzity a se silným počátečním mediálním ohlasem). Další obrovskou výhodou SETI@home je rozmanitost klientů, které jsou dostupné prakticky pro všechny platformy. Momentálně se nejvíce pozornosti dostává projektu společnosti United Devices a to především díky sponzorství počítačového giganta Intel. Nejvýznamnější z konkrétních aplikací, řešených v rámci tohoto projektu, je hledání léku proti rakovině. Díky již zmiňovanému partnerství s Intelem si celý projekt získal velké množství uživatelů. Hlavní současnou nevýhodou je omezení pouze na operační systmém Windows, v nejbližší době by však měl být vypuštěn i klient pro Linux. Grafické provedení toho současného je rozhodně zajímavé a s ohledem na to má i rozumnou velikost a nároky. To jsou některé ze současných projektů využívajících distribuované výpočty po Internetu. Mnohem úplnější seznam použitý i pro tento článek naleznete např. zde. Popularita distribuovaných výpočtů rozhodně neupadá, bude zajímavé sledovat, jak dalece se podaří uspět především projektu na hledání léku proti rakovině podporovaného společností Intel. Ostatní nové projekty, pokud nepřijdou s opravdu zajímavým nápadem, to budou mít již velmi těžké. Více by se však mohly začít prosazovat komerční projekty, kde firmy budou platit uživatelům za poskytnutý výpočetní výkon. Otázkou však zůstává, kolik mohou koncoví uživatelé takto vydělat a zda bude získaný výkon pro společnosti tak zajímavý, aby projekt platily. Zcela vyřešeny navíc nejsou ani všechny otázky ohledně bezpečnosti podobných projektů; jde především o to, aby se ohromný výpočetní výkon nedostal do nepovolaných rukou.Ale ať již to bude jakkoliv, distribuované výpočty rozhodně výrazně ovlivnily internetovou komunitu a minimálně ufoni zůstanou ještě dlouho internetovou klasikou.