Metody i Systemy Obliczeń Wielkiej Skali


Laboratorium 3 - globalny dostęp do zasobów w PL-Grid

Ogłoszenia

  • Przed następnymi zajęciami proszę założyć konto na Amazon EC2, zgodnie z instrukcją z Laboratorium 4

Światowy grid obliczeniowy

  1. WLCG: Grid dla eksperymentu LHC. Zasoby: Monitoring Rebus
  2. Animacja gridu w Google Earth

Wstęp do gLite

  1. Podręcznik użytkownika PL-Grid: wiki PL-Grid
  2. Informacje dla zaawansowanych w podręczniku użytkownika.
  3. Przygotowanie środowiska na maszynie ui.cyfronet.pl
    • Umieszczamy w $HOME/.globus plik usercred.p12 zawierający wygenerowany certyfikat i odpowiadający mu klucz prywatny
    • Plik powinien mieć prawo do odczytu tylko dla własciciela ( chmod 600 $HOME/.globus/usercred.p12)
    • Tworzymy certyfikat proxy poleceniem
      voms-proxy-init --voms vo.plgrid.pl
      
  4. Uruchamianie zadań przy pomocy poleceń:
    glite-ce-job-submit -a 
    
    glite-ce-job-status
    
    glite-ce-job-list-match
    
    glite-ce-job-output
    
    glite-ce-job-cancel
    
  5. Wyświetlenie listy zainstalowanych systemów operacyjnych:
    lcg-info --vo vo.plgrid.pl --list-ce --attrs OS
    
    Przyklad prawidlowego JDL (uwaga na nawiasy kwadratowe i ustawienie atrybutu OutputSandboxBaseDestURI):
    [
            Executable = "/bin/ls";
            Arguments = "-l";
            StdOutput = "job.out";
            StdError = "job.err";
            OutputSandbox = {"job.out", "job.err"};
            OutputSandboxBaseDestURI = "gsiftp://localhost";
    ] 
    

Rimrock - API do zlecania zadań

  1. Strona główna Rimrock https://submit.plgrid.pl
  2. Przykład z użyciem CURL:
    proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`"
    
    curl -k -X POST --data '{"host": "zeus.cyfronet.pl", "command": "pwd"}' \
    --header "Content-Type:application/json" --header "PROXY:$proxy" https://submit.plgrid.pl/api/process
    

Usługa PLG-Data

  1. https://data.plgrid.pl
  2. Instrukcja w podręczniku użytkownika
  3. Usługa umożliwia za pośrednictwem przeglądarki Web, zarządzać swoimi zbiorami danych

Ćwiczenia

  1. Proszę wyszukać informację o dotępnych CE (zasoby obliczeniowe) i SE (zasoby do składowania danych) dla wirtualnej organizacji vo.plgrid.pl (patrz opis komendy lcg-infosites w informacjach dla zaawansowanych w podręczniku użytkownika.
  2. Za pomocą gLite proszę uruchomić zadanie wykonujące polecenie hostname (przykładowy jdl znajduje się w podręczniku PLGrid).
  3. Proszę przygotować zwykły skypt powłoki bash, ktory wysyła skończoną ilość pingów do hosta home.agh.edu.pl, sprawdzić czy działa lokalnie (np. na serwerze jabba). Następnie przekopiować skrypt na zeus.cyfronet.pl i użyć gLite do uruchomienia go w infrastrukturze PLGrid. Nazwa skryptu (./pinger.sh) powinna być wpisana w polu Executable pliku jdl
  4. Proszę wykonać skrypt z poprzedniego punktu przy pomocy Rimrocka dostępnego na zeusie (dowolnie wybranym sposobem). Klient REST powinien zostać uruchomiony z zewnetrzenej maszyny poza zeusem (np. jabba). Do uwierzytelniania należy przekopiować plik proxy wygenerowany na zeusie do lokalnego katalogu na maszynie, na której wywołujemy klienta.
  5. Kaskada zadań. Proszę napisać klienta uzywającego Rimrocka uruchomiającego kilka (4-5) zadań w pętli, a następnie sprawdzającego i wyświetlającego ich status co określony przedział czasu. Język - dowolny. Typ zadań - dowolny.
  6. Proszę przy pomocy PLG-Data wyświetlić obrazki wygenerowane na poprzednim laboratorium.


Katarzyna Rycerz, kzajac at agh.edu.pl
Maciej Malawski, malawski at agh.edu.pl
Bartosz Baliś, balis at agh.edu.pl
Włodzimierz Funika, funika at agh.edu.pl