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