Problematika plánování úloh v prostředí Gridu Dalibor Klusáček, Luděk Matyska, Hana Rudová Fakulta informatiky, Masarykova univerzita {xklusac, ludek, hanka}@fi.muni.cz Abstrakt: Efektivní plánování v prostředí Gridu představuje komplexní problém, který není v současné době uspokojivě vyřešen. Nalezení optimálního rozvrhu, tj. přiřazení úloh v čase na dostupné zdroje představuje NP úplný problém, který je pro větší množství úloh v rozumném čase neřešitelný. Vhodným postupem je proto hledání suboptimálních řešení, kde existují rychlejší algoritmy. Produkční plánovací systémy pak představují opačný extrém, neboť zpravidla používají pouze jednoduché algoritmy založené na plánování pomocí (prioritních) front. Nasazením pokročilých plánovacích technik, jako jsou např. heuristiky pro optimalizaci globálního rozvrhu, je možné tento rozvrh významně zkvalitnit, zkrátit čas dokončení úloh a optimalizovat využití Gridu. V tomto příspěvku se věnujeme aplikací známých plánovacích heuristik založených na lokálním prohledávání a řídících pravidlech v dynamickém prostředí Gridu. Tyto heuristiky byly původně navržené pro statické prostředí, prezentujeme proto jejich modifikace, které je možné efektivně nasadit i pro tvorbu rozvrhů při dynamicky se měnícím počtu úloh, typickým pro Gridové prostředí. Pro testování vlastností těchto plánovacích algoritmů jsme adaptovali a dále rozšiřujeme flexibilní simulační prostředí GridSim. To umožňuje modelovat typické vlastnosti úloh i gridového prostředí a studovat scénáře nasazení gridových plánovačů. V příspěvku prezentujeme simulaci plánování dynamicky přibývajících paralelních úloh na heterogenních výpočetních zdrojích, globální rozvrh je vytvářen řídícími pravidly a optimalizován pomocí Tabu prohledávání. Tímto způsobem jsme dosáhli výrazného zlepšení celkového rozvrhu a zmenšení celkového zpoždění úloh. 1. Úvod Grid [FK04] bývá chápán jako distribuovaný a heterogenní počítačový systém poskytující uživatelům různorodé služby – výpočetní a úložné kapacity, specifické zpracování dat, distribuovaný sběr a zpracování informací atd. – prostřednictvím různých zdrojů. Cílem je maximalizovat využití zdrojů a zároveň poskytovat netriviální kvalitu služby pro koncové uživatele Gridu. Plánovací systémy se snaží tyto požadavky uspokojit vhodným rozvržením úloh na jednotlivé zdroje. Problém plánování je však velice složitý, neboť prostředí Gridu je heterogenní a především dynamické. Hledat v takovémto případě optimální řešení je nemožné, neboť se jedná o NP úplný problém, který není v rozumném čase řešitelný. Současně používané dávkové systémy jako Condor, LSF nebo PBS 1 proto tuto problematiku často řeší značně triviálními postupy, které jsou založeny zejména na principu (prioritních) front úloh. I pokročilejší experimentální nástroje jako Grid Service Broker, GridWay nebo GRMS 2 používají podobné postupy. Ty však často negenerují dobré výsledky. V této práci navrhujeme nový přístup, vycházející z principu rozvrhu. Pro jeho tvorbu a optimalizaci použijeme pokročilé plánovací techniky [GK03]. Námi navržené algoritmy jsou založeny na řídících pravidlech [Pin02] a lokálním prohledávání [Pin02, Klu06]. Tyto heuristiky byly původně určeny pro statické problémy, kdy je celý systém neměnný a počet plánovaných úloh je dopředu znám. Pro nasazení v prostředí Gridu jsme tyto heuristiky upravili tak, aby fungovaly i v dynamicky se měnícím prostředí. Současně s novými algoritmy byl vyvinut simulátor Gridu [Klu06], který byl využit na 1 Condor viz http://www.cs.wisc.edu/condor/, LSF viz http://www.platform.com/, PBS viz http://www.altair.com/ 2 Grid Service Broker viz http://gridbus.org/broker/, GridWay viz http://asds.dacya.ucm.es/GridWay/, GRMS viz http://www.gridlab.org/grms