AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016

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

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

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

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

Sterowanie procesami dyskretnymi

Rys Wykres kosztów skrócenia pojedynczej czynności. k 2. Δk 2. k 1 pp. Δk 1 T M T B T A

Luty 2001 Algorytmy (4) 2000/2001

Risk-Aware Project Scheduling. SimpleUCT

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

TEORETYCZNE PODSTAWY INFORMATYKI

dr inż. Jarosław Forenc

Harmonogramowanie produkcji

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

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Ćwiczenia z metodyki nauczania rachunku prawdopodobieństwa

Sterowanie procesami dyskretnymi Discrete processes

METODY ROZWIĄZYWANIA RÓWNAŃ NIELINIOWYCH

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

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

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

9.9 Algorytmy przeglądu

Aproksymacja funkcji a regresja symboliczna

Metody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych.

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

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

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Spacery losowe generowanie realizacji procesu losowego

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

UNIKANIE IMPASÓW W SYSTEMACH PROCESÓW WSPÓŁBIEŻNYCH

ALGORYTMY DWUSTAWNEJ REGULACJI TEMPERATURY POWIERZCHNI WALCA STALOWEGO Z ZASTOSOWANIEM RUCHOMYCH WZBUDNIKÓW

Optymalizacja ciągła

Analiza efektywności przetwarzania współbieżnego

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Statystyka i opracowanie danych Podstawy wnioskowania statystycznego. Prawo wielkich liczb. Centralne twierdzenie graniczne. Estymacja i estymatory

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu - metodologia badań

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

Przykładowe rozwiązania

Metody przeszukiwania

METODA SYMPLEKS. Maciej Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Harmonogramowanie przedsięwzięć

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Luty 2001 Algorytmy (7) 2000/2001

Inżynieria oprogramowania

Rola stacji gazowych w ograniczaniu strat gazu w sieciach dystrybucyjnych

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015

9.4 Czasy przygotowania i dostarczenia

TRANSCOMP XV INTERNATIONAL CONFERENCE COMPUTER SYSTEMS AIDED SCIENCE, INDUSTRY AND TRANSPORT

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

Dobór parametrów algorytmu ewolucyjnego

Schemat programowania dynamicznego (ang. dynamic programming)

BADANIA OPERACYJNE. dr Adam Sojda Pokój A405

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

ZASTOSOWANIE SPLOTU FUNKCJI DO OPISU WŁASNOŚCI NIEZAWODNOŚCIOWYCH UKŁADÓW Z REZERWOWANIEM

FUNKCJA LINIOWA - WYKRES

Wykład z modelowania matematycznego. Zagadnienie transportowe.

R E C E N Z J A. rozprawy doktorskiej mgr Wojciecha Bury nt. Wielokryterialne, mrowiskowe algorytmy optymalizacji w nawigacji samochodowej

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

Metody optymalizacji dyskretnej

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

VI WYKŁAD STATYSTYKA. 9/04/2014 B8 sala 0.10B Godz. 15:15

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 1. L. Kowalski, Statystyka, 2005

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

Temat: Algorytmy zachłanne

WYZNACZANIE NIEPEWNOŚCI POMIARU METODAMI SYMULACYJNYMI

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Optymalizacja parametrów w strategiach inwestycyjnych dla event-driven tradingu dla odczytu Australia Employment Change

Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Algorytmy i struktury danych

Algorytmy przeszukiwania wzorca

Wyszukiwanie binarne

Programowanie dynamiczne

Temat: Algorytm kompresji plików metodą Huffmana

NIETYPOWE WŁASNOŚCI PERMUTACYJNEGO PROBLEMU PRZEPŁYWOWEGO Z OGRANICZENIEM BEZ PRZESTOJÓW

Podstawy Informatyki. Sprawność algorytmów

Temat 7. Najlżejsze i najcięższe algorytmy sortowania

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Borealis AB Serwis Techniczny i Rozwój Rynku Reinhold Gard SE Stenungsund Szwecja

Przykładowe sprawozdanie. Jan Pustelnik

Poszukiwanie formy. 1) Dopuszczalne przemieszczenie pionowe dla kombinacji SGU Ciężar własny + L1 wynosi 40mm (1/500 rozpiętości)

STATYKA Z UWZGLĘDNIENIEM DUŻYCH SIŁ OSIOWYCH

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

POŁĄCZENIE ALGORYTMÓW SYMULACYJNYCH ORAZ DZIEDZINOWYCH METOD HEURYSTYCZNYCH W ZAGADNIENIACH DYNAMICZNEGO PODEJMOWANIA DECYZJI

CHARAKTERYSTYKA I ZASTOSOWANIA ALGORYTMÓW OPTYMALIZACJI ROZMYTEJ. E. ZIÓŁKOWSKI 1 Wydział Odlewnictwa AGH, ul. Reymonta 23, Kraków

Metoda określania pozycji wodnicy statków na podstawie pomiarów odległości statku od głowic laserowych

Dystrybucje, wiadomości wstępne (I)

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

Sortowanie Shella Shell Sort

Metody numeryczne I Równania nieliniowe

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Sortowanie. LABORKA Piotr Ciskowski

Testowanie hipotez statystycznych. Wnioskowanie statystyczne

Transkrypt:

AUTOMATYZACJA PROCESÓW DYSKRETNYCH 2016 Adam PRUS, Krzysztof PIEŃKOSZ Politechnika Warszawska SZEREGOWANIE ZADAŃ CZĘŚCIOWO PODZIELNYCH NA PROCESORACH RÓWNOLEGŁYCH Streszczenie. W pracy jest rozpatrywany problem szeregowania zadań na identycznych procesorach równoległych. Celem jest uzyskanie harmonogramu o minimalnej długości. Zakłada się, że zadania są niezależne i częściowo podzielne tzn. mogą być dzielone na fragmenty wykonywane na różnych procesorach, ale każdy z tych fragmentów nie może być krótszy od zdanego parametru k. Przedstawiono heurystyczne algorytmy szeregowania zadań częściowo podzielnych dla przypadku, gdy występują tylko dwa procesory oraz dla przypadku ogólnego z dowolną liczbą procesorów. TASK SCHEDULING WITH RESTRICTED PREEMPTIONS ON PARALLEL IDENTICAL PROCESSORS Summary. In the paper the task scheduling problem on parallel identical processors is considered. The objective is to find the schedule of minimum makespan. We assume that tasks are independent and can be preempted but preemption is only allowed if the task is continuously processed for at least k units of time. We propose heuristic scheduling algorithms for the case with only two processors and for general case with arbitrary number of processors. 1. Wprowadzenie Klasyczne modele szeregowania zadań na procesorach równoległych, które są analizowane w literaturze (np. w [2, 6]), mają zwykle charakter dyskretny albo ciągły. W dyskretnych modelach szeregowania zakłada się, że zadania są niepodzielne, czyli że wykonywanie tych zadań nie może być przerywane i w związku z tym są one zawsze w całości wykonywane na jednym, wybranym procesorze. W modelach ciągłych, natomiast, dopuszczalne jest przerywanie zadań w dowolnym momencie i kończenie ich później na innych procesorach. Wykorzystując możliwość przerywania zadań możemy zazwyczaj uzyskać krótsze harmonogramy, jednakże przerywanie i przenoszenie zadań na inne procesory w celu dokończenia, wiąże się z różnego rodzaju niedogodnościami i dodatkowymi kosztami. Jeżeli tych przerwań jest dużo, to koszty te mogą przewyższać zyski wynikające z uzyskania krótszego harmonogramu. Z tego powodu w rozpatrywanym w pracy semi-ciągłym modelu szeregowania zakłada się, że zadania są tylko częściowo podzielne, tzn. mogą być przerywane, ale

250 A. Prus, K. Pieńkosz pod warunkiem, że każdy fragment tego zadania jest odpowiednio długo wykonywany na poszczególnych procesorach. Pozwala to na uzyskanie w elastyczny sposób kompromisu pomiędzy długością uszeregowania a kosztami przerwań. Szczegółowy opis tego modelu i jego właściwości są zamieszczone w rozdziale 2. Następnie są przedstawione proponowane algorytmy szeregowania, przy czym rozdział 3 dotyczy szczególnego przypadku z tylko dwoma procesorami, natomiast rozdział 4 ogólnego wieloprocesorowego przypadku. Przykładowe wyniki eksperymentów obliczeniowych i porównań, a także wynikające z nich wnioski są zamieszczone rozdziale 5. 2. Sformułowanie i właściwości problemu Niech N oznacza zbiór n niezależnych zadań, natomiast M zbiór m identycznych, równoległych procesorów, na których te zadania mogą być wykonane. Ponadto przyjmijmy, że p j oznacza czas niezbędny do wykonania każdego z zadań j N, a p max jest najdłuższym z tych czasów, tzn. p max = max{p j : j N}. W rozpatrywanym problemie szeregowania zakłada się, że zadania ze zbioru N są częściowo podzielne, co oznacza, że mogą być dzielone na fragmenty wykonywanie po kolei na różnych procesorach, ale każdy z tych fragmentów nie może być krótszy od wartości zadanego parametru k. Poszczególne fragmenty zadań wymagają do obsługi tylko jednego procesora ze zbioru M. Wartość k jest parametrem rozpatrywanego problemu szeregowania. Zauważmy, że gdy czas obsługi p j pewnego zadania j N jest krótszy niż 2k, to takie zadanie nie może być dzielone i musi być w całości (bez przerywania) wykonane na jednym z procesorów. Celem jest wyznaczenie najkrótszego harmonogramu wykonania zadań ze zbioru N na procesorach ze zbioru M. Długość takiego (optymalnego) harmonogramu będziemy oznaczać symbolem C max, natomiast do oznaczenia sformułowanego powyżej problemu szeregowania zadań użyjemy notacji P restricted k-pmtn C max. Identyczny problem szeregowania był rozpatrywany w pracy [1]. Przedstawiono tam dwa algorytmy heurystyczne TSRP3 i TSRP4 oraz eksperymentalnie zbadano i porównano ich efektywność. W pracy [5] był analizowany szczególny przypadek tego problemu, gdy występują tylko dwa procesory. Sformułowano tam pewne warunki, przy których optymalne rozwiązanie może być w sposób efektywny wyznaczone. Wykorzystując te właściwości, zaproponowano dwa heurystyczne algorytmy 2RS i 2DS, które, w przypadku gdy m = 2, wyznaczały dużo duże lepsze harmonogramy niż algorytmy TSRP3 i TSRP4. Podobne, ale nieco inne modele szeregowania zadań były analizowane w pracy [3]. W pierwszym z rozpatrywanych tam modeli zakładano, że podział zadania może nastąpić tylko wtedy, gdy zadanie to lub jego fragment jest przynajmniej przez k jednostek czasu wykonywane na danym procesorze w sposób nieprzerywany. W odróżnieniu od problemu P restricted k-pmtn C max ostatni fragment podzielonego zadania może być jednak krótszy od k. W drugim z rozpatrywanych modeli dopuszczano podział zadań tylko w momentach, będących wielokrotnością k. W pracy [3] wykazano, że w ogólnym przypadku oba problemy są NP-trudne.

Szeregowanie zadań częściowo podzielnych... 251 Jeśli chodzi złożoność obliczeniową rozpatrywanego w tej pracy problemu P restricted k-pmtn C max, to zależy ona w sposób istotny od wartości k. Jeżeli k > p max /2, to żadne zadanie nie może być podzielone i w rezultacie mamy do czynienia z problemem P C max, który jest NP-trudny (patrz np. [2], [6]). Jednym z najczęściej stosowanych prostych algorytmów szeregowania dla takiego problemu jest algorytm przybliżony LPT (Longest Processing Time). Zgodnie z nim zadania są umieszczane na wolnych procesorach w kolejności nierosnących czasów obsługi. Z drugiej strony, jeżeli k = 0, to zadania są całkowicie podzielne i stosując regułę McNaughtona [4] można je optymalnie uszeregować w czasie O(n). Optymalna długość uszeregowania jest wtedy równa C j N p j = max {p max, m } (1) Zauważmy, że wartość C* może być traktowana jako dolne oszacowanie optymalnej długości uszeregowania problemu P restricted k-pmtn C max przy dowolnej wartości k. 3. Szeregowanie zadań częściowo podzielnych na dwóch procesorach W tym rozdziale jest rozpatrywany szczególny przypadek problemu P restricted k-pmtn C max gdy są dostępne tylko dwa procesory. Prezentowane tu właściwości i algorytmy będą wykorzystywane w rozdziale 4 do konstrukcji algorytmów dla ogólnego problemu P restricted k-pmtn C max z dowolną liczbą procesorów. Zauważmy, że problem szeregowania zadań na dwóch procesorach jest prosty, gdy p max Σ j N p j / m. Zadanie z czasem obsługi p max jest wykonywane wtedy na jednym procesorze, a pozostałe zadania na drugim. Inne łatwe przypadki zostały zidentyfikowane w pracy [5] i sformułowane w postaci poniższych twierdzeń. Twierdzenie 1. Jeżeli istnieje zadanie z czasem obsługi wynoszącym co najmniej 4k, to optymalne uszeregowanie problemu P2 restricted k-pmtn C max można wyznaczyć w czasie O(n). Twierdzenie 2. Jeżeli istnieją dwa zadania, jedno z czasem obsługi co najmniej 2k i drugie z czasem obsługi co najmniej 3k, to optymalne uszeregowanie problemu P2 restricted k-pmtn C max można wyznaczyć w czasie O(n). Dowodząc powyższych twierdzeń, w pracy [5] przedstawiono też sposób wyznaczania optymalnych harmonogramów. W obu przypadkach uzyskuje się harmonogramy o długości C*. Wykorzystując powyższe właściwości, zaproponowano również następujący algorytm szeregowania zadań częściowo podzielnych na dwóch procesorach:

252 A. Prus, K. Pieńkosz Algorytm 2DS 1. Jeżeli spełnione są założenia twierdzenia 1 lub 2 wyznacz optymalny harmonogram; 2. W przeciwnym przypadku: a) uszereguj zadania bez podziału stosując algorytm LPT, b) spróbuj zmniejszyć długość uszeregowania rozpatrując możliwości wymiany pary całych zadań (bez podziału) pomiędzy procesorami i wykonaj najlepszy wariant wymiany, c) spróbuj zmniejszyć długość uszeregowania poprzez wymianę najdłuższego zadania z jednego procesora (lub jego fragmentu) z każdym innym zadaniem bądź fragmentem z drugiego procesora; Algorytm 2DS jest przerywany jeżeli w którymkolwiek z powyższych kroków uzyskuje się harmonogram z jednakowym obciążeniem obu procesorów. Wówczas mamy rozwiązanie optymalne. W pozostałych przypadkach nie ma gwarancji, że uzyskane rozwiązanie jest optymalne i należy traktować je jako przybliżone. Wykonując krok 2b) oraz 2c) szukamy w obu przypadkach tylko jednego najlepszego wariantu wymiany i taki wariant realizujemy. Sposób podziału zadań na fragmenty, rozpatrywany w kroku 2c), został przedstawiony w pracy [5]. Poszczególne fragmenty podzielonych zadań mają długość nie mniejszą niż k. Żeby uniknąć konfliktów czasowych, pierwszy fragment podzielonego zadania umieszcza się na początku harmonogramu jednego procesora, a drugi fragment na końcu harmonogramu drugiego procesora. Dzięki takiemu rozmieszczeniu fragmentów tego samego zadania mamy gwarancję, że nie będą one wykonywane jednocześnie. W eksperymentach obliczeniowych przedstawionych w rozdziale 5 badano też zmodyfikowany wariant algorytmu 2DS o nieco większym nakładzie obliczeń. Wariant ten będziemy nazywać 2DSM i różni się on od 2DS tylko krokiem 2b). W algorytmie 2DSM krok 2b) nie ogranicza się do wymiany tylko jednej pary zadań, ale operacja taka jest powtarzana wielokrotnie, jeżeli istnieje jeszcze możliwość dalszego zmniejszenia długości uszeregowania. 4. Szeregowanie zadań częściowo podzielnych na wielu procesorach W przypadku gdy występują więcej niż dwa procesory proponujemy zastosowanie algorytmu dwuwarstwowego. Startujemy z uszeregowania wyznaczonego przez algorytm LPT bez podziału zadań. Następnie w kolejnych iteracjach warstwy nadrzędnej są wybierane dwa procesory z największym i najmniejszym obciążeniem. W warstwie podrzędnej, dla tych dwóch procesorów są stosowane algorytmy przedstawione w poprzednim rozdziale, tzn. 2DS lub 2DSM. W rezultacie, w poszczególnych iteracjach warstwy nadrzędnej dąży się do zmniejszenia długości uszeregowania najbardziej obciążonego procesora. Algorytm kończy się, gdy w pewnej iteracji nadrzędnej nie uzyskuje się już poprawy rozwiązania. Istotną komplikacją w zastosowaniu takiego schematu szeregowania jest możliwość powstawania konfliktów czasowych przy wielokrotnym stosowaniu

Szeregowanie zadań częściowo podzielnych... 253 algorytmu 2DS lub 2DSM dla tych samych procesorów. W celu uniknięcia tych konfliktów, czyli zapewnienia, że fragmenty tego samego podzielonego zadania nie będą jednocześnie wykonywane na kilku procesorach, proponowane są dwa podejścia. W pierwszym podejściu, które będziemy nazywać FP+2DS, w każdej iteracji warstwy nadrzędnej wybiera się do wyrównywania obciążeń tylko te procesory, które wcześniej takiej operacji nie były poddawane. Schemat takiego algorytmu jest następujący: Algorytm FP+2DS 1. W := M; {W zbiór uwzględnianych procesorów (na początku wszystkie)} 2. Uszereguj zadania bez podziału stosując algorytm LPT; 3. Wybierz ze zbioru W najbardziej obciążony procesor P max i najmniej obciążony P min ; 4. Zastosuj algorytm 2DS dla procesorów P max i P min ; 5. Usuń procesory P max i P min ze zbioru W; 6. Jeżeli w kroku 4 zmniejszyła się długość uszeregowania C max i W 2, to idź do 3, w przeciwnym przypadku KONIEC; W drugim podejściu, o nazwie TC+2DS, te same procesory mogą być wykorzystywane wielokrotnie, tzn. w warstwie nadrzędnej uwzględnia się wszystkie procesory (czyli zawsze W = M). Natomiast w kroku 4 bada się czy powtórne zastosowanie algorytmu 2DS do tego samego procesora nie spowoduje powstanie konfliktu czasowego. Jeżeli okaże się, że wystąpi konflikt, to taka wymiana zadań między procesorami nie jest dokonywana i dla algorytmu 2DS wybierany jest następny najmniej obciążony procesor P min. 5. Eksperymentalne porównanie algorytmów Efektywność algorytmów szeregowania zadań częściowo podzielnych była badana na serii przykładów testowych. Porównywano algorytmy TSRP3 i TSRP4 przedstawione w pracy [1] z proponowanymi algorytmami FP+2DS i TC+2DS. Ponadto badano też warianty FP+2DSM i TC+2DSM, w których jako procedurę podrzędną do wyrównywania obciążeń dwóch procesorów użyto 2DSM zamiast 2DS. W tabeli 1 przedstawiono przykładowe wyniki eksperymentów obliczeniowych. Przedstawia ona średnie wartości otrzymanych długości uszeregowań C max przy zastosowaniu poszczególnych algorytmów dla różnych wartości parametru k. Obliczenia zostały przeprowadzone dla 100 zestawów danych testowych i uzyskane wyniki uśredniono. W każdym zestawie danych było do uszeregowania 100 zadań na 11 równoległych identycznych procesorach. Czasy wykonywania poszczególnych zadań zostały wylosowane z przedziału [50, 150] zgodnie z rozkładem jednostajnym. W związku z tym dla k > 75 żadne z zadań nie jest podzielne. Porównując wyniki zamieszczone w tabeli 1 można zauważyć, że dla k 40 wszystkie algorytmy poza FP+2DS szeregują zadania w sposób optymalny z jednakową długością uszeregowania na wszystkich procesorach, czyli C max = C*. Dla

254 A. Prus, K. Pieńkosz k > 40 proponowane w pracy algorytmy zdecydowanie przewyższają algorytmy TSRP3 i TSRP4. Jest to wyraźnie widoczne na rys. 1, gdzie wyniki z tabeli 1 przedstawiono w formie wykresu. Różnice między uszeregowaniami uzyskanymi przy użyciu algorytmów FP+2DS, TC+2DS oraz FP+2DSM, TC+2DSM są nieznaczne i dlatego na rys. 1 przedstawiony wyniki tylko dla jednego z nich. Niemniej jednak można zauważyć, że procedura nadrzędna TC daje nieco lepsze wyniki niż FP, a ponadto lepsze wyniki daje zastosowanie algorytmu podrzędnego 2DSM zamiast 2DS. W rezultacie, spośród przedstawianych w pracy algorytmów najlepsze uszeregowania uzyskuje się stosując wariant TC+2DSM. Tabela 1 Porównanie algorytmów szeregowania zadań częściowo podzielnych Długość uszeregowania (średnia ze 100 zestawów danych) k TSRP3 TSRP4 FP+2DS TC+2DS FP+2DSM TC+2DSM 10 909,08 909,08 909,09 909,08 909,08 909,08 20 909,08 909,08 909,09 909,08 909,08 909,08 30 909,08 909,08 909,09 909,08 909,08 909,08 40 909,08 909,08 909,09 909,08 909,08 909,08 50 909,09 909,09 909,09 909,08 909,08 909,08 60 915,81 911,39 909,09 909,08 909,08 909,08 70 928,11 914,40 909,63 909,24 909,18 909,12 80 930,14 917,67 909,63 909,63 909,18 909,18 90 931,56 919,19 909,63 909,63 909,18 909,18 100 930,38 920,62 909,63 909,63 909,18 909,18 935 930 925 C max 920 915 910 TSRP3 TSRP4 TC+2DSM 905 10 20 30 40 50 60 70 80 90 100 k Rys. 1. Porównanie algorytmów przy różnych wartościach parametru k

Szeregowanie zadań częściowo podzielnych... 255 LITERATURA 1. Barański T.: Task scheduling with restricted preemptions. Proceedings of the Federated Conference on Computer Science and Information Systems, 2011, s. 231-238. 2. Błażewicz J., Ecker K.H., Pesch E., Schmidt G., Węglarz J.: Scheduling computer and manufacturing processes. Springer-Verlag, 1996. 3. Ecker K., Hirschberg R.: Task scheduling with restricted preemptions. Lecture Notes in Computer Science, vol. 694, Springer-Verlag, 1993, s. 464-475. 4. McNaughton R. : Scheduling with deadlines and loss functions. Management Science, vol. 6, 1959, s. 1-11. 5. Pieńkosz K., Prus A.: Task scheduling with restricted preemptions on two parallel processors. Proceedings of 20th International Conference on Methods and Models in Automation and Robotics (MMAR2015), 2015, s. 58-61. 6. Pinedo M.: Scheduling theory, algorithms, and systems. Prentice Hall, 2002.