Piotr Dziubecki - Zorientowany na użytkownika portal gridowy dla
Transkrypt
Piotr Dziubecki - Zorientowany na użytkownika portal gridowy dla
Zorientowany na użytkownika portal gridowy dla dopasowania dużych zbiorów sekwencji Piotr Dziubecki1 1 Wydział Inżynierii Mechanicznej i Informatyki Kierunek Informatyka, Rok V [email protected] Streszczenie Wobec ciagłego ˛ wzrostu ilości przetwarzanych danych, coraz wi˛eksza˛ popularność zdobywa wykorzystanie zasobów rozproszonych. Celem tej pracy jest wykorzystanie infrastruktury typu „Grid” w bioinformatyce. Dzisiaj termin ten obejmuje zarówno skoordynowane współdzielenie zasobów, jak i model przetwarzania danych i prowadzenia obliczeń. Niestety, obecnie dost˛ep do tego rodzaju zasobów i wykorzystujacych ˛ je aplikacji jest problematyczny, z punktu widzenia osoby nie posiadajacej ˛ specjalistycznej wiedzy w tym zakresie. Ogranicza to znacznie grono użytkowników docelowych. Celem tego projektu jest stworzenie systemu umożliwiajacego ˛ przeprowadzanie obliczeń zwiazanych ˛ z zagadnieniem dopasowania wielu sekwencji genetycznych. Został on tak zaprojektowany, by ukryć warstw˛e konfiguracji i obsługi systemów gridu przed użytkownikiem. Otrzymał on intuicyjny interfejs, który jednocześnie udost˛epnia pełna˛ funkcjonalność aplikacji oraz zasobów. 1 Wst˛ep Naukowcy nieustannie pracuja˛ nad nowymi podejściami, które b˛eda˛ w stanie rozwia˛ zywać złożone problemy inżynierskie. Dzi˛eki wzrostowi mocy obliczeniowej współczesnych komputerów, możliwe jest tworzenie coraz bardziej wyrafinowanych narz˛edzi. Obecnie jesteśmy świadkami przełomu, jaki dokonuje si˛e w zwiazku ˛ z dost˛epem do zasobów rozproszonych o ogromnych mocach obliczeniowych. 1.1 Wymagania stawiane przez bioinformatyk˛e Współczesne zadania z dziedziny biologii sa˛ ściśle zwiazane ˛ z bioinformatyka˛ i z biologia˛ obliczeniowa.˛ Według The National Institutes of Health’s Biomedical Information and Technology Initiative Consortium [1] te dwa poj˛ecia można zdefiniować jako: Bioinformatyka: badania, rozwój i zastosowanie technik obliczeniowych i podejść stworzonych, by efektywniej wykorzystywać dane biologiczne, medyczne, behawioralne.. 1 Biologia obliczeniowa: badania i zastosowanie teorii, metod analizujacych ˛ dane, matematycznego modelowania, technik symulacji obliczeniowej w celu poznawania systemów biologicznych. Obecnie niemożliwe jest rozwiazywanie ˛ problemów, z jakimi zmaga si˛e współczesna biologia bez zaangażowania bioinformatyki i biologii obliczeniowej [2]. Dobrym tego przykładem jest chociażby opublikowanie mapy ludzkiego genomu w 2001 roku. To wydarzenie, ogłoszone jako przełom w badaniach zwiazanych ˛ z genetyka,˛ w rzeczywistości przyczyniło si˛e do otrzymania ogromnej ilości nieprzetworzonych danych. Nasze możliwości zwiazane ˛ z transformacja˛ tych danych w użyteczna˛ informacj˛e sa˛ wcia˛ż niewystarczajace ˛ i realizacja takich zadań jest jednym z głównych celów bioinformatyki i biologii obliczeniowej. Celem prezentowanego projektu jest opracowanie interfejsu webowego, udost˛epniajacego ˛ funkcjonalność aplikacji zwiazanymi ˛ z zagadnieniem dopasowania sekwencji Multiple Sequence Alignment (MSA). Obliczenia zwiazane ˛ z tym problemem wymagaja˛ dużej mocy obliczeniowej do efektywnego działania. Na przykład, General Tree Alignment (GTA), przy którym obliczenia zwiazane ˛ z MSA sa˛ warunkiem wst˛epnym, jest problemem klasy Max - SNP - Hard. W praktyce oznacza to, że np. obliczenie dopasowania zbioru 1024 sekwencji na 32 w˛ezłach klastra, gdzie każdy w˛ezeł wyposażony w procesor Itanium2 900 MHz i 3 GB pami˛eci RAM, może być mierzone w dniach [3]. 1.2 Dost˛ep do zasobów W obliczu takich skali czasowych, korzystanie z rozproszonych zasobów jest jednym rozsadnym ˛ wyjściem. Niestety, obecnie dost˛ep oraz swobodne poruszanie si˛e w tym środowisku wymaga niedost˛epnej wszystkim biologom wiedzy, dotyczacej ˛ zagadnień zwiazanych ˛ z bezpieczeństwem, autoryzacja˛ czy choćby z podstawowa˛ znajomościa˛ pisania skryptów w j˛ezyku powłoki. Użytkownik również musi być świadomy, jakie ograniczenia ma użytkowany przez niego system (ograniczenia zwiazane ˛ z wykorzystaniem pami˛eci, liczby w˛ezłów, rezerwacji czasu itp.). Powyższe wymagania stały si˛e podstawa˛ specyfikacji tego projektu. Zakłada ona ukrycie przed użytkownikiem, za pomoca˛ dost˛epnych technologii (omówionych później), szczegółów technicznych zwiazanych ˛ z komunikacja˛ z zasobami obliczeniowymi. Nie wia˛ ż˛e si˛e to jednak z ograniczeniem funkcjonalności oferowanej przez aplikacje zwiazane ˛ z MSA. Głównym powodem powstania tego rodzaju projektu jest ścisła zależność pomi˛edzy stopniem, w którym jest wykorzystywane oprogramowanie bioinformatyczne, jako naturalny aspekt metod badawczych, a przyjaznemu interfejsowi użytkownika tegoż oprogramowania. 2 Rozwiazania ˛ stosowane obecnie Portale zbliżone funkcjonalnościa˛ i postawionymi przed nimi zadaniami, skupiaja˛ sie obecnie głównie na samym udost˛epnianiu zasobów, przy minimalnym poziomie zabezpieczeń. Poniżej zostana˛ zaprezentowane trzy rozwiazania, ˛ z których każde kładzie na nacisk na inny aspekt systemu. 2 2.1 PARALIGN Jest to projekt rozwijany przez naukowców z University of Oslo. Składa si˛e on z dwóch cz˛eści: implementacji dwóch algorytmów (accelerated Smith-Waterman i heurystycznego Paralign) oraz webowego interfejsu (www.paralign.org). Algorytmy sa˛ również dost˛epne w postaci samodzielnej aplikacji. Zastosowano tu szereg innowacyjnych rozwiazań ˛ (accelerated Smith-Waterman wykorzystuje instrukcje procesorów MMX, SSE czy AltiVec w celu optymalnego wykorzystania zasobów przy przeszukiwaniu baz danych sekwencji). Algorytm Paralign działa w środowisku rozproszonym: najpierw dzieli zadania pomi˛edzy poszczególne w˛ezły klastra, nast˛epnie zbiera wyniki czastkowe ˛ na jednym z w˛ezłów, po czym przekazuje je do web serwera [4]. Sam interfejs web został zaprojektowany, aby umożliwiać zgłaszanie zadań do systemu kolejkowego (TORQUE) klastra. Dost˛ep do tych zasobów jest publiczny, bez mechanizmów identyfikujacych ˛ użytkownika, czy zapewniajacych ˛ podstawowe bezpieczeństwo podczas użytkowania portalu (poza walidacja˛ danych wejściowych). Same dane moga˛ być wprowadzane przez użytkownika, moga˛ też być wykorzystywane bazy danych (umieszczone na serwerze i replikowane na w˛ezłach klastra). Wedle zapewnień autorów, bazy te sa˛ cotygodniowo, manualnie aktualizowane. 2.2 EBI tools - interfejs dla ClustalW Jest to cz˛eść dużego serwisu poświ˛econemu bioinformatyce, tworzonego przez European Bioinformatics Institute (EBI) [5]. Rozwini˛eto tu wiele użytecznych narz˛edzi z dziedziny biologii. Mimo, że obecnie serwis ten nie wspiera bezpośrednio technologii zwiazanych ˛ z wykorzystaniem zasobów rozproszonych, jest on warty wspomnienia ze wzgl˛edu na dopracowany interfejs użytkownika. Jest to przykład na wzorcowe zastosowanie technik zorientowanych na użytkownika, nie zapomniano tu o zasadach ergonomii jak i o spójnym układzie graficznym serwisu (Rys. 1). Rys. 1: EBI - ClustalW. Ciekawym zabiegiem jest stworzenie “tematycznych” sekcji, które grupuja˛ pewne kla3 sy powiazanych ˛ ze soba˛ parametrów. Oszcz˛edza to niewatpliwie ˛ czas użytkownika, który prowadzony jest poprzez kolejne etapy, aż do odebrania wyników. Jednak także i tu, nie znalazły miejsca mechanizmy zwiazane ˛ z bezpieczeństwem i autoryzacja,˛ co stwarza zagrożenie w postaci ewentualnych ataków anonimowych użytkowników. 2.3 GPS@: bioinformatic Web portal GPS@ jest projektem realizowanym przez zespół z Institute of Biology and Chemistry of Proteins z Lyonu. Jest to rozszerzenie uznanego serwisu NPS@, sami autorzy nazywaja˛ ten proces “ugridowieniem”. Zadania serwisu skupiaja˛ si˛e na mi˛edzy innymi: zagadnieniach bioinformatycznych, medyczna˛ wizualizacja˛ i innymi dziedzinami zwiazanymi ˛ ze zdrowiem. Implementacja tych serwisów w środowisku rozproszonym stała si˛e możliwa dzi˛eki projektowi Enabling Grids for E-Science (EGEE). Z założenia system ten b˛edzie wspierał szeroka˛ gam˛e aplikacji (cz˛eść b˛edzie dostarczona od razu, cz˛eść b˛edzie dostarczona przez partnerów projektu, reszta na drodze kwalifikacji) [6]. Obecna działajaca ˛ wersja systemu jest dost˛epna pod adresem http://gpsa-pbil.ibcp.fr/. Głównymi założeniami systemu było pozostawienie dotychczasowego interfejsu użytkownika, brak ingerencji w kod udost˛epnianych aplikacji, automatyczna replikacj˛e danych na potrzebne w˛ezły systemu. Mimo, że mamy tu do czynienia z migracja˛ serwisu w środowisko rozproszone, postawione zostały tu zupełne inne wymagania, zamiast nacisku na zwi˛ekszenie wydajności - wydajniejsze składowanie wi˛ekszej ilości danych biologicznych. W obecnym stadium rozwoju również nie uwzgl˛edniono mechanizmów autoryzacji, użytkownicy sa˛ zaledwie identyfikowani przez ich adres IP, w przyszłości autorzy zakładaja˛ dodanie procedur zwi˛ekszajacych ˛ bezpieczeństwo [6]. 3 Projekt portalu Poniższy schemat portalu (Rys. 2) przedstawia struktur˛e i hierarchi˛e poszczególnych warstw systemu, które zostana˛ scharakteryzowane w dalszej cz˛eści rozdziału. Tomcat Containter Globus Toolkit + MyProxy GridSphere Framework Java Cog GridPortlets + Interface MSA Applications Grid System Server Rys. 2: Struktura portalu. 4 3.1 Warstwa Grid Określenie ’Grid’ powstało ok. roku 1990 jako termin oznaczajacy ˛ infrastruktur˛e dla obliczeń rozproszonych, majac ˛ a˛ zastosowanie w zaawansowanych badaniach naukowych i inżynierii. Obecnie termin ten obejmuje zarówno skoordynowane współdzielenie zasobów, jak i model przetwarzania danych i prowadzenia obliczeń [7]. Systemy typu Grid powstały, by zunifikować zasady bezpiecznego współdzielenia i zarzadzania ˛ zasobami. W tym celu zostały stworzone nowe protokoły, serwisy i narz˛edzia radzace ˛ sobie z wyzwaniami jakie stwarza budowanie i zarzadzanie ˛ zasobami. Te technologie zawieraja˛ mechanizmy bezpieczeństwa, wspierajace ˛ zarzadzanie ˛ tożsamościami i polityka˛ obliczeń wykonywanych przez wielu użytkowników równocześnie; systemów zarzadzaj ˛ acych ˛ danymi, umożliwiajacych ˛ transport danych mi˛edzy zbiorami danych, a aplikacjami [8]. Zadania określone powyżej realizowane sa˛ przez oprogramowanie nazywane middleware [8]. W tym przypadku jest to Globus Toolkit, który jest właśnie zbiorem takich narz˛edzi. Zapewnia on również zbiór implementacji funkcji, narz˛edzia do budowania Web services, podstawowe struktury zwiazane ˛ z bezpieczeństwem, API dla klientów i programy do dost˛epu do wcześniej wymienionych elementów. Jednym z najważniejszych, jeżeli nie najważniejszym elementem tego pakietu jest GRAM (Grid Resource and Administration Manager), który jest odpowiedzialny za przetwarzanie i zarzadzanie ˛ zadaniami zgłaszanymi przez użytkownika oraz monitorowaniem i alokacja˛ zasobów. Co wi˛ecej GRAM oferuje API dla Web services umożliwiajace ˛ zdalne zarzadzanie ˛ zadaniami (zgłaszanie, kasowanie, sprawdzanie statusu zadań). Właśnie z GRAM’em komunikuje si˛e poprzez pakiet Java Cog opisywany portal w celu uzyskania, czy też wysłania wszystkich informacji niezb˛ednych do wykonywania zadań użytkownika. Globus Toolkit zawiera kompleksowy zestaw komponentów, również jeżeli chodzi o bezpieczeństwo i autoryzacj˛e, odpowiednio: • za autoryzacje odpowiada: Grid-Mapfile/SAML • delegacja proxy: Certyfikaty Proxy standardu X.509 • uwierzytelnianie: Certyfikaty ID standardu X.509 Najnowsze wersje tego oprogramowania zawieraja˛ w sobie MyProxy [9] - system zarzadzaj ˛ acymi ˛ tożsamościami (ang. credentials) użytkowników. Umożliwia on delegowanie tymczasowych certyfikatów do zdalnego repozytorium, co pozwala na dost˛ep do zasobów użytkownikom, czy aplikacjom znajdujacych ˛ si˛e “na zewnatrz” ˛ systemu (np. b˛eda˛ cych poza domena). ˛ W trakcie osadzania (ang. deployment) portalu niezb˛edna jest wiedza dotyczaca ˛ parametrów konfiguracji serwera MyProxy. W opisywanym systemie serwer zabrania pobierania tymczasowych proxy przez anonimowych użytkowników i z racji tego potrzebny był dodatkowy certyfikat, tzw. host certificate, umożliwiajacy ˛ pobieranie proxy bez hasła. Dzi˛eki niemu serwisy działajace ˛ w ramach portalu sa˛ w stanie przeprowadzić operacj˛e uwierzytelniania poprzez Java Cog na w˛eźle dost˛epowym maszyny docelowej (ang. front end server). 5 3.2 Warstwa portalu Jak widać na Rys. 2 całość oparta jest na serwerze Tomcat - tu pełni on funkcj˛e pojemnika na serwlety. W nim osadzony jest framework GridSphere [10], narz˛edzie wspieraja˛ ce technologi˛e portletów (zarówno standard JSR 168 jak i standard WebSphere’a firmy IBM). Ten zbiór oprogramowania udost˛epnia spójny zbiór funkcji oraz API dla projektowania aplikacji typu web. W podstawowej wersji sa˛ to podstawowe elementy umożliwiajace ˛ zarówno budowanie cz˛eści wizualnej portalu (m.in. tzw. tagi, których używa si˛e analogicznie jak Java Beans), jak i tworzenie logiki biznesowej w oparciu o dostarczone wzorce projektowe (singleton & factory). Jednakże by wykorzystać to oprogramowanie w celu stworzenia portalu umożliwiajacego ˛ dost˛ep do zasobów typu grid (ang. grid-aware) należy skorzystać z pakietu portletów GridPortlets [10]. Jest to projekt stworzony przy wykorzystaniu framework’u GridSphere, dostarczajacy ˛ w pełni konfigurowalny zbiór serwisów i portletów odpowiedzialnych za komunikacj˛e ze zdalnymi zasobami. Istota tego oprogramowania polega na tym, że jest to niejako rozszerzenie funkcjonalności podstawowego framework’u. Sam autor zaznacza, że dostarczone wraz z pakietem aplikacje sa˛ tylko przykładowym wykorzystaniem API GridPortlets. Projektant portalu dostaje narz˛edzia pozwalajace ˛ na zbudowanie portalu w pełni korzystajacego ˛ z dodatkowych możliwości zwiazanych ˛ z operowaniem na zasobach rozproszonych. Jednocześnie nie musi on od poczatku ˛ tworzyć potrzebnej do tego warstwy oprogramowania. Oczywiście, wia˛że si˛e to z dostosowaniem do zaproponowanych przez autora pakietu konwencji, jednak w przypadku zestawu GridSphere + GridPortlets można tu mówić o przemyślanym projekcie ze stabilna i wewn˛etrznie spójna struktura.˛ Na podstawie dostarczonych narz˛edzi oraz elementów budowany jest interfejs portalu, obecnie b˛edzie to interfejs sprofilowany dla programu ClustalW-MPI [11] - zrównoleglonej wersji programu ClustalW. Ta aplikacja została wybrana, ze wzgl˛edu na jej wzorcowy charakter, zarówno jeżeli chodzi o jej interfejs, jak i obliczane przez nia˛ dopasowania (cz˛esto pojawiajace ˛ si˛e jako referencyjne w testach podobnych aplikacji). Użytkownik obecnie może korzystać z baz danych zgromadzonych na serwerze, lub dostarczyć własne sekwencje do analizy i dopasowania. Na obecnym etapie użytkownik docelowy, by wykorzystać portal w celu przeprowadzenia swoich obliczeń, musi jedynie wydelegować swoje proxy do zdalnego repozytorium z poziomu w˛ezła dost˛epowego na gridzie. Zwykle okres ważności takiego tymczasowego certyfikatu wynosi siedem dni, wi˛ec czynność ta nie powinna być aż nadto ucia˛żliwa. Cała reszta zwiazana ˛ z zarzadzaniem ˛ danymi, zgłaszaniem zadań odbywać si˛e b˛edzie z poziomu portalu (Rys. 3). Obecnie prowadzone sa˛ prace nad pełnym wykorzystaniem API (pojawiły si˛e nowe stabilne wersje oprogramowania, rozszerzajace ˛ oferowany zakres funkcji) oraz nad ergonomia˛ interfejsu. Ostatnim etapem b˛edzie opracowanie szaty graficznej. Powodem takiej kolejności jest zapewniony przez GridSphere system tematów graficznych dla aplikacji, opartych na plikach xml. Dzi˛eki temu projektant jest w stanie zaplanować układ graficzny całości odpowiednio wcześniej, a do zadań grafika należy odpowiednie wypełnienie luk w interfejsie. 6 Rys. 3: Interfejs portalu - zarzadzanie ˛ plikami. 4 Podsumowanie Należy wspomnieć tu o ważnym aspekcie dotyczacym ˛ projektowania i budowy omawianego portalu. Otóż wi˛ekszość jego elementów jest obecnie intensywnie rozwijana, co skutkuje problemami przy współdziałaniu poszczególnych elementów. Jest to jednak rekompensowane szybka˛ reakcja˛ deweloperów pracujacych ˛ nad tym oprogramowaniem, w przypadku zgłoszenia problemu lub bł˛edu. Na obecnym etapie można stwierdzić, że jest to obiecujaca ˛ platforma, która wyznacza właściwy kierunek rozwoju tego typu aplikacji. Dzi˛eki modularnej budowie, można w wzgl˛ednie łatwy sposób wymieniać poszczególne elementy, czego dobrym przykładem jest system GAMA [13], który prawdopodobnie w najbliższym czasie zastapi ˛ MyProxy i zupełnie wyeliminuje kontakt docelowego użytkownika z konsola.˛ W przyszłości planowane jest dodanie obsługi meta-schedulera GRMS [12], dzi˛eki temu można uzyskać dost˛ep do systemów klasy Clusterix oferujacych ˛ wi˛eksza˛ moc przetwarzania. W planach jest również kompleksowa obsługa baz danych, z możliwościa˛ ich aktualizacji i replikacji przy wykorzystaniu Web services. Aby zwi˛ekszyć funkcjonalność oferowanych użytkownikowi narz˛edzi, należy si˛e również skupić na możliwości natychmiastowej analizy otrzymanych wyników, chociażby dodajac ˛ możliwość obsługi wyników przez program JalView. Literatura [1] Biological Information Science and Technology Consortium Definition Committee. National Institutes of Health working definition of bioinformatics and computational biology, http://www.bisti.nih.gov/CompuBioDef.pdf, 2000. [2] D. Bader. Computational biology and high-performance computing. Communication of the ACM, 47:3540, 2004. [3] J. Żola, Parallel Server for Multiple Sequence Alignment, PhD thesis, INPG Grenoble, France, 2005. 7 [4] PARALIGN: Rapid and Sensitive Sequence Similarity Searches Powered by Parallel Computing Technology, Nucleic Acids Research, 2005. [5] EBI - strona domowa, http://www.ebi.ac.uk/, 2006. [6] GPS@: Bioinformatics grid portal for protein sequence analysis on EGEE grid, egee.pnpi.nw.ru/presentation/06.03.01.egeeUF.GPSA.pdf, 2006. [7] The Anatomy of the Grid: Enabling Scalable Virtual Organizations, Lecture Notes in Computer Science, 2001. [8] Globus Toolkit Version 4: Software for Service-Oriented Systems, IFIP International Conference on Network and Parallel Computing, Springer-Verlag LNCS 3779, 2005. [9] J. Basney, W. Yurcik, R. Bonilla, and A. Slagell. The Credential Wallet: A Classification of Credential Repositories Highlighting MyProxy. Communication, Information and Internet Policy, 2003. [10] GridSphere and GridPortlets - strona domowa, www.gridsphere.org, 2006. [11] CLUSTALW-MPI - strona domowa, http://web.bii.a-star.edu.sg/ kuobin/clustalg/, 2006. [12] GRMS - strona domowa projektu, http://www.gridlab.org/grms, 2006. [13] GAMA: Grid Account Management Architecture, www.gridsphere.org/gridsphere/html/mardigrasworkshop2005/09_sdsc_gamma.pdf, 2005. 8