Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Uruchamianie obliczeń poprzez oprogramowanie gLite

Aplikowanie o usługę gLite

Dostęp do infrastruktury PL-Grid jest zapewniony m.in. poprzez oprogramowanie pośredniczące gLite.

Aby móc skorzystać infrastruktury PL-Gridu należy wygenerować certyfikat, zaimportować go do przeglądarki oraz zapisać się doWirtualnej Organizacji.

W celu otrzymania uprawnień do korzystania z usługi gLite, należy przejść na stronę
Portalu PL-Grid, wybrać zakładkę Moje konto a następnie w sekcji Usługi Dostępowe wybrać żądaną usługę np. Dostęp do UI gLite - Cyfronet, Dostęp do klastra Galera+ i UI gLite - TASK itd. Po akceptacji żądania użytkownik otrzymuje maila z informacją o nadanych mu uprawnieniach, status wybranej usługi zmienia się wówczas na aktywny. Obecnie można korzystać z usługi gLite poprzez komputery - ICM ( Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego), Cyfronet (Akademickie Centrum Komputerowe AGH), PCSS (Poznańskie Centrum Superkomputerowo-Sieciowe),TASK (Trójmiejskiej Akademickiej Sieci Komputerowej), WCSS (Wrocławskie Centrum Sieciowo-Superkomputerowe). Użytkownik może wnioskować o dostęp do gLite poprzez komputery jednego lub kilku centrów komputerowych.
Posiadając wymagane uprawnienia użytkownik może logować się do komputerów wybranej przez siebie instytucji i prowadzić obliczenia w ramach przypisanego do niego grantu.

!certyfikat.png|width=600 !

Maszyny dostępowe gLite =

Posiadając aktywny dotęp do usługi gLite w wybranej instytucji użytkownik możne logować się na jej komputery.
Tabela zawiera potrzebne dane do pracy na poszczególnych maszynach.
Po zalogowaniu użytkownik ma możliwość korzystania z poleceń linii komend pozwalających na m.in. zarządzanie zadaniami i danymi w Gridzie typu gLite. Polecenia te opisane są w podręczniku obsługi Gridu gLite.

...

Na komputerze z systemem operacyjnym typu Unix należy wykonać polecenie (pamiętając o podmianie plgkowalski na własny identyfikator):
ssh plgkowalski@ui.plgrid.icm.edu.pl

JDL (Job Description Language) =

JDL - język, który służy do opisu zadania obliczeniowego. Pliki JDL zawierają informacje potrzebne dla Resource Brokera:

  • Typ zadania (szeregowe/równoległe),
  • Jakie zasoby są potrzebne do wykonania zadania (ile procesorów potrzebuje zadanie, jakie są pliki wejściowe, wyjściowe),
  • Gdzie można znaleźć plik wykonywalny,
  • Każda linia musi być zakończona znakiem ";", po którym nie może już nic występować.
    Prosty plik job.jdl,

    Code Block
    
    $ cat job.jdl
    Executable = "/bin/hostname";
    Arguments = "-f";
    StdOutput = "job.out";
    StdError = "job.err";
    OutputSandbox = {"job.out", "job.err"};
    

    gdzie:

    Code Block
    
    Executable #plik wykonywalny
    Arguments #argumenty dla pliku wykonywalnego
    StdOutput #plik, w którym znajdzie się strumień STDOUT
    StdError #plik, w którym znajdzie się strumień STDERR
    OutputSandbox #zawartość OutputSandbox - lista plików wyjścia zadania
    

Dodatkowo w pliku jdl możemy zdefiniować

  • wymuszenie liczenia zadania na konkretnym CEId

    Code Block
    Requirements = other.GlueCEUniqueID == "CEId";
  • rodzaj zadania Normal lub MPICH

    Code Block
    JobType = "Normal";
    Code Block
    JobType = "MPICH";
    NodeNumber = 4;
  • wysyłane pliki na klaster; pliki w "" oddzielone ’,’

    Code Block
    InputSandbox = {"test.sh", "fileA", "fileB", ...};

Zlecenie zadania gridowego

Po zarejestrowaniu się w vo.plgrid.pl użytkownik może wysłać zadanie testowe.
W wybranym edytorze przygotuj plik job.jdl, który można umieścić/skopiować na maszynie dostępowej gLite (np. ui.cyf-kr.edu.pl)

Prosty plik job.jdl

Code Block

$ cat job.jdl
Executable = "/bin/hostname";
Arguments = "-f";
StdOutput = "job.out";
StdError = "job.err";
OutputSandbox = {"job.out", "job.err"};

gdzie:

Code Block

Executable #plik wykonywalny
Arguments #argumenty dla pliku wykonywalnego
StdOutput #plik, w którym znajdzie się strumień STDOUT
StdError #plik, w którym znajdzie się strumień STDERR
OutputSandbox #zawartość OutputSandbox - lista plików wyjścia zadania

__Więcej informacji o przygotowaniu opisu zadania+

Tworzenie proxy

Podstawowym poleceniem do generowania certyfikatu proxy dla użytkowników PL-Grid jest:

Code Block

$ voms-proxy-init --voms vo.plgrid.pl

...

Jeśli użytkownik wyeksportował swój klucz prywatny i certyfikat do bazy LDAP PL-Grid, to ma je dostępne na dowolnym UI ze skonfigurowanym keyFS. Aby wygenerować certyfikat proxy na UI korzystając z keyFS, należy wskazać keyFS jako źródło klucza prywatnego i certyfikatu:

Code Block

creds keyfs

a następnie użyć voms-proxy-init lub grid-proxy-init:

Code Block

voms-proxy-init -voms vo.plgrid.pl
grid-proxy-init

Aby wygenerować certyfikat proxy korzystając z klucza prywatnego i certyfikatu lokalnie (znajdujących się w katalogu $HOME/.globus), należy wskazać jako źródło klucza prywatnego i certyfikatu local:

Code Block

creds local

a następnie użyć voms-proxy-init lub grid-proxy-init:

Code Block

voms-proxy-init -voms vo.plgrid.pl
grid-proxy-init

...

Aby wygenerować certyfikat proxy na UI bez keyFS, należy upewnić się, że klucz prywatny oraz certyfikat są dostępne w katalogu $HOME/.globus (a jeśli nie, to je tam skopiować) i użyć polecenia voms-proxy-init lub grid-proxy-init:

Code Block

voms-proxy-init -voms vo.plgrid.pl
grid-proxy-init

Wysłanie zadania

Code Block

$ glite-wms-job-submit -a job.jdl

Connecting to the service https://rb1.cyf-kr.edu.pl:7443/glite_wms_wmproxy_server


====================== glite-wms-job-submit Success ======================

The job has been successfully submitted to the WMProxy
Your job identifier is:

https://lb.grid.cyf-kr.edu.pl:9000/AgP9eWoJf0l4YMiESWrRow

==========================================================================

Sprawdzenie statusu wysłanego zadania, wykorzystując przydzielony identyfikator

Code Block

$ glite-wms-job-status https://lb.grid.cyf-kr.edu.pl:9000/qn69-B5xUIl40yY5oP9f9Q


*************************************************************
BOOKKEEPING INFORMATION:

Status info for the Job : https://lb.grid.cyf-kr.edu.pl:9000/qn69-B5xUIl40yY5oP9f9Q
Current Status:     Waiting
Submitted:          Thu Jul 23 10:32:46 2009 CEST
*************************************************************

Powtarzanie powyższej komendy pozwala zaobserwować zmieniający się status zadania

Code Block

Current Status:     Ready
Current Status:     Scheduled
Current Status:     Running

Ostatecznie powinniśmy otrzymać informację o prawidłowym zakończeniu obliczeń

Code Block

$ glite-wms-job-status https://lb.grid.cyf-kr.edu.pl:9000/qn69-B5xUIl40yY5oP9f9Q


*************************************************************
BOOKKEEPING INFORMATION:

Status info for the Job : https://lb.grid.cyf-kr.edu.pl:9000/qn69-B5xUIl40yY5oP9f9Q
Current Status:     Done (Success)
Exit code:          0
Status Reason:      Job terminated successfully
Destination:        ce.cyf-kr.edu.pl:2119/jobmanager-pbs-gaussian
Submitted:          Thu Jul 23 10:32:46 2009 CEST
*************************************************************

Zebranie wyników zadania

  • Otrzymane pliki można np. ściągnąć na maszynę dostępową do katalogi output *

    Code Block
    
    $ glite-wms-job-output --dir output https://lb.grid.cyf-kr.edu.pl:9000/qn69-B5xUIl40yY5oP9f9Q
    
    Connecting to the service https://149.156.9.29:7443/glite_wms_wmproxy_server
    
    
    ================================================================================
    
                            JOB GET OUTPUT OUTCOME
    
    Output sandbox files for the job:
    https://lb.grid.cyf-kr.edu.pl:9000/qn69-B5xUIl40yY5oP9f9Q
    have been successfully retrieved and stored in the directory:
    /home/people/.../.../job1/output
    
    ================================================================================
    
    $ cd output/
    $ ls
    job.err  job.out
    

...