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