Dynamiczna alokacja zadań w sieciach MESH Autorzy: Anna Tarasiewicz, Michał Tarnawski
Koło naukowe SISK
Plan prezentacji Czym są sieci MESH? Znaczenie dynamicznej alokacji zadań Popularne algorytmy Autorski algorytm System eksperymentowania Wyniki badań Podsumowanie
Sieci MESH - Definicja MESH – struktura komputerów połączonych w usystematyzowaną sieć pozwalająca rozwiązywać złożone obliczeniowo problemy. Każdy komputer to węzeł sieci. Do rozwiązywania problemów można użyć wielu węzłów na raz, aby szybciej uzyskać wynik.
Alokacja ciągła vs. rozproszona Alokacja Ciągła - Każdy węzeł zadania sąsiaduje z innym węzłem tego samego zadania. Alokacja Rozproszona - Zadania rozłożone na węzły niekoniecznie sąsiadujące ze sobą. Małe straty na komunikację miedzy węzłami Możliwa trudność alokacji Łatwość alokacji Możliwe duże straty podczas komunikacji między oddalonymi węzłami
Dynamiczna alokacja zadań W każdej chwili dysponujemy jedynie informacją na temat zadań, które już znajdują się w systemie przetwarzania Nie wiadomo kiedy i jakie nowe zadania pojawią się w systemie Bardzo ważne z praktycznego punktu widzenia w rzeczywistych systemach przetwarzania
Przykładowe algorytmy Losowy ;) First-fit Busy list
Algorytm First Fit Kolejne zadania alokowane są w pierwszym wolnym miejscu na sieci MESH. Zalety: Łatwość implementacji Wady: Niezadawalające wykorzystanie potencjału sieci Duży stopień fragmentacji sieci uniemożliwiający alokowanie większych zadań
First Fit (t=0)
First Fit (t=1)
First Fit (t=2)
First Fit (t=3)
First Fit (t=4)
First Fit (t=5)
Algorytm Busy List Wszystkie zaalokowane zadania umieszczane są na tzw. liście „Busy”. Lista ta przyśpiesza proces szukania podsieci poprzez zawężenie analizy do sąsiedztwa zadań już zaalokowanych. Dla zadania, które w następnej kolejności ma być realizowane na sieci MESH tworzy tzw. listę kandydatów. Kandydaci to miejsca na sieci MESH o kształcie alokowanego zadania. Kandydaci szukani są w sąsiedztwie już zaalokowanych zadań. Najlepszy kandydat sąsiaduje z największą ilością zajętych węzłów lub krawędzi. Najlepszego kandydata wyłania się podliczając przyznaną ilość punktów za sąsiedztwo.
Busy List (t=0)
Busy List (t=1)
Busy List (t=2)
Busy List (t=3)
Busy List (t=4)
Busy List (t=5)
Busy List - ocena Zalety: Wady: Zmniejszona fragmentacja sieci Lepsze wykorzystanie potencjału sieci Wady: Bardziej złożony algorytm – wymaga większego nakładu czasowego na stworzenie list i wielokrotne przeliczanie oraz ocenę kandydatów
Autorski algorytm Hybrid Busy List Bazuje na dwóch spostrzeżeniach: Bazując na aktualnym obciążeniu sieci można sprytnie wybierać zadania z kolejki oczekujących Wskazane jest alokowanie obok siebie zadań, które skończą się w tym samym momencie
Hybrid Busy List (t=0)
Hybrid Busy List (t=1)
Hybrid Busy List (t=2)
Hybrid Busy List (t=3)
Hybrid Busy List (t=4)
Hybrid Busy List (t=5)
Hybrid Busy List - ocena Zalety: Dzięki alokacji zadań o podobnym czasie realizacji zwalnianie większych, spójnych obszarów na sieci Łatwiejsza alokacja zadań mieszanych Wady: Wymaga optymalizacji parametrów - złe dobranie parametrów HBL daje wyniki gorsze od BL
System eksperymentowania W celu porównania efektywności działania opisywanych wyżej algorytmów, wprowadziliśmy dwa główne wskaźniki jakości: średnie obciążenie sieci (SOS) moment zakończenia przetwarzania (MZP) Badania przeprowadzono pod kątem dwóch aspektów: Porównania efektywności rozważanych algorytmów dla zmiennej liczby zadań Zbadania wpływu rozmiaru zadań na wyniki algorytmów. – Poddaliśmy badaniom 4 grupy zadań: losowe, małe, średnie i duże.
System eksperymentowania Badania przeprowadziliśmy na stworzonym przez nas symulatorze sieci
Analiza wyników badań
Analiza wyników badań
Podsumowanie Stworzony przez nas algorytm HBL ujawnia swoje optimum dla zadań bardzo zróżnicowanych. System Intelligent Choice można zastosować również w innych algorytmach
Bibliografia [1] YUNG-KANG CHU, I-LING YEN, ROVER D.T. „Guiding Processor Allocation Estimated Execution Time for Mesh Connected Multiple Processor Systems” Annual Hawaii International Conference on System Sciences , 1995 [2] SAAD BANI M. “Efficient Processor Allocation Strategies for Mesh-Connected Multicomputers” February 2008, Information and Mathematical Sciences University of Glasgow [3] SRINIVASAN T., SESHADRI J., CHANDRASEKHAR A., SIDDHARTH J. B. “A Minimal Fragmentation Algorithm for Task Allocation in Mesh-Connected Multicomputers” Proceedings of the IEEE International Conference on AISTA, IEEE Press, Nov 2004, Luxembourg
Dziękujemy za uwagę Teraz jest czas na: Pytania
Dziękujemy za uwagę Teraz jest czas na: Pytania BRAWA!!!