Siatka komputerowa
Z Wikipedii
Siatka komputerowa (ang. grid) to system, który integruje i zarządza zasobami będącymi pod kontrolą różnych domen (od instytucji po system operacyjny) i połączonymi siecią komputerową, używa standardowych, otwartych protokołów i interfejsów ogólnego przeznaczenia (odkrywania i dostępu do zasobów, autoryzacji, uwierzytelniania) oraz dostarcza usług odpowiedniej jakości (QoS, oferuje usługi wyższego poziomu).
Pojęcia tego jako pierwszy użył Ian Foster, profesor na Uniwersytecie w Chicago, naukowiec pracujący w ANL (ang. Aragonne National Laboratory). Idea ta ciągle ewoluuje, znajdowane są nowe obszary jej potencjalnego zastosowania.
Siatka jest rozwinięciem idei klastra poza tradycyjne granice domeny.
Spis treści |
[edytuj] Pierwsze inicjatywy
Za pierwszy przejaw idei gridu uważa się inicjatywę SETI@home (ang. Search for Extra-Terrestrial Intelligence) mającą na celu przyspieszenie poszukiwań śladów życia we wszechświecie. Dowolny posiadacz komputera mógł pobrać fragment danych (sygnałów odbieranych przez radioteleskopy) i przeprowadzać obliczenia w czasie wolnym od własnych obliczeń (wykorzystując wolne cykle CPU). To nowatorskie podejście do problemu pozwoliło na równoczesne wykorzystanie milionów komputerów rozproszonych po całym świecie. Udało się w ten sposób zidentyfikować potencjalnie interesujące fragmenty sygnału, które następnie poddawane są dalszym analizom.
[edytuj] Zasoby
Zasoby siatki mogą być administrowane przez różne organizacje. Udostępnianie zasobów przebiega zgodnie z lokalną polityką zarządzania zasobami stosowaną w danej organizacji.
Zasoby posiadają przynajmniej niektóre z poniższych cech:
- rozproszone geograficzne
- heterogeniczne sprzętowo i programowo
- dynamiczne (dostępność zmienna w czasie)
- potencjalnie zawodne
- posiadane i zarządzane przez różne organizacje
- różne wymagania i polityki bezpieczeństwa
- różne polityki zarządzania zasobami
- połączone heterogeniczną siecią (różne warstwy, protokoły komunikacyjne, topologie)
[edytuj] Cechy charakterystyczne systemu gridowego
- Kładzie nacisk na autonomię zasobu (pozwala na zachowanie lokalnej kontroli nad zasobami, lokalnych polityki dostępu). Zasoby nie są zarządzane centralnie, w przeciwnym razie jest to lokalny system zarządzania zasobami (np. SGE, LSF, PBS)
- Zasobami gridu mogą być nie tylko komputery i sieci, także specjalistyczne urządzenia, zbiory danych.
- Grid skupia się na użytkowniku, patrzy się nie tylko z punktu widzenia posiadacza zasobu, ale głównie z punktu widzenia użytkownika zlecającego zadanie do wykonania, aby zoptymalizować wykonanie aplikacji a nie użycie systemu.
- Używa standardowych i otwartych protokołów, w przeciwnym razie mamy do czynienia z systemem dedykowanym, zamkniętym.
- Dostarcza nietrywialnych usług (odpowiednie QoS), nie może wymagać od użytkownika specjalistycznej wiedzy i skomplikowanych procedur.
[edytuj] Wirtualne Organizacje
Wyobraźmy sobie wiele organizacji rozproszonych po całym świecie, każda posiada pewne zasoby komputerowe, programowe, sprzęt specjalistyczny i cenne dane, np. pomiarowe. Żadnej z tych organizacji nie stać na zakup wszystkich najnowszych osiągnięć technologicznych, każda z nich posiada pewien ich podzbiór i wykorzystuje w różnym czasie i z różnym natężeniem.
Celem tworzenia gridu jest umożliwienie organizacjom wzajemnej wymiany np. mocy obliczeniowej i innych zasobów z zachowaniem lokalnych polityk dostępu i bezpieczeństwa. Tworzone są w ten sposób Wirtualne Organizacje (VO, ang. Virtual Organizations).
[edytuj] Współdzielenie zasobów
Warstwę fizyczną środowiska gridowego stanowią połączone siecią zasoby sprzętowe wielu organizacji stanowiących VO, które wyrażą chęć współtworzenia takiej struktury.
Ponad warstwą sprzętową musi istnieć warstwa programowa, która pozwoli na udostępnianie i współdzielenie zasobów oraz umożliwi rozliczanie członków VO z użycia zasobów (tzw. accounting).
[edytuj] Przezroczysty dostęp do zasobów
Użytkownik systemu gridowego nie musi wiedzieć:
- skąd pobrane zostaną potrzebne mu dane,
- na którym serwerze wykonają się jego obliczenia,
- które dokładnie fragmenty infrastruktury będą zaangażowane w wykonanie jego zadania.
Cała infrastruktura sprzętowo-programowa, poza interfejsem dostępowym (np. portalem), powinna być przed użytkownikiem ukryta tak, aby mógł on w prosty sposób zlecić swoje zadanie i otrzymać wyniki.
[edytuj] Rozwiązywanie problemów dużej skali
Grid ma pozwolić na rozwiązywanie problemów dużej skali, w zakresie znacznie większym niż pozwalają na to wieloprocesorowe superkomputery lub lokalne klastry komputerowe.
Dzięki udostępnianiu własnych zasobów w ramach Wirtualnej Organizacji, można mieć okresowo dostęp do wszystkich jej zasobów, co daje niewątpliwą szansę na wykonanie bardziej skomplikowanych obliczeń w krótszym czasie (zasoby na żądanie).
[edytuj] Technologie programowe
Najbardziej znane technologie siatki komputerowej to Legion i Globus Toolkit.
Globus Toolkit jest to oprogramowanie warstwy pośredniej (ang. middleware) opracowywane w ramach projektu Globus Alliance. Celem projektu jest dostarczenie środowiska do uruchamiania i tworzenia aplikacji gridowych. Ponadto w ramach projektu powstają przykładowe implementacje usług potrzebnych w tym środowisku. Globus Toolkit uważany jest za implementację referencyjną.
[edytuj] Architektura i standardy
Architektura środowiska gridowego zdefiniowana została w standardzie OGSA (ang. Open Grid Services Architecture). Standard WSRF (ang. Web Services Resource Framework) określa otoczenie i sposób budowania oprogramowania dla tego środowiska z wykorzystaniem usług sieciowych (ang. Web Services).
Procesem standaryzacji zajmuje się organizacja standaryzacyjna Global Grid Forum. Globus Toolkit, będący implementacją powyższych standardów, sam uważany jest za standard de facto.
[edytuj] Ciekawostki
Angielskie słowo grid stosowane jest od dawna w energetyce i oznacza sieć elektryczną, nazywano w ten sposób także siatkę geograficzną. Wpięcię się do siatki komputerowej ma dawać dostęp do mocy obliczeniowej, tak jak wpięcie się do sieci elektrycznej daje dostęp do energii elektrycznej.