Sbest <- S

Transkrypt

Sbest <- S
Zastosowanie Optymalizacji Ekstremalnej do
równoważenia obciążenia procesorów w
systemach rozproszonych
dr inż. Eryk Laskowski
Instytut Podstaw Informatyki PAN
21/03/2016
Plan prezentacji
●
1. Wprowadzenie
2. Omówienie metody EO
3. EO ze Sterowaną Zmianą Stanu (EO–GS)
4. Opis problemu
5. Dynamiczne równoważenie zadań alg. EO-GS
6. Równoległa metoda EO–GS
7. Wyniki badań eksperymentalnych
2
Współpraca
■
Badania prowadzone w Zespole Architektury
Komputerowej
■
■
prof. dr hab. inż Marek Tudruj
Współpraca międzynarodowa:
■
Ivanoe De Falco, Ernesto Tarantino, Umberto
Scaffuri – Institute of High Performance
Computing and Networking, CNR, Neapol,
Włochy
■
Richard Olejnik – Computer Science Laboratory,
University of Science and Technology of Lille,
Francja
Wprowadzenie
■
■
■
Extremal Optimization (EO)
■
ewolucyjna metoda optymalizacji, autorzy:
Boettcher i Percus, 1999 r.,
■
inspiracją jest model tzw. „self-organized
criticality”, Bak-Sneppen, 1987 r.
Zalety w stosunku do innych metod (GA, PSO,
DE oraz SA, TS itd.)
■
niska złożoność czasowa,
■
małe wymagania pamięciowe.
Nie stosowana do równoważenia zadań.
4
Ogólne zasady EO
■
Rodzaj przeszukiwania stochastycznego, z
pojedynczym osobnikiem reprezentującym
rozwiązanie (chromosomem).
■
Zmiana stanu: aktualizacja najgorszych
składowych rozwiązania
■
■
zastępowane przez wartości losowe (brak
jawnego ulepszania, model Bak-Sneppen).
Dwie funkcje dopasowania
■
lokalna – ocena składowych rozwiązania,
■
globalna – ocena całego osobnika.
5
τ–EO
■
■
Metoda unikania lokalnych optimów
■
składowe są sortowane według rosnącej
wartości lokalnej funkcji dopasowania,
■
prawdopodobieństwo wylosowania składowej k:
pk ∼ k−τ,
■
składowa jest losowana a następnie zmieniania
losowo,
■
osobnik jest zmieniany na S′ ∈ Neigh(S)
bezwarunkowo.
Parametry algorytmu: liczba iteracji Niter i τ.
6
Schemat algorytmu EO
●

initialize configuration S at will

Sbest <- S

WHILE total number of iterations Niter not reached

evaluate φi for each variable si of the current solution S

rank the variables si based on their local fitness φi

choose the rank k according to k-Τ so that the variable sj with j = π(k) is
selected

choose S'  Neigh(S, sj) such that sj must change

accept S <- S' unconditionally

IF Φ(S) < Φ(Sbest)

Sbest <- S

ENDIF

ENDWHILE

RETURN Sbest and Φ(Sbest)
7
EO ze Sterowaną Zmianą Stanu
■
Ulepszona wersja algorytmu EO (ang. EO with
Guided State Changes)
■
motywacja: trudności z szybkim znalezieniem
dobrego rozwiązania dla dużej liczby
jednostek obliczeniowych w systemie,
■
klasyczny EO stosuje w pełni losową selekcję
nowego rozwiązania w każdym kroku metody,
■
propozycja: zamiana wyboru losowego na
wybór stochastyczny z rozkładem
prawdopodobieństwa określonym przez
funkcję wykorzystującą wiedzę dziedzinową.
8
EO with Guided State Changes
●

initialize configuration S at will, Sbest <- S

WHILE total number of iterations Niter not reached

evaluate φi for each variable si of the current solution S

assign ranks k to the variables si based on their local fitness φi

choose the rank k stochastically according to k-Τ so that the variable sj with j = π(k) is
selected for improvement

evaluate some problem knowledge function ωs on neighbours Sv  Neigh(S,sj), generated
by changes of sj in the current solution S

assign ranks g to the neighbours Sv Neigh(S,sj), defined with the use of ωs

choose S'  Neigh(S,sj) according to an exponential distribution Exp(g, λ) = λe-λg

accept S <- S' unconditionally

IF Φ(S) < Φ(Sbest)


Sbest <- S
ENDIF

ENDWHILE

RETURN Sbest and Φ(Sbest)
9
Problem równoważenia obciążenia
■
klaster N jednostek obliczeniowych /wielordzen./
połączonych siecią komunikacyjną /przes. komun./,
■
zbiór zadań T /wątków/
■
problem:
■
przypisz zadania tk, k ∈ 1...|T| do węzłów n,
n ∈ [0, N - 1] w taki sposób, by zminimalizować
całkowity czas działania programu,
■
równoważenia obciążenia polega na wykonywaniu
kroków detekcji i korekcji,
■
zrównoważenie obciążenia ulepsza się poprzez
migrację zadań między jednostkami
obliczeniowymi.
10
Wykrywanie niezrównoważenia
■
Opiera się na badaniu różnicy dostępności
mocy procesora w poszczególnych
jednostkach obliczeniowych
LI = max (TimeCPU(n)) − min (TimeCPU(n)) ≥ α
■
TimeCPU(n): indeks aktualnej dostępności
procesora, tj. procent mocy obliczeniowej
CPU dostępnej dla wątków aplikacji na węźle
n, szacowany na podst. periodycznej
obserwacji wykonywanej przez /wątki/
agentów systemowych,
■
α – współczynnik określony eksperymentalnie
(stosowaliśmy wartość z zakresu 25%-75%).
11
Model aplikacji
■
■
■
Aplikacja: zbiór zadań T
Zadanie tk, k ∈ 1...|T| może być procesem lub
wątkiem
Dwie metryki
■
com(t1, t2) – rozmiar komunikacji między
zadaniami
■
wp(t) – miara obliczeń, realizowanych przez
zadanie
■
dostarczane przez twórcę aplikacji, wystarczy,
że są szacunkami.
12
Lokalna funkcja dopasowania
■
Lokalna funkcja dopasowania:
φ(S) = γ ∗ load(μt) + (1 − γ) ∗ rank(t)
■
■
load(μt) – wskazuje jak bardzo obciążenie węzła
μt przekracza średnie obciążenie węzłów
rank(t) – wskazuje czy zadanie t jest „dobrym”
kandydatem do migracji (średni rozmiar, mało
komunikacji z zadaniami aktualnego węzła).
13
Globalna funkcja dopasowania
■
Globalna funkcja dopasowania:
Φ(S) = attrExtTotal (S) ∗ ∆1
+ migration (S) ∗ ∆2
+ imbalance (S) ∗ [1 − (∆ 1 + ∆2)]
■
attrExtTotal (S) – określa wpływ komunikacji
zewnętrznej na jakość rozwiązania
■
migration (S) – metryka kosztów migracji
■
imbalance (S) – miara niezrównoważenia dla
rozwiązania S.
14
Sterowana zmiana stanu
■
W klasycznym EO nowe rozwiązanie losowane
jest z rozkładem równomiernym.
■
W alg. EO-GS (EO with guided state
changes) wybór nowego rozwiązania
również odbywa się losowo, lecz rozkład
zależy od pewnej funkcji dziedzinowej, w
celu preferowania określonych sąsiadów.
■
Po posortowaniu węzłów docelowych, jeden z
nich jest wybierany losowo jako nowe
położenie zadania – zgodnie z rozkładem
15
wykładniczym Exp(g, λ) = λe−λg
Sterowana zmiana stanu
■
Przy każdej aktualizacji komponentu
rozwiązania:
■
■
■
węzły systemu sortujemy zgodnie z pewnym
rankingiem GS,
implementacja: funkcja porównania ω(n1, n2),
n1,n2 ∈ N,
Co preferujemy:
■
węzły nieobciążone (lub obciążone mniej niż
średnia),
■
węzły, z którymi następuje intensywna
komunikacja aktualnego zadania.
16
Schemat równoważenia EO–GS
Initialize load
balancing infrastructure
Wait for load
state change
Bulk physical
migration of tasks
yes
EO
Number of iterations
reached?
Store nodes load
Logically migrate
task j to node t
no
Compute LI
LI ?
no
Evaluate local fitness for each variable
Store the current solution if its global fitness is
better than found so far
Rank variables based
on their fitnes
Choose target node t
according to exponential distribution
Choose the rank k
according to k-T so
the task j is selected
Evaluate target function ω for each
neighbour of task j
yes
Initialize EO
17
Wersja równoległa algorytmu EO
■
■
Oparta na modelu populacyjnym EO
■
jednocześnie istnieje wiele rozwiązań,
■
równoległe ulepszania rozwiązań w całej
populacji.
Wymiana rozwiązań między populacjami
■
wybór „najlepszego” rozwiązania spośród wielu
rozwiązań, ulepszanych równolegle w obrębie
populacji EO,
■
następuje cyklicznie, po pewnym zadanym
interwale iteracji.
18
Wybór rozwiązania do wymiany
■
Wybór rozwiązania do wymiany wykorzystuje
Sbest z bieżącej iteracji.
■
Warianty wyboru rozwiązania startowego:
■
(A) najlepsze znalezione rozwiązanie
■
(B) „średnio” najlepsze
■
(C) wynik krzyżowania najlepszego rozwiązania
oraz innego, wybranego losowo
■
■
(D) wybierz najlepsze z krzyżowania Sbest z
pozostałymi rozwiązaniami
(E) rozprosz wynik krzyżowania Sbest z
pozostałymi rozwiązaniami.
19
Schemat równoległego alg. EO
Initialize S using
current nodes load state,
Sbest := S
Begin
distribute Sbest on
processors p: 1...P
distribute {SX} on
processors p: 1...P
execute in parallel on processors p: 1...P
EO-GS1
EO-GSP
⋮
gather Sbest_p from processors p: 1...P
Find best Sbest_p
variant (A),(B)
variant (C)
Sbest = Sbest_p
NO
variant (D)
SX = crossover
Sbest_p and
a solution Sp
{SX} = set of p-1
crossovers of Sbest_p
and other solutions Sp
Sbest = SX
Sbest = best of {SX}
End of
iterations?
variant (E)
{SX} = set of p-1
crossovers of Sbest_p
and other solutions Sp
End
YES
20
End of
iterations?
YES
NO
Badania eksperymentalne
■
Zastosowaliśmy podejście symulacyjne
■
■
symulujemy system poddawany równoważeniu.
Charakterystyka systemu wykonawczego
■
klaster wielordzeniowych jednostek obliczeniowych,
z komunikacją opartą na przesyłaniu
komunikatów
■
przykład systemu: zespół stacji roboczych, z
procesorami wielordzeniowymi, Linux, biblioteka
komunikacyjna MPI.
■
Symulator oparty na modelu DEVS (symulacja sterowana
zdarzeniami na dyskretnej osi czasu).
■
Syntetyczne aplikacje testowe.
21
Struktura aplikacji testowych
22
Badania eksperymentalne cd.
■
■
Dwa zbiory zadań
■
8 zadań o rozmiarze 128-576 zadań,
nieregularne i regularne,
■
4 zadania o rozmiarach 1000, 5000, 10000,
20000 zadań,
■
współczynnik komunikacja/obliczenia w
zakresie [0.10, 0.20].
Badania:
■
własności algorytmów,
■
porównawcze.
23
Badania eksperymentalne cd.
■
Parametry algorytmów równoważenia obciąż.:
■
■
„standardowe” α = 0.5, β = 0.5, γ = 0.75, ∆1 =
0.13, ∆2 = 0.17, τ = 1.5, dla EO–GS λ = 0.5
IF5-IF9 – zestawy wartości β, γ, ∆1, ∆2
■
Każdy eksperyment był powtarzany 20 razy, z
różnymi początkowym konfiguracjami zadań
aplikacji testowej.
■
Badania szerokiego zakresu liczby iteracji 304000, przy czym większość badań wykonano
dla Niter = 500.
24
Badania eksperymentalne cd.
■
■
■
Co badaliśmy:
■
EO, EO-GS
■
PEO-A, PEO-GS-A, PEO-GS-B
■
PEO-GS-C, -D, -E
Badania porównawcze:
■
GA
■
DT
Rozmiar systemu wykonawczego:
■
2-32 /małe aplikacje/, 32-128 /duże aplikacje/
25
Przyśpieszenie
32
28
24
speedup
20
16
12
8
4
0
0
4
8
12
16
20
24
28
32
computing nodes nb.
DT (rg)
EO (rg)
EO-GS (rg)
GA (rg)
DT (irg)
EO (irg)
EO-GS (irg)
GA (irg)
26
Migracje
500
450
400
migration nb.
350
300
250
200
150
100
50
0
0
4
8
12
16
20
24
28
32
computing nodes nb.
DT (rg)
EO (rg)
EO-GS (rg)
GA (rg)
DT (irg)
EO (irg)
EO-GS (irg)
GA (irg)
27
Poprawa przyśpieszenie (średnia)
60%
speedup improvement
50%
40%
regular
irregular
30%
20%
10%
0%
DT
EO
EO-GS
GA
28
0,6
0,06
0,5
0,05
0,4
0,04
0,3
0,03
0,2
0,02
0,1
0,01
0
irregular
regular
Efektywność migracji (średnia)
regular
irregular
0
DT
EO
EO-GS
GA
29
Wpływ wart. parametrów alg. LB
14
450
400
12
speedup
10
300
8
250
6
200
150
4
100
2
migration nb.
350
regular speedup
irregular speedup
regular cost
irregular cost
50
0
0
IF5
IF6
IF7
IF9
30
Wpływ wartości tau na wynik
14
250
12
200
8
150
6
100
4
50
2
0
migration nb.
speedup
10
regular speedup
irregular speedup
regular cost
irregular cost
0
τ=0.75
τ=1.5
τ=3.0
31
12
250
11
200
10
150
9
100
8
50
7
0
EO
migration nb.
speedup
Wpływ wartości lambda na wynik
regular speedup
irregular speedup
regular cost
irregular cost
λ=0.08 λ=0.15 λ=0.5 λ=1.0 λ=2.0 λ=4.0
32
Przyśpieszenie
Speedup
22
20
18
16
14
12
10
8
6
4
2
0
EO
EO-GS
PEO-A
PEO-GS-A
PEO-GS-B
PEO-GS-C
PEO-GS-D
PEO-GS-E
2
4
8
16
32
computing nodes
33
Poprawa przyśpieszenia wzgl. EO
Speedup improvement
20,00%
15,00%
EO-GS
PEO-A
PEO-GS-A
PEO-GS-B
PEO-GS-C
PEO-GS-D
PEO-GS-E
10,00%
5,00%
0,00%
2
4
8
16
32
-5,00%
computing nodes
34
Redukcja migracji wzgl. EO
Reduction of migrations
45,00%
40,00%
35,00%
EO-GS
PEO-A
PEO-GS-A
PEO-GS-B
PEO-GS-C
PEO-GS-D
PEO-GS-E
30,00%
25,00%
20,00%
15,00%
10,00%
5,00%
0,00%
-5,00%
2
4
8
16
32
computing nodes
35
Średni czas działania Niter= 500
LB algorithm execution time [ms]
180
160
140
120
100
EO
EO-GS
80
60
40
20
0
0
5000
10000
15000
20000
25000
application size [tasks]
36
Średni czas działania Niter= 4000
LB algorithm execution time [ms]
1200
1000
800
EO
EO-GS
P=2
P=4
600
400
200
0
0
5000
10000
15000
20000
25000
application size [tasks]
37
Podsumowanie
■
Metoda EO i jej wariant EO-GS doskonale nadaje się
do równoważenia zadań w systemach
równoległych.
■
Równoległe EO i EO-GS pozwalają skrócić czas
działania algorytmu, przy jednoczesnym niewielkim
polepszeniu wyników.
■
Pozwala to na zastosowanie EO w algorytmach
dynamicznego równoważenia obciążeń
procesorów, gdzie niska złożoność algorytmów ma
nadrzędne znaczenie.
■
Skalowalność do dziesiątków tysięcy zadań.
■
Redukcja liczby migracji zadań.
38
Dziękuję za uwagę!
39

Podobne dokumenty