Dynamické rozvrhování Hana Rudová Fakulta informatiky, Masarykova universita http://www.fi.muni.cz/~hanka Informatické kolokvium, 9.10.2007
Dynamické rozvrhování (Dynamic scheduling) 1 Úvod 2 Popis problému Statický problém Dynamický problém Problém minimálních změn 3 Metody řešení Řídící pravidla Iterativní dopředné prohledávání Lokální prohledávání Metoda větví a mezí 4 Aplikace Universitní rozvrhování Plánování v prostřední Gridu
Aktuální spolupráce Skupina na FI a ÚVT Purdue University, USA Keith Murray Tomáš Müller MFF UK Roman Barták University of Nottingham, UK Edmund Burke Jakub Mareček (PhD student) ISTI CNR, Itálie Ranieri Baraglia
Projekty Běžící projekty 2005-2011, VZ MŠMT ČR Vysoce paralelní a distribuované systémy 2007-2009, GA ČR, s MFF UK Dynamické aspekty rozvrhování 2006-2008, CoreGRID project, EU NoE Ukončené projekty 2004-2005, Purdue University Project: Timetabling III 2002-2003, Purdue University Project: Timetabling II 2001-2002, Purdue University Project: Timetabling 2001-2003, GA ČR, s MFF UK Pokročilé plánování a rozvrhování
Rozvrhování (scheduling) Rozvrhování optimální alokace/přiřazení zdrojů v čase množině úloh omezené množství zdrojů maximalizace zisku za daných omezení Zdroj kapacita dostupnost v čase rychlost Úloha nejdřívější startovní čas nejpozdější koncový čas doba trvání (ref. zdroj) počet zdrojů alternativní zdroje Visopt ShopFloor System
Rozvrhování jako problém s omezujícími podmínkami Problém splňování podmínek (CSP) doménové proměnné, domény, omezení = relace Řešení CSP (úplné) přiřazení hodnot z domén proměnným tak, aby byla splněna všechna omezení Objektivní funkce a její optimalizace
Rozvrhování jako problém s omezujícími podmínkami Problém splňování podmínek (CSP) doménové proměnné, domény, omezení = relace Řešení CSP (úplné) přiřazení hodnot z domén proměnným tak, aby byla splněna všechna omezení Objektivní funkce a její optimalizace Rozvrhování jako CSP doménové proměnné pozice úlohy A v čase a prostoru alokace času: start(a), p(a), end(a) alokace prostoru: resource(a) domény termín dostupnosti a dokončení pro časové proměnné alternativní zdroje pro zdrojové proměnné omezení: zdrojové podmínky, relace mezi úlohami,... objektivní funkce maximalizace vytížení zdrojů, preference na čas a zdroje,...
Dynamické rozvrhování Změna zadání problému v průběhu jeho řešení Příklady: neplánovaný výpadek zdroje nové úlohy se objeví v průběhu výpočtu zkrácení/prodloužení doby trvání úloh zadání problému rozvrhovac ^ ^ ^ ^ reseni
Dynamické rozvrhování Změna zadání problému v průběhu jeho řešení Příklady: neplánovaný výpadek zdroje nové úlohy se objeví v průběhu výpočtu zkrácení/prodloužení doby trvání úloh ^ zmena problému zadání problému rozvrhovac ^ ^ ^ ^ reseni
Dynamický problém splňování podmínek Dynamický problém splňování je posloupnost {P 0, P 1,..., P n }, kde každé P i je CSP daný množinou omezení C i C + i C i a platí C i C i 1 je množina přidaných omezení je množina odebraných omezení C i = C + i C i 1 \C i Ci Poznámka: změny domén a proměnných lze zakódovat do omezení C + i Ci 1 Ci
Problém minimálních změn (minimum perturbation problem) Požadavek: nové řešení se minimálně liší od řešení původního řešení publikováno změny nežádoucí vzhledem k uživateli snaha o minimalizaci lavinového efektu Příklady školní rozvrh přiřazení letů rozvrhování zdravotních sester
Problém minimálních změn (minimum perturbation problem) Požadavek: nové řešení se minimálně liší od řešení původního řešení publikováno změny nežádoucí vzhledem k uživateli snaha o minimalizaci lavinového efektu Příklady školní rozvrh přiřazení letů rozvrhování zdravotních sester Problém minimálních změn: (P, α, C +, C, δ) P je CSP s množinou omezení C α řešení P C +, C množiny přidaných a odebraných omezení δ funkce vzdálenosti určující vzdálenost dvou CSP řešení Řešení problému minimálních změn CSP řešení β problému s C\C C + s minimální δ(β, α)
1 Úvod 2 Popis problému Statický problém Dynamický problém Problém minimálních změn 3 Metody řešení Řídící pravidla Iterativní dopředné prohledávání Lokální prohledávání Metoda větví a mezí 4 Aplikace Universitní rozvrhování Plánování v prostřední Gridu
Řídící pravidla (dispatching rules) Řídící pravidla zařazení nové úlohy na zdroj dle pravidla pravidlo = nejdelší úloha/nejmenší termín dokončení/... nejdříve kombinace několika pravidel Použití vysoká dynamika postupně přibývající úlohy nejasná doba trvání výpadky zdrojů nutnost rychlé odezvy nevhodné pro komplexní optimalizaci problém minimálních změn QoS 1 3 6 8 9 4
Prohledávání stavového prostoru Triviální enumerace
Prohledávání stavového prostoru Triviální enumerace Řešení CSP: prohledávání + propagace omezení propagace = odstranění nekonzistentních hodnot z domén proměnných
Iterativní dopředné prohledávání (IFS) pro CSP Konstruktivní metoda s propagací omezení Částečné konzistentní přiřazení Standarní dopředný krok výběr proměnných a jejich přiřazení pokud lze "Zpětný krok" 1 pokud nelze vybrané proměnné přiřadit bez porušení konzistence 2 detekce konfliktních proměnných a zrušení jejich přiřazení 3 přiřazení původně vybraných proměnných Důležitý princip výběr hodnoty proměnné pomocí konfliktní statistiky (paměť počtu konfliktů) Důsledek nejedná se o stromové procházení prostoru princip lokálního prohledávání
IFS pro dynamický CSP CSP: cíl prohledávání 1 nalezení přiřazení všech hodnot 2 optimalizace objektivní funkce preferované časové umístění, preferované zdroje,... Problém minimálních změn: rozšíření 3 minimalizace počtu rozdílných hodnot 4 preference výběru původních hodnot při výběru hodnot sledován rozdíl v počtu přiřazených původních hodnot
IFS: experimenty Additional perturbations 16 14 12 10 8 6 4 2 0 0 10 20 30 40 50 60 70 80 90 100 Input perturbations Additional perturbations [%] 80% 70% 60% 50% 40% 30% 20% 10% 0% 0 10 20 30 40 50 60 70 80 90 100 Input perturbations
Lokální prohledávání (Local Search LS) Lokální změny/opravy úplného nekonzistentního přiřazení Iniciální přiřazení (triviálně: náhodné) Lokální změna výměna dvou úloh, přemístění úlohy na jiný zdroj,... F(x) lokální optima 01 01 01 globální optimum x
Lokální prohledávání (Local Search LS) Lokální změny/opravy úplného nekonzistentního přiřazení Iniciální přiřazení (triviálně: náhodné) Lokální změna výměna dvou úloh, přemístění úlohy na jiný zdroj,... F(x) lokální optima CSP: cíl prohledávání 01 1 nalezení úplného konzistentního přiřazení 2 zlepšit hodnotu objektivní funkce Dynamický CSP: rozšíření 3 řešení původního problému jako iniciální přiřazení 4 přirozené rozšíření 5 nízká časová náročnost Problém minimálních změn: rozšíření 6 minimalizovat počet rozdílných hodnot 7 neposkytuje žádné záruky o optimalitě řešení 01 01 globální optimum x
Metoda větví a mezí (Branch & Bound BB) Metoda větví a mezí stromové prohledávání prostoru pro řešení optimalizačního problému s propagacemi omezení udržována hodnota objektivní funkce dosud nejlepšího řešení podprostor s horší kvalitou řešení odříznut (neprohledáván)
Metoda větví a mezí (Branch & Bound BB) Metoda větví a mezí stromové prohledávání prostoru pro řešení optimalizačního problému s propagacemi omezení udržována hodnota objektivní funkce dosud nejlepšího řešení podprostor s horší kvalitou řešení odříznut (neprohledáván) IFS, LS řeší rozsáhlé problémy neposkytují žádné záruky o optimalitě řešení BB pro rozsáhlé problémy nepoužitelné lze ji ale použít pro lokální optimalizaci
BB: dynamický CSP Máme řešení problému se změnami a chceme ho "vylepšit" Výběr konkrétní proměnné x s nevyhovujícím přiřazením Aplikace BB s maximálně n povolenými změnami rozumné n je poměrně malé rozumná velikost prostoru záruka optimality v rámci tohoto prostoru řešení mimo tento prostor nevyhovující vzhledem k x
Universitní rozvrhování Rozvrhování na Purdue University Rozsáhlý decentralizovaný problém 2 centrální problémy: velké učebny, počítačové laboratoře cca 70 problémů pro jednotlivé administrativní jednotky Stav projektu 2001-2005: 3 projekty mezi MU a Purdue University jaro 2005: poprvé použito rozvrhování velkých učeben podzim 2007: systém poprvé použit pro celou universitu Proces tvorby rozvrhu 1 řešení problému velkých učeben centrálně 2 řešení problémů jednotlivých administrativních jednotek 3 řešení problému počítačových učeben centrálně 4 změny v rozvrhu centrálně
Statické rozvrhovací problémy Problém velkých učeben 800 předmětů x 2 schůzky, 55 místností, cca 28.000 studentů individuální zápis předmětů studenty preference na čas a místo, vzdálenosti mezi učebnami Další problémy: řešeny automaticky i přímým vstupem dat Algoritmus: IFS
Problém minimálních změn Metody řešení IFS pro řešení požadavků na změny BB pro lokální optimalizaci rozvrhu
Plánování v prostředí Gridu Distribuované heterogenní zdroje clustery, superpočítače, desktopy, speciální zařízení autonomie, robustnost Typy úloh high-throughput (parametrické studie), paralelní, distribuované Plánování na Gridech plánování výpočetních úloh na zdroje plánování datových přenosů a zpracování dat Příklady několik/stovky clusterů přes ČR/Evropu (META Centrum/EGEE) několik superpočítačů (Deisa) SETI@Home
Gridové plánování s Alea simulátorem Problémy s QoS požadavky syntetické problémy navržené na ISTI CNR heterogenní zdroje (rychlost, paralelní) dynamické problémy přibývající úlohy známá doba trvání úloh zdroje beze změn termíny dokončení úloh, sw licence využití zdrojů Gridový simulátor Alea rozšíření simulačního nástroje GridSim (Java) centralizovaný plánovač modulární systém: různé problémy a algoritmy statické a dynamické plánování http://www.fi.muni.cz/~klusacek/alea
Lokální prohledávání pro dynamické gridové plánování Řídící pravidla běžně používaná v teorii i praxi používáme pro nalezení iniciálního řešení Lokální prohledávání aplikováno na statické problémy - příliš pomalé na dynamické problémy už nepoužito Cíl aplikace lokálního prohledávání na dynamické problémy obecně paralelní úlohy, QoS, interaktivní úlohy, advance reservation,... aplikace pokročilých AI/OR algoritmů Současné výsledky syntetické problémy s QoS požadavky zlepšení optimalizačních výsledků akceptovatelná doba běhu
Simulátor s produkčními plánovacími algoritmy Simulátor s virtuálními stroji použití nástroje Magrathea (vývoj CESNET, MU) virtuální stroje umožní přerušení a migraci úloh Algorimy aktuálně: z produkční PBSPro instalace plán: implementace vlastních algoritmů v jazyce C Datové sady reálná data z META Centra z 2005-2007 cca 300 strojů na 1 počítači (16 CPU) simulace 150 virtuálních strojů úlohy typu "sleep" běh ročních dat simulován za 1 den
Motivace Nyní: 48 států 243 clusterů 44.000 CPU denně přes 100.000 úloh Příští rok: očekáván 10x nárůst úloh