Test
System UNICORE zapewnia jednolity, bezpieczny i intuicyjny dostęp do rozproszonych zasobów umożliwiając przeprowadzanie obliczeń oraz symulacji na Gridzie. Za pośrednictwem systemu można również projektować i uruchomiać kaskady zadań, w których wynik jednego podzadania stanowi dane wejściowe do innych podzadań. Aby korzystać ze środowiska UNICORE w PL-Gridzie należy:
Zachęcamy do skorzystania ze szkolenia on-line: System UNICORE w obliczeniach gridowych. Prezentuje ono, krok po kroku, w jaki sposób można pobrać i przygotować do pracy klienta systemu UNICORE oraz wysłać za jego pomocą zadania do wykonania na infrastrukturze PL-Gridu. Na szkolenie zapisać się można za pośrednictwem Portalu
Obecnie dostęp poprzez system UNICORE jest możliwy do systemu komputerowego ICM UW, Cyfronet oraz WCSS.
Punkt pierwszy może zostać pomięty przez zarejestrowanych użytkowników PL-Gridu. Punkt drugi nie dotyczy natomiast osób, które posiadają już odpowiedni certyfikat.
Punkt ten dotyczy jedynie osób, które nie zarejestrowały się jeszcze w Portalu PL-Grid.
Aby zostać użytkownikiem PL-Gridu należy zarejestrować się w Portalu PL-Grid.
Osoby, które posiadają już certyfikat Simple CA lub PL-Grid CA (np. do dostępu do zasobów gridowych poprzez oprogramowanie gLite) mogą przejść do kolejnego kroku.
Użytkownicy PL-Gridu mogą aplikować o osobisty certyfikat X.509 o krajowym zasięgu działania za pośrednictwem Portalu. Wystarczy w tym celu zapoznać się z informacjami dostępnymi w zakładce Moje konto, nacisnąć przycisk wygeneruj certyfikat SimpleCA i postępować zgodnie ze wskazówkami. Certyfikat SimpleCA jest wystarczający do uzyskania dostępu do zasobów PL-Gridu. Dokładny opis procedury znaleźć można w rozdziale: Aplikowanie o certyfikat.
Po uzyskaniu certyfikatu, kolejnym krokiem jest jego rejestracja w Portalu PL-Grid oraz wirtualnej organizacji PL-Grid. Opis czynności można znaleźć w jednej z poprzednich sekcji podręcznika: Rejestracja certyfikatu w przeglądarce oraz Rejestracja w Portalu.
Aby uzyskać dostęp do systemu kolejkowego UNICORE należy aplikować o odpowiednią usługę za pośrednictwem Portalu. W sekcji Usługi globalne zakładki Moje konto znajduje się lista usług. Wybrać należy odnośnik Aplikuj o usługę widoczny przy pozycji Globalny dostęp UNICORE.
W tym momencie należy poczekać na aktywację usługi oraz uaktualnienie danych użytkownika w UVOSie (przybliżony czas oczekiwania to 24 godziny).
Użytkownik ma do wyboru dwie aplikacje klienckie systemu UNICORE: UNICORE Rich Client (URC) oraz UNICORE Commandline Client (UCC).
Oba programy pobrane mogą zostać ze strony projektu http://www.unicore.eu/download/unicore6/. Użytkownik może je rozpakować i uruchamiać na własnym komputerze. Możliwe jest również skorzystanie z tekstowego klienta UCC zainstalowanego na maszynach dostępowych (UI) w poszczególnych ośrodkach.
Do wyboru są zatem następujące metody dostępu:
UNICORE Rich Client jest graficznym klientem systemu UNICORE. Umożliwia on łatwe przygotowywanie i wysyłanie zadań do wykonania na Gridzie. Aplikacja pozwala również na projektowanie kaskad zadań metodą „przeciągnij i upuść” oraz na łatwy dostęp do plików.
Klient URC pobrany może zostać ze strony projektu http://www.unicore.eu/download/unicore6/. Użytkownik powinien rozpakować ściągniętą paczkę z oprogramowaniem, a następnie skonfigurować dostęp. Poniższa procedura opisuje sposób utworzenia keystore'a, dodania do niego zaufanych certyfikatów oraz utworzenia wpisu Rejestru w graficznym kliencie systemu UNICORE.
W sytuacji, gdy użytkownik posiada certyfikat i klucz prywatny w postaci paczki PKCS12 (plik z rozszerzeniem .p12), należy:
URC/UNICORE_Rich_Client.exe
, gdzie URC jest ścieżką dostępu do rozpakowanego katalogu graficznego klienta systemu UNICORE;Keystore File
należy podać lokalizację i nazwę pliku keystore, który ma zostać utworzony. W kolejno pojawiających się oknach konieczne jest natomiast wpisanie hasła, które zostanie powiązane z plikiem keystore'a;Workbench
;Keystore
, klikając ikonkę plusa, wskazać swój plik z certyfikatem (plik z rozszerzeniem .p12
);Menu Window
, a w nim Download client configuration
;W polu Enter address of client configuration profile
jeden z dwóch adresów:
https://unicore.grid.icm.edu.pl:8443/ccm/plgrid-profile-icm.xml https://unicore.grid.icm.edu.pl:8443/ccm/plgrid-profile-wcss.xml
Enter fingerprint
:
20:3E:60:DE:4A:FF:6D:47:91:BB:87:E7:D3:DD:33:FA:6B:49:DD:C9
Jeżeli użytkownik posiada już gotowy pęk kluczy (keystore) z zaimportowanym certyfikatem osobistym, zaufanymi certyfikatami oraz wpisanym rejestrem, może go użyć do połączenia się z Gridem. Raz utworzony keystore może być przenoszony np. na pendrivie i wykorzystywany w różnych instancjach klienta URC.
Prezentacje pokazujące szczegóły konfiguracji klienta URC oraz uruchomienie za jego pomocą zadań dostępne są w szkoleniu zdalnym UNICORE, na które zapisać można się za pośrednictwem Portalu.
Klient graficzny pozwala na otworzenie zakładki Details. Należy w tym celu, w menu głównym, wybrać kolejno: Window → Show View → Details
.
W zakładce tej, po zaznaczeniu np. jakiegoś systemu docelowego, pojawią się informacje na jego temat
Aby utworzyć zadanie wystarczy kliknąć prawym przyciskiem myszki bądź na wybranym systemie docelowym, bądź na rejestrze (wówczas aplikacja sama zadecyduje, na którym systemie zadanie zostanie wykonane) i wybrać: create job
.
W zależności od wybranej aplikacji, po wybraniu create job, otwarte zostanie okno zadania. Za jego pomocą przygotować można zadanie. Klikając na ikonkę submitu, wysłać można zadanie do wykonania na Gridzie.
Jeżeli interfejs graficzny zadania nie ma przycisków do uplodu plików import/export plików może być dokonany w zakładce: Files
.
Po wykonaniu zadania, wyniki można pobrać korzystając z odpowiedniego przycisku. Zostaną one wyświetlone z zakładce Output for job
.
Pliki związane z zadaniem (zarówno pliki wynikowe jak i pliki przesłane z zadaniem) zobaczyć można w oknie Grid Browser
. Pliki można otworzyć, usunąć, pobrać na lokalny komputer itp.
Przy wielokrotnym wykorzystywaniu dużego pliku w zadaniach warto jest umieścić go w Storage'u i z tej lokalizacji wykorzystywać w zadaniach. Pliki z lokalnego komputera do Storage'u przenieść można metodą „przeciągnij i upuść”.
Podczas przygotowywania zadania określić można również zasoby z którymi będzie ono wykonane. W zakładce Resources przygotowywanego zadania zobaczyć można ich domyślne wartości oraz dokonać ewentualnej zmiany.
Kaskada zadań umożliwia zadań w pewnej kolejności tak, aby dane wyjściowe jednego programu mogły stanowić dane wejściowe dla innej aplikacji. Graficzny klient systemu UNICORE umożliwia łatwe projektowanie takich kaskad metodą „przeciągnij i upuść”. Poszczególne elementy kaskady przygotowywane są analogicznie do zwykłych zadań.
Szczegóły dotyczące uruchamiania zadań za pośrednictwem klientów systemu UNICORE dostępne są w szkoleniu on-line, na które zapisać się można poprzez Portal PL-Gridu.
UNICORE Commandline Client jest tekstowym klientem systemu UNICORE.
Klient UCC pobrany może zostać ze strony projektu http://www.unicore.eu/download/unicore6/. Ściągnięta paczka może zostać rozpakowana w dowolnej lokalizacji.
Jeżeli użytkownik posiada przygotowany wcześniej pęk kluczy (keystore) z zaimportowanymi certyfikatami i kluczem prywatnym, konfiguracja dostępu do Gridu wymaga:
$HOME/.ucc/
($HOME
oznacza katalog domowy użytkownika, np. poleceniem: mkdir $HOME/.ucc/
);ucc_pliki.zip
preferences
:../certs/user-keystore.jks
na ścieżkę dostępu do keystore'a;password=the!user
;W przeciwnym przypadku, najlepiej jest skorzystać z profilu konfiguracji klienta, który m.in. doinstaluje certyfikaty zaufanych CA oraz rejestry. W tym celu należy:
$HOME/.ucc/
($HOME
oznacza katalog domowy użytkownika);ucc_pliki.zip
.p12
) należy, zgodnie z opisem umieszczonym w rozdziale, konwersja certyfikatu utworzyć odpowiedni plik;preferences
:../certs/user-keystore.jks
na ścieżkę dostępu do paczki PKCS12;password=the!user
;#
) wiersz: storetype=pkcs12
;Sposób uruchomienia programu oraz jego przykładowe użycie pokazane są w szkoleniach zdalnych UNICORE, na które zapisać się można za pośrednictwem Portalu.
Aby połączyć się z Gridem, należy wykonać polecenie ucc connect
. Pomoc można uzyskać za pomocą polecenia ucc
z opcją -h
:
$ ucc connect
$ ucc -h
Jeżeli hasło użytkownika nie jest zapisane w pliku preferences
, wówczas będzie on pytany o nie przy każdym wywołaniu UCC. Aby tego uniknąć wykorzystać można tryb interaktywny wpisując: ucc shell
. Tryb ten nie wymaga pisania ucc
przed poleceniami. Oferuje ponadto rozwijanie poleceń.
Aby sprawdzić listę dostępnych systemów docelowych, magazynów (stoarge) bądź aplikacji, użytkownik wykonać powinien następujące polecenia:
$ ucc list-sites
$ ucc list-storages
$ ucc list-applications
UNICORE Commandline Client wykorzystuje opis zadań w formacie JSON pozwalając na wskazanie uruchamianego programu, argumentów, ustawień środowiska oraz przesyłanych plików. Przykład opisu zadania przedstawiony został poniżej. Może on zostać skopiowany do pliku date.u
.
# simple job: run Date { ApplicationName: Date, ApplicationVersion: 1.0, }
Aby uruchomić zadanie, użytkownik powinien wpisać polecenie:
$ ucc run date.u -v
Standardowym wyjściem może być np. plik 1bc1bb08-7737-4fb1-854e-5d89ba18d7f0.stdout
. Opcja -v
pozwala wyświetlić szczegółowe wyniki. Użytkownik może również użyć opcji -b
, która zwraca skrócone nazwy plików (bez hasha).
Opcja -a
pozwala na uruchomienie zadania w sposób asynchroniczny: pliki wejściowe są wysyłane na zdalny system, gdzie zadanie jest zatwierdzane do uruchomienia, jednak wyniki mogą zostać pobrane w późniejszym terminie za pomocą polecenia get-output
. Aby uzyskać status zadania, użyć należy komendy get-status
. Jako argument podać można plik zadania uzyskany w wyniku polecenia run -a
bądź też End Point Reference (EPR) otrzymany z listy zadań (list-jobs
):
$ ucc run -a date.u -v -b
$ ucc list-jobs
$ ucc get-status job
$ ucc get-output jo
{ Imports: [ { From: "u6://StorageName/fileName", To: "remoteFileName" }, ] Exports: [ { From: "remoteFileName", To:"u6://StorageName/fileName" }, ] }
Plik może również zostać wysłany na Stoarge i pobrany z niego za pomocą poleceń ucc put-file
oraz ucc get-file
. Komenda ls
pozwala na wypisanie wszystkich plików z katalogu:
$ ucc put-file -s fileName -t u6://StorageName/fileName
$ ucc get-file -s u6://StorageName/fileName -t newFileName
$ ucc ls u6://StorageName/fileName
Resources
skryptu opisującego zadanie użytkownik może określić zasoby, z którymi zadanie zostanie uruchomione na zdalnym systemie. Sekcja ta może wyglądać następująco:Resources: { Memory: 128000000, Nodes: 1, CPUs: 8 , }
newFile
słowo Hello
:
echo "Hello" >> newFile
Użytkownik może utworzyć plik localScript.sh na lokalnym komputerze. Aby wysłać go na Storage powinien najpierw sprawdzić nazwę dostępnych Storage'y (tutaj: SHARE-ACK). Po przesłaniu pliku można wyświetlić znajdujące się w nim pliki:
$ ucc list-storages
$ ucc put-file -s localScript.sh -t u6://SHARE-ACK/storageScript.sh
$ ucc ls u6://SHARE-ACK/Home
bash.u
jest skryptem importującym storageScript.sh z Home Stoarge do katalogu zadania i zmieniającym jego nazwę na remoteScript.sh
. Skrypt tworzy plik newFile
, który następnie jest pobierany na komputer użytkownika jako localNewFile
. Plik ten jest również eksportowany do Home Storage systemu UNICORE.
{ ApplicationName: "Bash shell", Environment: [ "SOURCE=remoteScript.sh", ], Imports: [ { From: "u6://SHARE-ACK/storageScript.sh", To: "remoteScript.sh"} ], Exports: [ { From: "newFile", To: "localNewFile"}, { From:"newFile", To: "u6://SHARE-ACK/storageNewFile"} ], Resources: { CPUs: 1 , } }
Zadanie bash.u
może zostać uruchomione poleceniem ucc run
. Na komputerze użytkownika powinien zostać utworzony plik localNewFile
.
$ ucc run bash.u -v
$ ucc ls u6://SHARE-ACK
Użytkownik może wykorzystać gotową instalację tekstowego klienta systemu UNICORE (UCC) dostępnego UI: ICM, WCSS, Cyfronet, PCSS, TASK. W tym celu należy jednak, oprócz aplikacji o globalny dostęp do systemu UNICORE, wystąpić o dostęp do wybranych UI.
Aby móc korzystać z zainstalowanego klienta UCC użytkownik powinien:
ucc
, które spowoduje przygotowanie plików konfiguracyjnych użytkownika;.p12
;~/.ucc/preferences
:../certs/user-keystore.jks
na ścieżkę do certyfikatu;password=the!user
;#
) wiersz: storetype=pkcs12
;Przykładowe użycie programu pokazane jest w szkoleniach zdalnych UNICORE, na które zapisać się można za pośrednictwem Portalu.
Przypisanie zadań obliczeniowych zgłaszanych przez narzędzia klienckie UNICORE wymaga podania identyfikatora grantu. Poniżej przedstawione są instrukcje dla dostępnych programów klienckich UNICORE.
W specyfikacji zadania należy określić projekt zadania, za pomocą słowa kluczowego Project
. Nazwa projektu zostanie użyta przez system jako nazwa grantu PL-Grid. Przykład dla zadania uruchomiającego aplikację Date
:
{ ApplicationName: Date, ApplicationVersion: 1.0, Project: "IdentyfikatorGrantu", }
Uwaga: jeśli wybrany system docelowy nie wspiera jeszcze grantów PL-Grid, opcja ta nie będzie dostępna.