background image

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)  

background image

 
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. 

background image

 
„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. 

 

background image

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 

background image

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 

 
 

background image

 
 
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 

background image

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ę.

  

 

background image

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 

background image

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.  

 

background image

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”.