You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

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ć z infrastruktury PL-Gridu należy wygenerować certyfikat , zaimportować go do przeglądarki oraz zarejestrować w Portalu.

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 Globalne wybrać Globalny dostęp gLite. 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.

Maszyny dostępowe gLite

Posiadając aktywny dostę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.

Nazwa parametru

ICM

TASK

CYFRONET

PCSS

WCSS

Nazwa maszyny

ui.plgrid.icm.edu.pl

ui.grid.task.gda.pl

ui.grid.cyfronet.pl

ui.reef.man.poznan.pl

ui.plgrid.wcss.wroc.pl

Protokół dostępu

ssh

ssh

ssh

ssh

ssh

Port dostępowy

22

22

22

22

22

System operacyjny

Scientific Linux 5.5

Scientific Linux 5.5

Scientific Linux 4

Scientific Linux Cern 5.7

Scientific Linux Cern 5.8

Kontakt

plgrid-admins@icm.edu.pl

lcg-admin@task.gda.pl

cyfronet-lcg2@helpdesk.plgrid.pl

egee@man.poznan.pl

egee-site-manager@kdm.wcss.wroc.pl

Dostęp do lokalnego systemu kolejkowego

NIE

TAK

TAK

TAK

NIE

Logowanie dokładnie opisano w artykule Logowanie.

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,

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

gdzie:

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
Requirements = other.GlueCEUniqueID == "CEId";
  • rodzaj zadania Normal lub MPICH
JobType = "Normal";
JobType = "MPICH";
NodeNumber = 4;
  • wysyłane pliki na klaster; pliki w "" oddzielone ’,’
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

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

gdzie:

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

Tworzenie proxy

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

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

Certyfikaty proxy na UI z KeyFS (tylko Simple CA, tylko UI WCSS i TASK)

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:

creds keyfs

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

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

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:

creds local

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

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

Jako źródło klucza prywatnego i certyfikatu na UI z zainstalowanym keyFS domyślnie ustawiony jest keyFS.

Certyfikat proxy na UI bez keyFS

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:

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

Wysłanie zadania

$ 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

$ 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

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

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

$ 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 *

$ 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


Więcej informacji

  • No labels