...
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:
Code Block |
---|
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
:
Code Block |
---|
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 domyślnych zasobów, np. liczby węzłów na których zadanie będzie wykonywane, bądź kolejki (wykaz kolejek PL-Gridu można zobaczyć TUTAJ).
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.
Aby skonfigurować dostęp do Gridu najlepiej skorzystać z profilu konfiguracji klienta, który m.in. doinstaluje certyfikaty zaufanych CA oraz określi rejestry. W tym celu należy:
$HOME/.ucc/
($HOME
oznacza katalog domowy użytkownika);
$UCC/bin/ucc download-config -c $UCC/conf/preferences https://unicore.grid.icm.edu.pl:8443/ccm/plgrid-profile-icm.xml 20:3E:60:DE:4A:FF:6D:47:91:BB:87:E7:D3:DD:33:FA:6B:49:DD:C9
$UCC/conf/preferences
do katalogu $HOME/.ucc/
;$UCC/certs/user-keystore.jks
do katalogu $HOME/.ucc/
($UCC to katalog z rozpakowanym tekstowym klientem systemu UNICORE);$HOME/.ucc/preferences
:keystore = ../certs/user-keystore.jks
zamienić podaną ścieżkę na na ścieżkę dostępu do paczki PKCS12;password=the!user
;#
) wiersz: storetype=pkcs12
;'trustostore=…
i zamienić wielokropek na ścieżkę: user-keystore.jks
trustostorePassword=…
i zamienić wielokropek na hasło the!user
registry=
usunąć pierwszy z adresów (https://localhost:8080/DEMO-SITE/services/Registry?res=default_registry);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.
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.
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
.
Code Block |
---|
# 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
Code Block |
---|
{ 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:Code Block |
---|
Resources: { Memory: 128000000, Nodes: 1, CPUs: 8 , } |
newFile
słowo Hello
:
Code Block |
---|
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.
Code Block |
---|
{ 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
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.
Wybór grantu należy podać w zakładce Resources panelu zadania. Po wyświetleniu zawartości zakładki, należy w tabeli zlokalizować wiersz Projecti jako wartość podać identyfikator grantu.
Uwaga: jeśli wybrany system docelowy nie wspiera jeszcze grantów PL-Grid, opcja ta nie będzie dostępna.
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
:
Code Block |
---|
{
ApplicationName: Date,
ApplicationVersion: 1.0,
Project: "IdentyfikatorGrantu",
} |