Versions Compared

Key

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

Image Added

 

QCG-Monitoring - Narzędzie graficzne QosCosGrid umożliwiające monitoring i śledzenie postępu wykonania aplikacji w infrastrukturze PL-Grid.

Section
Column
Column

Table of Contents

 

Definicja zadania

Zadanie, którego postęp wykonania ma być monitorowany musi zawierać dyrektywę "#QCG watch-output".

Dyrektywa ta odpowiedzialna jest za poinformowanie systemu o konieczności uruchomienia dodatkowego procesu monitorującego aplikację.

Jednym z argumentów dyrektywy "watch-output" jest skrypt monitorujący.

Skrypt monitorujący

Skrypt monitorujący postęp aplikacji uruchamiany jest automatycznie, cyklicznie przez środowisko QCG.Rolą tego skrypty jest wyszukanie zadanej informacji i przekazanie jej w odpowiednim formacie na standardowe wyjście. Informacja ta ze standardowego wyjścia jest przechwytywana i wysyłana do usługi QCG-Monitor.

Skrypt monitorujący musi być przesłany wraz z zadaniem za pomocą dyrektywy "#QCG stage-in-file".

Format wyjścia skryptu monitorującego

Wyjście skryptu monitorującego w pierwszej linii musi zawierać definicję formatu pozostałych danych w postaci

Code Block
qcg.monitor.scheme=format

gdzie format jest jednym z predefiniowanych formatów rozumianych przez usługę QCG-Monitor.

Schematy danych

generic

  • generic - dane wyświetlane są w niezmienionej formie. Kolejne dane dopisywane są do poprzednich.

generic2

  • generic2 - dane wyświetlane są w niezmienionej formie. Kolejne dane zastępują poprzednie.

gaussian

  • gaussian - schemat prezentujący tabele i wykres dla energii wyznaczonej przez aplikację gaussian.
    Image Removed

Skrypt monitorujący:

Code Block
collapsetrue
#!/bin/bash
echo 'qcg.monitor.scheme=gaussian'
grep "SCF Done:" _stdouterr | awk '{print $5}'

gaussian_ext

gaussian_ext - rozszerzony monitoring aplikacji gaussian.
Image Removed
Skrypt monitorujący

Code Block
collapsetrue
#!/bin/bash
echo 'qcg.monitor.scheme=gaussianext'
echo "#energy#"
grep "SCF Done:" _stdouterr | awk '{print $5}'
echo "#force#"
grep "^ Maximum Force" _stdouterr | awk '{print $3}'
echo "#maxdispl#"
grep "^ Maximum Displacement" _stdouterr | awk '{print $3}'
echo "#rmsdispl#"
grep "^ RMS     Displacement" _stdouterr | awk '{print $3}'

...

Wstęp

Usługa QCG-Monitoring umożliwia śledzenie postępu wykonania aplikacji uruchomionej przy pomocy narzędzi dostępowych QosCosGrid na infrastrukturze PL-Grid. Postęp wykonania aplikacji prezentowany jest w formie graficznej w postaci wykresów, tabel i obrazów w zależności od schematu zdefiniowanego w systemie dla danej aplikacji. Usługa QCG-Monitoring dedykowana jest dla osób wykonujących długotrwałe obliczenia w infrastrukturze, które na podstawie prezentowanych wyników mogą określić stopień zaawansowania obliczeń oraz podjąć decyzje o ewentualnym wstrzymaniu zadania jeśli obliczenia nie przebiegają zgodnie z założeniami.

Portal monitoringu

Prezentacja postępu wykonania aplikacji dostępna jest jako usługa portalowa zintegrowana z infrastrukturą PL-Grid.

Sposób logowania do usługi oraz jej funkcjonalność opisana jest w sekcji: Portal Monitoringu.

Section
Column

Image Added

Column

Image Added

 

Schematy monitoringu

Informacja o postępie wykonania aplikacji prezentowana jest zgodnie z wybranymi schematami zarejestrowanymi w systemie i dostępnymi dla poszczególnych aplikacji.

Lista predefiniowanych schematów znajduje się w sekcji: Schematy monitoringu.

Integracja z narzędziami dostępowymi

Aby zadanie obliczeniowe było objęte monitoringiem i pojawiło się w portalu Monitoringu, informacja o tym, ze ma być monitorowane musi być przekazana do systemu w momencie zlecania zadania.

Monitorowanie zadań dostępne jest dla zadań uruchamianych przy użyciu zarówno klienta tekstowego QCG-SimpleClient jak i również graficznego narzędzia QCG-Icon.

Informacja o tym, jak zlecić zadanie aby było ono monitorowane opisane jest w sekcji: Zlecenie zadania.

 

  • piernik - monitoring aplikacji "piernik"

    Code Block
    collapsetrue
    #!/bin/sh
    echo 'qcg.monitor.scheme=piernik'
    tac sedov_tst_000.log | grep -e "\s*@\s*0:\s*nstep\s*=" -m 1 || echo "-"
    cat sedov_tst_000.tsl

Przykładowe zadanie

Przykładowe opis zadania dla aplikacji gaussian z monitoringiem postępu wykonania:

Code Block
#!/bin/bash

#QCG host=nova
#QCG queue=plgrid
#QCG note=Naphthalene gaussian

#QCG output=${JOB_ID}.output
#QCG error=${JOB_ID}.error

#QCG stage-in-file=Naphthalene.gjf
#QCG stage-in-file=gaussian.ntf
#QCG stage-out-dir=.->result.${JOB_ID}

#QCG nodes=1:2
#QCG walltime=PT10M

#QCG notify=xmpp:piotr.kopta@plgrid.pl
#QCG watch-output=20,gaussian.ntf

#QCG application=g09
#QCG argument=Naphthalene.gjf

 

...