- Przed przystąpieniem do pierwszych obliczeń, musimy wygenerować proxy.
...
- odnowić proxy : voms-proxy-init
- użyć długoterminowego proxy, tworzonego przy udziale serwera proxy
W celu policzenia zadania na gridzie, możemy sprawdzić czy istnieją takie CE w naszej VO, które nam to umożliwią
...
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
|
Dzięki możliwości zapisania jobId do pliku, nie musimy go "pamiętać" podczas wykonywania poleceń z jego użyciem
...
Code Block |
---|
$ glite-wms-job-status -i jobId
|
Ponieważ InputSandbox oraz OutputSandbox specyfikowane w deskrypcji zadania gridowego (pliku JDL) nie mogą być zbyt duże (łączna wielkość plików przesyłanych w ten sposób powinna być mniejsza niż 10-15 MB) dla większych plików przewidziano możliwość przechowywania ich na gridowych zasobach dyskowych zwanych Storage Elements i dostarczanie ich do zadań innymi metodami. Zostały one opisane poniżej.
Każda Wirtualna Organizacja (VO) posiada przestrzeń dyskową na jednym lub kilku specjalnych zasobach tzw. Storage Elements (SE). W celu łatwiejszego dostępu do plików istnieje dodatkowo tzw. LCG File Catalogue (LFC), który przypomina normalną strukturę katalogów na komputerze kontrolowanym przez system z rodziny Unix/Linux. Każdy plik znajdujący się w LFC posiada swoją własną unikalną nazwę w obrębie LFC zwaną Logical File Name (LFN) oraz unikalny identyfikator pliku - Global Unique Identifier (GUID). Ponieważ LFC jest warstwą przykrywającą warstwę Storege Elements (SE) każdy z plików w LFC może posiadać kilka replik w różnych SE. Każda replika jest opisana przez tzw. Storage URL (SURL), który zawiera informacje o o fizycznej lokalizacji repliki pliku.
Code Block |
---|
lfn:/grid/vo.plgrid.pl/user01/test.txt
lfn:/grid/vo.plgrid.pl/user03/podkatalog/test.txt
lfn:/grid/vo.plgrid.pl/user10/podkatalog/podkatalog2/duzyplik.tgz
surl://dpm.cyf-kr.edu.pl/dpm/cyf-kr.edu.pl/home/vo.plgrid.pl/generated/2012-06-13/file7fe84ed8-1c9e-4be3-88e5-ac943c2c4bde
surl://se.reef.man.poznan.pl/dpm/reef.man.poznan.pl/home/vo.plgrid.pl/generated/2012-06-13/fileba95a559-21eb-4ffc-b154-14d2b706c488
|
Informacje o dostępnych serwisach katalogujących pliki (serwerach LFC) dostępnych w danej VO można sprawdzić komendą:
Code Block |
---|
lcg-infosites --vo <VO> lfc |
Code Block |
---|
$ lcg-infosites --vo vo.plgrid.pl lfc
lfc.grid.cyf-kr.edu.pl
|
...
Code Block |
---|
export LFC_HOST=`lcg-infosites --vo <VO> lfc` |
Code Block |
---|
export LFC_HOST=`lcg-infosites --vo vo.plgrid.pl lfc` |
Informacje o dostępnych serwisach dyskowych (SE) dostępnych w danej VO można sprawdzić komendą:
Code Block |
---|
lcg-infosites --vo <VO> se |
Code Block |
---|
$ lcg-infosites --vo vo.plgrid.pl se
Avail Space(kB) Used Space(kB) Type SE
------------------------------------------
292295225 137201503 SRM darkmass.wcss.wroc.pl
29928427150 20872410458 SRM dpm.cyf-kr.edu.pl
1071025899 11233691 SRM se.grid.task.gda.pl
265041106 286414563 SRM se.polgrid.pl
n.a 25093075 SRM se.polgrid.pl
n.a 4778672492 SRM se.polgrid.pl
15586307152 6834952586 SRM se.reef.man.poznan.pl
|
...
Code Block |
---|
lcg-infosites --vo <VO> se |
Code Block |
---|
$ lcg-infosites --vo vo.plgrid.pl closeSE
Name of the CE: ce.reef.man.poznan.pl:2119/jobmanager-pbs-plgrid
se.reef.man.poznan.pl
Name of the CE: ce1.grid.icm.edu.pl:8443/cream-pbs-plgrid
Name of the CE: ce1.grid.icm.edu.pl:8443/cream-pbs-plgrid-long
Name of the CE: ce9.grid.icm.edu.pl:8443/cream-pbs-plgrid
se.polgrid.pl
....
|
Użykownanie LFC
Listowanie katalogów w LFC
Listę katalogów dostępnych w LFC można sprawdzić komendą:
Code Block |
---|
lfc-ls <nazwa_katalogu_w_LFC> |
Code Block |
---|
$ lfc-ls /grid
alice
atlas
belle
bgtut
gaussian
sbelledev
vo.nedm.cyfronet.pl
vo.neugrid.eu
vo.plgrid.pl
vo.turbomole.cyfronet.pl
|
...
Code Block |
---|
$ lfc-ls -l <nazwa_katalogu_w_LFC> |
Code Block |
---|
$ lfc-ls -l /grid
drwxrwxr-x 0 root 125 0 Mar 18 2010 alice
drwxrwxr-x 1 root 126 0 Mar 18 2010 atlas
drwxrwxr-x 0 root 127 0 Mar 18 2010 belle
drwxrwxr-x 39 root 102 0 Nov 25 2009 bgtut
drwxrwxr-x 6 root 101 0 Mar 07 18:07 gaussian
drwxrwxr-x 0 root 105 0 Jun 02 2009 sbelledev
drwxrwxr-x 3 root 112 0 Dec 10 2009 vo.nedm.cyfronet.pl
drwxrwxr-x 1 root 128 0 May 03 2010 vo.neugrid.eu
drwxrwxr-x 248 root 103 0 Jun 13 13:10 vo.plgrid.pl
drwxrwxr-x 1 root 113 0 Nov 10 2009 vo.turbomole.cyfronet.pl
|
Katalogi tworzy się komendą:
Code Block |
---|
lfc-mkdir <scieżka_katalogu_do_utworzenia> |
Code Block |
---|
lfc-mkdir /grid/vo.plgrid.pl/$USER |
Do wyświetlania praw dostępu do katalogów/plików w LFC służy komenda:
Code Block |
---|
lfc-getacl <ścieżka i nazwa pliku lub katalogu> |
Code Block |
---|
$ lfc-getacl /grid/vo.plgrid.pl/$USER/testFile.txt
# file: /grid/vo.plgrid.pl/<login>/testFile.txt
# owner: /C=PL/O=GRID/O=<nazwa_organizacji>/CN=<nazwa_uzytkownika>
# group: vo.plgrid.pl
user::rw-
group::rw- #effective:rw-
other::r-- |
Kopiowanie pliku na SE i jego jednoczesna rejestracja w katalogu na LFC wykonuje się komendą:
...
Uwaga: Nadpisywanie plików nie jest możliwe. W celu podmiany pliku należy najpierw skasować plik z LFC i następnie wgrać nową wersję pliku.
Code Block |
---|
$ lcg-cr -l lfn:/grid/vo.plgrid.pl/$USER/testFile.txt file://$HOME/tutorial/test.txt
guid:0721ab19-3e73-40f4-bbec-f92c6a772423
|
Każdy z plików przechowywanych w LFC jest tak na prawdę przechowywany w jednej lub wielu kopiach na poszczególnych SE. Kopie te zwane są replikami. W przypadku dużych plików dobrze jest posiadać repliki na SE bliskich CE gdzie będą się wykonywały obliczenia z wykorzystaniem tych plików. Do listowania wszyskich replik danego pliku służy polecenie:
Code Block |
---|
$ lcg-lr lfn:<ścieżka i nazwa pliku> |
Code Block |
---|
$ lcg-lr lfn:/grid/vo.plgrid.pl/$USER/testFile.txt
srm://dpm.cyf-kr.edu.pl/dpm/cyf-kr.edu.pl/home/vo.plgrid.pl/generated/2012-06-13/file7fe84ed8-1c9e-4be3-88e5-ac943c2c4bde
srm://se.reef.man.poznan.pl/dpm/reef.man.poznan.pl/home/vo.plgrid.pl/generated/2012-06-13/fileba95a559-21eb-4ffc-b154-14d2b706c488
|
Do tworzenia nowej repliki pliku na innym SE służy komenda:
...
- flaga
–d
pozwala na wybranie SE, na którym zamierzamy składować plik
Code Block |
---|
$ lcg-rep -d se.reef.man.poznan.pl lfn:/grid/vo.plgrid.pl/$USER/testFile.txt
|
Do pobierania pliku z LFC na lokalny dysk twardy (np. na WN, gdzie wykonuje się zadanie) służy komenda:
Code Block |
---|
$ lcg-cp lfn:<ścieżka i nazwa pliku> |
Code Block |
---|
$ lcg-cp lfn://grid/vo.plgrid.pl/$USER/testFile.txt file://$HOME/tutorial/dowloaded.txt
|
Do usuwania pliku z LFC służy komenda:
Code Block |
---|
lcg-del -a lfn:<ścieżka i nazwa pliku> |
Code Block |
---|
$ lcg-del -a lfn:/grid/vo.plgrid.pl/$USER/testFile.txt
|
Do tworzenia skrótu do pliku w LFC służy komenda:
Code Block |
---|
lcg-aa --vo vo.plgrid.pl <GUID> lfn:/<ścieżka i nazwa pliku> |
Code Block |
---|
$ lcg-aa --vo vo.plgrid.pl guid:0721ab19-3e73-40f4-bbec-f92c6a772423 lfn:/grid/vo.plgrid.pl/$USER/testFile.alias
|
Do uzyskania GUID dla zadanego LFN lub SURL służy komenda:
Code Block |
---|
lcg-lg lfn:<ścieżka i nazwa pliku> |
Code Block |
---|
$ lcg-lg lfn:/grid/vo.plgrid.pl/$USER/testFile.txt
guid:cc50581f-9604-4cd2-b599-ed384be533c3
|
Po wysłaniu zadania na grid utrudniony jest dostęp do plików generowanych poprzez obliczenia. Do ich podglądu specjalny mechanizm tzw. perusal. By z niego skorzystać należy:
- do pliku JDL opisującego zadanie dodać
PerusalFileEnable = true;
oraz PerusalTimeInterval = czas_sekundach;
(np. PerusalTimeInterval = 1800;
- jest to czas pomiędzy wysyłaniem przez zadania kolejnych uaktualnień pliku na WMS) po wysłaniu zadania na grid należy uruchomić mechanizm "podglądania" plików komendą (oczywiście wymieniając tylko te pliki, których podgląd jest pożądany):
Code Block |
---|
glite-wms-job-perusal --set -f <file1> -f <file2> <jobId> |
do zobaczenia aktualnego stanu podglądanego pliku należy użyć komendy:
Code Block |
---|
glite-wms-job-perusal --get -f <file> <jobId> |
- Wypunktowanieprzydatne opcje:
-all
zczytuje cały plik od początku. Domyślnie pobierana jest tylko część pliku zmieniona po ostatnim użyciu komendy glite-wms-job-perusal --get -f <file> <jobId>
--dir <dir>
zapisuje podglądany plik do podkatalogu <dir> katalogu, z którego wywołana została komenda. Standardowo plik jest zapisywany w katalogu /tmp/<jobId>
Gdy podglądanie pliku przestaje być potrzebne należy wyłączyć mechanizm perusal poleceniem
Code Block |
---|
glite-wms-job-perusal --unset <jobId> |
Ważne: Opisany mechanizm w przypadku bardzo dużych plików może nadmiernie obciążać serwer WMS. Prosimy o stosowanie z rozwagą.
Podczas uruchamiania długo wykonujących się zadań, zalecane jest skorzystanie z długoterminowego proxy. W tym celu należy:
...