UNICORE

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

Procedura uzyskania dostępu do systemu UNICORE

Informacje wstępne

Obecnie dostęp poprzez system UNICORE jest możliwy do systemu komputerowego ICM UW, Cyfronet oraz WCSS.

Procedura uzyskania dostępu

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.

W skrócie

  1. Rozpocząć należy od rejestracji w Portalu PL-Grid.
  2. Następnym krokiem jest wystąpienie o certyfikat użytkownika PL-Grid.
  3. Certyfikat należy zarejestrować w Portalu PL-Grid.
  4. Kolejną czynnością jest aplikacja o dostęp do UNICORE.
  5. W tym momencie można rozpocząć, za pomocą wybranego klienta systemu UNICORE, korzystanie z zasobów dostępnych w ramach projektu PL-Grid. Przygotowanie pęku kluczy (keystore'a) zawierającego klucz prywatny, otrzymany certyfikat oraz certyfikaty CA może się różnić w zależności o wyboru klienta.
Rejestracja

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.

Wystąpienie o certyfikat

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.

Rejestracja certyfikatu w PL-Gridzie

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.

Aplikacja o Globalny dostęp do systemu UNICORE

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).

Klienci systemu UNICORE

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

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.

Instalacja i konfiguracja

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:

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
W polu 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.

Elementy klienta URC

Szczegóły

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

Tworzenie zadania

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.

Zadanie

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.

Pliki

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.

Storage

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ść”.

Zasoby

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ń

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

UNICORE Commandline Client jest tekstowym klientem systemu UNICORE.

Instalacja i konfiguracja

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:

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:

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.

Polecenia UNICORE Commandline Client

Połączenie z Gridem

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ń.

Zasoby

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

Opis zadania

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,
}

Uruchamianie zadania

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

Import/Export plików

Aby importować pliki z lokalnego komputera do katalogu zadania (lub eksportować z katalogu zadania do lokalnego komputera), użytkownik powinien wskazać w skrypcie pliki źródłowe i docelowe:
{
    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

Zasoby

W części Resourcesskryptu 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 ,
}

Przykład

W poniższym przykładzie plik localScript.sh jest skryptem wypisującym do pliku o nazwie 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

Plik 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

UNICORE Commandlie Client na serwerach dostępowych

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.

Instalacja i konfiguracja

Aby móc korzystać z zainstalowanego klienta UCC użytkownik powinien:

  • aplikować o dostęp i zalogować się do UI wybranego ośrodka (klient UCC zainstalowany jest we wszystkich ośrodkach: ICM, WCSS, Cyfronet, PCSS, TASK) zgodnie z opisem dostępnym w rozdziale dostep lokalny;
  • wpisać polecenie ucc, które spowoduje przygotowanie plików konfiguracyjnych użytkownika;
  • wgrać na konto swój certyfikat i klucz prywatny (metody przegrywania plików pomiędzy maszynami opisane są w rozdziale dostep lokalny); w przypadku posiadania certyfikatu podpisanego przez Simple CA, czyli gotowej paczki w formacie PKCS12, należy przegrać na konto jedynie plik z rozszerzeniem .p12;
  • jeżeli użytkownik nie dysponuje paczką kluczy w formacie PKCS12 należy, zgodnie z opisem umieszczonym w rozdziale Konwersja certyfikatu, dokonać konwersji posiadanych certyfikatów na ten format;
  • w pliku ~/.ucc/preferences:
    • zmienić ścieżkę ../certs/user-keystore.jks na ścieżkę do certyfikatu;
    • usunąć hasło, czyli skasować albo zakomentować wiersz: password=the!user;
    • odkomentować (usunąć znak #) 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.

Użycie grantów PL-Grid w infrastrukturze UNICORE

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.

UCC

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",
}

URC

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.


Do góry