Versions Compared

Key

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

Krótki opis usługi

 Usługa umożliwia realizację zadań obliczeniowych dla bardzo dużych zbiorach danych lub też wielu bardzo małych zadań w jak najkrótszym czasie. Budowane środowisko umożliwia złożone analizy i obliczenia w takich problemach jak:

  • analiza wydźwięku dla danych tekstowych,
  • przetwarzanie języka naturalnego,
  • analityka marketingowa i analiza danych konsumenckich,
  • przetwarzanie sieci złożonych, w tym np. sieci społeczne, sieci ekonomiczne, sieci transportowe,
  • uczenie maszynowe i wspomaganie decyzji.

W ramach usługi można także dokonywać wizualizacji otrzymanych wyników badań. Przykładem takich wizualizacji mogą być grafiki prezentujące słowa nacechowane pozytywnie czy negatywnie (rysunki poniżej, im większy rozmiar czcionki danego słowa tym bardziej pozytywne/negatywne jest dane słowo). Na rysunkach przedstawiony jest wynik budowania słownika wykorzystywanego podczas analizy wydźwięku dla języka naturalnego. 

 

Chmura słów - pozytywne zwroty 

 

Image Added

 

Chmura słów - negatywne zwroty

 

Image Added

Ograniczenia w korzystaniu

Proszę sprawdzić czy aplikowano o wszystkie niezbędne usługi w Portalu PLGRID. Więcej  wymaganiach Complex Networks zamieszczono w osobnym rozdziale.

Pierwsze kroki

Zlecanie zadań obliczeniowych z użyciem QCG

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 w nim występujących: bible-kjv.txt

Image Added

Zleć zadanie QCG

Complex Networks umożliwia zlecanie 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żde 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. Dzięki temu możemy zlecać podobne albo wręcz takie same zadania szybciej i prościej. 

Image Added

Przykładowe zadanie zlecane przez formularz - zliczanie słów dla zadanego pliku

Należy przygotować 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)

qcg-test-bash.qcg

bible-kjv.txt

Najpierw musimy dodać pliki na jedną z naszych maszyn dostępowych - możemy połączyć się do nich poprzez SSH Dostęp do UI (User Interface) albo wykorzystanie GridFTP w Portalu Complex Networks.

Image Added

Następnie tworzymy folder QCG-test-script i przechodzimy do niego.

Image Added

Do niego dodajemy pobrane wcześniej pliki - klikamy w przycisk Wgraj.

Image Added

Pojawi się nowe okienko, do którego metodą przeciągnij/upuść albo poprzez kliknięcie w przycisk Wybierz plik dodajemy pliki potrzebne do uruchomienia zadania.

 

Image Added

Poniżej widzimy poprawnie wgrane dwa pliki.

Image Added

Następnie przechodzimy do formularza zlecania zadań QCG.

Image Added

Wybieramy Nowe zadanie

Image Added

Wybieramy aplikację BASH (skypt bash zostanie użyty do uruchomienia zadania), a w polu Plik główny wskazujemy plik ze skryptem. 

Image Added

Zaznaczamy wybór przy nazwie pliku i potwierdzamy przyciskiem Wybierz.

Image Added

Następnie dodamy do zadania plik tekstowych, dla którego policzymy liczbę słów w nim występujących - zgodnie ze skryptem BASH. W tym celu klikamy na zakładkę Plik oraz wybieramy atrybut Stage in.

Image Added

Wskazujemy plik podobnie jak przy skrypcie bash.

Image Added

W tym momencie przykładowe zadanie jest ustawione i można je zlecić przyciskiem Zleć zadanie.

Image Added

W konsekwencji otrzymujemy wynik jak poniżej (podgląd pliku wyjściowego) - plik można znaleźć wybierając Zadania -> Moje zadania i wchodząc w szczegóły zleconego zadania oraz wybierając Przeglądaj katalog roboczy.

Image Added

 

Zlecanie zadań z wykorzystaniem Edytora QCG

Widok składa się co do zasady z 3 części:

  1. Edytor kodu BASH/Python (lewa część interfejsu)
  2. Sekcja wyboru przykładowych kodów (prawa górna część)
  3. Sekcja wyboru zbioru danych (prawa dolna część)

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ć użyty 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 przenieść więcej plików należy je odnaleźć w repozytorium, a następnie pojedynczym 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. 

Image Added

W celu wykonania zadania należy opakować kod Python w następującą strukturę:

python - <<END

kod python

END

Patrz przykład z przetwarzaniem danych sieciowych poniżej

Zlecanie zadania z wykorzystaniem przykładowych kodów - Python

Chcąc zlecić zadanie w języku Python należy zmienić typ Aplikacji z BASH na Python.

Następnie wyszukać interesujący nas  fragment kodu, w przykładzie kod obliczający liczbę wystąpień poszczególnych słów w tekście - word_count.py

W celu podglądu zawartości kodu należy kliknąć na jego nazwę, w ten sposób dostaniemy dodatkowe okienko z podglądem.

Image Added

Wybieramy przycisk Użyj, a kod zostanie skopiowany do Edytora. 

Następnie musimy do zadania dodać z repozytorium plik, dla którego chcemy wykonać analizę 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. 

Image Added

Warto zwrócić uwagę na zakładkę Zaawansowane, gdzie to możemy określić 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 Zeus, a to pociąga wybór modułu Python odpowiedniego właśnie dla tego klastra. W przypadku wyboru innego/dodatkowego klastra należy uwzględnić to w parametrze Moduły.

Image Added

Odpowiednie biblioteki Python są już pre-instalowane w następujących modułach:

Python-Task - plgrid/tools/python/2.7.9
Python-Zeus - tools/python/2.7.5
Python-Bem -  plgrid/tools/python/2.7.8
Python-Inula - plgrid/tools/python/2.7.3

UWAGA!! Proszę nie usuwać zaznaczenia TRWAŁE z formularza specyfikacji parametrów zadania. W przeciwnym razie zadania zostaną wykonane na klastrze, ale nie zostaną zachowane i skopiowane z powrotem na maszyny lokalne, przez co nie będzie można zobaczyć wyników analiz! 

Image Added

Zaawansowane użycie

Zlecanie zadania Python - wczytywanie danych sieciowych

W Przykładach kodu wybieramy Przetwarzanie sieci, a następnie wczytywanie sieci.

Image Added

Image Added

Dla klastrów innych niż Bem proszę dopisać kod python - <<END na początku skryptu, tak jak na poniższym przykładzie.

Image Added

oraz END na końcu kodu.

Image Added

Następnie określamy opis zlecanego zadania w zakładce Zaawansowane -> Opis.

Image Added

Wybieramy Host (klaster) oraz odpowiedni moduł Python dla klastra.

Odpowiednie biblioteki Python są już pre-instalowane w następujących modułach:

Python-Task - plgrid/tools/python/2.7.9
Python-Zeus - tools/python/2.7.5
Python-Bem -  plgrid/tools/python/2.7.8
Python-Inula - plgrid/tools/python/2.7.3

Image Added

Wszystko gotowe i można zlecić zadanie.

Image Added


Zostajemy poinformowani o nazwie zlecanego zadania oraz przeniesieni do podglądu naszych wszystkich zlecanych zadań.

Image Added


Zlecanie zadania SPARK

Wchodzimy do zakładki Zadania/Edytor QCG

W polu Aplikacja wybieramy bash

Następnie wybieramy Przykład kodu Spark distributed

Image Added

Image Added

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

Image Added

Następnie musimy wybrać odpowiedni klaster obliczeniowy (niestety nie wszystkie wspierają Spark). Przechodzimy do zakładki Zaawansowane

Image Added

Dalej wybieramy klaster Zeus oraz moduł Spark

Image Added

W tym momencie mamy ustawione wszystkie niezbędne parametry do wywołania zadania. Możemy zlecić zadania klikając na przycisk Zleć zadanie

Image Added

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.

Image Added

Image Added

Gdzie szukać dalszych informacji?

Więcej informacji można znaleźć na oficjalnej stronie usługi https://cn.plgrid.pl. Pytania proszę zadawać poprzez: https://helpdesk.plgrid.pl

Dodatkowo polecamy stronę Helpdesk PLGrid

Info

Poniższy szablon należy odpowiednio uzupełnić.

  • Układ należy zachować (z dopuszczeniem minimalnych modyfikacji).
  • Opis nie powinien przekraczać 10 stron przeciętnego ekranu laptopa.
  • W razie potrzeby należy założyć podstrony (na końcu z rozdziałem "Co dalej?" i odnośnikiem do kolejnego rozdziału dokumentacji).
  • Język opisu - polski. W sytuacji, gdy zasadnicza dokumentacja usługi ma być po angielsku, w tym rozdziale powinny znaleźć się podstawowe informacje pozwalające zorientować się w zaletach usługi i zgrubnie w wymaganych krokach do jej uruchomienia.
  • Uprawnienia do odczytu strony (Tools/Restrictions) powinny być ustawione na "Confluence-users" w trakcie pisania dokumentacji, inaczej będzie widoczna od razu dla osób niezalogowanych.
  • Pytania dotyczące systemu dokumentacji: Hubert Siejkowski,
  • Pytania dotyczące Podręcznika Użytkownika: Unknown User (plgfilocha).

...

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:

  • wpisać tekst, pod który będzie podpięty link
  • zaznaczyć tekst
  • wstawić link (Ctrl+K lub ikona Link na pasku narzędzi)
  • wybrać opcję Search z lewej strony okna Insert Link
  • w pasku po prawej wpisać tytuł strony (lub zacząć wpisywać tytuł i wybrać właściwą stronę z pojawiających się podpowiedzi)
  • zatwierdzić wybraną stronę opcją Insert w prawym dolnym rogu

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.

LINKI ZEWNĘTRZNE

Linki zewnętrzne np. do strony PL-Grid wstawiamy w oknie Insert Link (Ctrl+K) w opcji Web Link.

Info
Pomoc w pisaniu stron w Confluence: https://confluence.atlassian.com/display/DOC/Using+the+Editor

 

Krótki opis usługi

Dla kogo jest przeznaczona, jakie najważniejsze możliwości oferuje?

Aktywowanie usługi

Co należy aktywować, aby móc skorzystać z usługi? (Założenie konta, certyfikat, grant?, aktywacja konkretnych usług w portalu). Należy pamiętać o istnieniu rozdziałów ogólnych podręcznika, do których warto się odwołać.

Ograniczenia w korzystaniu (podsekcja opcjonalna)

Tutaj wpisujemy specjalne zasady korzystania z usługi jeśli takowe są np. konieczność ustawienia grantu domyślnego, zakaz uruchamiania intensywnych zadań na UI itp. Jeśli takowych nie ma to należy tę podsekcję usunąć.

Pierwsze kroki

Koniecznie z przykładowymi zrzutami ekranu lub fragmentami kodu.

Zaawansowane użycie

Ewentualnie jako osobny podrozdział.

Gdzie szukać dalszych informacji?

Strony zewnętrzne (jeśli są), odnośnik do helpdesku lub strony dokumentacji o pomocy.

Info
Można też dodać sekcję "Co dalej?" ze wskazaniem (odnośnikiem) do dalszej części dokumentacji, o ile jest wymagana.