Kolejkowanie. Graf sekwencyjny. Graf sekwencyjny: biegunowy, acykliczny Graf acykliczny to graf nie zawierający cykli G(V,E)

Podobne dokumenty
Gramatyki grafowe. Dla v V, ϕ(v) etykieta v. Klasa grafów nad Σ - G Σ.

Podstawowe własności grafów. Wykład 3. Własności grafów

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Kolorowanie wierzchołków grafu

Marek Miszczyński KBO UŁ. Wybrane elementy teorii grafów 1

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Wprowadzenie do Sztucznej Inteligencji

Wprowadzenie do Sztucznej Inteligencji

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Graf. Definicja marca / 1

Digraf. 13 maja 2017

Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

Algorytmiczna teoria grafów

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Rysunek 8. Rysunek 9.

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

Problem 1 prec f max. Algorytm Lawlera dla problemu 1 prec f max. 1 procesor. n zadań T 1,..., T n (ich zbiór oznaczamy przez T )

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Znajdowanie skojarzeń na maszynie równoległej

Złożoność obliczeniowa klasycznych problemów grafowych

Sortowanie topologiczne skierowanych grafów acyklicznych

Sterowanie wykonaniem produkcji

Planowanie przedsięwzięć

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Matematyczne Podstawy Informatyki

Co to jest algorytm? przepis prowadzący do rozwiązania zadania, problemu,

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Matematyka dyskretna - 7.Drzewa

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Literatura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.

Wykład 9. Metody budowy schematu funkcjonalnego pneumatycznego układu przełączającego:

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

PODSTAWY INFORMATYKI wykład 10.

Zagadnienie transportowe

SKOJARZENIA i ZBIORY WEWN. STABILNE WIERZCH. Skojarzeniem w grafie G nazywamy dowolny podzbiór krawędzi parami niezależnych.

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Podejście zachłanne, a programowanie dynamiczne

Algorytmy i struktury danych

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Cele. Definiowanie wyzwalaczy

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

Problem straŝaka w drzewach. Agnieszka Skorupka Matematyka Stosowana FTiMS

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel

7. Teoria drzew - spinanie i przeszukiwanie

Teoria grafów - Teoria rewersali - Teoria śladów

TEORIA GRAFÓW I SIECI

Algorytmiczna teoria grafów

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Matematyka od zaraz zatrudnię

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

Indukowane Reguły Decyzyjne I. Wykład 3

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

Opracowanie prof. J. Domsta 1

Metody uporządkowania

Algorytmy i Struktury Danych.

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2006 Seria: AUTOMATYKA z. 145 Nr kol. 1728

Metody uporządkowania

Algorytm Chaitin a. Problem kolorowania grafu. Krzysztof Lewandowski Mirosław Jedynak

PROBLEM ROZMIESZCZENIA MASZYN LICZĄCYCH W DUŻYCH SYSTEMACH PRZEMYSŁOWYCH AUTOMATYCZNIE STEROWANYCH

Systemy rozgrywek sportowych OGÓLNE ZASADY ORGANIZOWANIA ROZGRYWEK SPORTOWYCH

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Suma dwóch grafów. Zespolenie dwóch grafów

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Ogólne wiadomości o grafach

PROCES PRODUKCJI CYKL PRODUKCYJNY SZEREGOWO-RÓWNOLEGŁY RYSOWANIE HARMONOGRAMU

TEORETYCZNE PODSTAWY INFORMATYKI

Prawa potęgowe w grafach przepływu informacji dla geometrycznych sieci neuronowych

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Obszar całego kraju jest podzielony na 5 stref odwzorowawczych (rys. 1).

ZASTOSOWANIE ALGORYTMÓW MRÓWKOWYCH W ROZWIĄZANIU PROBLEMU SZEREGOWANIA ZADAŃ APPLICATION OF ANT COLONY SYSTEMS IN SOLVING OF TASK SCHEDULING PROBLEM

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

Grafy i Zastosowania. 5: Drzewa Rozpinające. c Marcin Sydow. Drzewa rozpinające. Cykle i rozcięcia fundamentalne. Zastosowania

Harmonogramowanie produkcji

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Ilustracja S1 S2. S3 ściana zewnętrzna

Niektóre własności 1-diagnozowalnych struktur typu PMC

Układy równań liniowych. Ax = b (1)

LICZNIKI Liczniki scalone serii 749x

Problemy z ograniczeniami

DOŚWIADCZENIA WIELOETAPOWE

Zagadnienie transportowe (badania operacyjne) Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

a) 7 b) 19 c) 21 d) 34

Transkrypt:

Kolejkowanie Systemy wbudowane dr. inŝ. Paweł Russek Katedra Elektroniki AGH Graf sekwencyjny Graf sekwencyjny: biegunowy, acykliczny Graf acykliczny to graf nie zawierający cykli Cykl to droga zamknięta G(V,E) V={v i ; i=0,1,...,n} E={(v i, v j ); i,j=0,..,n} Węzły reprezentują wykonywane operacje Zawiera odpływ i źródło (NOP) 1

Graf sekwencyjny Zawiera informacje o zaleŝności pomiędzy wykonywanymi operacjami, Źródło ma indeks 0, odpływ indeks n Kolejkowanie (ang. scheduling) Rozmieszczenie operacji w czasie D={d i : i=0,1,...,n}; zbiór opóźnień wykonywanych operacji Zbiór T={t i : i=0,1,...,n}; czasy rozpoczęcia operacji t i < t j + d j gdzie węzeł i następuje po węźle j Zadanie polegające na ustaleniu czasów rozpoczęcia operacji przy zachowaniu kolejności wynikającej z grafu W układach synchronicznych mierzymy czas opóźnienia w cyklach Opóźnienie λ=t n -t 0 2

Kolejkowanie Od kolejkowania zaleŝy współbieŝność Maksymalna liczba wykonywanych w danym kroku operacji ogranicza liczbę potrzebnych zasobów Kolejkowanie Bez ograniczeń Z ograniczeniem zasobów. Z ograniczeniami czasowymi Kolejkowanie Statyczne Dynamiczne Kolejkowanie z ograniczeniem Potrzeba stosowania ograniczeń zasobów wynika z ograniczonej powierzchni układu Rozwiązanie tego problemu pozwala na osiągnięcie kompromisu powierzchnia/czas Problem NP-trudny Praktycznie moŝemy uzyskiwać jedynie rozwiązana przybliŝone 3

Algorytmy kolejkowania Maksymalna liczba operacji wykonanych współbieŝnie ogranicza od dołu liczbę potrzebnych zasobów Od góry liczba zasobów moŝe być ograniczona załoŝeniami projektowymi Problem kolejkowania moŝe mieć wiele rozwiązań Ostre ograniczenie liczby zasobów wiąŝe się z implementacją szeregową Kolejkowanie bez ograniczenia ilości zasobów ASAP ALAP Kolejkowanie przy ograniczeniu zasobów Kolejkowanie bez ograniczeń ASAP As Soon As Possible Kolejkowanie bez ograniczeń Ma znaczenie przy stosowaniu zasobów dedykowanych Koszt implementacji zasobów jest niski w porównaniu z kosztem logiki sterującej KaŜda operacja rozpoczyna się tak szybko jak tyko pozwalają na to związki z innymi operacjami Znajduje najmniejsze moŝliwe czasy rozpoczęcia operacji Problem moŝna rozwiązać sortując topologicznie wierzchołki grafu. Algorytm: v 0 kolejkuje dla czasu 0 Repeat { wybierz wierzchołek którego wszyscy poprzednicy mają juŝ przyporządkowane miejsce w kolejce kolejkuj wierzchołek dla czasu t w =max(t p +d p ); t p T p zbiór czasów przypisanych poprzednikom } until (wszystkie wierzchołki są juŝ przyporządkowane) 4

Kolejkowanie bez ograniczeń ALAP As Late As Possible Wybieramy satysfakcjonujące nas λ Znajduje najmniejsze moŝliwe czasy rozpoczęcia operacji Algorytm: v n kolejkuje dla czasu λ Repeat { wybierz wierzchołek którego wszyscy następcy mają juŝ przyporządkowane miejsce w kolejce kolejkuj wierzchołek dla czasu t w =min(t p ) - 1; T p zbiór czasów przypisanych następcom } until (wszystkie wierzchołki są juŝ przyporządkowane) Ruchliwość Dla określonego dla ALAP λ moŝemy wyznaczyć ruchliwość oznacza róŝnicę czasu obliczona przez algorytm ALAP i ASAP Zerowa ruchliwość oznacza, Ŝe operacja musi zacząć się w określonym czasie 5

Kolejkowanie przy ograniczeniach zasobów WaŜna i trudne zagadnienie Wykorzystanie zasobów w znacznym stopniu wpływa na powierzchnię W przypadku problemów nie zdominowanych przez zasoby na powierzchnię wpływają takŝe inne czynniki Problem jest NP-trudny Kolejkowanie list Ustalamy listę operacji gotowych w danym takcie do realizacji Przypisujemy operacje do dostępnych zasobów na podstawie priorytetów. Priorytetami mogą być np.: ruchliwość operacji Liczba krawędzi grafu od danej operacji do odpływu. Przykład: 6

Kolejkowanie z ograniczeniami czasu Algorytm Hu Kolejkowanie wieloprocesorowe Uproszczenie: wszystkie operacje wykonywane przez zasoby jednego typu Problem: Ile zasobów potrzeba aby opóźnienie wyniosło λ? Etykietowanie grafu sekwencyjnego polega na oznaczeniu kaŝdego wierzchołka wagą najdłuŝszej ścieŝki od niego do odpływu, mierzonej liczbą krawędzi {α i ;i=1,2,... n}. Definiujemy: α=max α i Oczywiste jest Ŝe λ α Twierdzenie: Dolna granica zasobów (nie mniej niŝ) potrzebnych do wyznaczenia kolejności wykonywania operacji o zwłoce λ wynosi. γ p( α + 1 j) = 1 a = max j γ γ + λ α Gdzie: p(j) liczba wierzchołków o etykietach równych j 7

Algorytm Hu Kolejkowanie wieloprocesorowe Uproszczenie: wszystkie operacje wykonywane przez zasoby jednego typu Problem: Ile zasobów potrzeba aby opóźnienie wyniosło λ? Etykietowanie grafu sekwencyjnego polega na oznaczeniu kaŝdego wierzchołka wagą najdłuŝszej ścieŝki od niego do odpływu, mierzonej liczbą krawędzi {α i ;i=1,2,... n}. Definiujemy: α=max α i Oczywiste jest Ŝe λ α Twierdzenie: Dolna granica zasobów (nie mniej niŝ) potrzebnych do wyznaczenia kolejności wykonywania operacji o zwłoce λ wynosi. γ p( α + 1 j) = 1 a = max j γ γ + λ α Gdzie: p(j) liczba wierzchołków o etykietach równych j Przykład a dolna granica liczby koniecznych zasobów γ - liczba całkowita λ - załoŝona zwłoka projektowanego układu α - najdłuzsza ścieŝka w grafie sekwencyjnym p(j) liczba wierzchołkóa o etykiecie j Przykład: α =4, λ=5 8

Łączenie (ang. partitioning) Łączenie zasobów z operacjami Zasób moŝe realizować więcej niŝ jedną operację (np.: ALU) Relacja pokrywania typów: dany zasób moŝe posłuŝyć do realizacji określonej operacji Współdzielenie zasobów jest moŝliwe jeŝeli kilka operacji jest tego samego typu. Operacje nie mogą być realizowane równocześnie Często ograniczenia łączenia zasobów wynikają z ograniczeń wykorzystania zasobów poszczególnych typów. Ograniczenia te reprezentują moŝliwość przydzielenia określonego typu do danego zadania. Łączenie zasobów: graf zgodności Operacje są zgodne jeŝeli nie są współbieŝne i są w ogólnym przypadku tego samego typu Graf zgodności zasobów reprezentuje pary zgodnych operacji Grupa wzajemnie zgodnych operacji odpowiada podzbiorowi wierzchołków wzajemnie połączonych krawędziami. Grupa taka tworzy podgraf reprezentujący wykorzystywany zasób. Liczba podgrafów pokrywających graf zgodności to liczba zasobów koniecznych do wykonania zadania Graf zgodności Podgraf mnoŝenia Dwa grafy zupełne {v 1,v 3,v 7 } {v 2,v 6,v 8 } Podgraf ALU Dwa grafy zupełne {v 4,v 5,v 10,,v 11 } {v 9 } 9

Łączenie zasobów: grafy konfliktów Graf w którym zbiór krawędzi reprezentuje pary kolidujących operacji Właściwe kolorowanie wierzchołków jest rozwiązaniem problemu współdzielenia zasobów Optymalne współdzielenie zasobów polega na pokolorowaniu wierzchołków minimalną liczbą kolorów Dobrze jest wierzchołki odpowiadające róŝnym zasobom traktować jako niezaleŝne grafy Przykład Inne algorytmy Kolejkowanie list Kolejkowanie sterowane siłą 10

Kolejkowanie wieloprocesorowe: algorytm Hu ZałoŜenie: graf sekwencyjny jest drzewem. Model taki moŝna stosować w przypadku problemów linii produkcyjnej Algorytm jest optymalny i zawsze potrafi dokonać kolejkowania o zwłoce λ przy liczbie zasobów a. KaŜda kolejność wykonania operacji przy wykorzystaniu a zasobów ma zwłokę większą lub równą od wyznaczonej przez algorytm Hu HU(G s (V,E),a){ etykietuj wierzchołki l=1; repeat{ U=wierzchołki z V, dla których nie ustalono kolejności, a które mają skolejkowanych lub nie mają poprzedników Wybierz wierzchołki S U, takie, Ŝe S a a etykiety S mają największe wartości w U Kolejkuj operacje S w kroku l podstawiając t i =l: v i S l=l+1 } Until(skolejkowano v n ) return(t) } Integer linear programming ILP Yields optimal solution to synthesis problems as it is based on an exact mathematical description of the problem. Solves scheduling, binding and allocation simultaneously. Standard optimization approaches (and software) are available to solve integer linear programs 11

ILP (1) declares variables x to be binary. (2) makes sure that exactly one variable x i,t for all t has the value 1, all others are 0. (3) represents operation start time (4) guarantees, that all precedence constraints are satisfied: t i t j +d j : (v i,v j ) E (5) makes sure, that the resource constraints are not violated. For all resource types v k V T and for all time instances t it is guaranteed that the number of active operations does not increase the number of available resource instances. ILP: minimize c T t t=(t 1,t 2,...,t λ ) c=(0,0,...,0,1): minimize latency c=(1,1,...,1,1): optimize operations start time ( 1) X = { x ; i = 0,1,..., n; l = 1,2,..., λ + 1} (2) xil = 1, i = 0,1,.., n (3) (4) l il l xil l xil + d j, i, j = 0,1,..., n : ( v j, vi ) l = l t l * i x il im i; T ( vi ) = k m= l di + 1 l l (5) x a, k = 1,2,..., n, l = 1,2,..., λ + 1 k res E ILP example For c=(1,..1) T we minimize: minimization result 12