Przetwarzanie za kratami

Grid i Java

Zestaw Globus jest oparty na popularnych protokołach komunikacyjnych: LDAP (do obsługi katalogów w sieci), zmodyfikowanym HTTP (do zarządzania zadaniami w sieci), FTP (do szybkiego przesyłania danych). Globus zapewnia wykrywanie i włączanie komputerów do kratownicy, wprowadzanie zadania obliczeniowego do kratownicy i zarządzanie nim, przesyłanie danych do przetwarzania. Czuwa też nad bezpieczeństwem operacji.

Od początku ważnym czynnikiem technologii Grid była Java. W ramach projektu Java Grande zostały stworzone w Javie najważniejsze algorytmy obliczeniowe, co pozwoliło na łatwe przenoszenie kodu między komputerami. Zestaw Java Commodity Grid (Java COG) pozwala na korzystanie z usług istniejącej kratownicy za pomocą aplikacji Java. Jednak dopiero zaangażowanie IBM w projekt Globus w 2001 r. nadało tempa pracom nad ścisłym połączeniem technologii Java i Grid. Nowa wersja zestawu Globus 2.0 (obecnie beta) korzysta już z serwera aplikacyjnego J2EE jako modułu wykonawczego niektórych usług: dołączania komputerów do kratownicy, harmonogramowania zadań, zarządzania siecią, przesyłania danych, dystrybucji kodu. W zestawie Globus można korzystać z serwerów aplikacyjnych JBoss i WebSphere.

Usługi sieciowe na kratownicy

Twórcy zestawu Globus interesowali się usługami sieciowymi WS (Web Services) jako metodą ujednolicenia obsługi najważniejszych składników kratownicy oraz rozszerzenia jej właściwości, zwłaszcza w zakresie opisu, wykrywania i rejestrowania usług. Zasadnicza zaleta usług sieciowych to niezależność od modelu programowego, języka programowania i systemu operacyjnego oraz wykorzystanie standardów internetowych W3C. Z punktu widzenia programisty istotne zalety usług sieciowych to automatyczne generowanie kodu dla klienta i serwera na podstawie opisu usługi, powiązanie (binding) opisu usługi z protokołem sieciowym, zgodność ze standardami wyższego poziomu i powszechne wsparcie w przemyśle informatycznym.

W ramach zestawu Globus korzysta się ze standardów SOAP, WSDL i WS-Inspection. SOAP to metoda komunikacji między dostawcą usług a odbiorcą za pomocą dokumentu XML. Abstrakcyjny język opisu usług sieciowych WSDL (Web Services Description Language) doskonale nadaje się do definiowania właściwości funkcjonalnych kratownicy i usług w niej dostępnych. WS-Inspection to zdefiniowane w XML sposoby wykrywania usług, lokalizacji, dostępne w formie adresu URL lub dokumentu WSDL. Zapewne w zestawie Globus znajdą zastosowanie inne standardy usług sieciowych, w miarę definiowania ich przez W3C.

Open Grid Services Architecture

Rozwiązania technologiczne kratownic Grid koncentrują się na zasobach. Rozwiązania architektury OGSA są natomiast definiowane w kategorii usług GS (Grid Services). Usługa to dowolny obiekt dostępny w sieci, mający pewne możliwości ("wszystko jest usługą"). Moce obliczeniowe, systemy pamięciowe, aplikacje to przykłady usług Grid.

Krytycznym wymaganiem w rozproszonym środowisku Grid są mechanizmy współdziałania. Przy orientacji usługowej problem współdziałania można podzielić na dwa podproblemy: definicję interfejsów usług i identyfikację protokołów, których należy użyć do wywołania określonego zbioru interfejsów. Ideałem byłoby uzgodnienie standardowego zestawu takich protokołów.

Orientacja usługowa upraszcza problem wirtualizacji, to jest "ukrycia" (encapsulation) różnych implementacji usług za tym samym interfejsem. Wirtualizacja pozwala również na jednolity dostęp do usług GS na różnorodnych platformach systemowych i na komponowanie usług bardziej zaawansowanych z podstawowych składników GS. Wirtualizacja jest łatwiejsza, jeśli funkcje usługowe można opisać w standardowej formie. Z tego powodu w OGSA do opisu usług zdecydowano przyjąć język WSDL.

Obecnie w projekcie OGSA wstępnie zdefiniowano niewielką liczbę interfejsów, pozwalających na korzystanie z usług kratownicy obliczeniowej, w tym:

  • GridService - pozwala na znajdowanie bardzo szczegółowych informacji o usłudze (i wszystkich jej instancjach) dostępnej w sieci.

  • Notification - umożliwia subskrypcję informacji o zdarzeniach związanych z usługą i niezawodne dostarczanie tych informacji przez niezależne kanały komunikacyjne.

  • Registry - służy do rejestrowania i wyrejestrowania usług.

  • Factory - pozwala na stworzenie nowej instancji usługi.

    Jest prawdopodobne, że w miarę rozwoju specyfikacji OGSA pojawią się również nowe rodzaje interfejsów lub semantyka już zdefiniowanych się zmieni. IBM i Global Grid Forum przewidują zdefiniowanie spójnego zbioru interfejsów w czasie konferencji Global Grid Forum w lutym 2003 r.


  • TOP 200