Załóżmy, że sieć poniżej jest modelem pewnego przedsięwzięcia. Który wierzchołek może opisywać zdarzenie początkowe?
1 – bo nie dochodzą do tego wierzchołka żadne łuki; jest to jedyny taki wierzchołek
2
5
7
Sieć poniżej jest modelem pewnego przedsięwzięcia. Czasy realizacji wszystkich czynności wynoszą 1. Jaki jest luz czasowy zdarzenia 5?
0
1
2
3
Jeżeli algorytm o złożoności O(n4) w ciągu 1h jest w stanie rozwiązać problem o rozmiarze N to jeżeli prędkość procesora wzrośnie 1000-krotnie wówczas w tym samym czasie rozwiążemy problem o rozmiarze:
10 n
5,62 n * (wykład 1, strona 7 - sposób) => 1000^(1/4)
250 n
3,98n
Jeżeli algorytm sekwencyjny w ciągu 1h jest w stanie rozwiązać problem o rozmiarze N, to jeżeli dysponować będziemy p=10 procesorami (przy założeniu braku opóźnień komunikacyjnych i połączeniach między procesorami typy każdy z każdym) to w czasie 1h rozwiążemy problem o rozmiarze:
>=10N
= 10N
<=10N
chuj wie
Jeżeli czas działania algorytmu sekwencyjnego wynosi 3 oraz czas działania algorytmu równoległego przy założeniu, że dostatecznie duża liczba procesorów jest dostępna, wynosi 2, to górne ograniczenie na czas działania alg. równoległego reprezentowanego przez pewien AGS i wykorzystującego p=3 procesory będzie:
<=2
<=5
<=4
<=3
Jeżeli czas działania algorytmu sekwencyjnego wynosi 7 oraz czas działania algorytmu równoległego przy założeniu, że dostatecznie duża liczba procesorów jest dostępna wynosi 3, to dolne ograniczenie na czas działania alg równoległego reprezentowanego przez pewien AGS i wykorzystującego p=2 procesory będzie:
>=3
>=7
>=2
>=1
Załóżmy, że graf z zadania 2 reprezentuje AGS pewnego problemu obliczeniowego w którym pominięto wierzchołki wejściowe. Ile wynosi optymalna liczba procesorów p* dla tego AGS:
3
2
1
6
Najkrótsza droga dla sieci z zadania 1 z wierzchołka nr 1 do wierzchołka nr 5 ma długość:
9
12
14
23
Załóżmy, że graf z zad 2 reprezentuje AGS pewnego problemu obliczeniowego w którym pominięto wierzchołki wejściowe. Ile wynosi długość harmonogramu przy założeniu, że liczba procesorów p=3:
3
6
5
7
Jeżeli czas działania algorytmu sekwencyjnego wynosi 5 oraz czas działania algorytmu równoległego (reprezentowanego przez pewien AGS) przy p=3 procesorach wynosi 3 to dolne ograniczenie na czas działania alg równoległego przy dostatecznie dużej liczbie procesorów będzie:
>=2
>=1
>=3
>=5
W praktyce efektywność algorytmu równoległego wykorzystującego p procesorów jest:
Zawsze <=1
Zawsze należy do przedziału [0, 1]
Zawsze jest >1
Może być >1
Który z wymienionych elementów stanowi podstawową zaletę obliczeń asynchronicznych:
znaczna redukcja czasu obliczeń (wykład 3 str. 8)
mniejsza częstotliwość przesyłania danych między procesorami
łatwość w określeniu zbieżności algorytmu
szybsza komunikacja między procesorami
Długość harmonogramu wyznaczanego dla grafu AGS jest w szeregowaniu zadań nazywana:
całkowitym czasem zakończenia zadania
max opóźnieniem
max spóźnieniem
długością uszeregowania
Mamy listę 5-ciu zadań o czasach wykonywania odpowiednio: 5,4,7,3,2. Długość uszeregowania tych zadań na p=2 procesorach według zasady LPT wynosi:
11
13
12
10
Algorytm Hu służy do szeregowania:
zadań niepodzielnych, niezależnych na procesorach identycznych
zadań niepodzielnych, niezależnych na procesorach dowolnych
zadań niepodzielnych, zależnych na procesorach identycznych
zadań niepodzielnych, zależnych na procesorach dowolnych
Załóżmy, że sieć poniżej jest modelem pewnego przedsięwzięcia. Który wierzchołek może opisywać zdarzenie początkowe?
1 – bo nie dochodzą do tego wierzchołka żadne łuki; jest to jedyny taki wierzchołek
2
5
7
Sieć poniżej jest modelem pewnego przedsięwzięcia. Czasy realizacji wszystkich czynności wynoszą? Jaki jest luz czasowy zdarzenia?
2
3
4
1
Jeżeli algorytm o złożoności O(n2) w ciągu 1h jest w stanie rozwiązać problem o rozmiarze N to jeżeli prędkość procesora wzrośnie 1000-krotnie wówczas w tym samym czasie rozwiążemy problem o rozmiarze:
500 n
31,62 n
10.0 n
1000 n
Jeżeli algorytm sekwencyjny w ciągu 1h jest w stanie rozwiązać problem o rozmiarze N, to jeżeli dysponować będziemy p=5 procesorami (przy założeniu braku opóźnień komunikacyjnych i połączeniach między procesorami typy każdy z każdym) to w czasie 1h rozwiążemy problem o rozmiarze:
>=5N
= 5N
<=5N
chuj wie
Jeżeli czas działania algorytmu sekwencyjnego wynosi 7 oraz czas działania algorytmu równoległego przy założeniu, że dostatecznie duża liczba procesorów jest dostępna, wynosi 2, to górne ograniczenie na czas działania alg. równoległego reprezentowanego przez pewien AGS i wykorzystującego p=3 procesory będzie:
<=4
<5
<4
<=5
Jeżeli czas działania algorytmu sekwencyjnego wynosi 11 oraz czas działania algorytmu równoległego przy założeniu, że dostatecznie duża liczba procesorów jest dostępna wynosi 5, to dolne ograniczenie na czas działania alg równoległego reprezentowanego przez pewien AGS i wykorzystującego p=3 procesory będzie:
>=3
>=11
>=5
>=2
Załóżmy, że graf z zadania 2 reprezentuje AGS pewnego problemu obliczeniowego w którym pominięto wierzchołki wejściowe. Ile wynosi optymalna liczba procesorów p* dla tego AGS:
3
2
1
4
Najkrótsza droga dla sieci z zadania 1 z wierzchołka nr 1 do wierzchołka nr 4 ma długość:
13
12
14
23
Załóżmy, że graf z zad 2 reprezentuje AGS pewnego problemu obliczeniowego w którym pominięto wierzchołki wejściowe. Ile wynosi długość harmonogramu przy założeniu, że liczba procesorów p=1:
8 (podobno ok)
6
5
7
Jeżeli czas działania algorytmu sekwencyjnego wynosi 8 oraz czas działania algorytmu równoległego (reprezentowanego przez pewien AGS) przy p=3 procesorach wynosi 4 to dolne ograniczenie na czas działania alg równoległego przy dostatecznie dużej liczbie procesorów będzie
>2
>1
>=2
>=3
W praktyce efektywność algorytmu równoległego wykorzystującego p procesorów jest:
Zawsze <=1
Zawsze należy do przedziału [0,1]
Zawsze jest >1
Może być >1
Który z wymienionych elementów stanowi podstawową zaletę obliczeń synchronicznych:
Mała częstotliwość przesyłania danych między procesorami
Znaczna redukcja czasu obliczeń
Małe opóźnienia w realizacji operacji
Szybsza komunikacja między procesorami
Długość harmonogramu wyznaczanego dla grafu AGS jest w szeregowaniu zadań nazywana:
całkowitym czasem zakończenia zadania
max opóźnieniem
max spóźnieniem
długością uszeregowania
Mamy listę 5-ciu zadań o czasach wykonywania odpowiednio: 5,4,7,3,2. Długość uszeregowania tych zadań na p=2 procesorach według zasady LPT wynosi:
12
11
13
21
Algorytm Hu służy do szeregowania:
zadań podzielnych, zależnych na procesorach identycznych
zadań podzielnych, zależnych na procesorach dowolnych
zadań niepodzielnych, zależnych na procesorach identycznych
zadań niepodzielnych, zależnych na procesorach dowolnych
Załóżmy, że sieć poniżej jest modelem pewnego przedsięwzięcia. Jaki jest najwcześniejszy termin realizacji przedsięwzięcia (zdarzeniem końcowym jest zdarzenie nr 5):
23
17
14
18
Sieć poniżej jest modelem pewnego przedsięwzięcia. Czasy realizacji wszystkich czynności wynoszą 1. Jaki jest najpóźniejszy dopuszczalny termin rozpoczęcia czynności J:
2
3
4
1
W praktyce przyspieszenie algorytmu równoległego wykorzystującego p procesorów jest:
zawsze należy do przedziału [1,p]
zawsze jest <= 1
może być <=1
może być >=p
Załóżmy, że graf z zad 2 reprezentuje AGS pewnego problemu obliczeniowego w którym pominięto wierzchołki wejściowe. Ile wynosi długość harmonogramu przy założeniu że liczba procesorów p=2?
4
6
5
7
Załóżmy, że graf z zad 2 reprezentuje AGS pewnego problemu obliczeniowego w którym pominięto wierzchołki wejściowe. Ile wynosi optymalna długość harmonogramu dla tego AGS?
5
4
6
1
Jeżeli czas działania algorytmu sekwencyjnego wynosi 10 oraz czas działania algorytmu równoległego przy założeniu, że dostatecznie duża liczba procesorów jest dostępna wynosi 4, to dolne ograniczenie na czas działania alg równoległego reprezentowanego przez pewien AGS i wykorzystującego p=5 procesory będzie:
>=3
<=10
>=5
>=4
Jeżeli czas działania algorytmu sekwencyjnego wynosi 5 oraz czas działania algorytmu równoległego przy założeniu, że dostatecznie duża liczba procesorów jest dostępna wynosi 3, to przyspieszenie algorytmu równoległego z dowolna liczbą procesorów:
<=0.6
<=1.67
>=0.6
>=2
Najkrótsza droga dla sieci z zadania 1 z wierzchołka nr 1 do wierzchołka nr 5 ma długość:
14 (1->7->8->3->5)
17
23
13
Jeżeli algorytm sekwencyjny w ciągu 1h jest w stanie rozwiązać problem o rozmiarze N, to jeżeli dysponować będziemy p=11 procesorami (przy założeniu braku opóźnień komunikacyjnych i połączeniach między procesorami typu każdy z każdym) to w czasie 1h rozwiążemy problem o rozmiarze:
>=11N
= 11N
<=11N
chuj wie
Jeżeli algorytm o złożoności O(n^(1/8)) w ciągu 1h jest w stanie rozwiązać problem o rozmiarze N, to jeżeli prędkość procesorów wzrośnie 10-krotnie wówczas w tym samym czasie rozwiążemy problem o rozmiarze:
10 N
N
100N
1000N
100 000 000N
Efektywność algorytmu równoległego reprezentowanego przez AGS z zadania 2 (w którym pominięto wierzchołki wejściowe) dla p=4 procesorów jest:
0.5
0.8
0.4
0.2
Mamy listę 5-ciu zadań o czasach wykonywania odpowiednio: 8, 4, 7, 3, 2. Długość uszeregowania tych zadań na p=2 procesorach według zasady LPT wynosi:
13
11
12
10
Algorytm wyznaczania ścieżki krytycznej służy do szeregowania:
zadań niezależnych, niepodzielnych w systemach jednoprocesorowych
zadań niezależnych, podzielnych w systemach jednoprocesorowych
zadań zależnych, niepodzielnych w systemach bezprocesorowych
zadań zależnych, podzielnych w systemach bezprocesorowych.
Który z wymienionych elementów stanowi podstawową wadę obliczeń synchronicznych:
duża częstotliwość przesyłania danych między procesorami
znaczne wydłużenie czasu obliczeń
trudność w określeniu zbieżności algorytmu
wolniejsza komunikacja między procesorami (?)
Przyspieszenie algorytmu równoległego reprezentowanego przez AGS z zadania 2, w którym pominięto wierzchołki wejściowe, dla p=2 procesorów jest równe:
2.0
0.8
1.2
1.6
Wartość efektywności algorytmu równoległego:
zawsze jest >=1;
zawsze jest <=1;
nie musi być >=1;
nie musi być <=1;
Harmonogramowanie według reguły SPT oraz LPT:
gwarantuje otrzymanie tej samej postaci harmonogramu, ale inną długośćharmonogramu;
gwarantuje otrzymanie tej samej postaci harmonogramu oraz tą samą długośćharmonogramu;
nie gwarantuje otrzymanie tej samej postaci harmonogramu, ale tą samą długośćharmonogramu;
nie gwarantuje otrzymanie tej samej postaci harmonogramu, ani tej samej długościharmonogramu;
Podstawową wadą obliczeń asynchronicznych jest:
wydłużenie czasu obliczeń w stosunku do obliczeń synchronicznych;
duża intensywność przesyłania danych między procesorami;
zwiększenie rozmiaru danych do obliczeń;
zmniejszenie dokładności otrzymanych rozwiązań;
Różnice między modelem „stacja robocza = serwer” (NOW – Network of Workstation) a modelem „pula procesorów”.
Model puli procesorów składa się z wielu jednostek centralnych w jednej szafie (polegający na wydzieleniu w systemie zbioru procesorów nie będących własnością żadnego konkretnego użytkownika, wydzierżawianych z puli poszczególnym procesom na czas ich obliczeń). Użytkownicy mają szybkie terminale graficzne. Model stacji roboczych składa się z wielu stacji roboczych połączonych siecią LAN.
Podstawowa wada systemów NOW to niespójność systemu, tzn. każdy węzeł jest widziany jako niezależny system, co utrudnia wykorzystanie jako środowiska do uruchamiania zadań równoległych.
Wytłumacz działanie ssi w klastrze obliczeniowym.
Systemy SSI (Single System Image) zarządzają zasobami w klastrze, tworząc wspólny obszar udostępniania zasobów, tj. dysk, pamięć, procesy. W ten sposób aplikacja działająca w klastrze nie widzi odrębnych węzłów klastra, ale jedną wspólną przestrzeń pamięci RAM, jeden system plików, jeden obszar adresacji zadań. Uproszcza to znacznie użytkowanie klastra.
Opisać sposób rozpraszania obliczeń w pvm.
PVM jest narzędziem służącym głównie do pośrednictwa w wymianie informacji pomiędzy procesami uruchomionymi na oddzielnych maszynach oraz do zarządzania nimi za pośrednictwem konsoli pvm. Z punktu widzenia obecnej definicji maszyny wirtualnej, pvm w sumie nie zasługuje na swoją nazwę, powinien się bardziej nazywać "zarządca procesów zrównoleglonych", jednakże historia pvm sięga dawnych czasów, kiedy to nazewnictwo było nieco inaczej rozumiane.
W dużym uproszczeniu PVM pozwala na "połączenie" większej ilości komputerów w jeden. Odbywa się to na zasadzie dołączania kolejnych hostów (komputerów), na których został zainstalowany i skonfigurowany pvm. Podłączanie hosta jest w uproszczeniu procedurą połączenia przez rsh, uruchomieniu demona pvm i dostarczenia mu informacji o tym, kto jest jego "rodzicem" oraz o parametrach istniejącej sieci.
W momencie, kiedy cała "maszyna wirtualna" już jest skonfigurowana, rola pvm sprowadza się do stanowienia pomostu wymiany informacji pomiędzy procesami, które się w pvm "zarejestrują", oraz umożliwienia administrowania stanem zarejestrowanych w pvm procesów.
Różnica między now i pulą procesorów.
jw.
Realizowanie obliczeń równoległych w mpi.
MPI – standard przesyłania komunikatów miedzy procesami.
Zasadą działania środowiska MPI jest podział programu na tzw. komunikatory. Są to podstawowe jednostki funkcjonalne, między którymi wymieniane są dane i przesyłane są komunikaty.
Standard ten pozwala na zdefiniowanie dwóch podstawowych struktur procesów w obrębie jednego komunikatora. Pierwsza z nich to topologia kartezjańska, w której procesy ułożone są w macierz niekoniecznie dwuwymiarową.
bardziej ogólna topologia - topologia grafu - działa na podobnej zasadzie, ale dla struktury grafu.
Pytanie z ssi. (konkretnie jakie nie wiem, pewnie opisać)
jw.
26. Czym różni się system rozproszony budowany wg modelu stacji roboczych od modelu puli procesorów?
System rozproszony realizujący model puli procesorów zawiera system usług dla stacji roboczej, do którego dołączono jedną lub więcej pul procesorów. Pula procesorów składa się ze zbioru tanich komputerów, z których każdy zawiera m.in. procesor, pamięć i interfejs sieciowy. Każdy procesor puli ma niezależne połączenie z siecią (podobnie jak stacje robocze i serwery), a ich architektura nie musi być jednolita.
Z punktu widzenia użytkownika model puli procesorów różni się od modelu usług dla stacji roboczej tym, że użytkownik może wykonywać pożyteczne prace za pomocą słabo wyposażonego w sprzęt komputera albo nawet sieciowego terminalu. Stacja robocza lub terminal użytkownika po prostu zapewnia dostęp do zasobów obliczeniowych systemu. Zadanie obliczeniowe może być wykonywane częściowo lub w całości przez pulę procesorów. Jeśli użytkownik zapoczątkuje więcej niż jedno zadanie lub zadanie wytwarza podzadania, to procesory puli mogą być przydzielone każdemu z nich i wszystkie zadania mogą wykonywać się równolegle. Procesory puli są przydzielane dynamicznie na podstawie bieżącego obciążenia obliczeniami i obciążenia pamięci oraz wymagań pamięciowych programu. Przykładem systemu realizującego model puli procesorów może być system Amoeba.
Druga modyfikacja polega na programowym rozszerzeniu modelu usług dla stacji roboczej, umożliwiającym przydzielenie zadań bezczynnym lub słabo wykorzystywanym stacjom roboczym jako płynnej puli dodatkowych komputerów, które mogą być używane podobnie jak pula procesorów w modelu puli procesorów. W każdej chwili, a zwłaszcza nocą, znaczna część stacji roboczych w sieci może pozostawać bezczynna lub tylko lekko obciążona pracami w rodzaju redagowania dokumentów. Takie stacje robocze mają zapas mocy obliczeniowej i mogą być używane do wykonywania zadań dla użytkowników zarejestrowanych na innych stacjach i których zadania wymagają więcej mocy obliczeniowej niż może im zapewnić jedna stacja robocza. Przykładem może być system Sprite - przeznaczony dla systemów rozproszonych, który umożliwia użytkownikom wykonywanie poszczególnych poleceń na bezczynnych lub nie w pełni wykorzystanych stacjach roboczych. Docelowa stacja jest wybierana przeźroczyście przez system. System Sprite uwzględnia możliwość migracji procesów, czyli przemieszczania wykonywanego programu z jednej maszyny do drugiej. Oznacza to, że w razie zarejestrowania się użytkownika na danej stacji lub gdy stacja ta zacznie być intensywniej wykorzystywana, gościnnie wykonywany program może powędrować bezpiecznie z powrotem do innej lub swojej maszyny, gdzie może być dalej wykonywany.