Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

© K.Subieta. Grid computing, Folia 1 listopad 2003 Grid computing, czyli nowe spojrzenie na rozproszone bazy danych Kazimierz Subieta Polsko-Japońska Wyższa.

Podobne prezentacje


Prezentacja na temat: "© K.Subieta. Grid computing, Folia 1 listopad 2003 Grid computing, czyli nowe spojrzenie na rozproszone bazy danych Kazimierz Subieta Polsko-Japońska Wyższa."— Zapis prezentacji:

1 © K.Subieta. Grid computing, Folia 1 listopad 2003 Grid computing, czyli nowe spojrzenie na rozproszone bazy danych Kazimierz Subieta Polsko-Japońska Wyższa Szkoła Technik Komputerowych, Warszawa Instytut Podstaw Informatyki PAN, Warszawa

2 © K.Subieta. Grid computing, Folia 2 listopad 2003 Cześć I Trochę o grid computing Trochę o rozproszonych lub federacyjnych bazach danych

3 © K.Subieta. Grid computing, Folia 3 listopad 2003 Jak widzą grid dziennikarze... Kasia z księgowości używa komputera od 8 do 16, potem idzie do domu. Tomasz z laboratorium w tej samej firmie po nocach ślęczy przed komputerem, czekając na wynik skomplikowanych obliczeń. Niedługo Tomasz będzie mógł pracować szybciej - bo po godzinach wykorzysta komputer Kasi. I wszystkie inne, które stoją bezczynnie. Jakie to proste! Że też nikt wcześniej na to nie wpadł!

4 © K.Subieta. Grid computing, Folia 4 listopad 2003 Trochę mniej optymizmu... Dla większości zadań obliczeniowych nie istnieją lub nie są znane metody dekompozycji na pod-zadania wykonywane równolegle. Dla zadań typu data intensive rozproszenie obliczeń implikuje konieczność rozproszenia danych. –Tomasz będzie musiał trzymać ogromne dane na komputerze Kasi, inaczej nie będzie mógł nic policzyć. –Rozproszenie danych i usług musi stać się elementem procesu projektowego, który wyklucza rozpraszanie ad hoc, na podstawie dynamicznie pojawiających się mocy obliczeniowych. –Równie problematyczne jest przeniesienie trwających już obliczeń na inny komputer (kiedy Kasia wróci do pracy, a Tomasz jeszcze nie skończy).

5 © K.Subieta. Grid computing, Folia 5 listopad 2003 Jak widzą grid specjaliści.... –... ma docelowo pozwalać na samokonfigurację czy samonaprawę systemu (...) - Na razie tego typu oprogramowanie jest w początkowej fazie rozwoju - przyznaje Paweł Sypiański, IBM. –Koszt przekształcenia danych w formę pozwalającą na przetwarzanie rozproszone byłby zbyt duży - uważa Tomasz Kulisiewicz. –Koszty programów do przetwarzania siatkowego są zbyt wysokie - uważa dr Norbert Meyer, kierownik działu komputerów dużej mocy poznańskiego PCSS. Obecnie wiele inicjatyw zmierza do stworzenia gridów, wśród nich Open Grid Service Architecture (OGSA) bazująca na Web Services, zmierzająca do stworzenia infrastruktury (OGSI) dla Grid Services. (www.ggf.org) –Koncepcja zdaje się rozszerzać (niepewny) sukces OMG CORBA. –Wynik – moim zdaniem jeszcze mniej pewny, poczekamy, zobaczymy.

6 © K.Subieta. Grid computing, Folia 6 listopad 2003 Dlaczego grid? Grid computing jest nową wersją starego marzenia o masowej równoległości przetwarzania. Marzenie to miało wiele materializacji, większość nieudanych. –Chyba największą klapę można przypisać japończykom i ich projektowi 5-tej generacji komputerów ( ) – 3 miliardy dolarów utopione w programowanie w logice i inne akademickie utopie. Termin grid, nawiązujący do ustawienia komputerów w siatkę (klaster), sam niczego nie posuwa do przodu. Nowy termin wzbudza jednak nowe nadzieje i nowe środki przeznaczone na realizację starego marzenia. –Wiele firm i zespołów badawczych skorzysta z tych środków. –Jest to jeden z najlepszych sposobów pozyskiwania pieniędzy. –Temat jest nieustannie fascynujący.

7 © K.Subieta. Grid computing, Folia 7 listopad 2003 Równoległe przetwarzanie Nowy poziom technologiczny w dużym stopniu już tę równoległość zapewnia: –Rozproszone lub federacyjne bazy danych (np. Oracle10G). –Oprogramowanie komponentowe: CORBA, DCOM,.NET, EJB, RMI, J2EE+WebServices. –Sieci P2P (peer-to-peer), czyli korzystanie z zasobów udostępnianych przez poszczególnych uczestników sieci dla całej społeczności sieci. –Web Services, tj. utylizacja usług dostarczanych przez odlegle serwery na gruncie standardu XML. –Technologie agentowe, czyli mobilni geograficznie niewolnicy wykonujące pracę na rzecz swojego mistrza. W tym referacie (nietypowo) skupimy uwagę na podejściach nawiązujących do koncepcji baz danych.

8 © K.Subieta. Grid computing, Folia 8 listopad 2003 Krótka ocena Największe znaczenie mają rozproszone bazy danych, oprogramowanie komponentowe i P2P. Mój lekki sceptycyzm dotyczy Web Services (mimo licznych potencjalnych zastosowań). –Ubogość koncepcji spowoduje, że będzie ona rosnąć na zasadzie piramidy postawionej na czubku. –Mogą być użyte/przykryte przez bardziej konceptualne protokoły. –Niejasny (naiwny?) stosunek do heterogeniczności. Mój spory sceptycyzm dotyczy agentów. –Poza antropomorfizmami lub pobożnymi życzeniami tam na razie zbyt wiele nie ma. –Brak kluczowych aplikacji (killer applications) pokazujących techniczny lub biznesowy sens pomysłu. –Nadzieje w technologii workflow – ale czy uzasadnione?

9 © K.Subieta. Grid computing, Folia 9 listopad 2003 Cztery najważniejsze problemy Przezroczystość (transparency): traktowanie rozproszonych zasobów i usług tak, jak gdyby były one wewnątrz przestrzeni adresowej jednego komputera. Bezpieczeństwo: przeciwdziałanie losowym awariom oraz możliwościom ataku z zewnętrz. Interoperacyjność (interoperability): umożliwienie współpracy heterogenicznych platform, aplikacji, logik biznesowych i organizacji danych. Efektywność: uzyskanie czasów przetwarzania akceptowalnych dla szerokiego kręgu użytkowników rozproszonych aplikacji.

10 © K.Subieta. Grid computing, Folia 10 listopad 2003 Przezroczystość Redukcja złożoności przy pracy z rozproszonymi zasobami danych i usług, polegająca na uwolnieniu programisty od myślenia na temat położenia i organizacji rozproszonych danych. Przezroczystość ma bezpośrednie skutki dla czasu i kosztu wytworzenia rozproszonej aplikacji, jej przenaszalności i pielęgnacyjności.

11 © K.Subieta. Grid computing, Folia 11 listopad 2003 Formy przezroczystości (1) Przezroczystość położenia i dostępu: Uwolnienie użytkowników od konieczności korzystania z informacji o aktualnym położeniu geograficznym danych i usług. Przezroczystość współbieżności: Umożliwienie wielu użytkownikom jednoczesnego dostępu do danych i usług. Przezroczystość skalowania: Umożliwienie dodawania lub usuwania serwerów, danych i usług bez wpływu na działanie aplikacji i pracę użytkowników. Przezroczystość fragmentacji (podziału): automatyczne scalanie obiektów lub kolekcji, których fragmenty są przechowywane w różnych miejscach.

12 © K.Subieta. Grid computing, Folia 12 listopad 2003 Formy przezroczystości (2) Przezroczystość replikacji: Umożliwienie tworzenia i usuwania kopii danych w innych miejscach geograficznych ze skutkiem dla efektywności przetwarzania. Przezroczystość awarii: Umożliwienie nieprzerwanej pracy większości użytkowników rozproszonej bazy danych w sytuacji, gdy niektóre z jej węzłów lub linie komunikacyjne uległy awarii. Przezroczystość migracji: Umożliwienie przenoszenia zasobów danych do innych miejsc bez wpływu na pracę użytkowników.

13 © K.Subieta. Grid computing, Folia 13 listopad 2003 Czy przezroczystość jest osiągalna? Zapewnienie wszystkich form przezroczystości jest dużym wyzwaniem technicznym. –Wiele form przezroczystość jest zrealizowana w ramach technologii CORBA. –Przezroczystość położenia danych, współbieżności i fragmentacji jest zrealizowana w rozproszonych BD. –Przezroczystość jest podstawą funkcjonowania sieci P2P. –Przezroczystość jest tematem (prawie) nieobecnym w Web Services i.NET. Wkrótce będzie... Przezroczystość wymaga ustalenia standardów: API dostępu do danych i usług, kanonicznych modeli danych i usług, oraz odpowiednich protokołów komunikacyjnych.

14 © K.Subieta. Grid computing, Folia 14 listopad 2003 Interoperacyjność –Temat mniej istotny przy budowie gridu metodą top- down (nowy projekt od zera) i zakładającego jednorodną platformę implementacyjną. Krytyczny problem dla projektu bottom-up, czyli systemu integrującego istniejące (spadkowe) niekompatybilne (heterogeniczne) dane i usługi. –Interoperacyjność na poziomie transportu (transport- level interoperability) jako podstawa wyższych form interoperacyjności. Chodzi o umożliwienie fizycznej komunikacji pomiędzy danymi i usługami, np. na gruncie TCP/IP, HTTP, wspólnej pamięci, itp.

15 © K.Subieta. Grid computing, Folia 15 listopad 2003 Interoperacyjność kontra przezroczystość Konieczność poszukiwania wspólnego mianownika: –Jeżeli serwery porównamy do mianowników 4, 6 i 12, to wspólnym mianownikiem jest 12, czyli programista ma łatwo. –Jeżeli porównamy do mianowników 7, 11 i 13, to wspólnym mianownikiem jest 1001, czyli programista ma trudniej. Ta analogia ilustruje problem heterogeniczności: –Łatwo: Dla danej populacji serwerów istnieje prosty model kanoniczny; musimy wtedy napisać wrappery i problem jest rozwiązany. Na tym założeniu opiera się CORBA. –Trudno: Jeżeli rozbieżności pomiędzy serwerami są duże, to informacja o zawartości poszczególnych serwerów musi być doprowadzona do świadomości programisty i do modelu kanonicznego. Jest on wtedy złożony i nieprzezroczysty.

16 © K.Subieta. Grid computing, Folia 16 listopad 2003 Fragmentacja Najpopularniejszym modelem jest fragmentacja pozioma, oznaczająca, że każdy serwer ma ten sam schemat danych, ale inną populację danych. –Sumowanie zbiorów danych w taki sposób, że informacja o serwerach jest zbędna dla programisty/użytkownika. Fragmentacja pionowa: podział obiektów na fragmenty przechowywane w różnych miejscach. –Musi być zapewniony sposób sklejenia całości obiektu z fragmentów (np. NIP dla obywateli RP). Przy integracji zasobów heterogenicznych mogą pojawiać się wyrafinowane kombinacje fragmentacji poziomej, pionowej i replikacji (redundancji).

17 © K.Subieta. Grid computing, Folia 17 listopad 2003 Przykład fragmentacji poziomej Radom Klasa Pracownik Pracownik Nowak Pracownik Kowalski... Kielce Pracownik Malasa Pracownik Zagórny.... Sieć Kalisz Pracownik Styka Pracownik Malina... Klasa Pracownik Obiekty Pracownik są przechowywane zgodnie z geograficznym położeniem pracodawcy.

18 © K.Subieta. Grid computing, Folia 18 listopad 2003 Przykład fragmentacji pionowej Radom Klasa danych osobistych Nowak dane osobiste Kowalski dane osobiste... Kalisz Klasa danych o ocenach Nowak dane o ocenach Kowalski dane o ocenach... Kielce Klasa danych o zatrudnieniu Nowak dane o zatrud. Kowalski dane o zatrud.... Sieć

19 © K.Subieta. Grid computing, Folia 19 listopad 2003 Replikacje Replikacja jest kopią danych i usług na innym serwerze. Replikacje mają na celu zwiększenie dostępności danych i usług oraz ich ochronę przed zniszczeniem. Przy integracji bottom-up replikacje (= redundancje) są często cechą nieuchronną i niepożądaną. –Może występować redundancja danych o dowolnym stopniu skomplikowania. Grid musi wykorzystać pożądane replikacje i mitygować niepożądane redundancje. Replikacje i redundancje stanowią poważny problem dla przezroczystości i operacji aktualizacji danych.

20 © K.Subieta. Grid computing, Folia 20 listopad 2003 Osłony,mediatory, perspektywy Pojęcia oznaczające moduły oprogramowania, których celem jest wirtualne sprowadzenie danych i usług do wspólnego mianownika. –Osłona (wrapper): w wiekszości bezstanowe (funkcyjne) odwzorowanie API 1 na API 2. –Mediator: podobny do osłony, ale bardziej inteligentny. Np. może agregować dane lub wnioskować o podobieństwie danych. –Perspektywa (view): odwzorowanie obiektów zapamiętanych na obiekty wirtualne, bez ograniczeń koncepcyjnych lub obliczeniowych. Porównanie perspektywy i mediatora: Perspektywa jest napisana w języku zapytań Perspektywa jest własnością bazy danych, a nie aplikacji Perspektywa jest bytem programistycznym pierwszej kategorii Perspektywa zakłada pewien kanoniczny model danych (np.obiektowy)

21 © K.Subieta. Grid computing, Folia 21 listopad 2003 Aktualizowalne perspektywy Celem jest doprowadzenie do pełnej przezroczystości, przy której obiekty wirtualne są nieodróżnialne od obiektów zapamiętanych. –Problem, znany od 1974 roku, zaowocował w wiele nieudanych pomysłów i pseudo-rozwiązań. –Rozwiązaniem problemu są relacyjne perspektywy oparte na trygerze instead of. –Nasze rozwiązanie jest znacznie bardziej uniwersalne i opiera się o procedury dynamicznie przeciążające operatory aktualizujące obiekty wirtualne (prace H.Kozankiewicz i innych). Aktualizowalne perspektywy będą podstawą objaśnionej dalej koncepcji.

22 © K.Subieta. Grid computing, Folia 22 listopad 2003 Cześć II Architektura Przykłady ilustrujące podejście Dyskusja nad kierunkami działań Motyw naczelny podejścia: Najpierw opanujmy koncepcję od strony jej uniwersalności. Potem zabierzmy się za optymalizację i specjalizację dla szczególnych przypadków. Odwrotna kolejność nieodmiennie prowadzi do koncepcyjnych przepaści.

23 © K.Subieta. Grid computing, Folia 23 listopad 2003 Schemat lokalny A Schemat lokalny B Architektura gridu... Klient globalny 1 Klient globalny 2 Klient globalny 3... Skład lokalnych obiektów i usług Serwer lokalny A Skład lokalnych obiektów i usług Serwer lokalny B Globalny wirtualny skład obiektów i usług Aktualizowalne perspektywy Protokół komunikacyjny Organizator gridu Informacja kontrybucyjna Schemat globalny

24 © K.Subieta. Grid computing, Folia 24 listopad 2003 Objaśnienie architektury (1) Linie ciągłe grube: związki między oprogramowaniem w run-time (zapytania, zlecenia, odpowiedzi). Linie i strzałki przerywane: związki definicyjne (podczas tworzenia oprogramowania). Klient globalny: program aplikacyjny wykorzystujący globalny wirtualny skład. Globalny wirtualny skład obiektów i usług: skład, do którego adresowane są zapytania i zlecenia ze strony klienta globalnego; w rzeczywistości nie istnieje. Schemat globalny: definicje obiektów i usług wirtualnych wykorzystywane (głównie) przez programistów podczas tworzenia klientów globalnych.

25 © K.Subieta. Grid computing, Folia 25 listopad 2003 Objaśnienie architektury (2) Aktualizowalne perspektywy: oprogramowanie, którego celem jest wytworzenie globalnego wirtualnego składu. Protokół komunikacyjny: zestaw funkcji działających na odległych serwerach używanych do definicji perspektyw. Organizator gridu: osoba, zespół osób lub program definiujący perspektywy na podstawie schematów lokalnych, sch.globalnego i i informacji kontrybucyjnej. Schemat lokalny: informacja katalogowa o obiektach i usługach udostępnianych przez serwer lokalny (IDL, WSDL, ODL,...) Serwer lokalny: jednostka sprzętowa/programowa identyfikowana przez system rozproszony.

26 © K.Subieta. Grid computing, Folia 26 listopad 2003 Informacja kontrybucyjna Określa w jaki sposób poszczególne serwery kontrybuują do globalnego wirtualnego składu obiektów. Określa redundancje w danych trzymanych na poszczególnych serwerach. Określa replikacje. Określa sposoby aktualizacji danych. Określa zależności pomiędzy poszczególnymi serwerami. Jest podstawą definicji odpowiednich perspektyw.

27 © K.Subieta. Grid computing, Folia 27 listopad 2003 Przykład: fragmentacja pozioma Prac NIP Nazwisko Zar Stan Schemat globalny: Schematy lokalne: Informacja kontrybucyjna: Jednoznacznym identyfikatorem pracowników jest NIP. Nie występują powtórzenia NIPu w lokalnych bazach danych. Globalna baza danych jest wirtualną sumą lokalnych baz danych. Kielce Prac NIP Nazwisko Zar Stan Radom Prac NIP Nazwisko Zar Stan Kalisz Prac NIP Nazwisko Zar Stan

28 © K.Subieta. Grid computing, Folia 28 listopad 2003 Zabieg formalny (w modelu M0) Dane lokalnego serwera będziemy uważać za pojedynczy obiekt. Nazwę lokalnego serwera będziemy uważać za nazwę tego obiektu. Nazwie tej odpowiada identyfikator fizyczny serwera, np. adres IP lub URI. Perspektywy będziemy konstruować w taki sposób, jakby wszystkie obiekty lokalnych serwerów były w naszej przestrzeni adresowej. Perspektywy będą odwoływać się do nazw serwerów, ale powstałe w ich wyniku obiekty wirtualne nie będą miały takich odwołań.

29 © K.Subieta. Grid computing, Folia 29 listopad 2003 Lokalna baza danych w tej konwencji Radom Prac NIP Nazwisko Zar Stan Nazwisko: Nowak Prac NIP: Zar: 3000 Stan: radca Nazwisko: Bilski Prac NIP: Zar: 4000 Stan: referent Nazwisko: Kolski Prac NIP: Zar: 2000 Stan: asystent

30 © K.Subieta. Grid computing, Folia 30 listopad 2003 Integrująca perspektywa Ziarno obiektów wirtualnych ma postać dwóch binderów: struct{ m(adres serwera), p(OID obiektu na tym serwerze)} Nazwy Kalisz, Radom i Kielce są niewidoczne dla klientów; posługują się oni tylko nazwą MoiPrac i nazwami atrybutów, np. (MoiPrac where Nazwisko = Kolski).NIP create view MoiPracDef { virtual objects MoiPrac { return ((Kalisz as m) join (m.Prac as p)) (((Radom as m) join (m.Prac as p)) (((Kielce as m) join (m.Prac as p)) } on_retrieve do { connect (m); return p.(deref(NIP) as NIP, deref(Nazwisko) as Nazwisko, deref(Zar) as Zar, deref(Stan) as Stan) }; on_delete do { connect (m); remoteDelete (p) };... Ewentualnie dalsze części definicji perspektywy... }

31 © K.Subieta. Grid computing, Folia 31 listopad 2003 Przykład: fragmentacja pozioma z replikacją Prac NIP Nazwisko Zar Stan Schemat globalny: Schematy lokalne: Informacja kontrybucyjna:.... jak poprzednio.... Radom i Kielce zawierają te same dane. Użytkownik powinien używać tej repliki, do której ma szybszy dostęp. Aktualizacja danych w Radomiu spowoduje tę samą aktualizację danych w Kielcach. Użytkownik nie może aktualizować danych w Kielcach. Kielce Prac NIP Nazwisko Zar Stan Radom Prac NIP Nazwisko Zar Stan Kalisz Prac NIP Nazwisko Zar Stan

32 © K.Subieta. Grid computing, Folia 32 listopad 2003 Integrująca perspektywa create view MoiPracDef { virtual objects MoiPrac { int czasDoRadomia := ; int czasDoKielc := ; if alive(Radom) then czasDoRadomia := checkAccessTime(Radom); if alive(Kielce) then czasDoKielc := checkAccessTime(Kielce); if min(bag(czasDoRadomia, czasDoKielc)) > 100 then { exception(CzasRealizacjiJestNieakceptowalny); return ;} return ((Kalisz as m) join (m.Prac as p)) if czasDoRadomia < czasDoKielc then ((Radom as m) join (m.Prac as p)) else ((Kielce as m) join (m.Prac as p)) } on_retrieve do {...jak poprzednio... }; on_delete do { if serverName(m) = Kielce then { connect(Radom); remoteDelete (Prac where NIP = (p.NIP))} else { connect (m); remoteDelete (p) } } } alive, checkAccessTime, serverName, connect, remoteDelete,... – funkcje protokołu

33 © K.Subieta. Grid computing, Folia 33 listopad 2003 Przykład: fragmentacja pozioma, pionowa, heterogeniczność, replikacje, redundancje Prac NIP Nazwisko[0..1] Stan Wiek[0..1]] ZarNetto Prac NIP Nazwisko Stan Zar Radom Prac NIP Nazwisko Stan Kielce Prac NIP Nazwisko Zar DataUr Kalisz Prac NIP Stan DataUr ZarNetto Olsztyn Schemat globalny: Schematy lokalne: Informacja kontrybucyjna: Jednoznacznym identyfikatorem pracowników jest NIP. Nazwisko jest zależne od NIP; Kielce ma niepełną replikę bazy danych w Radomiu; obie dotyczą pracowników z Radomia i Kielc. Aktualizacja danych w Radomiu spowoduje tę samą aktualizację danych w Kielcach, z wyjątkiem danej Zar. Użytkownik nie może aktualizować danych w Kielcach. Kalisz ma dane tylko o pracownikach z Kalisza. Olsztyn ma informację o wszystkich pracownikach z Olsztyna i Kalisza, przy czym nie ma tam Nazwiska i Zar, za to jest Stan i ZarNetto.

34 © K.Subieta. Grid computing, Folia 34 listopad 2003 Perspektywa integrująca Dla przypadku z poprzedniego slajdu definicja perspektywy będzie znacznie dłuższa. Będzie wymagać rozstrzygnięcia wszystkich redundancji, replikacji, ujednolicenia informacji w różnych formatach (Wiek/RokUr) i różnych znaczeniach biznesowych (Zar/ZarNetto), sprawdzania czasów dostępu, możliwości aktualizacji, itd. Niemniej przy założeniu uniwersalności SBQL, uniwersalności środków definicji perspektywy oraz uniwersalności funkcji protokołu dostępu do odległych serwerów można będzie ją napisać.

35 © K.Subieta. Grid computing, Folia 35 listopad 2003 Problemy do rozwiązania (1) Zaimplementowanie aktualizowalnych perspektyw. Ustalenie i zaimplementowanie zestawu funkcji protokołu komunikacyjnego, które są niezbędne dla definicji perspektyw. Opracowanie precyzyjnego języka informacji kontrybucyjnej (termin jest ad hoc). –Pełna formalizacja tego języka, wraz z formalizacją globalnego i lokalnych schematów, umożliwiłaby automatyczną generację perspektyw. –Przypisania informacji kontrybucyjnej do pojedynczych serwerów i automatyczne uzupełnianie perspektyw na jej podstawie stworzyłoby coś w rodzaju szyny CORBA lub sieci P2P. Opracowanie systemu rejestracji danych i usług (trading service, UDDI,...)

36 © K.Subieta. Grid computing, Folia 36 listopad 2003 Problemy do rozwiązania (2) Optymalizacje –W przedstawionej koncepcji całość przetwarzania zapytań jest po stronie klienta. Trzeba to przetwarzanie przesunąć na stronę serwera, np. poprzez przesłanie tam odpowiednich części stosów i (pod-) zapytań. –Obecna koncepcja nie zakłada równoległości przetwarzania. Przesunięcie przetwarzania na stronę serwera i analiza postaci zapytania stwarzają szansę na równoległość (jest to dość łatwe dla fragmentacji poziomej, trudniejsze w ogólnym przypadku). –Dekompozycja zapytań przy fragmentacji pionowej. –Wykorzystanie scenariuszy dynamicznych, w których wynik przetwarzania na jednym serwerze jest wykorzystany do optymalizacji przetwarzania na innym serwerze. –Obiekty i usługi proxy ulokowane wewnątrz perspektywy. –Przezroczyste indeksy zasobów globalnych wykorzystywane automatycznie przez klientów i/lub perspektywy. –..... wiele innych optymalizacji...

37 © K.Subieta. Grid computing, Folia 37 listopad 2003 Cześć III Wprowadzenie do P2P Materiał pochodzi z:

38 © K.Subieta. Grid computing, Folia 38 listopad 2003 Geneza Peer-to-peer pojawiło się na pierwszych stronach gazet w związku z kontrowersjami wokół internetowych serwisów wymiany plików (głównie muzycznych) i sprawą ochrony praw autorskich. W cieniu Napstera pozostają tworzone dla użytkowników korporacyjnych narzędzia oparte na technice komputerów równorzędnych. Zdaniem niektórych analityków peer-to-peer może wiele zmienić, tak jak zrobiły to pecety w latach 80-tych, czy Web w latach 90 Takie prognozy napotykają jednak na sceptycyzm specjalistów IT, którzy uważają sieci peer-to-peer za mało bezpieczne, nieskalowalne i trudne w zarządzaniu.

39 © K.Subieta. Grid computing, Folia 39 listopad 2003 Stary pomysł, nowe możliwości Peer-to-Peer (P2P) w Internecie to nie jest nowy pomysł. P2P to również np. poczta komputerowa lub sieci IRC. P2P nie rozpowszechniło się jednak wcześniej ze względu na ograniczone możliwości techniczne. –Pojawienie się narzędzi katalogowych, takich jak Lightweight Directory Access Protocol (LDAP), moc przetwarzania, przepustowość sieci i pojemność pamięci masowych, zarządzanie połączeniami stworzyły bazę techniczną.

40 © K.Subieta. Grid computing, Folia 40 listopad 2003 P2P w biznesie P2P zyskało potężnych sojuszników. Sun promuje P2P przez projekt JXTA. Ma on umożliwić współpracę na zasadach równorzędnych platformom komputerowym wszystkich typów i rozmiarów. Intel utworzył organizację Peer-to-peer Working Group mającą opracowywać standardy. –Do organizacji należą, obok mniejszych producentów oprogramowania, także HP i IBM. –Firma chwali się, że zaoszczędziła w ciągu 10 lat 500 mln USD wykorzystując przy projektowaniu układów scalonych oparte na technice P2P rozwiązanie Netbatch.

41 © K.Subieta. Grid computing, Folia 41 listopad 2003 Dwa modele peer-to-peer

42 © K.Subieta. Grid computing, Folia 42 listopad 2003 Model JXTA

43 © K.Subieta. Grid computing, Folia 43 listopad 2003 Budowa wirtualnego superkomputera Najbardziej spektakularne zastosowania sieci P2P polegają na wykorzystywaniu wolnych zasobów w komputerach PC i skumulowaniu ich w jeden wirtualny superkomputer. Taka platforma może obsługiwać potężne aplikacje, które da się prowadzić równoległymi wątkami, po podzieleniu ich na małe kawałki i rozdzieleniu na pojedyncze maszyny. –Z zastrzeżeniami co do możliwości dekompozycji niektórych zadań. Ok. 50% mocy obliczeniowych w firmie jest wolnych, w tym na mocno obciążonych serwerach i hostach. –Kiedy weźmiemy pod uwagę tylko komputery personalne, to liczba ta jest dużo wyższa. Jest to motyw dla hasła grid computing, o którym było poprzednio. Przy masowym rozproszeniu danych P2P i grid computing są w istocie tą samą koncepcją.

44 © K.Subieta. Grid computing, Folia 44 listopad 2003 Dystrybucja treści, współdzielenie plików i współpraca Często jest tak, że interesujące nas materiały znajdują się nie na jednym, ale na wielu komputerach w sieci. W dodatku najczęściej w firmowych sieciach większość plików znajduje się na pecetach, a nie serwerach. Technika p2p może zmienić wszystkie te zasoby pamięci w jedną rozproszoną przestrzeń plików. Przekształca ona firmowy web w bardziej spersonalizowane środowisko, w którym każdy może współdzielić informację na specjalnych warunkach.

45 © K.Subieta. Grid computing, Folia 45 listopad 2003 Przykład skutecznego zastosowania Brytyjski gigant farmaceutyczny GlaxoSmithKlein jest jedną z pierwszych wielkich firm, które zdecydowały się na wykorzystanie aplikacji p2p ułatwiających współpracę pracowników. Zdecydowano się na oprogramowaniem Groove. Informatycy GlaxoSmithKline, dysponującej ponad 100 tys. stanowisk Lotus Notes, chcieli zbudować dodatkowa platformę współpracy. Zdecydowano się na 10 tys. licencji Groove. W firmie oprogramowanie ma być wykorzystywane przez różne działy. Dział prawny chce przy jego użyciu opiniować i wydawać dokumenty prawne, dział informatyczny chce dzięki niemu stworzyć kontrolowane środowisko do testów oprogramowania, kadra menedżerska chce współdzielić informacje z kontrahentami itp.

46 © K.Subieta. Grid computing, Folia 46 listopad 2003 P2P w wydaniu Groove Networks

47 © K.Subieta. Grid computing, Folia 47 listopad 2003 Jak działa Groove Groove ( ) wykorzystuje pocztę elektroniczną lub instant messaging do wystosowania "zaproszenia" dla użytkowników komputerów, by dołączyli do współdzielonej "przestrzeni", składającej się z twardych dysków lokalnych pecetów.www.groove.net Oprogramowanie pozwala użytkownikom komunikować się i współpracować za pomocą głosu, wiadomości tekstowych, podzielonych na wątki dyskusji, narzędzi do edytowania tekstu, rysowania oraz współdzielenia plików. Można pracować także offline - zmiany są automatycznie buforowane, a uaktualnienia są dokonywane w obydwu kierunkach, gdy strony ponownie się łączą.

48 © K.Subieta. Grid computing, Folia 48 listopad 2003 Inny przykład zastosowania W rządzie federalnym USA dział zajmujący się statystykami zdecydował się na platformę NXT3 firmy NextPage ( ), aby połączyć zawartość 60 portali, oddzielnie zarządzanych przez agencje federalne.www.nextpage.com Zajmująca się rozwiązaniami dla tzw. sieci informacji (Content Networks) firma stworzyła platformę peer- to-peer NXT3, pozwalającą na łączenie zawartości rozproszonych serwerów korporacji. Oprogramowanie pozwala użytkownikom na zaawansowane wyszukiwanie dokumentów na innych komputerach i wirtualną centralizację informacji.

49 © K.Subieta. Grid computing, Folia 49 listopad 2003 NXT 3 Zamiast fizycznie centralizować zasoby informacji NXT 3 pozwala zarządzać rozproszonymi treściami - użytkownicy widzą je, jakby pochodziły z jednego źródła. Znaczniki XML w połączeniu z HTML i architekturą P2P pozwalają NXT3 ściągać fragmenty rozproszonej zawartości i - konwertując je "w locie" - tworzyć nowe dokumenty.

50 © K.Subieta. Grid computing, Folia 50 listopad 2003 Charakterystyka NXT 3 Oprogramowanie składa się z siedmiu współpracujących modułów. –Content Server odpowiada za dostęp do treści, niezależnie od ich formatu i lokalizacji. –Content Syndicator zarządza rozproszonymi treściami. –Trzy następne moduły - ODBC Adapter, URLContent Adapter i File System Adapter - odpowiadają za obsługę wielu różnych formatów. –Search Engine pozwala na bardzo wyrafinowane definiowanie kryteriów wyszukiwania. –Security Services obsługuje uwierzytelnianie, autoryzację i statystyki użytkowników. NXT 3 obsługuje serwery Windows NT, Windows 2000 i Solaris. Produkt nie jest jednak tani - licencja dla 25 użytkowników kosztuje USD, dla USD.

51 © K.Subieta. Grid computing, Folia 51 listopad 2003 Intel i Share and Learn Intel wykorzystuje P2P do swobodnego przepływu rozproszonego materiału wykorzystywanego w szkoleniu pracowników. Dział informatyczny firmy nie chciał, by pracownicy ściągali olbrzymie multimedialne pliki szkoleniowe z centralnego serwera, więc programiści stworzyli aplikację nazwaną Share and Learn i uruchomili ją na każdym desktopie. Kiedy użytkownik kliknie na jednym z wyszczególnionych szkoleń, aplikacja rozpoczyna lokalne przeszukiwanie, stopniowo powiększając krąg poszukiwań. Jeśli jakiś pracownik chce ściągnąć dany materiał, to aplikacja zna najbliższe miejsce, z którego może to zrobić. Dzięki tworzeniu efektywnych pamięci podręcznych na komputerach użytkowników, którzy ściągnęli pliki jako pierwsi, udało im się znacznie ograniczyć obciążenie sieci.

52 © K.Subieta. Grid computing, Folia 52 listopad 2003 Klasyfikacja P2P

53 © K.Subieta. Grid computing, Folia 53 listopad 2003 Perspektywy Zdaniem firmy Frost & Sullivan do roku 2007 liczba użytkowników korporacyjnych rozwiązań peer-to- peer wzrośnie z ok. 60 tys. obecnie do 6,2 mln. Wartość tego rynku w tym samym czasie ma osiągnąć 4,53 mld USD, wobec 42,8 mln USD obecnie. Analitycy F&S zwracają uwagę na fakt czynnego zainteresowania wielkich firm, takich jak Sun, technologią peer-to-peer, co powinno zaowocować wzrostem zaufania do opartych na niej rozwiązań.

54 © K.Subieta. Grid computing, Folia 54 listopad 2003 Problemy z bezpieczeństwem W P2P kwestie zarządzania stają się znacznie trudniejsze, a kwestie prywatności i bezpieczeństwa bardzo się komplikują. Niektórzy analitycy twierdzą, że należy przestać myśleć o ochronie komputerów, a zacząć o ochronie informacji. W przyszłości, gdy miliony użytkowników palmtopów będą miały dostęp do różnego rodzaju informacji, potrzebne będą zapory ogniowe niemal na poziomie poszczególnych dokumentów. Sprawy bezpieczeństwa są podstawowym problemem przy upowszechnianiu się P2P. Wewnątrz firmy i w ekstranecie są różne systemy bezpieczeństwa i trudno zmusić je do współdziałania.

55 © K.Subieta. Grid computing, Folia 55 listopad 2003 Technologie zapewnienia bezpieczeństwa Standardy bezpieczeństwa, takie jak Kerberos i certyfikaty X.509. Jednak np. dla techniki grid computing, w której rozdziela się zasoby i buduje luźne związki często "w locie", Kerberos jest zbyt scentralizowaną technologią, nie za bardzo skalującą się w środowisku rozproszonym. Podobnie Secure Sockets Layer (SSL) i X.509 nie pozwalają na pojedyncze rejestrowanie się czy delegowanie uprawnień. Grupa zajmująca się w ramach Global Grid Forum bezpieczeństwem zaproponowała standard, który pozwoliłby jednemu użytkownikowi P2P uwierzytelniać innego przez zdalne delegowanie uprawnień. Produkty p2p służące do współpracy, takie jak Groove czy Magi firmy Endeavors Technology ( ), spełniają wymogi środowiska korporacyjnego przez implementowanie silnego szyfrowania i technik uwierzytelniających -.infrastrukturę klucza publicznego (PKI).www.endtech.com

56 © K.Subieta. Grid computing, Folia 56 listopad 2003 Podsumowanie Stan obecny p2p przypomina początki WWW przed niemal 10 laty. To bardzo wczesne stadium technologii i wiele z rozwiązań teraz stosowanych na pewno nie przetrwa. Niektóre jednak przyjmą się i mogą spowodować duże zmiany. Zasoby internetowe:www.openp2p.com - bardzo rozbudowana strona O'Reilly & Associates, zawierająca m.in. analizy i przykłady rozwiązań p2p. - wiadomości i dane o p2p, w tym ocena aplikacji. - m.in. informacje o standaryzacji p2p. - zastosowanie p2p w biznesie. - organizacja zajmująca się grid computing. - strona Intela o p2p.www.openp2p.com


Pobierz ppt "© K.Subieta. Grid computing, Folia 1 listopad 2003 Grid computing, czyli nowe spojrzenie na rozproszone bazy danych Kazimierz Subieta Polsko-Japońska Wyższa."

Podobne prezentacje


Reklamy Google