Version 22 (modified by piontek, 13 years ago) (diff)

--

QCG-SimpleClient oferuje prosty wzorowany na poleceniech systemu kolejkowego interfejs do infrastruktury QCG.

Polecenia:

  • gsub - zlecenie zadania do wykonania na infrastrukturze QCG zgodnie z uproszczonym opisem opisanym,
  • glist - wyświetlenie listy zleconych zadań wraz z informacjami o nich,
  • ginfo - wyświetlenie szczegółowej informacji o danym zadaniu,
  • gproxy - utworzenie certyfikatu proxy użytkownika.

Składnia poleceń:

  • gsub plik_z_opisem - sciezka do pliku z uproszczonym opisem zadania
      gsub /home/piontek/tasks/date.qcg
      gsub ./tasks/date.qcg
    
  • glist liczba jednostka - zadania z ostatnich "liczba" dni ("d"), godzin ("h"), minut ("m")
      glist 7d
      glist 1m
    
  • ginfo jobId taskId - identyfikator eksperymentu i zadania
      ginfo J1331196390748_date_3099 date
    
  • gproxy - generacja certyfikatu proxy użytkownika

Opis zadania:

Zlecany plik jest plikiem tekstowym, który może zawierać dyrektywy infrastruktury QCG. Dyrektywa jest każda linia zaczynająca sie od "#QCG". WAŻNE: Jeżeli w pliku nie zdefiniowano dyrektywy "executable" ani "application" uruchamiany jest zlecany plik z opisem.

Lista dyrektyw

  • queue - wybrana kolejka systemu kolejkowego
    #QCG queue=plgrid
    
  • name - dyrektywa określająca nazwę zadania. Dyrektywa obowiązkowa.
    #QCG name=nobel-experiment
    
  • output - lokalizacja gdzie ma być przegrane standardowe wyjście zadnia (stdout). Jesli nie jest lokalizacja gsiftp:// zaklada się, że jest wzgledem katalogu z którego zlecono zadanie
    #QCG output=gsiftp://qcg.man.poznan.pl//home/plgrid/plgpiontek/reef/outputs/${JOB_ID}.output
    #QCG output=output.txt
    
  • error - lokalizacja gdzie ma być przegrany standardowe wyjście blędów zadnia (stderr). Jesli nie jest lokalizacja gsiftp:// zaklada się, że jest wzgledem katalogu z którego zlecono zadanie
    #QCG error=gsiftp://qcg.man.poznan.pl//home/plgrid/plgpiontek/reef/errors/${JOB_ID}.error
    #QCG error=error.txt
    
  • candidate_host - lista potencjalnych maszyn, na których może być uruchomione zadanie odzielonych przecinkami
    #QCG candidate_host=reef.man.poznan.pl, zeus.cyfronet.pl
    
  • 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ą gsiftp:// lub ścieżką do pliku. W tym drugim przypadku zadkłada się, że jest względem katalogu, z którego zlecono zadanie.
    #QCG stage-in-file=gsiftp://qcg.man.poznan.pl//home/plgrid/plgpiontek/reef/inputs/input.txt > input.txt
    #QCG stage-in-file=input_file.txt > input.txt
    
  • stage-in-dir - Dyrektywa kopiowania katalogu wejściowego. Funkcjonalność i składnia analogiczna jak dla dydektywy "stage-in-file" tyle, że kopiowany jest katalog.
    #QCG stage-in-dir=gsiftp://qcg.man.poznan.pl//home/plgrid/plgpiontek/reef/inputs > inputs
    #QCG stage-in-dir=input_dir > inputs
    
  • stage-out-file - dyrektywa kopiowania pliku wyjściowego. Składnia "nazwa_pliku_źródłowego > lokalizacja docelowa pliku". Lokalizacja docelowa może być lokalizacją gsiftp:// lub ścieżką do pliku. W tym drugim przypadku zadkłada się, że jest względem katalogu, z którego zlecono zadanie.
    #QCG stage-out-file=results.txt > gsiftp://qcg.man.poznan.pl//home/plgrid/plgpiontek/reef/results/${JOB_ID}.results
    #QCG stage-out-file=result.txt > ${JOB_ID}.result
    
  • stage-out-dir - Dyrektywa kopiowania katalogu wyjściowego. Funkcjonalność i składnia analogiczna jak dla dydektywy "stage-out-file" tyle, że kopiowany jest katalog.
    #QCG stage-out-dir=results > gsiftp://qcg.man.poznan.pl//home/plgrid/plgpiontek/reef/results/${JOB_ID}
    #QCG stage-out-dir=results > result
    
  • grant - nazwa grantu, w ramach którego ma być wykonane zadanie.
    #QCG grant=plgpiontek_grant
    
  • argument - argument aplikacji w przypadku użycia dyrektywy "executable" lub "application". Argument może wystąpić wielokrotnie. Każdy adgument powinien być przekazacy w osobnej dyrektywie. Argumenty do aplikacji przekazywane są w kolejności ich wystąpiena w pliku opisu
    #QCG argument=arg1
    #QCG argument=arg2
    
  • environment - ustawienie zmiennych środowiskowych. Skladnia "nazwa=wartosc". Każda zmiena musli być ustawiana w osobnej lini.
    #QCG environment=name=piontek
    #QCG environment=location=poznan
    
  • executable - lokalizacja pliku uruchomieniowego. Lokalizacja może być lokalizacją gsiftp:// lub scieżką do pliku. W tym drugim przypadku przyjmuje się, że jest względem katalogu, z którego zlecone zostało zadanie.
    #QCG executable=gsiftp://qcg.man.poznan.pl//home/plgrid/plgpiontek/reef/executables/exec1
    #QCG executable=executables/exec1
    
  • application - nazwa aplikacji do uruchomienia.

#QCG application=namd

  • persistant - dyrektywa określająca czy po zakończeniu zadanie system ma pozostawić katalog roboczy, w którym wykonywane było zadanie.
    #QCG persistant
    

Przykłady

#QCG name=date
#QCG application=date
#QCG candidate_host=reef.man.poznan.pl
#QCG output=output
#!/bin/bash

#QCG queue=plgrid
#QCG persistant
#QCG name=tar
#QCG candidate_host=reef.man.poznan.pl
#QCG output=output
#QCG error=error

#QCG stage-in-dir=inputs > inputs

/bin/tar -czf output.tgz inputs/input.*

#QCG stage-out-file=output.tgz > output.tgz

Planowane rozszerzenia:

Polecenia

gsub

glist

  • wartość domyślna dla glist
  • dodatkowe parametry metody glist (status)

ginfo

gproxy

  • parametr okreslajacy "dlugosc" tworzonego proxy

Dyrektywy

  • 'modules' - list wymaganych modułów
  • Zrezygnować z konieczności podawania dyrektywy "name" (default "task")