Laboratorium Systemów Czasu Rzeczywistego



Podobne dokumenty
1. Opis okna podstawowego programu TPrezenter.

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

PRZEWODNIK PO ETRADER ROZDZIAŁ XII. ALERTY SPIS TREŚCI

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

Dopasowywanie czasu dla poszczególnych zasobów

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7

Przewodnik Szybki start

Narzędzie informatyczne wspomagające dokonywanie ocen pracowniczych w służbie cywilnej

Formularz oceny okresowej arkusz B w służbie cywilnej Instrukcja użytkownika

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

1 Raporty - wstęp. 1. Wstążka. 2. Podgląd listy raportów wraz z menu kontekstowym:

Zarządzanie przedsięwzięciem informatycznym. Śledzenie projektu

CalendarGenerator v0.1 - instrukcja obsługi

Arkusz kalkulacyjny EXCEL

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Tworzenie prezentacji w MS PowerPoint

Instrukcja importu dokumentów z programu Fakt do programu Płatnik

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

Aplikacja projektu Program wycinki drzew i krzewów dla RZGW we Wrocławiu

Zakładka Mapa. Kliknięcie zakładki "Mapa" spowoduje wyświetlenie panelu mapy:

Spis treści Szybki start... 4 Podstawowe informacje opis okien... 6 Tworzenie, zapisywanie oraz otwieranie pliku... 23

1.1 Zakładka Mapa. Kliknięcie zakładki "Mapa" spowoduje wyświetlenie panelu mapy:

Przeglądanie, drukowanie i eksportowanie raportów.

System harmonogramowania produkcji KbRS

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista

1. Skopiować naswój komputer: (tymczasowy adres)

Spis treści 1. Wstęp Logowanie Główny interfejs aplikacji Ogólny opis interfejsu Poruszanie się po mapie...

Instrukcja obsługi programu SWWS autorstwa Michała Krzemińskiego

Podręczna pomoc Microsoft Power Point 2007

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

Formularz pierwszej oceny w służbie cywilnej

I. Program II. Opis głównych funkcji programu... 19

Oficyna Wydawnicza UNIMEX ebook z zabezpieczeniami DRM

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

najlepszych trików Excelu

BIBLIOTEKA LOKALNE CENTRUM WIEDZY PRAKTYCZNEJ PRZEWODNIK PO NARZĘDZIACH WARSZTAT NR 1: ARKUSZE KALKULACYJNE - MINI SKRYPT

EMULATOR CZUJNIKA CIŚNIENIA PALIWA FPE

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

Temat: Organizacja skoroszytów i arkuszy

1. Wstęp Niniejszy dokument jest instrukcją użytkownika dla aplikacji internetowej DM TrackMan.

Przenoszenie, kopiowanie formuł

Instrukcja korzystania z portalu. Diagnoza z Nową Erą

Lokalna Platforma GIS w Gminie Nowe Miasto Lubawskie

EXCEL. Diagramy i wykresy w arkuszu lekcja numer 6. Instrukcja. dla Gimnazjum 36 - Ryszard Rogacz Strona 20

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

OPROGRAMOWANIE DEFSIM2

Zarządzanie projektem informatycznym laboratorium

Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows XP

TABELE I WYKRESY W EXCELU I ACCESSIE

OBSŁUGA PRACY DYPLOMOWEJ W APD PRZEZ RECENZENTA

4.2. Ustawienia programu

Instrukcja obsługi programu Do-Exp

WASTE MANAGEMENT SYSTEM PODRĘCZNIK UŻYTKOWNIKA SERWISU WWW

Formuły formułom funkcji adresowania odwoływania nazwy Funkcja SUMA argumentami SUMA

Arkusz kalkulacyjny MS EXCEL ĆWICZENIA 4

Instalacja i obsługa aplikacji MAC Diagnoza EP w celu wykonania Diagnozy rozszerzonej

dolar tylko przed numerem wiersza, a następnie tylko przed literą kolumny.

RYSUNEK TECHNICZNY I GEOMETRIA WYKREŚLNA INSTRUKCJA DOM Z DRABINĄ I KOMINEM W 2D

Informatyka dla klas I wykresy funkcji

Laboratorium : Tworzenie partycji w Windows XP Pro

Przewodnik dla użytkownika do systemu STUDIO

Zadaniem tego laboratorium będzie zaznajomienie się z podstawowymi możliwościami operacji na danych i komórkach z wykorzystaniem Excel 2010

e-podręcznik dla seniora... i nie tylko.

Aby przejść do edycji w tym module należy wybrać zakładkę "Dla Pracowników" -> "Sprawdziany".

INSTRUKCJA UŻYTKOWNIKA GENERATORA WNIOSKÓW O DOFINANSOWANIE DLA WNIOSKODAWCÓW

Opis programu Konwersja MPF Spis treści

Szkolenie z zakresu obsługi kreatora składania wniosków Witkac.pl po nowelizacji ustawy o działalności pożytku publicznego i o wolontariacie

Zadanie 1. Stosowanie stylów

Laboratorium - Narzędzia linii uruchamiania w systemie Windows 7

Laboratorium - Narzędzie linii uruchamiania w systemie Windows Vista

Przedszkolaki Przygotowanie organizacyjne

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

Diagnoza Szkolna Pearsona. Instrukcja obsługi

Arkusz kalkulacyjny MS Excel 2010 PL.

7.9. Ochrona danych Ochrona i zabezpieczenie arkusza. Pole wyboru

E-geoportal Podręcznik użytkownika.

Jak dopasować pola szablonu świadectwa, aby na stronie z wynikami klasyfikacji rocznej poprawnie drukowały się długie nazwy przedmiotów?

Przewodnik Szybki start

Co nowego w programie GM EPC

Stosowanie, tworzenie i modyfikowanie stylów.

Jedną z ciekawych funkcjonalności NOLa jest możliwość dokonywania analizy technicznej na wykresach, które mogą być otwierane z poziomu okna notowań:

Na podstawie: MS Project 2010 i MS Project Server Efektywne zarządzanie projektem i portfelem projektów, Wilczewski S.

Instrukcja korzystania z portalu Diagnoza Nowej Ery

Zarządzanie projektem informatycznym laboratorium

UMOWY INSTRUKCJA STANOWISKOWA

opracował: mgr inż. Piotr Marchel Instrukcja obsługi programu Struktura

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

ROZDZIAŁ 1: Instrukcja obsługi oprogramowania VMS

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

System obsługi wag suwnicowych

UONET+ moduł Dziennik

Instrukcja użytkownika ARSoft-WZ3

Praktyczne wykorzystanie arkusza kalkulacyjnego w pracy nauczyciela część 1

Po naciśnięciu przycisku Dalej pojawi się okienko jak poniżej,

PRZEMYSŁAW DZIERŻAWSKI

2. Tworzenie tabeli przestawnej. W pierwszym oknie dialogowym kreatora określamy źródło danych, które mamy zamiar analizować.

INSTRUKCJA EDYCJI PROFILU OSOBOWEGO W SERWISIE

Obsługa konsoli ULmonitor

Transkrypt:

Laboratorium Systemów Czasu Rzeczywistego

Spis treści Część 1. Dokumentacja użytkowa programu labrtos2 1. Ogólne omówienie programu 2. Szeregowanie multiprocesorowe 2.1. Nawigacja 2.1.1. Losowanie zadań 2.1.2. Zapis/odczyt zadań 2.1.3. Edycja zadań 2.1.4. Opcje szeregowania 2.2. Diagram Gantt a 2.3. Wykres C(L) 2.4. Jitter 3. Szeregowanie statystyczne 3.1. Ogólne omówienie 3.2. Ustawianie wartości na osiach 3.3. Opcje losowania 3.4. Opcje szeregowania 3.5. Opcje wykresu 3.6. Pozostałe opcje 4. O autorach programu Część 2. Instrukcje ćwiczeń laboratoryjnych Strona 2/17

Część 1. Dokumentacja użytkowa programu labrtos2 Strona 3/17

1. Ogólne omówienie programu Program służy do badania i analizy algorytmów szeregowania. W programie zaimplementowane jest kilka algorytmów szeregowania: - RMS (Rate Monotonic Scheduling), - DMS (Deadline Monotonic Scheduling), - EDF (Earliest Deadline First), - LLF (Least Loose First), - MUF (Maximum Urgency First), - Priorytetowe. Program podzielony jest na dwie części: symulację szeregowania oraz część statystyczną. Szeregowanie multiprocesorowe podzielone jest dodatkowo na zakładki: diagram Gantt a, Wykres C(L) i Jitter. Każda z zakładek będzie opisana w tym pliku dokładniej. Każdy z obrazków w każdej zakładce można zapisać klikając na niego prawym przyciskiem myszy. 2. Szeregowanie multiprocesorowe Szeregowanie multiprocesorowe zawiera w sobie również szeregowanie uniprocesorowe jest to jego specyficzny przypadek, gdy liczba procesorów równa jest jedności. Podczas analizy algorytmów szeregowania, przydatne są wykresy: - Gantt a wykres pokazujący kiedy zadanie jest wykonywane i wywłaszczone oraz okresy i terminy zadań, - C(L) wykres ten pokazuje ile jednostek czasu pozostało do zakończenia zadania oraz luz (różnica ilości jednostek czasu do terminu zadania oraz ilości jednostek czasu pozostałych do zakończenia zadania) w danej jednostce czasu, - Jitter wykres pokazujący różnicę czasu dla każdego z zadań między rozpoczęciem zadania, a początkiem okresu służy on jako wskaźnik jakości szeregowania. Strona 4/17

2.1. Nawigacja Nr Opis Rozwijana lista wyboru szeregowania. Po zmianie szeregowania, automatycznie następuje uruchomienie algorytmu szeregującego. Przycisk uruchamiający algorytm szeregowania. Używa się go podczas ręcznej edycji zadań. 1 2 3 Informacje o aktualnym zapotrzebowaniu na czas procesora oraz kiper okresie. 4 Pole edycji horyzontu symulacji. Jest to czas, po którym symulacja zakończy się. 5 Pokazuje nad którą jednostką czasu znajduje się aktualnie kursor myszy. 6 Liczba procesorów obsługująca dane zadania. Przycisk resetujący ustawienia widoku (przesuwa okno w lewo oraz ustawia 7 powiększenie na standardowe). 8 Suwak powiększenia. 9 Przyciski pozwalające na obejrzenie wszystkich zadań, w przypadku gdy nie zmieściły się na oknie. Bardziej zalecane jest powiększenie okna do takiego rozmiaru, aby wszystkie zadania zmieściły się. Pozostałe przyciski omówione są w dalszej części. Strona 5/17

2.1.1. Losowanie zadań Aby wylosować nowy zestaw zadań, należy nacisnąć przycisk Losuj zadania. Przycisk ten zastępuje wszystkie zadania. Dodatkowe opcje losowania ukażą się po naciśnięciu przycisku Zaawansowane znajdującym się pod przyciskiem Losuj zadania. W zaawansowanych opcjach można ustawić losowaną liczbę zadań oraz losowanie z jakie zakresu ma być liczone zużycie procesora (przypadające na jeden procesor stąd zapis iloczynu w oknie). Aby wylosować zadania z konkretnym zużyciem procesora należy w polach od i do wpisać taką samą liczbę. UWAGA! Wylosowane zużycie procesora, jest tylko przybliżeniem tego co algorytm losujący wylosuje. Wylosowanie dokładnego zużycia procesora często wiązałoby się z dużymi okresami zadań, stąd wybór losowania jedynie przybliżenia, z zachowaniem stosunkowo małych okresów. 2.1.2. Zapis/odczyt zadań Aby zapisać zadania należy użyć przycisku Zapisz zadania. Przycisk ten pokaże okno zapisu zadań. Zadania zostaną zapisane w wewnętrznym formacie plików, co oznacza że inne programy prawdopodobnie nie będą go obsługiwać. Niewskazana jest ręczna edycja tego pliku (za pomocą notatnika lub innych narzędzi), ponieważ plik ten może nie nadawać się później do odczytu za pomocą programu. Aby odczytać plik, należy nacisnąć przycisk Wczytaj zadania, a następnie wybrać wcześniej zapisany plik. 2.1.3. Edycja zadań Zadania można edytować ręcznie w tabeli znajdującej się w dolnej części programu. Po zmianie zadań należy nacisnąć przycisk wskazany w podpunkcie 2.1 (nr 2). Ręczna edycja służy głównie do obserwacji i sposobu działania algorytmów szeregowania oraz sprawdzanie jak będzie algorytm reagował na zmieniające się parametry zadań (np. czas nadejścia). Aby Strona 6/17

przejść do następnej komórki (kolumny) podczas edycji należy nacisnąć klawisz enter. Gdy po wyjściu z danej komórki, jej tło zaczerwieni się, oznacza to że pole nie zostało wypełnione prawidłowo. Poprawnie wypełnione zadanie spełnia następujące warunki: Wszystkie pola muszą być liczbami całkowitymi Okres, czas przetwarzania, termin > 0 Czas nadejścia, czas zakończenia, priorytet >= 0 Czas przetwarzania, termin <= Okres 2.1.4. Opcje szeregowania Dodatkowe opcje szeregowania znajdują się w prawym dolnym rogu ekranu: Określają one co ma się dziać z zadaniami, których termin się skończył lub zadanie nie będzie możliwe do wykonania w terminie (czas pozostały do końca zadania jest mniejszy od czasu pozostałego do terminu zadania): nie przerywaj zadania będą wykonywane, nawet jeśli termin zadania już minął, prz. po terminie zadanie będzie przerywane jeśli termin tego zadania minął, prz. przy L<0 przerywaj gdy luz będzie ujemny zadanie nie będzie miało możliwości wykonać się w terminie, zatem zostanie przerwane. 2.2. Diagram Gantt a Przykładowy diagram Gantt a: Strzałka w górę rozpoczęcie zadania Strzałka z grotem skierowanym w dół termin zadania, ponadto jeśli grot jest czerwony oznacza to, że zadanie nie wykonało się w terminie. Często po pierwszym ominięciu cyklu wszystkie kolejne strzałki są czerwone. Dzieje się tak ponieważ zalegają jeszcze poprzednie zadania. Aby zapobiec zaleganiu zadań należy zaznaczyć opcję: przerywaj po terminie lub przerywaj przy L<0. Strona 7/17

Jeśli zadanie jest na wysokim poziomie oznacza to że w danym momencie się wykonuje, jeśli zadanie jest widoczne, ale jest obniżone, oznacza to że jest wywłaszczone. Przeciąganie myszy powoduje przesuwanie się wykresu. Dwukrotne naciśnięcie myszy na wykresie spowoduje przejście do wykresu C(L) w danej chwili czasu. 2.3. Wykres C(L) Na wykresie można zaobserwować żetony. Ich kolory odpowiadają kolorom na wykresie Gantt a. Do nawigacji dochodzą dwa nowe przyciski: Służą one do zmieniania danej chwili czasu. Żeton może posiadać trzy rodzaje obwódek: zielona zadanie w danej chwili nadeszło, czarna zadanie jest wykonywane, jest wywłaszczone lub czeka na wykonanie, czerwona gdy zadanie posiada ujemny luz Na wykresie nie widać zadań znajdujących się na sobie widać jedynie jedno z tych zadań. 2.4. Jitter Na zakładce Jitter nie ma nawigacji. Po prawej stronie znajdują się dodatkowo dane, które można skopiować i wygenerować z nich własnoręcznie wykres za pomocą arkusza kalkulacyjnego lub innego programu. Osią x na wykresie Jittera są kolejne wykonania zadania (stąd ich pominięcie w danych). W legendzie zaznaczony jest numer zadania. 3. Szeregowanie statystyczne 3.1. Ogólne omówienie Zakładka szeregowanie statystyczne służy do badania parametrów uzyskanego szeregowania. Pozwala w znacznie szybszy sposób określić zalety i wady poszczególnych algorytmów. Podstawowym wyborem jest określenie algorytmów które mamy zamiar badać, parametru szeregowania który ma być wyświetlany na osi Y i cechy zestawu zadań wyświetlonej na osi X. Dodatkowo należy ustalić horyzont symulacji, tak aby otrzymać wystarczającą nam dokładność i aby obliczenia nie zajęły zbyt dużo czasu. Strona 8/17

3.2. Ustawianie wartości na osiach Parametry znajdujące się na osiach wykresu ustala się w polach: 2.2.1. Parametry uszeregowań możliwe do wykreślenia na osi Y -Liczba wywłaszczeń: liczba przerwań wykonywania cyklu zadania. Wywłaszczenie jest również liczone jeśli algorytm powraca do wykonywania tego cyklu zadania. -Procent zadań wykonanych w czasie symulacji: Stosunek liczby cykli zadań wykonanych(mogą być przeterminowane) w czasie trwania symulacji do liczby zamówionych. -Procent zadań wykonanych w terminie: Stosunek liczby cykli zadań wykonanych w terminie do sumy wykonanych w terminie i przeterminowanych. -Przekroczeń terminów: liczba cykli zadań o przekroczonych terminach. -Procent przekroczeń terminów: Stosunek liczby cykli zadań z przekroczonymi terminami do liczby cykli zamówionych. -Średnia znormalizowanych czasów reakcji: Średnia z stosunków czasów reakcji(odstęp od zamówienia do wykonania) poszczególnych cykli zadań do okresów zadań. -Średnia wariacji Jittera: Średnia wariancji czasów pomiędzy kolejnymi wykonaniami cykli zadań. -Średnia znormalizowanych wariancji Jittera: Średnia wariancji stosunków czasów pomiędzy kolejnymi wykonaniami cykli zadań do okresu tych zadań. -Maksymalna znormalizowana wariancja Jittera: Maksymalna wariancja stosunków czasów pomiędzy kolejnymi wykonaniami cyklami zadań do okresu tych zadań. 2.2.1. Cechy zestawów zadań możliwe do wykreślenia na osi X Na osi X w zależności od potrzeb może znajdować się zapotrzebowanie na czas pracy procesora zestawu zadań(zużycie procesora), lub liczba zadań w zestawie. Przy zmianie tego pola automatycznie zmieniają się ustawienia losowania zadań. Strona 9/17

3.3. Opcje losowania Panel opcji losowania: Zarówno przy liczbie zadań w zestawie, jak i określaniu zapotrzebowania na czas procesora można użyć trzech opcji: losuj z zakresu parametr zostanie ustalony z tego zakresu. Losowanie odbywa się przy każdym kolejnym losowaniem zestawu zadań. Ustalone- parametr każdego z zadań będzie z góry ustalony. W przypadku zapotrzebowania na czas procesora mamy do czynienia z przybliżoną wartością. z zakresu od do przy dodawaniu kolejnych zestawów zadań dodajemy je iteracyjnie od wartości początkowej do końcowej kolejno zmieniając parametr o zadaną wartość. Dodatkowo przy każdej kombinacji parametrów losowanie zestawu może odbywać się wielokrotnie. Liczba powtórzeń określona jest parametrem Powtórzeń na kombinację W przypadku gdy algorytm generowania zestawu zadań nie jest w stanie wylosowań zadania o danym zapotrzebowaniu na czas procesora, mogą się pojawić punkty nie zgodne z zadanymi parametrami. Przykłady: Strona 10/17

1) 2) 1) 400 zestawów, każdy z losową ilością zadań i zapotrzebowania na czas procesora. 2) Ok 1000 zestawów Zadań o równo rozłożonych zapotrzebowaniach na czas procesora i ustalonej liczbie zadań. Termin równy okresowi- Opcje określająca czy terminy wszystkich zadań mają się pokrywać z okresami. W przypadku odznaczenia terminy losowane są z zakresu od liczby jednostek czasu potrzebnych do wykonania cyklu zadania do długości okresu. 3.4. Opcje szeregowania Liczba procesorów- liczba zadań które mogą być wykonywane w tym samym momencie. Przerywanie zadań- patrz punkt 2.1.4 3.5. Opcje wykresu Opcje wykresu dają możliwość zmiany sposobu wyświetlania wykresu: Pokazuj punkty- pokazuje chmurę punktów, gdzie każdy odpowiada. Pokazuj linie- pokazuje dopasowaną krzywą łamaną do zestawu punktów. 3.6. Pozostałe opcje Horyzont symulacji- Ustala liczbę jednostek czasu w których badane są algorytmy szeregowania. Strona 11/17

Wykonaj z poprzedniego zestawu zadań- Opcja umożliwiająca wykonanie innych czynności na tym samym komplecie zestawów zadań. Umożliwia na badanie wpływu opcji szeregowania, lub korzystanie z jednego kompletu zestawów zadań przy badaniu różnych cech. 4. O autorach Autorzy: Krzysztof Wicher (mordotymoja@gmail.com) Wiktor Pilewski (wiktor.pilewski@gmail.com) studenci Automatyki i Robotyki program pisany był na II roku w ramach zajęć pod kierunkiem dr inż. Jarosława Warczyńskiego. Strona 12/17

Część 2. Instrukcje ćwiczeń laboratoryjnych Strona 13/17

Ćwiczenie 1. (część 1.) Szeregowanie jednoprocesorowe zadao okresowych, algorytm RMS 1. Ustalid najtrudniejszy przypadek szeregowania zbioru zadao z punktu widzenia czasów nadejścia zadao do systemu. 2. Pokazad (na kilku przykładach), że jeżeli zbiór zadao jest szeregowalny w przypadku najtrudniejszej instancji, to jest szeregowalny również w każdej innej. 3. Ustalid horyzont symulacji szeregowania zbioru zadao, w którym należy sprawdzid szeregowalnośd, aby stwierdzid, że zbiór zadao będzie szeregowalny w dowolnie długim odcinku czasu. Horyzont ten nazywamy hiperokresem. Zilustrowad to na przykładzie. 4. Zalgorytmizowad (tzn. zapisad w pseudokodzie lub konkretnym języku programowania - uruchomienie programu jest wyżej oceniane) wyznaczanie hiperokresu.. 5. Pokazad, że nieznaczne zmniejszenie okresów zadao może prowadzid do znacznego skrócenia hiperokresu wykorzystad to w badaniu szeregowalności. 6. Potwierdzid na kilku przykładach zbiorów zadao, iż pierwsze przekroczenie okresu zadania w nieszeregowanym zbiorze zadao następuje w tzw. okresie pełnej zajętości procesora (ang. busy period). 7. Sprawdzid iteracyjne zależności określające sposób wyznaczenia okresu pełnej zajętości procesora. 8. Zalgorytmizowad (tzn. zapisad w pseudokodzie lub konkretnym języku programowania - uruchomienie programu jest wyżej oceniane) wyznaczanie okresu pełnej zajętości procesora. 9. Ustalid warunek konieczny szeregowalności zbioru zadao. Zilustrowad go przykładami. 10. Zbadad warunek wystarczający szeregowalności dla algorytmu RMS: a. Liu i Leylanda b. Bini, Buttazzo, Buttazzo (część 2.) Algorytm Deadline Monotonic (DM) 11. Zaobserwowad działanie algorytmu Deadline Monotonic (DM). 12. Pokazad, że dla algorytmu (DM) warunek konieczny z terminami zamiast okresów jest nadmiernie pesymistyczny. 13. Pokazad, że w przypadku terminów krótszych od okresów warunki z punktu 10. są mało przydatne. Dlaczego? 14. Zalgorytmizowad (tzn. zapisad w pseudokodzie lub konkretnym języku programowania - uruchomienie programu jest wyżej oceniane) iteracyjny test szereg owalności dla zadao z terminami różnymi od okresów. Strona 14/17

Ćwiczenie 2. (część 1.) Algorytm EDF T i Okres i-tego zadania D i Żadany czas zakończenia i-tego zadania (deadline) 1. Dla D i = T i przebadad warunek konieczny i wystarczający szeregowalności dla algorytmu EDF. 2. Dla D i < T i pokazad, że warunek U<= 1 staje się tylko warunkiem koniecznym i nie jest już warunkiem wystarczającym. 3. Sprawdzid możliwośd określenia szeregowalności dla warunku wystarczającego z terminami zamiast okresów. 4. Pokazad przykładowy zbiór zadao, dla którego tak określony warunek konieczny nie jest spełniony a zbiór zadao jest szeregowalny. 5. Zaproponowad test szeregowalności dla algorytmu EDF. Test ten należy oprzed o porównanie dostępnego czasu procesora oraz zapotrzebowania na czas procesora C p (t) w każdej chwili czasu t w hiperokresie. 6. Sprawdzid w jakich momentach zmienia się wartośd zapotrzebowania na czas procesora. 7. Dla wybranego, szeregowalnego zbioru zadao wykreślid na jednym wykresie funkcję zapotrzebowania na procesor oraz funkcję f(t) = t. 8. Dla wybranego, nieszeregowalnego zbioru zadao wykreślid na jednym wykresie funkcję zapotrzebowania na procesor C p (t) oraz funkcję f(t) = t. 9. Zalgorytmizowad (tzn. zapisad w pseudokodzie lub konkretnym języku programowania - uruchomienie programu jest wyżej oceniane) wyznaczanie funkcji zapotrzebowania na procesor C p (t). Ćwiczenie 2. (część 2.) Porównanie algorytmu EDF z algorytmem RMS 1. Zdefiniowad zbiory zadao dla D i = T i, które dla tego samego stopnia wykorzystania procesora U, nie są szeregowalne algorytmem RMS a są szeregowalne algorytmem EDF. 2. Dla D i = T i oraz czasu przybycia a i = 0 przebadad algorytm EDF pod względem liczby zmian kontekstu w funkcji obciążenia. 3. Takie samo badanie wykonad dla algorytmu RMS. 4. Porównad wyniki. 5. Dla D i = T i oraz czasu przybycia a i = 0 przebadad algorytm EDF pod względem wariancji czasu przetwarzania w funkcji obciążenia. 6. Takie samo badanie wykonad dla algorytmu RMS. 7. Porównad wyniki. 8. Przebadad algorytmy RMS i EDF w warunkach stałego i przejściowego przeciążenia 9. Porównad wyniki. Ćwiczenie 3. Badanie algorytmu LLF (Least Laxity First) 1. Zaobserwowad sposób działania algorytmu 2. Określid jego podstawową wadę i zilustrowad ją na przykładzie Strona 15/17

3. Jaki są konsekwencje tej wady? 4. Zbadad warunek wystarczający szeregowalności. 5. Porównad działanie algorytmu z algorytmem EDF, pokazad, na kilku przykładach, optymalnośd algorytmu LLF, przyjmując dla porównania algorytm EDF. 6. Zaproponowad modyfikację algorytmu eliminującą jego główną wadę 7. W trybie krok po kroku, dla wybranego zbioru zadao, przebadad działanie algorytmu MLLF: Zmodyfikowany algorytm LLF MLLF 1. W danym zbiorze zadao T, znajdź zbiór zadao V={T i L i (t) L j (t), T i,t j Є T}, dla których ich luz (Laxity), w danej chwili przeszeregowania t, jest najmniejszy i wybierz spośród nich te zadania T a ={T i c i (t) c j (t), T i,t j Є V}, których pozostały czas przetwarzania jest najmniejszy; 2. Znajdź w zbiorze zadao T zadania T min ={Ti [d i (t) d j (t)]^[l i (t)>l a (t)], T i,t j Є T}, które mają najwcześniejszy termin zakooczenia (deadline) ale luz większy niż zadania ze zbioru T a ; 3. Do chwili nowego przeszeregowania wykonuj zadanie ze zbioru T a Chwile przeszeregowania to: Moment zakooczenia wykonywania zadania ze zbioru T a, Moment, w którym zadanie ze zbioru T a wykonywało się przez czas d min (t) - L a (t) Moment przybycia nowego zadania Ćwiczenie 4. Badanie algorytmu MUF (Maximum Urgency First) 1. Zaobserwowad sposób działania algorytmu 2. Zaobserwowad działanie algorytmu w warunkach przeciążenia 3. Określid jego podstawową zaletę w porównaniu do algorytmów RMS oraz EDF i LLF 4. Pokazad jak można ten algorytm sprowadzid do algorytmów RMS, LLF i EDF 5. Zaproponowad modyfikację algorytmu Ćwiczenie 5. Szeregowanie wieloprocesorowe pojedynczej instancji zadao 1. Zapoznad się z ideą symulowania wykonania zadao na wielu procesorach za pomocą planszy szeregowania (scheduling game board). 2. Określid wartośd luzu L(i+1) oraz pozostałego czasu wykonywania c(i+1) dla zadao wykonywanych od chwili i oraz dla zadao niewykonywanych ruchy żetonów na planszy w pionie lub poziomie 3. Wykonad przykładowe symulacje dla przypadku jednoprocesorowego i potwierdzid optymalnośd algorytmów EDF oraz MMF w przypadku pojedynczej instancji zadao. 4. Wykonad dla tych przykładów diagramy Gantta. 5. Zbadad Algorytm EDF dla przypadku wieloprocesorowego wykonad diagramy Gantta. 6. Wysunąd wniosek dotyczący optymalności tego algorytmu w przypadku wieloprocesorowym. 7. Zbadad Algorytm EDF dla szczególnego przypadku wieloprocesorowego, w którym czas wykonywania każdego zadania jest jednostkowy wykonad diagramy Gantta. 8. Zbadad Algorytm LLF dla przypadku wieloprocesorowego wykonad diagramy Gantta. Strona 16/17

9. Znaleźd zbiór zadao szeregowalny za pomocą algorytmu LLF i nieszeregowalny za pomocą algorytmu EDF. 10. Zaproponowad warunek wystarczający szeregowalności zadao pojedynczej instancji z jednakowym, zerowym czasem przybycia do systemu. Ćwiczenie 6. Szeregowanie wieloprocesorowe zadao okresowych 1. Napisad program implementujący algorytm szeregowania wieloprocesorowego zadao okresowych. Strona 17/17