Grid computing

ITpedia

Podobną metodą do utility computing (dość często z nią myloną) i także umożliwiającą elastyczne zarządzanie mocą obliczeniową komputerów jest grid computing (przetwarzanie siatkowe). Jednak w odróżnieniu od utility computing nie zarządza się tutaj mocą obliczeniową serwerów, lecz wykorzystuje moc stacji roboczych w sieci lokalnej bądś rozległej (w tym Internet).

Desktopy PC to dziś jeden z najbardziej marnotrawionych zasobów w firmach i domach prywatnych. Nadmiar mocy obliczeniowej (równy mocy serwerów sprzed kilku lat) nigdy nie jest używany. Przeprowadzone wielokrotnie doświadczenia pokazują, że nadmiar mocy 100 desktopów może być wykorzystany o wiele efektywniej niż najpotężniejsze serwery. Grid wykorzystuje tę właściwość do zwiększenia produktywności istniejących sieci i systemów.

Aby móc korzystać z dobrodziejstw idei grid computing, należy dysponować danymi, których czas przetworzenia będzie trwał dłużej. Konieczna jest także świadomość, że na wyniki obliczeń trzeba będzie chwilę poczekać, a być może nie nadejdą one w ogóle, w związku z czym konkretne zadanie trzeba będzie zlecić innemu komputerowi. Priorytetowym zadaniem systemu grid jest zatem sprawne zarządzanie dzieleniem zadań na pakiety, dystrybucją ich, pozyskiwaniem wyników obliczeń i kontrolą poprawności ich wykonania.




30 lat grid computing

Idea wypożyczania niewykorzystanej mocy obliczeniowej narodziła się jeszcze we wczesnych latach 70., kiedy zaczęto łączyć komputery w sieci rozległe. Chociaż już wtedy widziano potrzebę stosowania tego typu rozwiązań, w pełnym sukcesie przeszkadzał brak wystarczająco dużej liczby komputerów.

Drogę w cyberprzestrzeni, jeszcze poprzez sieć ARPAnet, na początku lat 70. przetarły dwa programy, Creeper i Reaper, które określa się także mianem pierwszych wirusów. Creeper był „robakiem”, który wykorzystywał wolne cykle procesora do uruchomienia procedury kopiowania samego siebie poprzez sieć ARPAnet na kolejne komputery. Reaper z kolei był „szczepionką” na Creepera - krążył tą samą drogą i usuwał swojego poprzednika, a następnie samego siebie. Chociaż oba programy nie stanowiły żadnego zagrożenia dla danych na komputerze (jedynym ich zadaniem było rozpowszechnianie się), to pokazały naukowcom, że dystrybucja pakietów danych wirtualną drogą jest możliwa, głównie dzięki temu, że procesor komputera nie jest w pełni wykorzystywany przez cały czas.

Podobny program w 1973 r. stworzyli John F. Shoch i Jon A. Hupp z centrum Palo Alto Research Center należącym do Xeroksa. Program rozprzestrzeniał się w lokalnej sieci Ethernet, przechodząc przez ok… 100 komputerów i używając wolnych cykli procesora do renderowania grafiki.

Pierwszy bazowany na Internecie projekt dystrybucji pakietów danych do przetworzenia wystartował w 1988 r. dzięki firmie DEC System Research Center. Do uczestników projektu pakiety były wysyłane pocztą elektroniczną. Przetworzone dane były wysyłane z powrotem, aby otrzymać kolejne zadanie. Projekt trwał aż do 1990 r. i wzięło w nim udział ponad 100 osób.

Na początku lat 90. DEC i inne grupy rozpoczęły aktywną dystrybucję przez Internet materiałów do obliczenia dzięki sponsoringowi RSA Laboratories, centrum badawczemu RSA Security. Za wykonywanie skomplikowanych obliczeń matematycznych (np… Szukanie bardzo dużych liczb pierwszych), łamanie zabezpieczeń szyfrowych itp… Firma przyznawała nawet nagrody pieniężne.

Internet jako zautomatyzowaną drogę dystrybucji pakietów w sieci grid jako pierwsza wykorzystała założona w 1997 r. firma distributed.net (znana także jako dnet). Firma odniosła ogromny sukces w integrowaniu środowiska prywatnych użytkowników komputerów w celu złamania zabezpieczeń kryptograficznych. Pod koniec listopada 2000 r. firma ta została połączona z United Devices.

Najpopularniejszym dotąd projektem gridowym jest SETI@home nadzorowany przez University of California w Berkeley i uruchomiony w maju 1999 r. Projekt ma pomóc w poszukiwaniu pozaziemskiej inteligencji (SETI jest skrótem od Search for Extraterrestrial Intelligence) poprzez analizowanie sygnałów radiowych pozyskiwanych przez największy na świecie radioteleskop Arecibo w Puerto Rico. W projekcie do tej pory wzięło udział ponad 3 mln osób - użytkowników Internetu. Inne projekty gridowe pomagają dziś także w szukaniu lekarstwa na raka, SARS czy też prognozowaniu pogody. Obecnie technologia grid computing kojarzy się z internetową architekturą opracowaną do dynamicznej wymiany aplikacji, danych i mocy obliczeniowej na szeroką skalę. Dzisiejsze „siatki” są heterogeniczne - pracują pod kontrolą różnych systemów operacyjnych, mogą być rozproszone geograficznie, ale zachowują się jak jeden superkomputer.

Otwarte platformy grid

Do budowy sieci siatkowej najczęściej jest używane oprogramowanie middleware z otwartym kodem - Globus Toolkit. To zestaw usług i bibliotek do obsługi sieci grid i ich aplikacji. Obsługuje zadania bezpieczeństwa, wykrywania informacji, zarządzania zasobami i danymi, komunikację, sytuacje awaryjne.

To narzędzie do budowy „siatki” opartej na architekturze OGSA (Open Grid Services Architecture), która jest zestawem standardów zapewniających pracę i jakość usług sieci siatkowej. Definiuje standardowe mechanizmy tworzenia, nazywania i wykrywania aktualnych usług, przypisanie protokołów i mechanizmy integracji z systemami. OGSA definiuje także interfejsy i mechanizmy wymagane do tworzenia złożonych systemów w języku WSDL (Web Services Description Language). Są to takie zadania, jak: zarządzanie czasem procesów, zmiana zarządzania i informowanie. Powiązanie usług może obsługiwać uwierzytelnianie, autoryzację i przekazywanie uprawnień, jeśli jest to wymagane.

Najistotniejsze komponenty architektury OGSA to protokół GRAM (Grid Resource Allocation and Management) do zdalnego tworzenia i zarządzania określonymi zadaniami. Mechanizmy GSI (Grid Security Infrastructure) zapewniają uwierzytelnianie, autoryzację oraz przekazywanie uprawnień. GSI wykorzystuje certyfikaty X.509 jako podstawową metodę uwierzytelniania użytkowników. Ponadto definiuje certyfikat proxy do pojedynczego logowania. Jego idea jest podobna do działania protokołu Kerberos, z tym że opiera się na kryptografii z kluczem publicznym. Zwykle jest używany protokół SSL (Secure Sockets Layer) do zabezpieczania sesji, ale mogą być też stosowane inne protokoły oparte na kluczu publicznym i certyfikatach X.509.

Usługa MDS2 (Meta Directory Services) zapewnia ramową obsługę wykrywania i dostępu do konfiguracji systemowych i informacji statusowych, takich jak konfiguracja serwera, stan sieci, lokalizacja replikowanych zbiorów danych. Protokoły web services, np… SOAP, WSDL i UDDI, są używane do implementacji usług gridowych.

-
-