Algoritmy pro rozvrhování s konflikty
Algorithms for scheduling with conflicts
diplomová práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/7613Identifikátory
SIS: 44220
Kolekce
- Kvalifikační práce [11242]
Autor
Vedoucí práce
Oponent práce
Čepek, Ondřej
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Teoretická informatika
Katedra / ústav / klinika
Katedra aplikované matematiky
Datum obhajoby
11. 9. 2006
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Velmi dobře
Problém rozvrhování s konflikty předpokládá graf konfliktů, jehož vrcholy reprezentují stroje a hrany reprezentují konflikty mezi nimi. Každý stroj může být vypnutý nebo zapnutý. Stroje, které jsou v konfliktu, nemohou být zároveŇ zapnuté. Na jednotlivé stroje čas od času přicházejí úlohy a řadí se do vstupních front jednotlivých strojů. Zapnuté stroje průběžně úlohy zpracovávají a vyprazdňují tak své fronty. Algoritmus rozhoduje o vypínání a zapínání jednotlivých strojů, přičemž musí dodržet omezení vyplývající z grafu konfliktů. Cílem je najít takový rozvrh, který minimalizuje maximální dosaženou délku vstupních front. Problém je online, algoritmus tedy musí reagovat průběžně, přičemž neví, jaké úlohy se objeví později. Navrhl jsem algoritmus založený na maximalizaci skalárního součinu pracovního vektoru (vektoru, reprezentujícího konfiguraci jednotlivých strojů) a vektoru délek front. V této práci dokazuji, že tento algoritmus je dobře de finován, je vždy konečný a pro konkrétní graf (cestu délky 3) je jeho kompetitivní poměr 7=3. Dále v práci rozebírám možnosti implementace tohoto algoritmu.
Scheduling with conflicts supposes graph of conflicts. Vertices of that graph represent machines and edges represent conflicts between them. Every machine can be switched on or switched off . Two conflicting machines cannot be both switched on at the same time. At certain times new tasks arrive to speci c machines and enqueue to its input buff ers. Each machine continuously processes tasks from its input bu ffer whenever it is switched on. An algorithm decides which machines should be switched on or switched o ff at any time, obeying conflict constraints. The objective is to schedule machine switching to minimize the maximum bu er size of all processors. The problem is online, so an algorithm has to make decisions about current con ffiguration without knowledge of future tasks. In this thesis I consider the algorithm based on maximization of scalar product of work vector (vector describing con guration of machines) and vector of bu ffer lengths. I prove that this algorithm is well de ffined, finite on every input and for speciffi c graph (path of length 3) it has competitive ratio of 7=3. Further I consider possibilities of implementation of that algorithm.