Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

GRMS - System Zarządzania Zadaniami Interfejs użytkownika systemu GRMS - wprowadzenie Bogdan Ludwiczak

Podobne prezentacje


Prezentacja na temat: "GRMS - System Zarządzania Zadaniami Interfejs użytkownika systemu GRMS - wprowadzenie Bogdan Ludwiczak"— Zapis prezentacji:

1 GRMS - System Zarządzania Zadaniami Interfejs użytkownika systemu GRMS - wprowadzenie Bogdan Ludwiczak

2 GRMS co to jest / do czego to służy? GRMS jest systemem szeregowania zadań dla dużych, rozproszonych systemów obliczeniowych, Główny cel: zarządzać całym procesem obsługi zadań obliczeniowych użytkowników w sposób satysfakcjonujący użytkowników (właścicieli zadań) przy spełnieniu wymagań zasobowych aplikacji, Jednocześnie administratorzy zasobów (właściciele zasobów) zachowują pełną kontrolę nad zasobami wykonującymi obliczenia.

3 GRMS co to jest / do czego to służy? Przygotowany z myślą o wyzwaniach środowisk typu Grid: –Równoważenie obciążenia między klastrami, –Zdalne zlecanie i kontrola zadań, –Przygotowywanie środowiska wykonawczego zadania przed jego uruchomieniem, –Kopiowanie plików użytkownika (files staging), –Współpraca z innymi serwisami (CDMS, system monitorujący itp.) –... Stworzony w oparciu o mechanizmy dynamicznego odkrywania i wyboru zasobów, zaawansowane algorytmy mapowania i szeregowania zadań w środowiskach typu Grid

4 System GRMS – Funkcjonalność uruchamianie zadań użytkownika listowanie zadań użytkownika z uwzględnieniem zadanych kryteriów zarządzanie zadaniami pobieranie informacji o zadaniach znajdowanie zasobów spełniających wymagania użytkownika notyfikacja funkcje pomocnicze

5 Uruchamianie zadań użytkownika (job submission) najistotniejsza część funkcjonalności zdolność zapuszczenia zadania na zdalnej maszynie –najlepiej spełniającej wymagania użytkownika –lub na maszynie wskazanej z góry przez użytkownika

6 Uruchamianie zadań użytkownika - funkcje submitJob – podstawowa funkcja całego systemu migrateJob – przeniesienie uruchomionego zadania na zasób na którym zadanie będzie wykonywane z lepszą wydajnością suspendJob – zawieszenie wykonywania zadani resumeJob – wznowienie zawieszonego zadania cancelJob – zatrzymanie zadania

7 listowanie zadań użytkownika getJobsList – zwraca listę (identyfikatorów) zadań należących do użytkownika, opcjonalnie listę można ograniczyć tylko do zadań o zadanym statusie

8 Cykl życia zadania

9 Stany zadania w systemie GRMS QUEUED – zadanie zostało odebrane i oczekuje na obsługę, PREPROCESSING – GRMS wykonuje pewne kroki niezbędne przed uruchomienie zadania – wyszukiwanie zasobów, przenoszenie plików, itp.. PENDING – zadanie oczekuje w systemie kolejkowym w stanie pending RUNNING – zadanie jest wykonywane, STOPPED – zadanie zakończyło się lub zostało zcheckpointowane, ale GRMS nie pobrał jeszcze jego plików wyjściowych

10 Stany zadania w systemie GRMS c.d. POSTPROCESSING – GRMS wykonuje pewne kroki po zakończeniu wykonywania zadania, np.: pobieranie plików wyjściowych, czyszczenie katalogu roboczego, itp.. FINISHED – zadanie zostało zakończone, SUSPENDED – zadanie zostało zawieszone, FAILED – wykonanie zadania nie powiodło się CANCELED – zadanie zostało usunięte przez użytkownika

11 GRMS_JOB_ID Każde zadanie w systemie GRMS w momencie zlecenia otrzymuje unikalny identyfikator: GRMS_JOB_ID Wszelkie operacje na zadaniu wymagają podania jego GRMS_JOB_ID Uruchomione zadanie może pobrać swoje własne GRMS_JOB_ID z odpowiedniej zmiennej środowiskowej ustawionej przez GRMS’a

12 Zarządzanie zadaniami Rejestrowanie zadania w GRMS dla checkpointingu dynamiczne zarządzanie plikami wyjściowymi i checkpointowymi

13 Zarządzanie zadaniami - funkcje registerApplicationAccess – rejestrowanie danych potrzebnych do checkpointowania zadania. (GRMS_JOB_ID, Web Service) addOutputFileDirs, addCheckpointFileDirs – dynamiczne rejestrowanie plików i katalogów wyjściowych i checkpointowych getOutputFileDirs, getCheckpointFileDirs – pobieranie listy plików wyjściowych i checkpointowych danego zadania, deleteOutputFileDirs, deleteCheckpointFileDirs – wyrejestrowywanie plików

14 Pobieranie informacji o zadaniach Pobieranie złożonych informacji o zadaniu getJobInfo – czas zlecenia, status, czas zakończenia, opis stanu, długość historii i ostatni wspis w historii), getJobHistory – tablica informacji związanych z historią przetwarzania zadanie (opis zadania, czas uruchomienia, czas zlecenia i zakończenia itp.).

15 Znajdowanie zasobów GRMS zwraca listę zasobów spełniających wymagania użytkownika wymagania specyfikowane są przy użyciu tego samego języka co przy uruchamianiu zadań findResources – zwraca listę zasobów w formie JMC

16 Notyfikacja Jeśli klient (n.p. portal) lub serwis chcą byś informowane przez GRMS’a n.p. o zmianach stanu zadania to muszą zaimplementować interfejs notyfikacji i zarejestrować się w GRMS’ie registerNotification unregisterNotification

17 Funkcje pomocnicze testJobDescription – weryfikowanie poprawności opisu zadania i/lub wymagań zasobowych

18 GRMS Job Description (GJD) Zadania I ich wymagania zasobowe definiowane są przy pomocy języka GJD. Opis ten jest dokumentem XML zgodnym ze schemą GJD. Elementy dostępne w GJD –job executable: lokalizacja pliku binarnego, argumenty wywołania, pliki które muszą być dotępne w katalogu roboczym aplikacji, zmienne środowiskowe,

19 GRMS Job Description (GJD)(c.d.) standard input, standard output, standard error, checkpoint definition, –Wymagania zasobowe: nazwa hosta na którym zadanie ma być wykonane (jeśli jest określona to GRMS nie wykorzystuje wew. algorytmów rozdziału zasobów), system operacyjny, lokalny system kolejkowy(lsf, pbs, condor, itp.), minimalna pamięć,

20 GRMS Job Description (GJD)(c.d.) minimalna liczba procesorów, minimalna prędkość procesorów, parametry sieciowe (bandwidth, latency and capacity), i inne Pliki mogą być specyfikowane jako URL’e gridFTP i GASS oraz indentyfikatory systemu zarządzania danymi (np. CDMS)

21 Krótki przegląd specyfikacji GDJ - główny element GJD, zawiera atrybut "appid" który jest identyfikatorem przypisywanym zadaniu przez użytkownika. Element ten musi zawierać jeden element

22 Specyfikacja GDJ c.d. - opisuje “simple job”, które jest plikiem wykonywalnym i zbiorem parametrów (executable parameters, standard input, output and error streams, environment variables etc.). Opcjonalnie opisuje wymagania zasobowe zadania. musi zawierać element oraz opcjonalnie jeden.

23 Specyfikacja GDJ c.d. opisuje wymagania zasobowe zadania. –Opis wymagań może opcjonalnie zawierać elementy takie jak: typ systemy operacyjnego, nazwa systemu operacyjneg, nazwa host na którym ma zostać wykonane zadanie, system kolejkowy ("fork" (domyślnie), "lsf", "pbs", "sge", “condor”) minimalny rozmiar pamięci w MB, minimalna liczba procesorów, minimalna prędkość procesorów,, parametry sieciowe

24 Specyfikacja GDJ c.d. Jeśli aplikacja nie została wcześnie „zainstalowana” na wszystkich dostępnych maszynach obliczeniowych to wymagania zasobowe powinny zawierać informacje o systemie operacyjnym dla którego ją skompilowano lub nazwę maszyny na której powinna zostać wykonana.

25 Specyfikacja GDJ c.d. opis pliku wykonywalnego aplikacji. Zawiera atrybuty “type” and “count” attributes oraz musi posiadać jeden element. Opcjonalnie zawiera elementy,,,,, i. –Atrybut “count” oznacza liczbę wykonań aplikacji. –Atrybut “type” oznacza sposób w jaki jobmanager ma uruchomić aplikację: single, multiple, mpi.

26 Przykłady opisu zadań Najprostszy opis programu, który nie potrzebuje żadnych argumentów, nie ma wymagań zasobowych, a użytkownik nie jest zainteresowany otrzymaniem wyników programu: file:////bin/date

27 Zadanie identyczne z poprzednim z tym, że program ma być wykonany na określonej przez użytkownika maszynie: access.pcss.clusterix.pl file:////bin/date

28 Ponownie /bin/date z tym że wykonane na maszynie z systemem Linux I co najmniej dwoma procesorami: Linux 2 file:////bin/date

29 Aby wykonanie zadania zostało poprzedzone pobraniem pliku wykonywalnego z określonej lokalizacji należy użyć znacznika gsiftp:// access.pcss.clusterix.pl/~/date

30 Argumenty wywołania programu przekazywane są w elementach zawartych w sekcji section. GJD dla “/bin/echo Hello World”: file:////bin/echo Hello World!

31 Jeśli program potrzebuje określonych plików w swoim katalogu roboczym to należy to opisać przy pomocy elementów tylu “in”: file:////bin/cat file.log gsiftp://access.pcss.clusterix.pl/~/examples/file.log

32 Jeśli użytkownik chce pobrać pliki wygenerowane przez program to musi to opisać w sekcji przy pomocy elementów typu “out”. file:////bin/tar cfv file.tar report gsiftp:// access.pcss.clusterix.pl/~/examples/report gsiftp:// access.pcss.clusterix.pl/~/examples/report.tar

33 Jeśli program pobiera pewne dane ze stdin to należy to opisać przy pomocy znacznika tag. file:////bin/cat gsiftp://access.pcss.clusterix.pl/~/examples/stdin_file

34 Dostęp do GRMSa (klienty): interfejst web-service’owy –(zaawansowane aplikacje) klient linii komend klient dla urządzeń mobilnych Portal

35 Klient linii komend

36 Klient linii komend w Javie (c.d.) grid-proxy-init grms-client –grms-client submit –grms-client migrate [ ] –grms-client suspend [ ] –grms-client resume [ ] –grms-client cancel –grms-client list [QUEUED | PREPROCESSING | PENDING | RUNNING | STOPPED | POSTPROCESSING | FINISHED | SUSPENDED | FAILED | CANCELED] –grms-client list_all QUEUED | PREPROCESSING | PENDING | RUNNING | STOPPED | POSTPROCESSING | FINISHED | SUSPENDED | FAILED | CANCELED

37 –grms-client register –grms-client info –grms-client history –grms-client resources –grms-client test –grms-client add_listener [STATUS | REQUEST] [PROFILE | SMS | MAIL] [user] –grms-client del_listener –grms-client add_output [PHYSICAL | LOGICAL] [FILE | DIRECTORY] –grms-client get_output –grms-client del_output [PHYSICAL | LOGICAL] [FILE | DIRECTORY] –grms-client add_output [PHYSICAL | LOGICAL] [FILE | DIRECTORY] –grms-client get_output –grms-client del_output [PHYSICAL | LOGICAL] [FILE | DIRECTORY] –grms-client description [SHORT | FULL]

38 Portal

39 Klient mobilny

40 Zadania MPICH-G2 Typ zadania = mpichg Liczba procesów -> atrybut count Wymagania zasobowe: –W chwili obecnej specyfikować wprost nazwy maszyn –suma tailSize’ów = count

41

42 Dodatkowe informacje i materiały


Pobierz ppt "GRMS - System Zarządzania Zadaniami Interfejs użytkownika systemu GRMS - wprowadzenie Bogdan Ludwiczak"

Podobne prezentacje


Reklamy Google