Co to jest grid?
Transkrypt
Co to jest grid?
Gridy Janina Mincer-Daszkiewicz Systemy rozproszone MSUI, II rok Materiały i rysunki zaczerpnięto z następujących źródeł 1. Ian Foster, What is the grid? A three point checklist, 2002. 2. Susan Schwarz, An overview of grid computing, prezentacja 3. Ed Seidel, Introduction to grid computing, prezentacja 4. Rajkumar Buyya, Grid Computing, prezentacja, www.gridbus.org 5. Ian Foster, strona domowa, www-fp.mcs.anl.gov/~foster/ 6. Strona domowa projektu Globus, www.globus.org 7. Prace Fostera, www.globus.org/research/papers.html#OGSA 8. Inne strony: www.grid.org, www.gridcomputing.com, www.gridforum.org Co to jest grid? • Grid obliczeniowy to infrastruktura sprzętowa i programowa, która w sposób niezawodny, spójny, rozproszony i tani zapewnia dostęp do zasobów obliczeniowych. • Grid zapewnia ściśle kontrolowane współdzielenie zasobów i rozwiązywanie problemów w dynamicznych organizacjach wirtualnych, w skład których wchodzi wiele różnych instytucji. To właśnie precyzyjnie zdefiniowane reguły współdzielenia (kto, co, pod jakimi warunkami) określają zbiór jednostek i instytucji, które tworzą wirtualną organizację. • Współdzielenie nie dotyczy prostej wymiany plików, lecz raczej bezpośredniego dostępu do komputerów, oprogramowania, danych i innych zasobów. • Wspólna infrastruktura i wymiana jest możliwa dzięki standardowym protokołom Grid jest systemem, który ... • koordynuje dostęp do zasobów, które nie podlegają centralnej kontroli ... (grid integruje i steruje zasobami i użytkownikami, którzy istnieją w różnych domenach, rozwiązując problemy bezpieczeństwa, członkostwa, rozliczania itp., które pojawiają się w takich okolicznościach; wpp mamy do czynienia z systemem lokalnego zarządzania) • ... przy użyciu standardowych, otwartych, protokołów i interfejsów ogólnego przeznaczenia ... (gridy buduje się z zastosowaniem ogólnych protokołów, rozwiązujących problemy autentykacji, autoryzacji, lokalizowania zasobów, dostępu do zasobów; standardowych i otwartych; wpp mamy system ukierunkowany na konkretne zastosowanie) • ... w celu dostarczenia usługi o niebanalnej jakości (jakość może dotyczyć czasu odpowiedzi, przepustowości, bezpieczeństwa, wspólnego przydziału zasobów różnych typów zgodnie z żądaniami użytk.) Co zatem NIE JEST gridem, a co JEST? • Systemy takie jak Sun Grid Engine, Platform Load Sharing Facility, Veridian Portable Batch System po zainstalowaniu na komputerze równoległym lub sieci lokalnej zapewniają wysoką jakość usługi – nie są to gridy, gdyż posiadają pełną wiedzę o stanie systemu i żądań użytkowników oraz całkowicie nimi sterują • Web nie jest (jeszcze) gridem – posługuje się co prawda otwartymi i standardowymi protokołami, ale nie koordynuje dostępu do zasobów na tyle, by zapewnić pożądaną jakość usług • Przykłady (prawie) gridów: wielowęzłowe procesy szeregujące jak Platform MultiCluster; rozproszone systemy obliczeniowe jak Condor, Entropia, UnitedDevices; systemy P2P jak Gnutella; rozproszona instalacja Storage Resource Broker (wspiera rozproszony dostęp do zasobów) • Znakomita analogia: Electric Power Grid Ewolucja, nie rewolucja Grid można postrzegać jako rozwiązanie, które wyrosło z wielu innych, znanych i popularnych, w drodze ewolucji: • • • • • • • • Jak Web, gridy ukrywają złożoność Inaczej niż Web, który głównie wspiera komunikację, gridy umożliwiają pełną współpracę przy realizacji wspólnych celów biznesowych Jak P2P, obliczenia gridowe umożliwiają użytkownikom współdzielenie plików Inaczej niż P2P, gridy wspierają współdzielenie na zasadzie wielu-do-wielu, nie tylko plików, ale także innych zasobów Jak klastry i rozproszone obliczenia, gridy łączą zasoby obliczeniowe Inaczej iż klastry i rozproszone obliczenia, które wymagają fizycznej bliskości i jednorodnego środowiska operacyjnego, gridy mogą być rozproszone geograficznie i niejednorodne Jak technologie wirtualizacji, gridy wspierają wirtualizację zasobów IT Inaczej niż technologie wirtualizacji, które wirtualizują pojedynczy system, gridy wirtualizują rozrzucone zasoby IT Gridy na świecie Cardiff/UK Portsmoth/UK Manchester, UK Cambridge, UK TI-Tech/Tokyo ETL/Tsukuba AIST/Tsukuba ANL/Chicago USC-ISC/LA UTK/Tennessee UVa/Virginia Dartmouth/NH BU/Boston UCSD/San Diego Santiago/Chile EUROPE: ZIB/Germany PC2/Germany AEI/Germany Lecce/Italy CNR/Italy Calabria/Italy Pozman/Poland Lund/Sweden CERN/Swiss CUNI/Czech R. Vrije: Netherlands Kasetsart/Bangkok Singapore U. Of Melbourne Monash U. VPAC/Melbourne U. Of Sydney Przykłady gridów • GridLab Testbed – Dziesięć maszyn w Europie dla deweloperów narzędzi gridowych • European Union Data Grid – grid do zastosowań w fizyce wysokich energii, naukach środowiskowych, bioinformatyce (www.eu-datagrid.org) • Access Grid – Zasoby multimedialne oraz interfejsy do środowisk wizualizacyjnych i usług gridowych (www.accessgrid.org), używany w ponad 150 instytucjach na świecie • NFS PACI Grid • TeraGrid (www.teragrid.org) – Łączy główne centra akademickie w USA, na potrzeby otwartych badań naukowych • Information Power Grid (www.ipg.nasa.gov) – Wysokiej wydajności grid obliczeniowy NASA Zasoby Teragrida • Argonne National Lab (198 procesorów) • Cal Tech (64 procesory) • NCSA (512 procesorów) • Pittsburg Supercomputing Center (3000 procesorów) • San Diego Supercomputing Center (500 procesorów) NSF PACI Grid Access Grid NorduGrid Korzyści z obliczeń gridowych • Użycie zasobów rozproszonych po całym świecie – Dostęp do większej mocy obliczeniowej – Lepszy dostęp do danych – Użycie nadmiarowych cykli • Obliczenia na nowym poziomie złożoności i nowej skali • Lepsza współpraca wirtualnych organizacji (grup organizacji wykorzystujących grida do współdzielenia zasobów) Stan bieżący • Dziesiątki projektów gridowych do obliczeń naukowych i technicznych w akademickich środowiskach badawczych • Porozumienie w kwestii kluczowych pojęć i technologii (Global Grid Forum) • Open source Globus Toolkit – standard głównych protokołów i usług • Dużo pieniędzy idzie na różnego rodzaju projekty gridowe • Gwałtownie rośnie zainteresowanie biznesu • Dalsza potrzeba rozwijania standardów udostępniania usług gridowych • Wymaga znacznego szkolenia użytkowników Przygotowanie programu do wykonania na gridzie • Mnóstwo pracy z przygotowaniem programu • trzeba zaadoptować nowe algorytmy do obliczeń równoległych • trzeba zmienić interfejs użytkownika • Trzeba budować program na innej architekturze • Trzeba przesłać program i dane na różne komputery • Kwestie bezpieczeństwa i licencji • Wymaga biegłości w administrowaniu • W większości oparta na systemach uniksowych Jak przebiega wykonanie programu na gridzie • Użytkownik dostarcza żądanie poprzez GUI • program • system operacyjny i inne wymagania • dane wejściowe • Grid odnajduje i przydziela zasoby w celu spełnienia żądania • Grid monitoruje realizację żądania • przenosi zadanie, gdy zasoby staną się niedostępne lub ulegną awarii • Grid zawiadamia użytkownika, gdy wyniki są gotowe Warstwy oprogramowania Przeglądarka lub okno shellowe (interfejs użytkownika) Klient Globus na stacji roboczej użytkownika (dostarcz zadanie) Serwer Globus na węźle Master (zarządca zadań) Zarządcy kolejek i planiści na węźle Master Programy wykonywane na klastrach grida Rozwój gridowych standardów Managed shared virtual systems Research Open Grid Services Arch Web services, etc. Internet standards Custom solutions 1990 Real standards Multiple implementations Globus Toolkit Defacto standard Single implementation 1995 2000 2005 Slide courtesy of Ian Foster, Argonne National Labs 2010 Przykład usługi gridowej 1a. Request to Registry for sources of data about “x” 1b. Registry responds with Factory handle SOAP/HTTP Registry service creation API interactions 2a. Request to Factory for access to database Factory Client 2c. Factory returns handle of GDS to client 3a. Client queries GDS with XPath, SQL, etc 3c. Results of query returned to client as XML 2b. Factory creates GridDataService to manage access Grid Data Service XML / Relationa l database 3b. GDS interacts with database Główne usługi gridowe • Bezpieczeństwo • autentykacja: weryfikowanie tożsamości użytkownika • autoryzacja: ustalanie i wymuszanie praw i przywilejów użytkownika • bezpieczeństwo grida: dostęp poprzez pojedynczy punkt autentykacji ze stacji roboczej użytkownika • Jednolite nazewnictwo: • wymagane w celu przeroczystego dostępu do zasobów niezależnie od ich położenia • musi być unikatowe w całym gridzie • nie należy obarczać użytkowników szczegółami dostępu do zasobów Usługi informacyjne • Information and Data directory services • dostęp do danych i informacji w całym gridzie • standardowe metody dostępu do informacji o obciążeniu procesora, szerokości pasma w sieci, składowych aplikacji • Wykrywanie i udostępnianie zasobów • jak usługa siebie opisuje? • jak się reklamuje? jak informuje gridowych brokerów o swoim istnieniu? • jak znaleźć usługę podają zbiór jej własności? QoS – Quality of Service • Grid składa się z dynamicznych składowych • składowe uruchomione z początkowym zbiorem warunków • jak można zachować te warunki? • analiza zależności • może wymagać migracji • migruj i rozpocznij wykonanie od początku • migruj i kontynuuj z tego samego stanu • zachowaj informację o stanie • punkty kontrolne Inne usługi gridowe • Szeregowanie • aplikacje składają się z różnych części • trzeba je efektywnie szeregować w dostępie do różnych zasobów • Obsługa zdarzeń • Monitorowanie • skąd wiadomo, że składowa nadal żyje: monitory typu heart beat, sieć agentów do monitorowania grida • Obsługa sytuacji awaryjnych i pomoc użytkownikowi • Jednolity interfejs, rozliczanie, współpraca przy współużytkowaniu zasobów Potrzebne są wewnątrz gridowe protokoły • Rozwój protokołów nadzoruje Global Grid Forum • Powstał de facto standard: Globus Toolkit • W trakcie definiowania jest Open Grid Services Architecture (OGSA), która modernizuje i rozszerza protokoły wchodzące w skład Globus Toolkit – jest to odpowiedź na nowe wymagania, także obejmujące usługi webowe • OGSA cieszy się poparciem dużych firm, takich jak IBM, Microsoft, Platform, Sun, Avaki, Entropia, United Devices • W przyszłości żeby zasób mógł stać się częścią grida będzie musiał implementować protokoły OGSA (tak jak zasób dostępny w Internecie musi implementować protokół IP) Otwarte usługi gridowe • Połączenie usług webowych i gridowych • WS-Resource Framework (2004) konwencje określające zarządzanie stanem w celu umożliwienia aplikacjom odszukiwania, sprawdzania i korzystania z zasobów „stanowych” w standardowy sposób • Web services description language (WSDL) Format XML do opisu usług sieciowych jako zbioru punktów końcowych obsługujących komunikaty zawierające informację typu „dokument” lub typu „procedura” • Umożliwia różnorodne implementacje za wspólnym interfejsem • Używa standardów do opisu, odszukania, zarządzania usługą • Globus i inne oprogramowanie gridowe przystosowane do używania OGS Usługi zapewniane przez Globus Toolkit • Bezpieczeństwo (GSI) – usługa bezpieczeństwa (autentykacji) oparta na PKI • Dostarczanie zadań i zarządzanie nimi (GRAM) – jednolite dostarczanie zadań • Usługi informacyjne (MDS) – usługi informacyjne oparte na LDAP • Zarządzanie zdalnymi plikami (GASS) – usługa dostępu do zdalnej pamięci • Katalog zdalnych danych i narzędzia do zarządzania – wspierane przez Globus 2.0 dostarczony w 2002 Przykłady z konferencji TNC2011 • TERENA – http://www.terena.org Trans-European Research and Education Networking Association offers a forum to collaborate, innovate and share knowledge in order to foster the development of Internet technology, infrastructure and services to be used by the research and education community. • TNC2011 – TERENA Networking Conference, Maj 2011 • Dwie ciekawe prezentacje panelowe nt zastosowań gridów Przykłady z konferencji TNC2011 LHC Computing: After the first year with data Ian Bird, CERN Ian Bird will talk about the successful first year of LHC data taking, demonstrating that the Worldwide LHC Computing Grid (WLCG) computing infrastructure is able to support the huge volumes of data and large scale distributed analysis required. His talk will illustrate how the LHC experiments and the 150 or so computing centres involved collaborate successfully, and give a brief overview of the technical implementation of the distributed computing infrastructure, mentioning some of the key successes and lessons learned. Finally, Ian Bird will describe the evolution of the collaboration and the infrastructure to make use of evolving technologies and address areas of concern. Przykłady z konferencji TNC2011 Computer networking and molecular eyes Jaroslav Koča, Central European Institute of Technology The talk will bring us into the micro- and nanoworld, where things like viruses or bacteria are extremely huge objects. It will be shown how these objects may recognize other objects, especially human cells. To be able to influence these nanoworld processes, e.g., to design new antiviral and antibacterial drugs, one has to be able to understand them on molecular and atomic level. Computer simulations and modeling may help substantially within this direction. However, corresponding calculations are usually very intensive and using a grid of computers via networking is a big plus. Podsumowanie i wnioski • Obliczenia gridowe staną się platformą obliczeniową nowej generacji do rozwiązywania problemów dużej skali. • Zarządzanie zasobami jest trudnym zadaniem, gdyż systemy muszą dobrze dostosowywać się do potrzeb, być skalowalne, konkurencyjne, … i zapewniać QoS. • Istnieje już infrastruktura do obsługi przydziału zasobów i sterowania dostępem do nich, u podłoża których leży “obliczeniowa ekonomia” • Kluczem do sukcesu mierzonego liczbą gridowych zastosowań jest istnienie łatwych w użyciu narzędzi do tworzenia gridowych aplikacji