Dokumentacja użytkowa symulatora obliczeń równoległych
Uruchomienie aplikacji
Aplikacja powstała w języku C# przy wykorzystaniu Visual Studio Express
Edition 2005. Plik wykonywalny ma nazwę XXX i znajduje się w folderze XXX na
dołączonej do pracy magisterskiej płycie CD.
Do poprawnej pracy aplikacja potrzebuje bibliotek zawartych w dot.net 2.0,
które można pobrać ze strony
http://msdn.microsoft.com/netframework/
(dane z dnia
02.05.2006).
Aplikacja możliwa jest do uruchomienia tylko na rodzinie systemów
operacyjnych Windows.
Obsługa aplikacji
GŁÓWNIE OKNO APLIKACJI
Główne okno aplikacji podzielone jest na 3 zasadnicze obszary:
1. menu główne aplikacji,
2. panel przycisków,
3. obszar edycji problemu decyzyjnego (grafu AGS)
OBSŁUGA MYSZKI W POLU EDYCJI GRAFU
• poprzez dwukrotne kliknięcie lewym przyciskiem w polu edycji grafu – w
miejscu kliknięcia zostaje utworzony nowy wierzchołek działania,
• poprzez dwukrotne kliknięcie prawym przyciskiem w polu edycji grafu – w
miejscu kliknięcia zostaje utworzony nowy wierzchołek zmiennej,
• poprzez kliknięcie lewym przyciskiem myszy na dowolnym wierzchołku →
przesunięcie myszy → zwolnienie przycisku – użytkownik może przesunąć
dowolny z wierzchołków w żądane przez niego miejsce,
• poprzez kliknięcie prawym przyciskiem myszy na dowolnym wierzchołku →
przesunięcie myszy → zwolnienie przycisku nad innym wierzchołkiem, ale
tylko nad wierzchołkiem działania – użytkownik może utworzyć łuk łączący
dwa wierzchołki o ile istnieje możliwość, aby tak łuk utworzyć,
• pojedyncze kliknięcie lewym przyciskiem myszy na wierzchołku – zaznaczenie
wierzchołka w celu wskazania, którego z wierzchołków mają dotyczyć
działania wyzwalane przez naciśnięcie przycisków w panelu przycisków.
MENU → PLIK
„Odczyt AGS” i „Zapis AGS” odbywa się z/do pliku o rozszerzeniu *.sor. Jest to plik
tekstowy i może być edytowany. Aplikacja sprawdza dane w momencie zapisu i nie
czyni tego ponownie przy odczycie. Aplikacja może działać niestabilnie, jeżeli plik
zadania będzie zmodyfikowany ręcznie, a następnie wczytany do aplikacji.
„Otwórz harmonogram” pozwala na otworzenie w aplikacji Notepad zapisanego
wcześniej harmonogramu, czy wyników symulacji wielokrotnej.
„Zapisz harmonogram” pozwala na zapisane danych wejściowych zadania,
utworzonego
harmonogramu
oraz
charakterystyk
opisujących
utworzony
harmonogram.
„Zapisz wyniki symulacji wielokrotnej” pozwala na zapisane danych wejściowych
zadania, utworzonego harmonogramu oraz charakterystyk minimalnej / średniej
arytmetycznej / maksymalnej ze wszystkich wytworzonych podczas symulacji
wielokrotnej harmonogramów. „Zapisz wyniki symulacji wielokrotnej” pozwala również
na zapisanie charakterystyk wszystkich utworzonych harmonogramów w oddzielnym
pliku tekstowym.
MENU → USTAWIENIA → PROCESORY → JEDNORODNE
Dla procesorów jednorodnych te okno pozwala na edycję liczby procesorów oraz ich
szybkości. Można tutaj również zmienić opóźnienia przesyłu danych dla szablonu
procesorów.
MENU → USTAWIENIA → PROCESORY → NIEJEDNORODNE
Dla procesorów niejednorodnych te okno pozwala na edycję liczby procesorów oraz
ich szybkości. Nadawane procesorom nazwy muszą być unikalne. Przy użyciu
przycisku „Dodaj wiele procesorów” pozwala na dodanie zadeklarowanej liczby
procesorów o podanej przez użytkownika szybkości. Tym procesorom zostaną
nadane unikalne nazwy. Okno również udostępnia możliwość określenia opóźnienia
przesyłu danych dla szablonu procesorów.
Po zatwierdzeniu danych opisujących procesory, zarówno dla procesorów
jednorodnych jak i dowolnych, system prosi o wprowadzenie sieci procesorów.
Wprowadzanie sieci procesorów do symulatora odbywa się z pliku tekstowego, w
którym użytkownik zapisuje macierz przedstawiającą sieć procesorów wg zadanego
schematu. Użytkownik wprowadzając sieć procesorów jednocześnie definiuje
opóźnienia przesyłu danych. Użytkownik wypełniając macierz wartościami
nieujemnymi przedstawia połączenia pomiędzy procesorami oraz wartość opóźnienia
przesyłu danych. Wartości -1 oznaczają brak połączenia pomiędzy tymi procesorami
w tym kierunku. Na przekątnej macierzy użytkownik wprowadza wartość opóźnienia
przesyłu danych, gdy przesyłanie danych odbywa się przez procesor. Jeżeli procesor
przesyła dane sam do siebie opóźnienie przesyłu danych wynosi 0. Poniżej znajduje
się przykładowa sieć procesorów oraz macierz ją opisująca.
P1
P2
P3
P4
P5
P6
P7
P8
P9
P1 0,02 -1
-1
0,01 -1
-1
-1
-1
-1
P2 -1
0,02 0,01 -1
-1
-1
-1
-1
-1
P3 -1
0,01 0,03 -1
0,01 0,03 -1
-1
-1
P4 0,01 -1
-1
0,02 0,01 -1
-1
-1
-1
P5 -1
-1
0,01 0,01 0,02 0,02 0,03 0,01 -1
P6 -1
-1
0,03 -1
0,02 0,02 -1
-1
0,02
P7 -1
-1
-1
-1
-1
0,03 0,02 0,02 -1
P8 -1
-1
-1
-1
0,01 -1
0,02 0,03 -1
P9 -1
-1
-1
-1
-1
0,02 -1
-1
0,03
Jeżeli procesor nie posiada bezpośredniego połączenia z procesorem, do którego
ma przesłać dane algorytm wyszuka najkrótszą drogę biorąc pod uwagę opóźnienie
przesyłu danych na połączeniach pomiędzy procesorami jak również podczas
przechodzenia przez procesory, które są na drodze przesyłu danych.
Jeżeli użytkownik nie zdecyduje się na wprowadzenie sieci procesorów z pliku
utworzona zostanie sieć procesorów, w której każdy procesor jest połączony z
każdym procesorem. Opóźnienia przesyłu danych będą wynosiły wartość
zadeklarowaną w
bieżącym oknie ustawień procesorów niejednorodnych
MENU → USTAWIENIA → DZIAŁANIA → JEDNORODNE
Dla działań jednorodnych te okno pozwala na edycję długości czasu wykonywania
jednego działania. Ponadto te okno umożliwia edytowanie parametrów rozkładu
równomiernego jak i normalnego. Parametry te nie mają znaczenia, jeżeli użytkownik
wybierze symulację deterministyczną.
MENU → USTAWIENIA → DZIAŁANIA → NIEJEDNORODNE
Dla działań niejednorodnych te okno pozwala na dodanie, usunięcie oraz edycję typu
operacji, symbolu operacji oraz długości czasu wykonywania działania. Ponadto te
okno umożliwia edytowanie parametrów rozkładu równomiernego jak i normalnego.
Parametry te nie mają znaczenia, jeżeli użytkownik wybierze symulację
deterministyczną.
MENU → USTAWIENIA → SZYBKOŚĆ SYMULACJI
Okno pozwala na
określenie kroku dla symulacji sekwencyjnej wyrażonego w
jednostkach czasu. Ponadto możliwe jest również zdefiniowanie mnożnika szybkości
dla symulacji zdarzeniowej ciągłej. Czas pomiędzy zdarzeniami przy tym typie
symulacji wynosi 2 sekundy. Zwiększając wartość mnożnika do wartości 2 kolejne
zdarzenia podczas symulacji będą co 1 sekundę.
MENU → HARMONOGRAM → OPCJE
Okno spełnia 4 podsawowe funkcje:
1. określenie typu symulacji - użytkownik może zdecydować o parametrach
probelmu decyzyjnego: o typie procesorów, o typie działań, o typie symulacji
2. jaki algorytm ma być wykorzystny do wyboru zadania do wykonania
3. jaki algorytm ma być zastosowany do przydzielenia procesora dla zadania.
4. określenie liczby powtórzeń dla symulacji wielokrotnej,
MENU → HARMONOGRAM → UTWÓRZ HARMONOGRAM
Wybór tej opcji spowoduje utowrzenie harmonogramu. Harmonogram oraz jego
charakterystyki zostaną przedstawione w polu edycji grafu poniżej grafu
reprezentującego problem decyzyjny.
MENU → HARMONOGRAM → SYMULACJA WIELOKROTNA
Wybór tej opcji spowoduje wielokrotne utowrzenie harmonogramu. Łączne
charakterystyki z utworzonych harmonogramów zostaną przedstawione w polu edycji
grafu poniżej grafu reprezentującego problem decyzyjny.
MENU → SYMULACJA → POKAŻ GRAF Z PODZIAŁEM NA WARSTWY
Ta opcja pozwala na ułożenie wprowadzanego problemu decyzyjnego w polu edycji
grafu. Ułożenie odbywa się z podziałem na warstwy.
MENU → SYMULACJA → KROKOWA
Po wywołaniu opcji symulacji sekwencyjnej w
panelu przycisków pojawia się dodatkowy
przycisk. Przy jego wykorzystaniu użytkownik
kontroluje upływ czasu symulacji, który jest
wyświetlany poniżej tego przycisku. Upływ czasu
jest zgodny z wartością zadeklarowaną przez
użytkownika w oknie edycji szybkości symulacji.
MENU → SYMULACJA → ZDARZENIOWA
Po wywołaniu opcji symulacji zdarzeniowej w
panelu przycisków pojawia się dodatkowy
przycisk. Przy jego wykorzystaniu użytkownik
przechodzi do następnego zdarzenia w
harmonogramie. Czas symulacji jest wyświetlany
poniżej tego przycisku.
MENU → SYMULACJA → CIĄGŁA ZDARZENIOWA
Po wywołaniu przez użytkownika tej opcji symulacja przebiega zdarzeniowo z
zadeklarowaną przez użytkownika w oknie edycji szybkości symulacji wartością. W
panelu przycisków pojawia się licznik pokazujący czas symulacji.
PANEL PRZYCISKÓW
W panelu przycisków część przycisków jest aktywna cały czas, część gdy wskazany
jest wierzchołek, dla którego ma zostać wykonana dana operacja oraz część
przycisków staję się aktywna, gdy wskazane są dwa wierzchołki, których ma dotyczyć
operacja.
Przykładowo dla dodania operacji do wierzchołka należy najpierw zaznaczyć
wierzchołek, wybrać z dostępnych opcji działanie oraz potwierdzić wybór przy pomocy
przycisku.
Tak samo należy postępować w przypadku przypisywania deadline’a do wierzchołka
– po zaznaczeniu wybranego wierzchołka należy wpisać w pole przy przycisku
„Przypisz deadline” żądaną wartość i
nacisnąć wspomniany przycisk.
W celu usunięcia operacji przypisanej do
wierzchołka, jak i usunięcia deadline’a należy
zaznaczyć wierzchołek i nacisnąć przycisk
„Usuń operację i deadline”.