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

Podobne dokumenty
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 )

Szeregowanie zada« Wykªad nr 4. dr Hanna Furma«czyk. 21 marca 2013

Szeregowanie zada« Wykªad nr 5. dr Hanna Furma«czyk. 4 kwietnia 2013

Szeregowanie zada« Wykªad nr 6. dr Hanna Furma«czyk. 11 kwietnia 2013

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

Sterowanie procesami dyskretnymi Discrete processes

Szeregowanie zadań. Wykład nr 2. dr Hanna Furmańczyk. 12 października 2014

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

Harmonogramowanie produkcji

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

PROBLEM: SORTOWANIE PRZEZ ODWRÓCENIA METODA: ALGORYTMY ZACHŁANNE

Kolorowanie wierzchołków grafu

Złożoność obliczeniowa wybranych problemów szeregowania zadań jednostkowych na równoległych procesorach

Algorytmy aproksymacyjne i parametryzowane

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

Zestaw A-1: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.adb i.ads)!!! Zad. 1: 4,3,3 2,2,1 Zad. 2: 3,3,3 Zad.

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

9.4 Czasy przygotowania i dostarczenia

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

9. Schematy aproksymacyjne

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

Algorytmiczna teoria grafów

Technologie Informacyjne

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

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Marek Dębczyński

Luty 2001 Algorytmy (4) 2000/2001

Wstęp do programowania

Algorytmy i Struktury Danych

Techniki konstruowania algorytmów. Metoda dziel i zwyciężaj

Algorytmika Problemów Trudnych

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010

znalezienia elementu w zbiorze, gdy w nim jest; dołączenia nowego elementu w odpowiednie miejsce, aby zbiór pozostał nadal uporządkowany.

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Podejście zachłanne, a programowanie dynamiczne

HEURYSTYCZNY ALGORYTM SZEREGOWANIA ZADAŃ W SYSTEMIE MASZYN RÓWNOLEGŁYCH Z KRYTERIUM MINIMALNO-CZASOWYM

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Wstęp do programowania

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

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

Temat: Algorytmy zachłanne

Sterowanie procesami dyskretnymi

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 9. Karol Tarnowski A-1 p.

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

Harmonogramowanie przedsięwzięć

KARTA KURSU. Algorytmy, struktury danych i techniki programowania. Algorithms, Data Structures and Programming Techniques

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

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

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

Szeregowanie zada« Przedmiot fakultatywny 15h wykªadu + 15h wicze« dr Hanna Furma«czyk. 7 pa¹dziernika 2013

Projektowanie i Analiza Algorytmów

Podstawy Informatyki. Inżynieria Ciepła, I rok. Iteracja warunkowadopóki(while) Blok instrukcji. Pascal: begin instrukcja1; C: { end;

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Programowanie dynamiczne i algorytmy zachłanne

Wstęp do programowania

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

TEORIA GRAFÓW I SIECI

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu

Zaawansowane algorytmy i struktury danych

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

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

Schemat programowania dynamicznego (ang. dynamic programming)

prowadzący dr ADRIAN HORZYK /~horzyk tel.: Konsultacje paw. D-13/325

Egzaminy i inne zadania. Semestr II.

PRÓBNY EGZAMIN MATURALNY Z INFORMATYKI

ALGORYTMY I STRUKTURY DANYCH

KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Instrukcja projektowa cz. 2

Luty 2001 Algorytmy (7) 2000/2001

Kompletna dokumentacja kontenera C++ vector w -

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

Zestaw C-11: Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp i.h)!!! Zad. 1: Zad. 2:

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

Wprowadzenie do złożoności obliczeniowej

Optymalizacja harmonogramów budowlanych - szeregowanie zadań. Mgr inż. Aleksandra Radziejowska AGH Akademia Górniczo-Hutnicza w Krakowie

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Load balancing games

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

Lab. 02: Algorytm Schrage

9.9 Algorytmy przeglądu

Systemy wbudowane. Cel syntezy systemowej. Wykład 12: Przykłady kosyntezy systemów wbudowanych

Efektywność Procedur Obliczeniowych. wykład 5

Teoretyczne podstawy informatyki

Wybrane podstawowe rodzaje algorytmów

Algorytmy sortujące. sortowanie kubełkowe, sortowanie grzebieniowe

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

Algorytmy aproksymacyjne dla problemów stochastycznych

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Sortowanie przez wstawianie Insertion Sort

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Wstęp do programowania

Algorytmy i złożoność obliczeniowa. Wojciech Horzelski

Algorytmy i struktury danych. wykład 8

Transkrypt:

Wykład nr 3 27.10.2014

Procesory identyczne, zadania niezależne, podzielne: P pmtn C max Algorytm McNaughtona 1 Wylicz optymalną długość C max = max{ j=1,...,n p j/m, max j=1,...,n p j }, 2 Szereguj kolejno zadania na maszynie, po osiągnięciu C max przerwij zadanie i (jeśli się nie zakończyło) kontynuuj je na następnym procesorze począwszy od chwili 0.

Procesory identyczne, zadania niezależne, podzielne: P pmtn C max Algorytm McNaughtona 1 Wylicz optymalną długość C max = max{ j=1,...,n p j/m, max j=1,...,n p j }, 2 Szereguj kolejno zadania na maszynie, po osiągnięciu C max przerwij zadanie i (jeśli się nie zakończyło) kontynuuj je na następnym procesorze począwszy od chwili 0. Przykład

Procesory identyczne, zadania niezależne, podzielne: P pmtn C max Algorytm McNaughtona 1 Wylicz optymalną długość C max = max{ j=1,...,n p j/m, max j=1,...,n p j }, 2 Szereguj kolejno zadania na maszynie, po osiągnięciu C max przerwij zadanie i (jeśli się nie zakończyło) kontynuuj je na następnym procesorze począwszy od chwili 0. Przykład Złożoność obliczeniowa:

Procesory identyczne, zadania niezależne, podzielne: P pmtn C max Algorytm McNaughtona 1 Wylicz optymalną długość C max = max{ j=1,...,n p j/m, max j=1,...,n p j }, 2 Szereguj kolejno zadania na maszynie, po osiągnięciu C max przerwij zadanie i (jeśli się nie zakończyło) kontynuuj je na następnym procesorze począwszy od chwili 0. Przykład Złożoność obliczeniowa:o(n).

Procesory identyczne, zadania niezależne, niepodzielne: P C max Twierdzenie Problem P2 C max jest NP-trudny.

Procesory identyczne, zadania niezależne, niepodzielne: P C max Twierdzenie Problem P2 C max jest NP-trudny. Dowód Redukcja problemu podziału do P2 C max.

Procesory identyczne, zadania niezależne, niepodzielne: P C max Twierdzenie Problem P2 C max jest NP-trudny. Dowód Redukcja problemu podziału do P2 C max. Problem podziału: Dany jest ciąg liczb naturalnych a 1, a 2,...,a n tż. S = n i=1 a i jest l. parzystą. Pytanie: Czy istnieje jego podciąg o sumie S/2?

Procesory identyczne, zadania niezależne, niepodzielne: P C max Twierdzenie Problem P2 C max jest NP-trudny. Dowód Redukcja problemu podziału do P2 C max. Problem podziału: Dany jest ciąg liczb naturalnych a 1, a 2,...,a n tż. S = n i=1 a i jest l. parzystą. Pytanie: Czy istnieje jego podciąg o sumie S/2? Redukcja: bierzemy n zadań o p j = a j, dwie maszyny. Pytamy o istnienie uszeregowania z C max S/2.

Procesory identyczne, zadania niezależne, niepodzielne: P C max Twierdzenie Problem P2 C max jest NP-trudny. Dowód Redukcja problemu podziału do P2 C max. Problem podziału: Dany jest ciąg liczb naturalnych a 1, a 2,...,a n tż. S = n i=1 a i jest l. parzystą. Pytanie: Czy istnieje jego podciąg o sumie S/2? Redukcja: bierzemy n zadań o p j = a j, dwie maszyny. Pytamy o istnienie uszeregowania z C max S/2. Dokładne algorytmy - programowanie dynamiczne, złożoność wykładnicza; algorytmy przybliżone

P C max - algorytmy przybliżone Szeregowanie listowe (ang. List Scheduling LS); ogólnie Ustal kolejność zadań na liście. Za każdym razem, gdy zwalnia się jakaś maszyna/maszyny, wybieraj pierwsze (według listy ) wolne (w tym momencie)[zadania zależne] zadania i przypisuj je do zwalniających się procesorów.

P C max - algorytmy przybliżone Szeregowanie listowe (ang. List Scheduling LS); ogólnie Przykład Ustal kolejność zadań na liście. Za każdym razem, gdy zwalnia się jakaś maszyna/maszyny, wybieraj pierwsze (według listy ) wolne (w tym momencie)[zadania zależne] zadania i przypisuj je do zwalniających się procesorów.

P C max - algorytmy przybliżone Szeregowanie listowe dla P C max Z ustalonego ciągu zadań wybieraj pierwsze wolne (według listy ), przypisując je zawsze do zwalniającego się procesora.

P C max - algorytmy przybliżone Szeregowanie listowe dla P C max Z ustalonego ciągu zadań wybieraj pierwsze wolne (według listy ), przypisując je zawsze do zwalniającego się procesora. Algorytm LS jest 2-przybliżony C max (LS) (2 m 1 )C max.

P C max - algorytmy przybliżone cd. Szeregowanie LPT (ang. Longest Processing Time) Szereguj listowo, przy czym zadania na liście są wstępnie posortowane według nierosnących czasów wykonania p j.

P C max - algorytmy przybliżone cd. Szeregowanie LPT (ang. Longest Processing Time) Szereguj listowo, przy czym zadania na liście są wstępnie posortowane według nierosnących czasów wykonania p j. LPT jest 4/3-przybliżony: C max (LPT) (4/3 (3m) 1 )C max.

P pmtn, prec C max Zadania zależne, podzielne w ogólności problem jest NP-trudny istnieje algorytm (O(n 2 )) dla P2 pmtn, prec C max i P pmtn, forest C max

P prec C max - zadania zależne, niepodzielne problem NP-trudny znane przypadki wielomianowe: P p i = 1, in forest C max, P p i = 1, out forest C max (alg. Hu, O(n)) P2 p i = 1, prec C max (alg. Coffmana-Grahama, O(n 2 ))

P prec C max - zadania zależne, niepodzielne problem NP-trudny znane przypadki wielomianowe: P p i = 1, in forest C max, P p i = 1, out forest C max (alg. Hu, O(n)) P2 p i = 1, prec C max (alg. Coffmana-Grahama, O(n 2 )) ALgorytm Hu - wstęp redukcja out-forest do in-forest: odwrócenie relacji prec, a po uzyskaniu harmonogramu odwrócenie go,

P prec C max - zadania zależne, niepodzielne problem NP-trudny znane przypadki wielomianowe: P p i = 1, in forest C max, P p i = 1, out forest C max (alg. Hu, O(n)) P2 p i = 1, prec C max (alg. Coffmana-Grahama, O(n 2 )) ALgorytm Hu - wstęp redukcja out-forest do in-forest: odwrócenie relacji prec, a po uzyskaniu harmonogramu odwrócenie go, redukcja in-forest in tree: dodanie dodatkowego korzenia dla wszystkich drzew, a po uzyskaniu harmonogramu usunięcie go

P prec C max - zadania zależne, niepodzielne problem NP-trudny znane przypadki wielomianowe: P p i = 1, in forest C max, P p i = 1, out forest C max (alg. Hu, O(n)) P2 p i = 1, prec C max (alg. Coffmana-Grahama, O(n 2 )) ALgorytm Hu - wstęp redukcja out-forest do in-forest: odwrócenie relacji prec, a po uzyskaniu harmonogramu odwrócenie go, redukcja in-forest in tree: dodanie dodatkowego korzenia dla wszystkich drzew, a po uzyskaniu harmonogramu usunięcie go algorytm w skrócie: LS z prec + lista utworzona wg nierosnącej odległości od korzenia drzewa

P p i = 1, in forest C max - algorytm Hu Algorytm Hu P p i = 1, in tree C max 1 Ustal dla każdego zadania jego poziom liczba węzłów na drodze do korzenia. 2 t := 1; 3 repeat Wyznacz listę L t zadań wolnych w chwili t; Uporządkuj L t według nierosnącego poziomu; Przypisz m (lub mniej) zadań z początku L t do maszyn; Usuń przypisane zadania z grafu; t := t + 1; until uszeregowano wszystkie zadania;

P p i = 1, in forest C max - algorytm Hu Algorytm Hu P p i = 1, in tree C max 1 Ustal dla każdego zadania jego poziom liczba węzłów na drodze do korzenia. 2 t := 1; 3 repeat Wyznacz listę L t zadań wolnych w chwili t; Uporządkuj L t według nierosnącego poziomu; Przypisz m (lub mniej) zadań z początku L t do maszyn; Usuń przypisane zadania z grafu; t := t + 1; until uszeregowano wszystkie zadania; Przykład - slajdy 47-52,prof. Giaro

P2 p i = 1, prec C max - algorytm Coffmana-Grahama Slajdy autorstwa P. Semprucha