Agata Kukwa: Przetwarzanie rozproszone. Udostępnij moc obliczeniową swojego komputera naukowcom

25.10.2012
Agata Kukwa: Przetwarzanie rozproszone. Udostępnij moc obliczeniową swojego komputera naukowcom

Wystarczy sprawdzić poziom wykorzystania procesora, aby zdać sobie sprawę jak ogromne, niewykorzystane zasoby drzemią w komputerze osobistym. Można wykorzystywać je dzięki przetwarzaniu rozproszonemu w Internecie.

System rozproszony to w skrócie sieć niezależnych komputerów połączonych ze sobą celem wykonania określonego zadania. Jest nim przetworzenie określonych danych, których ilość nie pozwala na wykonanie tej pracy na jednym komputerze. Ograniczeniem mogą być również finanse, na przykład w przypadku projektów naukowych, ponieważ urządzenia z odpowiednią mocą obliczeniową często znajdują się poza zasięgiem portfela uczelni. Zaangażowanie zwykłych użytkowników Internetu było strzałem w dziesiątkę. Co więcej wykonywanie obliczeń w systemie rozproszonym niesie za sobą szereg korzyści nie tylko ekonomicznych, ale również praktycznych. Kiedy realizuje się projekt z użyciem jednej maszyny, jeden błąd jest w stanie zniweczyć całą pracę. W przypadku obliczeń rozproszonych każdy komputer otrzymuje wydzielony pakiet danych, na których pracuje niezależnie od pozostałych urządzeń. Po zakończeniu obliczeń dane przesyłane są z powrotem na serwer, gdzie zostają połączone w jedną całość.

Jeśli masz komputer ze stałym dostępem do Internetu, możesz wszystko. Projekty przetwarzania rozproszonego funkcjonują na zasadach klient-serwer, wystarczy więc pobrać specjalny program (klienta) pełniący też funkcję menedżera. Po jego uruchomieniu i wybraniu projektu, który chce się wesprzeć można spokojnie zająć się swoimi sprawami, ponieważ przetwarzanie danych będzie odbywało się w tle. W pierwszej kolejności komputer łączy się z serwerem wybranego projektu i pobiera instrukcje, a potem aplikacje i pliki, które będzie wykorzystywał w procesie. Dlatego właśnie niezbędny jest Internet, ponieważ komunikacja pomiędzy komputerami a serwerem projektu jest właściwie kluczowa dla całego przedsięwzięcia. Kiedy na komputerze znajdą się już wszystkie niezbędne pliki zaczyna się ich przetwarzanie. Czas tego etapu uzależniony jest od skomplikowania i liczby obliczeń, które musi wykonać urządzenie. Zazwyczaj jednak zadania dobierane są w taki sposób, aby nie obciążać komputera nadmiernie. Z pewnością ilość przetwarzanych danych nie będzie przekraczała pamięci RAM komputera.

Jednym z pierwszych i najgłośniejszych projektów obliczeń rozproszonych w Internecie jest poszukiwanie sygnałów, które mogłyby pochodzić z cywilizacji pozaziemskich – SETI@home (SETI – Search for Extraterrestrial Intelligence). W latach 1999 – 2005 wzięło w nim udział ponad 5,5 miliona internautów. Dane, które komputer użytkownika pobiera z serwera zawierają zapis szumu kosmicznego. Jego analiza polega na identyfikacji cech świadczących o nieprzypadkowości sygnału, a więc możliwości nadania go przez obcą cywilizację. Niestety mimo ogromnego zaangażowania internautów nie udało się do tej pory zidentyfikować pozaziemskiego sygnału. Odkryto natomiast prawdziwą potęgę Internetu w zakresie przetwarzania rozproszonego. Od 2005 roku projekt SETI@home realizowany jest w wersji klasycznej na platformie BOINC – Berkeley Open Infrastructure for Network Computing, która powstała 3 lata wcześniej.

źródło:  setiathome.berkeley.edu

BOINC tworzy szereg projektów i zrzesza dzisiaj już ponad 2,4 miliony wolontariuszy. Polscy internauci mają swoje sukcesy w przetwarzaniu rozproszonym, na 273 kraje plasujemy się na ósmej pozycji pod względem tempa obliczeń i jest nas już 44 395 w ramach samego BOINC.

Skoro laptop lub pecet ma tyle niewykorzystanych zasobów, to co dopiero ze smartfonem czy tabletem. Czy można w projektach przetwarzania rozproszonego wykorzystywać urządzenia mobilne? Pytanie to zadałam Michałowi Jaroszowi, współzałożycielowi BOINC@Poland.

Od marca 2012 dostępny jest klient BOINC na Androida, zresztą za sprawą polskiego programisty Mateusza Szpakowskiego. Oczywiście oprócz samego klienta, potrzebne są też odpowiednio przygotowane aplikacje projektów. Z tym na razie nie jest za różowo, bo dostępne są aplikacje raptem trzech (spośród ponad setki) projektów BOINC. Całe przedsięwzięcie należy na razie traktować jako wczesne przymiarki do wykorzystania urządzeń mobilnych. W przyszłości należy się spodziewać powstania projektów, które będą wręcz ukierunkowane na wykorzystanie możliwości technologii mobilnej, na przykład wykorzystujące dane zbierane ze znajdujących się w telefonie czujników (akcelerometr, GPS, etc). Jeśli chodzi o platformę iOS, to na razie nic (o ile mi wiadomo) się nie dzieje. Powodem jest większa pracochłonność (Android to jakby nie było linux, na którego oprogramowanie BOINC istnieje od zarania, podczas gdy iOS to zupełnie odmienna platforma), oraz kwestie podejścia Apple do dystrybucji oprogramowania. Nie tak łatwo wepchnąć do Apple Store aplikację, która może uruchamiać inne aplikacje – w założeniu jest to ochrona przed złośliwym oprogramowaniem.

Na szczególną uwagę zasługuje również kwestia bezpieczeństwa. Dla niektórych internautów udostępnienie zasobów własnego komputera może być problematyczne. Czy zdarzają się problemy z atakami na komputery uczestników przetwarzania rozproszonego?

Mamy tutaj do rozważenia (co najmniej) dwa aspekty – mówi Michał Jarosz – Po pierwsze, zagrożenie ze strony klienta BOINC. Jest to oprogramowanie oparte na otwartych źródłach, zatem znajdujące się pod stałą kontrolą całej społeczności. O ile tylko zawsze korzystamy z oficjalnej wersji klienta – jesteśmy stosunkowo bezpieczni. Stosunkowo, bo przecież ściągając klienta z innych źródeł musimy sobie po prostu odpowiedzieć na pytanie, jak bardzo ufamy danemu dostawcy.Drugim aspektem jest zagrożenie ze strony aplikacji naukowych. Tutaj sprawa jest nieco bardziej skomplikowana, ponieważ nie wszystkie projekty publikują kod źródłowy swoich aplikacji. Jednak dotąd nie słyszałem o przypadkach złośliwych aplikacji rozsyłanych przez projekty. Jeśli się mimo to obawiamy, najlepiej zapytać członków społeczności, czy dany projekt jest wiarygodny. Do projektów, które jeszcze nie zasługują na zaufanie po prostu się wtedy nie zapisujmy. Niech inni, bardziej doświadczeni użytkownicy najpierw go sprawdzą. Często oznacza to uruchomienie projektu w izolowanym środowisku (maszyna wirtualna, wydzielony komputer), a czasem wręcz dekompilację i inspekcję kodu źródłowego.

Przetwarzanie rozproszone nie jest zarezerwowane jedynie dla nauki. Każdy miał chyba styczność z jakąś siecią peer-to-peer. W tym wypadku jednak każdy z hostów ma te same uprawnienia i nie ma jednostki centralnej, tak jak w przypadku modelu klient-serwer. Takie techniki obliczeniowe wykorzystuje się również w telekomunikacji, w grach w trybie multiplayer czy nawet w lotnictwie.

Można tak naprawdę rozróżnić, przetwarzanie rozproszone w oparciu o wolontariat i w oparciu o zamknięte sieci, bo nic nie stoi na przeszkodzie, żeby prowadzić obliczenia (czy jakiekolwiek inne przetwarzanie) w ramach infrastruktury np. przedsiębiorstwa, zwłaszcza jeśli chce się uniknąć wycieku poufnych danych. – dodaje na koniec Michał Jarosz.

Jednak naukowe projekty od komercyjnych odróżnia to, że internauci przystępują do nich w ramach wolontariatu i oprócz własnej satysfakcji nie mogą spodziewać się szczególnego wynagrodzenia. Przetwarzanie rozproszone to sposób na to by nie wychodząc z domu pomóc w rozwiązywaniu wyzwań, przed którymi stoi ludzkość. Dzięki komputerom każdy ma możliwość szukania lekarstw, eksploracji kosmosu, czy przewidywania trzęsień ziemi. Wystarczy tylko zainstalować niewielki program. – czytamy na stronie poświęconej BOINC@Poland. Jak widać, dla milionów użytkowników Internetu na całym świecie to wystarczająca motywacja.

Na temat polskiego projektu BOINC można również usłyszeć w audycji autorstwa Cezarego Łasiczki pt. „W sieci sieci” której gościem na antenie radia TOK FM był Michał Jarosz.

Dołącz do dyskusji

Advertisement