Versions Compared

Key

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

...

  • error - lokalizacja gdzie ma być przegrany standardowe wyjście błędów zadnia (stderr). Jeśli nie jest to zdalna lokalizacja zdalna (gsiftp/irods) zakłada się, że jest ustalana względem katalogu, z którego zlecono zadanie 

    Code Block
    #QCG error=gsiftp://qcg.man.poznan.pl//home/plgrid/plgpiontek/reef/errors/${JOB_ID}.error
    #QCG error=error.txt
    

...

  • executable - lokalizacja pliku do uruchomienia. Lokalizacja może być lokalizacją zdalną (gsiftp/ftp/irods/http/https) lub ścieżką do pliku. W tym drugim przypadku przyjmuje się, że jest ustalana względem katalogu, z którego zlecone zostało zadanie. Opcjonalnie możliwe jest podanie nazwy pod jaką ma być zapisany plik wykonywalny. W przypadku braku nazwy zapisywany jest pod oryginalna nazwą. 

...

  • input - lokalizacja skąd ma być wzięte standardowe wejście dla aplikacji (stdin). Jeśli nie jest to lokalizacja zdalna (gsiftp/ftp/irods/http/https) zdalna lokalizacja zakłada się, że jest ustalana względem katalogu, z którego zlecono zadanie.

...

  • stage-in-file - dyrektywa kopiowania pliku wejściowego. Składnia „lokalizacja_źródłowa → nazwa_docelowa_pliku”. Lokalizacja źródłowa może być lokalizacją zdalną (gsiftp/ftp/irods/http/https) lub ścieżką do pliku. W tym drugim przypadku zakłada się, że jest ustalana względem katalogu, z którego zlecono zadanie.

...

  • stage-out-file - dyrektywa kopiowania pliku wyjściowego. Składnia „nazwa_pliku_źródłowego → lokalizacja docelowa pliku”. Lokalizacja docelowa może być lokalizacją zdalną (gsiftp/ftp/irods) lub ścieżką do pliku. W tym drugim przypadku zakłada się, że jest ustalana względem katalogu, z którego zlecono zadanie. W przypadku braku drugiego parametry plik przegrywany jest pod nazwę źródłową.

...

W opisie zadania możliwe jest użycie następujących zmiennych "systemowych":

  • HOSTNAME - nazwa hosta (klastra) na jakim uruchomione zostało zadanie,
  • HOME - katalog domowy użytkownika,
  • TASK_DIR - link gridftp:// do katalog roboczego zadania,
  • JOB_ID - identyfikator eksperymentu,
  • TASK_ID - identyfikator zadania,
  • USER_DN - DN (Distinguished Name) użytkownika (identyfikator użytkownika widoczny w certyfikacie, w formacie PEM, np. /C=PL/O=GRID/O=PSNC/CN=Tomasz Piontek)
  • PROCESS_GROUP - identyfikator grupy procesów.
  • NOTE - wartość dyrektywy "note".
Code Block
#QCG output={JOB_ID}.output
#QCG stage-out-file=file.output->file.${NOTE}

 

 

Składnia dla plików/katalogów ze zdalnej lokalizacji

Zdalna lokalizacja plików

Pliki wejściowe jak i wyjściowe dla zadań zlecanych w systemie QCG mogą znajdować się na zdalnych zasobach. Broker infrastruktury QCG zadba o ich skopiowanie na odpowiedni zasób na którym będzie wykonywane nasze zadanie, a następnie skopiuje pliki wyjściowe do wskazanych lokalizacji.

Pliki wejściowe zadania definiowane są następującymi dyrektywami:

  • executable,
  • input,
  • stage-in-dir,
  • stage-in-file,

natomiast pliki wyjściowe dyrektywami:

  • error,
  • output,
  • stage-out-dir,
  • stage-in-file.

W obu przypadkach, jako lokalizację takich plików można podać zdalny zasób. Obsługiwane są następujące protokoły przesyłania danych:

  • GridFTP,
  • FTP,
  • HTTP/HTTPS,
  • iRods (obecnie autoryzacja następuje przy użyciu nazwy użytkownika/hasła, trwają prace nad autoryzacją z użyciem certyfikatu).

Tak jak w przypadku plików lokalnych, definiując zdalną lokalizację plików możemy używać zmiennych opisu zadania.

 

Note

W chwili obecnej obsługa protokołu HTTP/HTTPS nie wspiera katalogów oraz  plików wyjściowych.

Note

Przy kopiowaniu plików z użycie protokołu HTTPS nie następuje autoryzacja zdalnego serwera, tzn. transmisja danych następuję szyfrowanym kanałem danych, natomiast QCG-Broker nie sprawdza i nie waliduje certyfikatu jakim posługuje się zdalny serwer.

Składnia

  • gridftp

    gridftp

    Code Block
    gsiftp://{host}[:{port}]/{path}
    gridftp://{host}[:{port}]/{path}

    gdzie:

    • {host} - adres maszyny na której znajduje się serwer GridFTP,

    • {port} - opcjonalny numer portu (domyślnie 2811),
    • {path} - ścieżka do pliku; jeśli pierwszym znakiem ścieżki nie będzie "/" (slash), tzn. adres maszyny od ścieżki będzie oddzielał tylko jeden znak "/", wówczas ścieżka jest traktowana jako względna (względem katalogu domowego))

Przykłady

Code Block
gsiftp://qcg.man.poznan.pl/plik.txt
gsiftp://qcg.man.poznan.pl:2811///home/plgrid/plgkopta/reef/plik.txt

 

  • ftp

    Code Block
    ftp://[{user}[:{pwd}]@]{host}[:{port}]/{path}

    gdzie:

    • {user} - opcjonalna nazwa użytkownika,
    • {pwd} - opcjonalna hasło użytkownika,
    • {host} - adres maszyny na której znajduje się serwer FTP,
    • {port} - opcjonalny numer portu (domyślnie 22),{path} - ścieżka do pliku,
    • {path} - ścieżka do pliku

Przykłady

Code Block
ftp://ftp.kernel.org/pub/linux/kernel/v3.x/patch-3.9.gz
ftp://pkopta:haslo@serwer.ftp.man.poznan.pl:22/plik.txt

 

  • http/https

    Code Block
    http://{host}[:{port}]/{path}
    https://{host}[:{port}]/{path}

    gdzie:

    • {host} - adres maszyny na której znajduje się serwer http/https
    • {port} - opcjonalny numer portu (domyślnie 80 dla http, oraz 443 dla https),
    • {path} - scieżka do pliku

Przykłady

Code Block
https://www.kernel.org/pub/linux/kernel/v3.x/patch-3.9.gz

 

  • irods

    Code Block
    irods://{user}:{pwd}@{host}[:{port}]/{zone}/{path}

    gdzie:

    • {user} - nazwa użytkownika w systemie iRods,

    • {pwd} - hasło do konta w systemie iRods,

    • {host} - adres maszyny na której znajduje się serwer iRods,

    • {port} - opcjonalny numer portu (domyślnie 1247)

    • {zone}- parametr zone w systemie iRods,

    • {path} - scieżka bezwzględna do pliku 

Przykłady

Code Block
irods://pkopta:haslo@elder12/testZone/home/pkopta/plik.txt