Академический Документы
Профессиональный Документы
Культура Документы
I ROZPROSZONE
Temat 4b:
Deterministyczne problemy
szeregowania zadań, cz.II
Prowadzący: dr inż. Zbigniew TARAPATA
pok.225A, tel.: 83-95-04
e-mail: Zbigniew.Tarapata@wat.edu.pl
http:// tarapata.strefa
tarapata.strefa.pl
.pl//p_obliczenia_rownolegle_i_rozproszone/
p_obliczenia_rownolegle_i_rozproszone/
Z12,2 Z17,2
przedsięwzięcia B Z7,9 E Z12,2 H Z17,2 J
2
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
1
Szeregowanie operacji bezprocesorowych. Metoda ścieżki krytycznej.
Zasada: dla wszystkich wierzchołków v wyznaczamy najdłuższe drogi z z
do v. Ich długość to l(v). Jak to zrobić?
1. numeruj wierzchołki „topologicznie” (brak łuków „pod prąd”),
2. źródłu z nadaj etykietę l(z)=0, a kolejnym wierzchołkom v przypisuj
l(v)=max{l(u)+pj: łuk Zj prowadzi z u do v},
Wynik: l(v) wierzchołka początkowego Zj jest najwcześniejszym
możliwym terminem rozpoczęcia tej operacji. l(u) to termin zakończenia
harmonogramu. Z: 0 Terminy
A Z ,2 D Z8,2 F Z ,6 I Porządek A: 3 Z:0+3 uruchomienia
4 13
topologiczny B: 2 Z:0+2
Z1,3 Z5,4 Z9,1 Z14,5 Z18,5 C: 8 Z:0+8, A:3+4, B:2+6
D: 5 A:3+2
Z2,8 C Z10,2 G Z15,9 E: 11 B:2+9
Z U
F: 9 C:8+1 ,D:5+2
Z3,2 Z16,6 Z19,3 G: 12 C:8+2, E:11+1
Z6,6 Z11,1
H: 13 E:11+2
I: 17 F:9+6, G:12+5
B Z7,9 E Z12,2 H Z17,2 J J: 18 G:12+6, H:13+2
U: 22 I:17+5, J:18+3, G:12+9
3
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
2
Szeregowanie operacji bezprocesorowych. Metoda ścieżki krytycznej.
5
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
M3 Z3 Z4 Z5
5
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
6
3
Minimalizacja długości harmonogramu. Maszyny równoległe.
M1 pi ...
M2 ...
S/2
M2 Z2 M2 Z3
Z1
M3 Z3 Z4 M3 Z2 Z4
5 3
Uszeregowanie Uszeregowanie
listowe optymalne
Dokładność. LS jest 2–przybliżone: Cmax(LS)≤(2–m–1)C*max
8
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
4
Minimalizacja długości harmonogramu. Maszyny równoległe.
5
Minimalizacja długości harmonogramu. Maszyny równoległe.
4 T1 T2 T3 T4 T5 - zadanie dostępne
(wolne)
3 T6 T7 T8 T9
2 T10 T11
1 T12
12
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
6
Minimalizacja długości harmonogramu. Maszyny równoległe.
4 T1 T2 T3 T4 T5
3 T6 T7 T8 T9
M1
2 T10 T11
M2
1 T12 M3
4 T1 T2 T3 T4 T5
3 T6 T7 T8 T9
M1 Z1
2 T10 T11
M2 Z2
1 T12 M3 Z3
7
Minimalizacja długości harmonogramu. Maszyny równoległe.
4 T1 T2 T3 T4 T5
3 T6 T7 T8 T9
M1 Z1 Z4
2 T10 T11
M2 Z2 Z5
1 T12 M3 Z3 Z6
4 T1 T2 T3 T4 T5
3 T6 T7 T8 T9
M1 Z1 Z4 Z7
2 T10 T11
M2 Z2 Z5 Z8
1 T12 M3 Z3 Z6 Z9
8
Minimalizacja długości harmonogramu. Maszyny równoległe.
4 T1 T2 T3 T4 T5
3 T6 T7 T8 T9
M1 Z 1 Z 4 Z 7 Z 10 Z 12
2 T10 T11
M2 Z 2 Z 5 Z 8 Z 11
1 T12 M3 Z3 Z6 Z9
18
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
9
Minimalizacja średniego czasu przepływu na maszynach równoległych
M Za Zb Zc
×3 ×2 ×1
Wnioski.
• długość pierwszego zadania jest mnożona przez największy
współczynnik, dla kolejnych zadań współczynniki maleją,
• minimalizując ΣCj powinniśmy umieszczać krótkie zadania na początku
(są mnożone przez największe współczynniki),
• optymalne uszeregowanie jest zgodne z regułą SPT (Shortest Processing
Times) – zadania na maszynach są podejmowane w kolejności
niemalejących czasów wykonania,
• ale jak znaleźć optymalne przypisanie zadań do procesorów? 19
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
Można M1 Z3 Z2 8
Z4
i tak:
M2 ΣCj*=21
Z1 Z5
9 20
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
10
Minimalizacja średniego czasu przepływu na maszynach równoległych
wagami:
• W partycji V1 zadania Z1,...,Zn. k
kpij kM i
• W partycji V2 każdy procesor n
razy: kMi, i=1...m, k=1...n. Zj
• Krawędź z Zj do kMi ma wagę
kpij – oznacza ona zadanie Zj na n
maszynie Mi, pozycja k-ta od nM1
końca. Zn
11
Minimalizacja maksymalnego opóźnienia na maszynach równoległych
Własności:
• kryterium Lmax jest uogólnieniem Cmax, zagadnienia NP–trudne dla Cmax
pozostaną takie w przypadku Lmax,
M Zb Za M Za Zb
da db da db
• mając do wykonania wiele prac z różnymi wymaganymi terminami
zakończenia spóźnimy się „najmniej” zaczynając zawsze od
„najpilniejszej” pracy,
• to samo innymi słowy: w różnych wariantach stosujemy regułę EDD
(Earliest Due Date) – wybieraj zadania Zj w kolejności niemalejących
wymaganych terminów zakończenia dj,
• problem zadań niepodzielnych na jednej maszynie (1||Lmax) rozwiązuje
właśnie szeregowanie według EDD.
23
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
12
Minimalizacja maksymalnego opóźnienia na maszynach równoległych
Zadania niezależne
Zadania niepodzielne
Niektóre przypadki NP-trudne: P2||Lmax, 1|rj|Lmax.
Przypadki wielomianowe:
• dla zadań jednostkowych P|pj=1,rj|Lmax.
• podobnie dla maszyn jednorodnych Q|pj=1|Lmax (redukcja do
programowania liniowego),
• dla jednej maszyny rozwiązanie optymalne 1||Lmax uzyskamy
szeregując według EDD (to już było ...).
26
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
13
Minimalizacja maksymalnego opóźnienia na maszynach równoległych
Zadania zależne
Zadania podzielne
Dla jednej maszyny 1|pmtn,prec,rj|Lmax zmodyfikowany algorytm Liu
O(n2):
1. określ zmodyfikowane terminy zakończenia zadań:
dj*=min{dj, min{di:Zj≺Zi}}
2. szereguj według EDD dla nowych dj* z wywłaszczaniem zadania, gdy
pojawia się nowe, wolne, z mniejszym zmodyfikowanym terminem
zakończenia,
3. powtarzaj 2 aż do uszeregowania wszystkich zadań.
Zadania zależne
Zadania niepodzielne
• Już P|pj=1,out–tree|Lmax jest NP–trudny.
• P|pj=1,in–tree|Lmax rozwiązuje algorytm Bruckera O(nlog n):
28
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
14
Minimalizacja maksymalnego opóźnienia na maszynach równoległych
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia dk w
kółkach.
-5,-3
-3,-3 4 T1 6 T2 -3,0 4 T3 -1,1 2 T T 3 -2,1
4 5
-6 7 T12
29
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia w kółkach.
-3
-3 4 T1 6 T2 0 4 T3 1 2 T T 31
4 5
0 1 T6 -4 5 T7 -1 3 T8 T9 1 0
-5 6 T10 T11 3 -2
-6 7 T12
30
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
15
Minimalizacja maksymalnego opóźnienia na maszynach równoległych
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia w kółkach.
-3
-3 T1 T2 0 T3 1 T4 T5 1
0 T6 -4 T7 -1 T8 T9 0
M1
-5 T10 T11 -2
M2
-6 T12 M3
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia w kółkach.
-3
-3 T1 T2 0 T3 1 T4 T5 1
0 T6 -4 T7 -1 T8 T9 0
M1 Z3
-5 T10 T11 -2
M2 Z4
-6 T12 M3 Z5
16
Minimalizacja maksymalnego opóźnienia na maszynach równoległych
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia w kółkach.
-3
-3 T1 T2 0 T3 1 T4 T5 1
0 T6 -4 T7 -1 T8 T9 0
M1 Z3 Z6
-5 T10 T11 -2
M2 Z4 Z8
-6 T12 M3 Z5 Z9
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia w kółkach.
-3
-3 T1 T2 0 T3 1 T4 T5 1
0 T6 -4 T7 -1 T8 T9 0
M1 Z3 Z6 Z1
-5 T10 T11 -2
M2 Z4 Z8 Z2
-6 T12 M3 Z 5 Z 9 Z 11
17
Minimalizacja maksymalnego opóźnienia na maszynach równoległych
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia w kółkach.
-3
-3 T1 T2 0 T3 1 T4 T5 1
0 T6 -4 T7 -1 T8 T9 0
M1 Z3 Z6 Z1 Z7
-5 T10 T11 -2
M2 Z4 Z8 Z2
-6 T12 M3 Z 5 Z 9 Z 11
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia w kółkach.
-3
-3 T1 T2 0 T3 1 T4 T5 1
0 T6 -4 T7 -1 T8 T9 0
M1 Z 3 Z 6 Z 1 Z 7 Z 10 Z 12
-5 T10 T11 -2
M2 Z4 Z8 Z2
-6 T12
M3 Z 5 Z 9 Z 11
18
Minimalizacja maksymalnego opóźnienia na maszynach równoległych
Zadania zależne
Zadania niepodzielne
Przykład. Algorytm Bruckera, n=12, m=3, terminy zakończenia w kółkach.
Opóźnienia:
-3
-1 4 T1 6 T2 -3 4 T3 -1 2 T T 3 -2
4 5
1 T -1 5 T7 -1 3 T8 T9 1 1
Lmax*=1 6
M1 Z 3 Z 6 Z 1 Z 7 Z 10 Z 12
-1 6 T10 T11 3 0
M2 Z4 Z8 Z2
-1 7 T12
M3 Z 5 Z 9 Z 11
Dziękuję za uwagę
38
Z.Tarapata, Obliczenia równoległe i rozproszone, wykład nr 4b, http://tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
19