Proszę sprawdzić czy aplikowano o wszystkie niezbędne usługi w Potralu PLGRID. Więcej wymaganiach Complex Networks tutaj Complex Networks
Należy wybrać jedną z opcji: Zleć zadanie QCG (formularz do zlecania) albo Edytor QCG (możliwość stworzenia własnego skryptu Pyton/bash do wykonania obliczeń)
Przykładowy skrypt QCG dostępny tutaj: qcg-test-bash.qcg
Dodatkowy plik tekstowy, dla którego będzie wykonane zliczenie liczby różnych słów występujących w nim bible-kjv.txt
Complex Networks umożliwia zlecania zadań obliczeniowych z wykorzystaniem poniżej przedstawionego formularza. Wszystkie parametry oraz ich znaczenie można znaleźć na stronie Format opisu zadań
Po wskazaniu parametrów zadania możemy je uruchomić klikając na przycisk Zleć zadanie.
Każda z uruchomionych przez Portal Complex Networks zadań można podejrzeć w zakładce Zadania -> Moje zadania.
Ważnym punktem jest możliwość zapisuj specyfikacji zadania w postaci Szablonu - Zapisz jako szablon. Dzieki temu możemy zlecać podobne albo wręcz takie same zadania szybciej i prościej.
Proszę przygotwać dwa pliki - skrypt bash oraz tekstowy plik do zliczenia słów (nazwa pliku jest bardzo ważna w tym przypadku, ponieważ w skrypcie bash jest zapisana nazwa pliku przykładowego)
Najpierw musimy dodać pliki na jedną z naszych maszyn dostępowych - możemy połączyć się do nich poprzed SSH Dostęp do UI (User Interface) albo wykorzystanie GridFTP w Portalu Complex Networks.
Następnie przechodzimy do formularza zlecania zadań QCG
Wybieramy aplikację BASH (skypt bash podamy do wykonania) w polu Plik główny.
Następnie dodamy do zadania plik tekstowych, dla którego policzymy liczbę słów w nim występujących - zgodnie ze skryptem BASH.
W konsekwencji mamy wynik jak poniżej (podgląd pliku wyjściowego)
Widok składa się co do zasady z 3 części:
Część pól z przedstawionego powyżej formularza pozostaje także i w tym widoku. Umożliwiają one dostosowanie zadania do naszych potrzeb. Bardzo ważnym jest wybór Aplikacji, tj. BASH albo Python, gdyż w ten sposób określamy jakiego rodzaju kod może zostać uzyty do uruchomienia zadania.
W przykładzie poniżej widać wywołanie kodu BASH wc -w AFINN-111.txt. Należy zwrócić uwagę na wskazanie pliku AFINN-111.txt, plik ten został wybrany z repozytorium (po zleceniu zadania zostanie pobrany z repozytorium i przeniesiony na maszyny obliczeniowe - nie musimy nic dodatkowo kopiować! Jeśli chcemy więcej plików należy je odnaleźć w repozytorium, a następnie pojedyńczym kliknięciem myszy dodać do zadania. W celu dodania pliku w kodzie należy (po dodaniu go do zadania) ustawić kursor w odpowiednim miejscu kodu oraz kliknąć dwukrotnie na nazwę pliku (w poniższym przypadku można wybrać AFINN-111.txt albo license.txt w sekcji repozytorium). Usuwanie plików z zadania - kliknięcie krzyżyka po prawej stronie nazwy pliku.
kod python
END
Patrz przykład z przetwarzaniem danych sieciowych poniżej
Chcąc zlecić zadanie w języku Python nalezy zmienić typ Aplikacji z BASH na Python.
Następnie wyszukać nas interesujacy fragment kodu, w przykładzie kod obliczający liczbę wystąpień poszczególnych słów w tekście - word_count.py
Wybieramy przycisk Użyj, a kod zostanie skopiowany do Edytora.
Następnie musimy dodać plik, dla którego chcemy wykonać analizę z repozytorium do zadania oraz zmodyfikować kod Python w taki sposób, żeby wskazać tenże plik.
W tym celu wyszukujemy w repozytorium interesujący nas plik, dodajemy go do zadania (tak samo jak wybieraliśmy podgląd kodu przykładowego), a następnie wskazujemy miejsce w kodzie gdzie chcemy dodać plik i klikamy dwukrotnie na jego nazwę (prawe zaznaczenie na poniższym zrzucie ekranu).
W efekcie widzimy zmodyfikowany kod w Edytorze.
Warto zwrócić uwagę na zakładkę Zaawansowane, gdzie to możemy okreslić parametry wykonania zadania zgodnie z Format opisu zadań. W przypadku zlecania zadań Python jest to bardzo ważne, ponieważ musimy wybrać odpowiedni moduł (z preinstalowanymi bibliotekami Python dla gridu Complex Networks).
W przedstawionym poniżej przypadku zlecamy zadanie obliczeniowe dla klastra Supernova, a do pociąga wybór modułu Python odpowiedniego właśnie dla tego klastra. W przypadku wyboru innego/dodatkowego klastra należy uwzględnić do w parametrze Moduły.
Proszę dopisać kod
python - <<END musi być na początku
oraz END na końcu kodu
Wchodzimy do zakładki Zadania/Edytor QCG
Następnie wybieramy Przykład kodu Spark distributed
Na poniższym zrzucie widać przykładowy kod wywołujący zadanie z użyciem framework Spark - przykład zliczania słów w sposób rozproszony
Nastepnie musimy wybrać odpowiedni klaster obliczeniowy (niestety nie wszystkie wspierają Spark). Przechodzimy do zakładki Zaawansowane
Dalej wybieramy klaster Zeus oraz moduł Spark
W tym momencie mamy wszystkie ustawione wszystkie niezbedne parametry do wywołania zadania. Możemy zlecić zadania klikając na przycisk Zleć zadanie
Status zadania możemy podejrzeć w zakładce Zadania/Moje zadania. Widzimy tutaj nazwę, numer, czas zlecenie oraz inne informacje związane z naszym zadaniem. Dodatkowo wybierając szczegóły możemy zobaczyć szczegółowe informacje dotyczące naszego zadania oraz wynik jego wykonania.
Dokumentacje
Helpdesk lub strony dokumentacji o pomocy.
Poniższy szablon należy odpowiednio uzupełnić.
Wstawianie odnośników do innych stron podręcznika
Przy wstawianiu linków do stron wewnętrznych Podręcznika użytkownika (np. certyfikat="Aplikowanie, rejestracja i użycie certyfikatu"' założenie konta="Zakładanie konta w portalu"; Pomoc="Gdzie szukać pomocy") należy w trybie edycji strony:
Efekt powyższego opisu można zobaczyć klikając lewym klawiszem myszki (w trybie edycji strony) na dowolny link w tym oknie informacji. Pojawi się pole, w którym do wyboru będzie opcja Edit, którą klikamy. Pojawi się okno Edit link, z aktywnym polem Search i nazwą strony wewnętrznej podręcznika.
Przy wstawianiu linków do konkretnych sekcji (akapitów) na wybranej stronie, np. Certyfikaty Simple CA ="Aplikowanie, rejestracja i użycie certyfikatu#Certyfikaty Simple CA", należy nazwę strony wraz z tytułem sekcji, rozdzielone znakiem #, podać w opcji Advanced w okienku link. Przy wstawianiu nazwy stron istotne jest zachowanie znaków spacji pomiędzy wyrazami oraz braków spacji pomiędzy #.
LINKI ZEWNĘTRZNE
Linki zewnętrzne np. do strony PL-Grid wstawiamy w oknie Insert Link (Ctrl+K) w opcji Web Link.