Versions Compared

Key

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

Krótki opis usługi

 Usługa umożliwiająca umożliwia realizację zadań obliczeniowych na dla bardzo zbiorach dużych danych zbiorach danych lub też wielu bardzo małych zadań w jak najszybszym 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 danego jest dane słowo jest). Na rysunkach przedstawiony jest wynik budowania słownika wykorzystywanego podczas analizy wydźwięku dla języka naturalnego. 

...

Chmura słów - negatywne zwroty

 

Ograniczenia w korzystaniu

...

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

Pierwsze kroki

Zlecanie zadań obliczeniowych z użyciem QCG

...

Dodatkowy plik tekstowy, dla którego będzie wykonane zliczenie liczby różnych słów w nim występujących w nim : bible-kjv.txt

Zleć zadanie QCG

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

...

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

Proszę przygotwać 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)

...

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

...

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

Image Modified

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

Image Modified

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 Modified

Poniżej widzimy poprawnie wgrane dwa pliki.

...

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

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

...

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.

 

Zlecanie zadań

...

z wykorzystaniem Edytora QCG

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

...

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 pojedyńczym 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. 

...

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 nalezy należy zmienić typ Aplikacji z BASH na Python.

Następnie wyszukać nas interesujacy fragment interesujący nas  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 do zadania dodać z repozytorium plik, dla którego chcemy wykonać analizę z repozytorium do zadania oraz zmodyfikować kod Python w taki sposób, żeby wskazać tenże plik.

...

Warto zwrócić uwagę na zakładkę Zaawansowane, gdzie to możemy okreslić 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 SupernovaZeus, a do 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ć do to w parametrze Moduły.Image Removed

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! 

Zaawansowane użycie

Zlecanie zadania Python - wczytywanie danych sieciowych

...

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

Image RemovedImage Added

Wszystko gotowe i można zlecić zadanie.

...

Wchodzimy do zakładki Zadania/Edytor QCG

W polu Aplikacja wybieramy bash

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 Następnie musimy wybrać odpowiedni klaster obliczeniowy (niestety nie wszystkie wspierają Spark). Przechodzimy do zakładki Zaawansowane

Dalej wybieramy klaster Zeus oraz moduł Spark

Image RemovedImage Added

W tym momencie mamy wszystkie ustawione wszystkie niezbędne 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.

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