Új ütemezési eljárás kifejlesztése erőforrás menedzsment feladatokra Diplomaterv Készítette Horony Csaba Mérnök Informatikus MSc Témavezetők: Dr. Oláh András és Tornai Kálmán Pázmány Péter Katolikus Egyetem Információs Technológiai Kar 2012.
Alulírott Horony Csaba, a Pázmány Péter Katolikus Egyetem Információs Technológiai Karának hallgatója kijelentem, hogy ezt a Diplomatervet meg nem engedett segítség nélkül, saját magam készítettem, és a Diplomatervben csak a megadott forrásokat használtam fel. Minden olyan részt, melyet szó szerint, vagy azonos értelemben, de átfogalmazva más forrásból átvettem, egyértelműen a forrás megadásával megjelöltem. Ezt a Diplomatervet más szakon még nem nyújtottam be.
Tartalomjegyzék Tartalmi kivonat 1 Abstract 2 1 Bevezetés 3 1.1 Áttekintés.................................... 3 1.1.1 Pénzügyi-gazdasági erőforrások.................... 3 1.1.2 Kliens-szerver probléma........................ 4 1.1.3 Kommunikáció............................. 4 1.2 A dolgozat felépítése.............................. 5 2 Ütemezési módszerek 6 2.1 Knapsack probléma............................... 6 2.1.1 Részleges Knapsack probléma..................... 7 2.1.2 Integrál Knapsack probléma...................... 8 2.1.3 Többszörös választásos Knapsack probléma............. 9 2.1.4 Többszörös Knapsack probléma.................... 9 2.2 Round-robin ütemezés............................. 10 2.3. P roportional fair ütemezés....................... 12 2.4 Maximális átviteli ütemezés.......................... 13 2.5 Job Shop ütemezés............................... 14 2.5.1 Online algoritmus........................... 15 2.5.2 Johnson algoritmusa......................... 16 2.6 Total Tardiness................................. 16 2.7 Total Weighted Tardiness........................... 18 2.7.1 Earliest Due Date........................... 19 2.7.2 Weighted Shortest Processing Time................. 20 2.7.3 Largest Weighted Process First.................... 20 3 Multihop Aperiodic Scheduling 22 3.1 Rendszermodell................................. 22 3.1.1 A WSN modell............................. 22 3.1.2 Az ütemezés megfogalmazása..................... 25 i
Tartalomjegyzék 3.2 Kvadratikus eszköztár............................. 29 3.2.1 Az ütemezés QP transzformációja.................. 30 3.3 HNN paraméter becslés............................ 35 3.4 Smart Hopfield Neural Network....................... 37 3.5 Perturbed Smart Hopfield Neural Network.................. 38 3.5.1 Perturbáció heurisztika........................ 39 4 Konklúziók és fejlesztési lehetőségek 41 5 Összefoglalás 43 Köszönetnyilvánítás 44 Irodalomjegyzék 45 ii
Tartalmi kivonat Diplomatervemben ütemezési módszerekkel foglalkozom az erőforrás menedzsment témaköréhez kapcsolódóan. Ütemezések optimalizálása az egyik legkézenfekvőbb eszköz az erőforrások hatékony felhasználásához. Minden felhasználási területen szükséges jó ütemezési módszert választani, mint ahogy egy processzor ütemezésben, úgy a kommunikációban vagy gyártási folyamatban is. Általában a felmerülő feladványok megoldása NP-nehéz. Ezért az eljárásainkban különböző heurisztikákat alkalmazunk, melyek legjobban igazodnak a felmerülő problémához. Bemutatok több alapvető ütemezési módszert és ezek megoldására néhány eljárást. A módszerek megismerése segít betekintést nyerni a mögöttes feladványok közötti különbségekre, mint az elvégzendő feladatok és az azokat teljesítő eszközök közötti kapcsolatra, vagy a költségek természetére, azok megjelenésének okaira. A problémákhoz kialakított modellek közötti különbségek főként a különböző korlátozó tényezőkből származtathatóak. Részletezem a Multihop Aperiodic Scheduling (MAS) heurisztikus eljárást, mely egy vezetéknélküli szenzor hálózatban (WSN) történő ütemezési problémára ad polinom idejű megoldást. Ez az új Total Tardiness (TT) alapú ütemezési eljárás speciális tulajdonságai miatt átalakítható kvadratikus optimalizációs feladatra, amit Hopfield Neurális Hálózattal (HNN) oldunk meg. Ennek a módszernek ígéretes eredményei születtek eddig, amik nagy feladatszámú (job) ütemezési problémára is jobb eredményt adtak más alkalmazott eljárásokhoz képest. Ennek az eljárásnak a módosított smart HNN (shnn), valamit perturbed shnn (pshnn) változatait vizsgáltam, és a kapott szimulációs eredményeket mutatom be. 1
Abstract In my Diploma I m dealing with scheduling methods within the topic of resource management. The optimization of the schedulings is one of the most obvious tool towards effective resource utilization. In every area of application it is needed to choose the most fitting scheduling methods as in processor scheduling so in communication or in production processes. Generally the arising tasks are NP-hard. That s why in our algorithms we need to use different heuristics which fits the most for our problem. I present several basic scheduling problems and some algorithms solving them. Understanding these models helps us to gain insight into the differences of the underlying problems such as the connection between the jobs and the machines or the nature of the costs and the reasons of their appearance. The differences between the models created to fitting the problems can be derived from the different limiting factors. I specify the Multihop Aperiodic Scheduling (MAS) heuristic algorithm which gives a polynomial time solvable solution for a Wireless Sensor Network (WSN) scheduling problem. This novel Total Tardiness (TT) scheduling based algorithm can be transformed to quadratic optimization which is solved by a Hopfield Neural Network (HNN). So far this method has promising results even for scheduling tasks with large number of jobs it gave better results compared to other applied algorithms. I investigated its modified smart HNN (shnn) and perturbed shnn (pshnn) methods and I show the obtained results. 2
1 Bevezetés 1.1 Áttekintés Az Erőforrás menedzsment több tudományban is fontos szerepet tölt be, mivel szinte minden erőforrásunk szűkösen áll rendelkezésre egyáltalán fizikai mennyiségében, időben vagy költsége szempontjából. Ezeket az erőforrásokat úgy szeretnénk felhasználni, hogy minél több eredmény, termék, nagyobb hasznosság származzon belőle, vagy másik oldalról tekintve, ugyanazon eredmény eléréséhez minél kevesebbet kelljen felhasználni belőlük. Tehát könnyen tudjuk az erőforrásokat költségként kezelni, ami által egy matematikailag nagyon jó eszközhöz jutunk, mert az optimális erőforrás menedzsmentet, ami az erőforrások felhasználási módját jelenti, a haszon/hasznosság maximalizálásával vagy költségek minimalizálásával érhetjük el. A legfontosabb tervezési és modellalkotási kérdések ezek után az adott költségek és hasznosság valós meghatározását jelentik. A következő példákban bemutatom az erőforrás menedzsment több fontos alkalmazási területét. 1.1.1 Pénzügyi-gazdasági erőforrások Samuelson definíciója szerint: A közgazdaságtan azokat a szabályokat és törvényszerűségeket igyekszik megfogalmazni, amelyek alapján az egyének és közösségek döntenek a szűkösen rendelkezésre álló, többféle célra alkalmas erőforrások felhasználásáról. A közgazdaságtan a termelési döntések mellett tanulmányozza az elosztás és a fogyasztás során követett elveket is. Ebben a világban az erőforrások a következőkben foglalhatók össze természeti erőforrások, mint a nyersanyagok és termények, környezeti értékeink, humán erőforrások, mint a munkaerő, kreativitás vagy szaktudás és tőke. Ezek felhasználását pedig a szükségletek és a hasznosság határozzák meg a termelési lehetőségek határának tekintetében. Hasznosnak tekintünk közgazdasági értelemben minden olyan jószágot, amely képes a társadalom valamely tagjának szükségletét kielégíteni. Tehát itt célunk lehet a szükségletek olyan kielégítése, hogy az a lehető leghasznosabb legyen számunkra. A társadalomban, ezt a céloknak megfelelő gazdaságpolitikával lehet befolyásolni. Kisebb méretekben viszont rengeteg konkrét alkalmazási területet találhatunk, 3
1.1 Áttekintés például befektetések terén, ahol egy jobban jövedelmező befektetési portfólió a célunk, vagy gyártási kapacitások jobb kihasználása érdekében megfelelő ütemezés tervezése. 1.1.2 Kliens-szerver probléma Az informatikában széleskörűen ismert feladat, mely modellnek célja, hogy egy igény kielégítésére az erőforrásokat nyújtó szerver a szolgáltatás minőségi követelményeinek megfelelően szolgálja ki a szolgáltatást kérő klienseket. Ez történhet PCI buszon, egy közös elérésű memória vezérlőjében vagy bármely erre a célra kialakított hardver eszközön, vagy számítógépes hálózatokon, mint amilyen az internet. Ezen szolgáltatásokat végző alkalmazásoknak általában van egy harmadik eleme is, melyet alkalmazás szervernek hívnak. Ebben dől el, hogy a kliensek kiszolgálása milyen sorrendben mekkora kapacitással történjen. Ezen problémák elterjedtségüknél fogva rendkívüli figyelmet kaptak. Minden ilyen rendszerben a feladatok/kérések feldolgozásához ütemezési eljárásokat alkalmaznak, melyek gyakran figyelembe veszik a kérések prioritását, súlyozását, határidőket, feldolgozási időket, illetve alkalmazhatnak stabilizáló elemeket is, mint pl. lejárati időt, ami után egy feladatot eldobnak vagy nem szolgálnak ki. 1.1.3 Kommunikáció Vezeték nélküli kommunikáció során az adatátvitel hatékonyságát két eszköz között sok tényező befolyásolja. Ilyenek a távolság, sávszélesség, környezet, esetleges akadályok. Ezek áthidalásához, illetve ezekhez való alkalmazkodáshoz sok hardveres és szoftveres megoldás áll rendelkezésre, melyeket alkalmaznak is a telekommunikációs eszközökben. Olyan esetben, amikor sok eszköz kapcsolódik egymással, felmerülnek olyan újabb problémák is, hogy ezek a berendezések már zavarják egymást, így sok adatunk elveszhet vagy a adatátvitel több erőforrást vesz igénybe, illetve az átfolyó adatmennyiség is erősen lecsökkenhet. Ezek az erőforrások lehetnek közös hozzáférésűek, illetve elosztva minden felhasználónak saját forrásai is. Ezért szükség van olyan eljárásokra, amik optimalizálni tudják a sok eszköz közötti kommunikációt, képesek megfelelő módon szabályozni, illetve ütemezni a túlnyomó részben szűkös erőforrásokat. Az ütemezés egy optimalizációs eljárás bizonyos erőforrások megfelelő allokálása több felhasználó vagy fogyasztó között, adott megszorítások mellett biztosítva a szolgáltatáshoz tartozó QoS követelményeket [24]. Egy döntési folyamatot jelent, melynek a vezeték nélküli vagy vezetékes kommunikáció mellett sok a fentebb említett területeken kívül más ipari, műszaki és szervezési alkalmazása is van. Feladata a meglévő erőforrások lehető legjobb felhasználásának elérése adott feladatok elvégzésé során, vagy legalább lehető 4
1.2 A dolgozat felépítése legjobb közelítése az optimálisnak az adott cél(ok) tekintetében, amik lehetnek felhasználási, illetve eredmény oldaliak is. A feladatok itt is különböző súlyúak, prioritásúak lehetnek, de persze más egyéb tényezők is befolyásolhatják a kapott eredményt, mivel az erőforrásainkhoz való hozzáférés módja is különbözhet. A vezeték nélküli hálózatokban, de általában véve más kommunikációs közegben is hasonlóan többféle erőforrással kell gazdálkodnunk, melyek mind kifejezhetők költségben, ahogy a rendelkezésre álló technológia és eszközök is. Vezeték nélküli erőforrás menedzsment témában alapvetően a következő négy erőforrással foglalkozunk [13]: i) sávszélesség, ii) adóteljesítmény, iii) antenna, iv) cellák-közötti erőforrás megosztás. A kommunikáció során, ha több adatot küldünk, mint amennyit fogadni képes a fogadó fél, vagy amit nem képes átengedni a közvetítő közeg, akkor azon adatok egy része el fog veszni. Viszont szeretnénk a lehető legtöbb adatott átvinni a legkevesebb erőforrás felhasználásával. A dolgozatban szeretném bemutatni azokat az ütemezési módszereket és problémákat, amelyek alkalmazhatók vezeték nélküli kommunikációban. Célom, hogy egy olyan rendszer kommunikációjára találjak megfelelő ütemezési megoldást, ami egy központi, és több alárendelt eszközből áll, mint például sok elszórt mérőállomás, amik adatokat küldenek a központi eszköznek, akár más közbeeső eszközön keresztül úgy, hogy a rendszer a lehető legkisebb legyen az energiafelhasználása. 1.2 A dolgozat felépítése Az Ütemezési módszerek fejezetben részletesebben foglalkozom ütemezési módszerekkel. Több módszert is bemutatok, főleg kommunikációs vagy feladat kiszolgálási szempontból, de természetesen ezek technológia független problémák. Tehát könnyen adaptálhatóak más területekre is, mint ahogy fenntebb már említettem, pénzügyi, processzor ütemezési, gyártási, logisztikai problémákra is. Egyes esetekben pedig ismert és széleskörűen használt megoldási algoritmusokat is részletezek. Egy WSN kommunikációs problémát és egy azt megoldani szándékozó új ütemezési eljárást mutatok be a Multihop Aperiodic Scheduling fejezetben, mely Hopfield Neurális Hálózatot használ az optimális ütemezés megközelítéséhez. Az ütemezési feladat, Multihop Aperiodic Scheduling (MAS), melyet a [23] cikkben részleteznek, egy egyre gyakrabban felmerülő kihívásra kíván megoldást találni, azaz hogyan tudnunk minél hatékonyabban adatokat gyűjteni egy nagyszámú szenzorhálózat csomópontjaiból. Az ilyen és ehhez hasonló hálózatok elengedhetetlenül szükségesek, amennyiben intelligens otthon vagy egy egészségügyi monitorozó rendszereket akarunk megvalósítani. A leírt ütemezési eljárást implementáltam MatLAB környezetben, és ebben szimulációkat végeztem, összehasonlítva más ütemezési algoritmusokkal. A Konklúziók és fejlesztési lehetőségek fejezetben pedig ennek eredményeit ismertetem. 5
2 Ütemezési módszerek Az ütemezés (scheduling) egy döntéshozó folyamat, amit rendszeresen alkalmaznak az ipari és szolgáltató szektorokban [18]. Az ütemezés során döntést kell hozni, hogyan rendeljük optimálisan a rendelkezésre álló erőforrásainkat az elvégzendő feladatokhoz, figyelembe véve egy vagy több célkitűzést. Ezen célok mögött mindig valamilyen szűkös erőforrás lehető legjobb kihasználása vagy minimális felhasználása áll. Az erőforrások sokfélék lehetnek: gépek, eszközök, infrastruktúra, természeti erőforrás, az infokommunikációban pedig a már a bevezetésben említett négy lényeges erőforrás: sávszélesség, adóteljesítmény, antenna és a cellák-közötti erőforrás megosztás. A feladatok igényei pedig az erőforrásokhoz kapcsolódóan a kapacitás kiosztása vagy hozzárendelése, melyek lehetnek: idő, hely, energia, munkafolyamat, számítási teljesítmény vagy frekvencia ablak. Az erőforrások és feladatok természeténél fogva különbözőképpen kell modellezünk a megoldandó problémákat. Sok elterjedt és bevált módszert alkalmazhatunk. Ezek technológia függetlenül megállják a helyüket, melyeket megfelelőség alapján választhatunk és használhatunk fel a konkrét esetekben. Ezt az ütemezési módszer kiválasztást úgy hozzuk meg, hogy figyelembe vesszük, milyen szempontok alapján szeretnénk kielégíteni a feladatok/felhasználók igényeit, hogy azzal valóban azt az optimális felhasználást tudjunk elérni vagy ésszerűen megközelíthessünk azt, ami megfelel kitűzött céljainknak. A megfelelő modell kiválasztása után különböző heurisztikák és algoritmusok állnak rendelkezésre, melyek nagyon körültekintő vizsgálatot igényelnek ahhoz, hogy a legjobb teljesítményt nyújtót alkalmazzuk az ütemezés megvalósításához. A következőekben bemutatok néhány kombinatorikai optimalizációs problémát és megoldási heurisztikákat egyes esetekben. 2.1 Knapsack probléma Ez az egyik első megfogalmazott módszer, ami talán a leggyakrabban van szükség a mindennapokban. Az elnevezés eredete a következőre probléma: egy hátizsákba szeretnénk bepakolni úgy, hogy minél nagyobb értéket tudjunk magunkkal vinni. Az elrakandó tárgyaknak van súlyuk (vagy méretük) és értékük, de a hátizsák miatt van egy súlykorlátunk is, amit nem szabad a zsák tartalmának meghaladnia. A kérdés tehát az, hogy hogyan tudjuk kiválogatni a legértékesebb tárgyakat? Alkalmazása akkor merül fel, amikor ki akarunk választani egy optimális korlátos súlyú 6
2.1 Knapsack probléma részhalmazt egy n elemű halmazból, mely elemek mind rendelkeznek w i súlyokkal, illetve p i profittal/értékkel, ahol (1 i n) és a súlyok összege nem léphet túl egy maximális pozitív W értéket. Formálisan a következőképpen fogalmazhatjuk meg: Példa: Feladat: Adottak a n, p 1,..., p n, w 1,..., w n, és W nemnegatív egészek Találjuk meg az S {1,..., n}halmazt, hogy a p j j S összeg legyen maximális úgy, hogy teljesül a w j W j S feltétel. A Knapsack problémák komplexitása NP-teljes. Ezért ezt és az ehhez hasonló problémákat NP-nehéznek nevezzük, bár a Knapsack probléma ezek között a legkönnyebb [11]. 2.1.1 Részleges Knapsack probléma A részleges Knapsack problémát egy kis módosítással kapjuk a fentiekből, azonos példára alkalmazva: Feladat: Találjuk meg az x 1,..., x n [0, 1]számokat, hogy a n x i p i (2.1) i=1 összeg maximális úgy, hogy teljesül a feltétel. n x i w i W i=1 Ennek a problémának egy optimális megoldását Dantzig [4] adta meg, melyhez megfelelően kell rendezni az elemeket. 1. Tétel: Legyenek n, p 1,..., p n, w 1,..., w n, és W nemnegatív egészek a és n w i W i=1 p 1 w 1 p 2 w 2... p n w n 7
2.1 Knapsack probléma feltételek mellett, ekkor legyen k := j min j {1,...,n} i=1 w i > W. (2.2) Akkor a részeges Knapsack probléma adott példájának egy optimális megoldása a következőképpen definiálható: x j := 1, ha j = 1,..., k 1 x j := W k 1 j=1 w j w k, ha j = k x j := 0, ha j = k + 1,..., n Ezzel az egyszerű algoritmussal a probléma megoldható O (n log n) időben. Ha kiválasztjuk a két megvalósítható megoldás a {1,..., k 1} és {k} közül a jobbikat, akkor az egy kéttényezős közelítési algoritmust jelent a Knapsack problémára O (n) időben. Továbbiakban használjuk a súlyozott medián keresést: Példa: Feladat: n természetes szám, z 1,..., z n R, w 1,..., w n R +, és W szám 0 W j S p j megszorítással. Találjuk meg azt az S {1,..., n} részhalmazt, amire a p j j S kifejezés maximális a w j W j S megszorítás mellett. A z i = p i w i, i = 1,..., n helyettesítés alkalmazásával a súlyozott medián probléma a ( 2.1) részleges Knapsack problémára egyszerűsödik, és ebben az esetben helyesen működik O (n) időben, szóval lineáris időben megoldható. 2.1.2 Integrál Knapsack probléma Mint fentebb említettem, a probléma NP-nehéz, de mivel nem erősen NP-nehéz, ezért van esélyünk arra, hogy egy pszeudo-polinomiális algoritmust találjunk [11]. Az 1. Tétel alapján, a k i=1 p i egy felső korlát az Integrál Knapsack probléma optimális értékére. Egyszerű rekurzív formulákra épülő dinamikus programozással kaphatunk egy algoritmust, ami megtalálja az optimális megoldást O (np ) időben, ahol P = n i=1 p i, de ez 8
2.1 Knapsack probléma nem polinomiális korlát a bemenet méretében. A Knapsack problémának van egy teljesen polinomiális közelítési megoldása. Ahhoz, hogy csökkentsük a dinamikus programozású Knapsack algoritmus futási idejét, kézenfekvő ötlet a p 1,..., p n számok elosztása h tényezővel: p i := p i h, ( de ez ) pontatlan megoldásokhoz vezethet. Ennek a közelítő eljárásnak a futási ideje O n 2 1 ɛ -on belüli. 2.1.3 Többszörös választásos Knapsack probléma Sok egyéb variációja van még a Knapsack problémának a részleges(korlátos), integrál és teljesen polinomiális közelítő megoldáson kívül is. A többszörös választásos módszer egy olyan feladatot határoz meg, ahol az elemek az N j, j = 1,..., m halmaz osztályokba tartoznak, és pontosan egy elemet kell kiválasztani minden egyes osztályból. Példa: Feladat: Adottak az n, m, p 11,..., p mn, w 11,..., w mn, és W nemnegatív egészek Találjuk meg azt az S {N 1,..., N m } részhalmazt amire következő arg max S m p ji x ji j=1 i N j kifejezés értéke maximális úgy, hogy az alábbi feltételek teljesülnek: m j=1 i N j w ji x ji W (2.3) és x ji = 1, (2.4) i N j ahol x ji = {0, 1}, j = 1,... m-re. Ebben a problémában tehát fel kell tudni osztani a feladatokat olyan csoportokra, hogy azok értéke maximális legyen. 2.1.4 Többszörös Knapsack probléma A többszörös Knapsack annyiban különbözik, az előzőleg leírttól, hogy az elemosztályokhoz külön-külön más korlát tartozhat a súlyozott feltételhez. Formálisan ez a következőt jelenti: Példa: Adottak az n, m, p 11,..., p mn, w 11,..., w mn, és W 1,..., W m nemnegatív egészek 9
2.2 Round-robin ütemezés Feladat: Találjuk meg azt az S {N 1,..., N m } részhalmazt amire következő arg max S m p ij x ij i=1 j N i kifejezés értéke maximális úgy, hogy az alábbi feltételek teljesülnek: n w ji x ji W j (2.5) i=1 és m x ji = 1 j=1 minden j = 1,..., m-re, ahol x ji = {0, 1}, i = 1,..., n-re. Mint láthatjuk a fenti feltételek közül az első biztosítja, hogy egy adott j osztályba tartozó elemek súlyozott értéke kisebb legyen, mint az adott osztályra vonatkozó W j korlát. A második feltétel pedig, hasonlóan a ( 2.4) feltételhez biztosítja, hogy egy feladat csak egy eszközhöz legyen hozzárendelve. Vegyük észre, hogy W i1 = W i2, i 1, i 2 = 1,..., n esetén a W = n i=1 W i korlát alkalmazásával a többszörös választásos Knapsack problémát kapjuk, és így a ( 2.3) feltétel analóg lesz az ( 2.5) feltétellel. 2.2 Round-robin ütemezés A Round-robin (RR) kifejezés eredete egy módszer, amit régebben egy dokumentum vagy petíció aláírásánál alkalmaztak. Ahhoz, hogy ne lehessen felismerni, ki volt az első aláírója vagy vezetője a petíciónak, a neveiket hierarchia nélkül egy körön írták alá, mint ahogy egy kerek asztalnál ülő emberek közül sincs senki aki az asztalfőnél ülne. Ehhez hasonlóan az alap RR ütemező minden aktív felhasználó, fogyasztó számára egyenlő mértékben, prioritás mentesen ad hozzáférést az erőforrásokhoz, más szóval ciklikus ütemező. Egyenlő időszeleteket ad, megnézi minden felhasználó igényeit, és annak megfelelő erőforrással látja el, amennyiben a feladat teljesítése nem nyúlik túl a kapott időablakon, ellenkező esetben megszakítja a hozzáférést. Ez az egyik legegyszerűbben megvalósítható ütemező, minimális a számítási kapacitással. Hátránya, hogy nem tesz különbséget a különböző felhasználók különböző Quality of Service (QoS) feltételei, és a különböző átviteli igények között. Tehát megtörténhet, hogy egy adott felhasználó szám felett csak bizonyos szolgáltatások teljesíthetőek. Az optimalizálás célja a kommunikációban a maximális adatátvitel elérése. A probléma formális megfogalmazása: Példa: Adottak az J = {J 1,..., J n } feladatok, M = {M 1,..., M m } eszközök és az X halmaz, mely az összes feladatoknak az eszközökhöz való hozzárendelése úgy, hogy minden feladatot csak egyszer végzünk el az eszközökön. 10
2.2 Round-robin ütemezés Feladat: Találjuk meg azt az x X = n m, x ij = {0, 1}, i {1,..., n}, j {1,..., m} hozzárendelést, amire az arg max y ij n m y ij ρ ij (2.6) i=1 j=1 érték a legnagyobb, ha y = x, ahol y X, és ρ ij 0 az adatátviteli mennyiség és a és n m x ij m (2.7) i=1 j=1 m m x ij = x i2 j (2.8) j=1 j=1 feltételek teljesülnek. A ( 2.7) feltétel biztosítja, hogy hogy ne szolgáljunk ki több feladatot, mint ahány eszköz van, vagy vezetéknélküli kommunikáció esetében: adót egy csatornához. ne allokáljunk egynél több A ( 2.8) feltétel pedig azt hivatott biztosítani, hogy a feladatok/felhasználók egyenlő mértékben legyenek kiszolgálva. Kommunikáció megvalósítása során a ρ ij értékek az átviteli teljesítmény és a csatorna minőségének függvénye. Tehát a ρ ij = ρ (r ij, γ ij ), ahol a r ij az átviteli teljesítmény és γ ij a csatorna minősége M j vivő J i felhasználóhoz való hozzárendelése esetén. Ebben az esetben a kibővített probléma a következő módon fogalmazható meg, az átvitel maximalizálásának függvényében: arg max y ij n m y ij ρ (r ij, γ ij ) (2.9) i=1 j=1 és ekkor szükség van még két feltételre: n m r ij r Tx i=1 j=1 valamint m m r ij = r i2 j, j=1 j=1 ahol r Tx érték az összes átviteli teljesítmény összegét jelöli. Láthatjuk, hogy a ( 2.9) módosított függvény a ( 2.6) célfüggvénytől csak a kibővített paraméterezésben különbözik, viszont a feltételek már az átviteli teljesítmény szemszögéből jelentenek korlátozást, de az eredeti feladattal analóg módon, az összteljesítményre, illetve a teljesítmény egyenlő 11
2.3 P roportional fair ütemezés elosztására szorítanak. 2.3. P roportional fair ütemezés A proportional fair (PF) ütemezésnek a megfogalmazása sokban hasonlít az előbbi RR ütemezéséhez. A PF ütemezés célja az, hogy a felhasználók között úgy ossza el az erőforrásokat, hogy egy fair felosztást kíván megvalósítani az elérhető erőforrásokból, mint a teljesítmény és csatorna hozzáférés. Például, ha van két felhasználónk, és az egyik nagyon közel van, a másik pedig távolabb, akkor a távolabbi felhasználó számára sokkal nagyobb energiát használ fel, ezért a felhasználók egyenlő energia mennyiséget kapnak. Ez a felosztás nem feltétlen fair olyan szempontból, hogy a távolabbi, nagyobb energia igényű felhasználók számára kevesebb energia jut, mint amennyire szüksége volna. A Round-robin ütemezőhöz hasonlóan a PF optimalizációs probléma megfogalmazható az adatátvitel összegének maximalizációjával: Példa: M = {M 1,..., M n } vivők, J = {J 1,..., J k } felhasználók, és az X halmaz, mely az összes felhasználónak a vivőkhöz való hozzárendelése úgy, hogy minden felhasználót csak egy vivőhöz rendeljük hozzá. Feladat: Találjuk meg azt az x X = n m, x ij = {0, 1}, i {1,..., n}, j {1,..., m} hozzárendelést, amire a arg max y ij n m y ij ρ (r ij, γ ij ) i=1 j=1 maximális értékű y = x, és ahol az alábbi feltételeknek kell teljesülnie: n m i=1 j=1 r ij r Tx és valamint és m m r ij = r i2 j, (2.10) j=1 j=1 n m x ij m i=1 j=1 m j=1 x ij ρ (r ij, γ ij ) > r min i, J i J re. (2.11) 12
2.4 Maximális átviteli ütemezés feltételeknek, ahol az ri min a J i felhasználó vagy szolgáltatás minimálisan megkövetelt adatátviteli sebessége. A ( 2.10) összefüggéssel egyenlő mértékű hozzáférést biztosítunk az energiából a felhasználóknak, viszont a ( 2.11) alapján biztosítani kell a minimális adatátviteli sebességet a felhasználók számára, így a nagy energiaigényű kommunikáció számára is biztosítanunk kell egy minimális adatátvitelt. Tehát a PF ütemező megvalósít valamilyen fair hozzáférést az erőforrásokhoz, de figyelembe veszi a csatorna kapacitást is, de ezzel még éheztetheti a távol lévő felhasználót, illetve számos felhasználó számára ronthatja a felhasználói élményt. 2.4 Maximális átviteli ütemezés A maximális átviteli (Maximal throughput) ütemezésnek is az a célja, hogy a lehető legnagyobb adat folyjon át a rendszeren, de itt nem a felhasználók felől közelítjük meg a problémát, hanem a rendelkezésre álló erőforrás tekintetében. Tehát úgy akarjuk azt felosztani, hogy a lehető legnagyobb adatforgalmat generáljuk az ütemezés által. Azok a felhasználók előnyben részesülnek, akiknek jobb minőségű az adatátvitelük, és így azonos energiafelhasználással több adatot tudnak küldeni, ez által bizonyos szempontból ellentéte a RR ütemezésnek. Formálisan megfogalmazva: Példa: M = {M 1,..., M m } vivők, J = {J 1,..., J n } felhasználók, és az X halmaz, mely az összes felhasználónak a vivőkhöz való hozzárendelése úgy, hogy minden felhasználót csak egy vivőhöz rendeljük hozzá. Feladat: Találjuk meg azt az x X = n m, x ij = {0, 1},i {1,..., n}, j {1,..., m} hozzárendelést, amire a arg max p ij n m y ij ρ (p ij, γ ij ) (2.12) i=1 j=1 maximális értékű y = x, és ahol teljesülnek az alábbi feltételek: n m p ij p Tx i=1 j=1 és n m x ij n i=1 j=1 m j=1 x ij ρ (p ij, γ ij ) > p min i, J i J re. A fenti feltételekkel az ütemező biztosítja a minimális adatátvitelt a felhasználók számára 13
2.5 Job Shop ütemezés az ri min alapján, és ezen felül pedig a maximális adatmennyiség elérése érdekében biztosít a felhasználóknak hozzáférést az erőforrásokhoz. A PF ütemezéshez hasonlóan a távolabb lévő vagy rosszabb átviteli minőségű csatornával rendelkező felhasználók nem kapnak feltétlen megfelelő hozzáférést. 2.5 Job Shop ütemezés A Job Shop ütemezés (JSS) egy nehezen megoldható optimalizációs feladat, ahol bizonyos időn belül adott eszköznek el kell végeznie szintén adott mennyiségű feladat műveleteit a lehető leghamarabb vagy legkisebb költséggel, ami számos féle lehet, akár az eszközökkel kapcsolatos is, mivel költségfüggvény határozza meg a egy adott feladat költségét az ütemezésben, nagy szabadsággal lehet meghatározni költségeket befolyásoló körülményeket, eseteket. Minden feladat több műveletből állhat, amiket adott eszközökön tudunk elvégezni. A műveleteket a megadott sorrendben kell elvégezni. Ezeknek költsége vagy ideje van, ezért nem mindegy, hogy a milyen sorrendben rendeljük a feladatok műveleteit az eszközökhöz. Ezen kívül minden egyes eszköz egyszerre csak egy műveletet képes elvégezni, és minden egyes feladat egyszerre csak egy eszközön végezhető. A teljes ütemezésnek akkor van vége, ha minden feladat minden műveletével végeztünk. Tehát azt az ütemezést keressük, amit a legrövidebb idő alatt tudunk elvégezni. A probléma formális leírása: Példa: Adottak az M = {M 1,..., M m } eszközök, J = {J 1,..., J n } feladatok és az O = {O ik i = 1,..., n, k = 1,..., µ i } halmaz, mely a feladatok eszközökön elvégzendő műveletei, ahol µ i a J i feladat műveleteinek száma. K ik -val indexelhetjük az O ik műveletet az eszközökhöz. Legyen µ = max i µ i és t ik a J i feladat O ik műveletének műveletideje az M j eszközön, ahol j = K ik. Az ütemezések halmaza X tartalmazza az összes lehetséges ütemezést, ami a feladatok műveleteinek az eszközökön végzett sorozata. Feladat: Találjuk meg azt az x X ütemezést, amire a C (x)idő-költség függvény a legkisebb. Más szóval, találjuk meg a feladatok műveleteinek egy olyan x hozzárendelését az eszközökhöz, hogy a C (x) idő-költség függvény minimális legyen, tehát nem létezik olyan, y X hozzárendelés, ami rövidebb ideig tart, azaz C (y) < C (x). Könnyen adhatunk két egyszerű alsó becslést az optimális ütemezés idő-költség függvényének értékére. Az egyik, hogy az összes feladat elvégzése nem tarthat kevesebb ideig, mint a leghosszabb feladat elvégzése, azaz a teljes ütemezés legalább olyan hosszú ideig tart C (x) T J = max J i t ik k ez a korlát a maximális feladat hossza. A másik korlát abból következik, hogy az eszkö- 14
2.5 Job Shop ütemezés zöknek minden műveletet el kell végezniük, tehát C (x) T M = max M j K ik =j t ik, ez korlát a maximális eszköz terhelés. A JSS egy speciális esete a jól ismert utazó ügynök probléma (traveling salesman problem - TSP), ahol m = 1 az egyedüli eszköz az ügynök, és a feladatok a városoknak felelnek meg, amiket az ügynöknek meg kell látogatnia úgy, hogy minél hamarabb végezzen vele, vagy minél rövidebb út során tegye meg. Tehát ebben az esetben a megteendő út hossza vagy az idő jelenti a költséget. 2.5.1 Online algoritmus A JSS az egyik legismertebb probléma, amit online algoritmussal megoldhatunk. Az algoritmusnak döntenie kell az éppen számba vett feladatról, mielőtt a következős vizsgálná. Tehát a feladatokat sorban értékeli ki, és rendeli hozzá az eszközökhöz, nem ismerve a még következő feladatokat, tehát nincs is szüksége jövőbeli információhoz a döntéshez. Ennek ellentéte az offline algoritmus, ami során már az elején ismerjük az összes feladatot, és úgy kapjuk meg a kimenetet Mivel nem ismerünk minden bemenetet, az online algoritmus olyan kimenetet is adhat, ami utólag az összes feladatra vetítve nem optimális. Formálisan az online algoritmus az x kérések sorozatát kapja: x = x (1),..., x (k) X, mely műveleteket a felmerülés pillanatában kell kiosztani. A x (t) kiszolgálásakor, nem ismerjük azokat a x (τ) műveleteket, amikre τ > t. A műveletek kiszolgálása idő-költséghez kötött, és ennek az összköltségnek a minimalizálása a célunk. Az Alg online algoritmus hatékonyságát az az úgynevezett kompetitív analízissel vizsgáljuk, amiben az Opt optimális offline algoritmuséhoz hasonlíthatjuk a teljesítményét, ami az egész bemenet ismeretében hozza meg az optimális döntést. Jelöljék az Alg (x) és Opt (x)értékek az adott x = x (1),..., x (k) bemeneti sorozatra az Alg és Opt algoritmusok eredményeként kapott idő-költségét értékét. Azt mondjuk, hogy az online algoritmus c competitív, ha létezik olyan b, amire igaz, hogy Alg (x) c Opt (x) + b minden x sorozatra. A b konstansnak függetlennek kell lennie az x bemenettől. A kompetitív analízis egy erős mérték a legrosszabb teljesítményére esetére. 15
2.6 Total Tardiness 2.5.2 Johnson algoritmusa Ez az S.M. Johnson által leírt heurisztikus algoritmus [10], mely alkalmas egy két eszközből és n feladatból álló probléma optimális megoldására, így jól alkalmazható bizonyos Job shop ütemezés megvalósítására is. Algoritmus leírása: Adottak az M 1 és M 2 eszközök, J 1,..., J n J feladatok. Minden J i feladatnak van két, t i1 és t i2 hosszúságú művelete van, melyeket M 1, M 2 eszközökön kell elvégezni. 1. lépés: Készítsünk három listát, A = {1,..., N} az összes művelet listája, L 1 = {} és L 2 = {} listák, melyek kezdetben üresek. 2. lépés: keressük meg a minimális t idejű műveletet, ha a minimum ideje t k1 -be tartozik, akkor tegyük a K műveletet az L 1 = {}-be, ha t k2 -be tartozik, akkor tegyük az L 2 = {}-be. 3. lépés: Ismételjük a 2. lépést, amíg A nem üres. 4. lépés: Fűzzük össze L 1 -et és L 2 -t, ez lesz az optimális sorozat. Az algoritmus csak két eszközre ad optimális megoldást, de mivel nagyon egyszerű és gyors, ezért alkalmazzák több eszközre is, ahol ezért m > 2. Ilyenkor az eszközök M = {M 1,..., M m } halmazát két képzeletbeli csoportba osztjuk, és úgy hajtjuk végre az algoritmust, majd a csoportokat tovább osztjuk, és így alkalmazzuk a 2-3. lépéseket, amíg nem rendeltük a műveleteket egyenként az őket végrehajtó eszközökhöz, ezek után következik a 4. lépés. Végül pedig megkapjuk a kívánt eredményt, tehát az algoritmus akár több eszközre is képes optimális megoldást nyújtani. 2.6 Total Tardiness A Total Tardiness (TT) ütemezésben n feladatot kell rendezni, ahol minden J i, i = 1,..., n feladatnak van p i feldolgozási ideje, illetve d i esedékességi időpontja. Adott σ ütemezési sorrend, amiben a J i feladat befejezési időpontja F i és T i a késedelmessége (tardiness). Amennyiben egy ütemezésben F i > d i, akkor a feladat késedelmes és késedelmessége pozitív, egyébként 0. Az optimális ütemezés elérése érdekében ezen értékek minden J i feladatra vonatkozó összegének minimalizálására törekszünk. A továbbiakban bemutatom a problémának az egy, illetve több azonos eszközre való megfogalmazását. 1. Egy eszközön megvalósított TT ütemezés formális leírása a következőképpen adható meg: Példa: Adott a J = {J 1,..., J n } feladatok halmaza. Minden J i feladathoz tartozik egy T i (σ) érték mely az alábbi módon számítható: T i (σ) = max 0, i p j d i, j=1 16
2.6 Total Tardiness ahol d i a J i feladathoz tartozó esedékességi időpont, a p j, j = 1,..., i értékek pedig az alkalmazott ütemezési sorrendben a J i -t megelőző feladatok feldolgozási ideje. (A T i (σ) érték az adott σ ütemezéstől függő költség, a J i feladat késedelmessége a σ ütemezésben.) Feladat: Találjuk meg azt a σ = (1,..., n) ütemezési sorrendet, amivel minimalizáljuk a teljes ütemezésre vonatkozó T (σ) késedelmességet. Tehát a következő kifejezés értéke legyen minimális: ( n ) T (σ) = min T i (σ) i=1 (2.13) másképpen: ( n ) T (σ) = min max (0, F i (σ) d i ), i=1 ahol F i (σ) a J i feladat befejezési ideje adott σ ütemezésben. Vagy minimalizáljuk az átlagos késedelmességet, ami ( 2.13)-ből adódik: ( ni=1 ) T i (σ) T (σ) = min. n 2. Párhuzamos, több azonos eszközön való feldolgozásnál, a feladatok nincsenek eszközhöz kötve. Ebben az esetben a J i feladatokat az M = {M 1,..., M m } eszközhalmaz bármelyikéhez lehet rendelni. Ebben az esetben már két dolog felől is kell dönteni, egyik, hogy melyik eszközhöz rendelünk egy adott feladatot, illetve az adott eszközön milyen sorrendben ütemezzük a hozzárendelt feladatokat. Ebből eredő nehézsége miatt a parallel feldolgozású ütemezés rengeteg vizsgálat tárgya mind a mai napig. A probléma a következő módon fogalmazható meg: Példa: Adottak az M = {M 1,..., M m } gépek/eszközök és a J = {J 1,..., J n } feladatok halmaza. Minden J i feladathoz tartozik egy T i (σ) ütemezés függő érték, mely az alábbi módon számítható: T i (σ) = max (0, F i (σ) d i ), ahol d i a J i feladathoz tartozó esedékességi időpont, a F i (σ) értékek pedig az adott ütemezési sorrendben a J i feladat befejezési ideje. Az M k M eszközhöz tartozó feladatok késedelmessége: Γ k (σ) = T i (σ) i, J i M k (σ) Feladat: Keressük azt a Σ = (σ 1,..., σ m ) ütemezést, ahol σ k, k = (1,..., m) az M k 17
2.7 Total Weighted Tardiness eszközhöz tartozó feladatok ütemezési sorrendjét jelöli, és amire az ütemezés késedelmessége minimális lesz, azaz: ( m ) T (Σ) = min Γ k (Σ). k=1 Láthatjuk, hogy azzal, hogy választhatunk a rendelkezésre álló eszközök közül, jóval komplexebb feladatot kapunk, hiszen a teljes problémára vonatkozó Σ ütemezés az eszközökhöz tartozó σ k részütemezésekből áll össze, amikben szereplő feladatok nem kötöttek, átkerülhetnek más eszközhöz is. A problémára [5] bebizonyította, hogy már m = 1 gép/eszköz számra NP-nehéz, azaz nem oldható meg polinom időben, következésképpen m > 1 esetben is az. Ezért szükségesek a megoldásukhoz megfelelő heurisztikát alkalmazni, amikre több megoldás is született [12], optimális megoldást először [2] adott. 2.7 Total Weighted Tardiness A TT ütemezéshez képest, a Total Weighted Tardiness (TWT) ütemezés esetén a feladatok súlyozottak, azaz minden J i feladathoz létezik egy w i 1 súly. Ez annyiban módosítja a problémát, hogy a késedelmesség súlyozva van, így pl. két feladat késedelmessége nem azonos súlyú költséget jelent. A súlyok értéke lehet egész vagy valós szám is, ez függ a felmerülő probléma jellegétől, vagy a rendelkezésre álló megoldási módszerektől. Általában a súlyok meghatározása nehéz és időigényes, és ez alapjaiban határozza meg a kapott megoldás hatékonyságát [20]. A súlyok időnként arányosak lehetnek a feladatok feldolgozási idejével, hiszen azok jól reprezentálhatják azok értékét [1][21]. Abban az esetben, amikor minden feladatokhoz egységsúlyokat rendelünk, kapjuk a TT ütemezést. Ilyen szempontból a TWT a TT egy speciális esetének tekinthető. Ennek a két problémának a vizsgálata nagyon szorosan összefonódott az elmúlt évtizedekben [19]. Tehát a TWT a TT ütemezéssel analóg módon, súlyok alkalmazásával a következőképpen fogalmazható meg: 1. Egy eszközön való feldolgozás esetén: Példa: Adott a J = {J 1,..., J n } feladatok halmaza, és a hozzájuk tartozó {w 1,..., w n } súlyok. Minden J i feladathoz számítható egy T i (σ) érték az alábbi módon: i T i (σ) = max 0, w i p j d i, j=1 ahol d i a J i feladathoz tartozó esedékességi időpont, a p j, j = 1,..., i értékek pedig az alkalmazott ütemezési sorrendben a J i -t megelőző feladatok feldolgozási ideje. (A T i (σ) érték az adott σ ütemezéstől függő költség, a J i feladat késedelmessége a σ ütemezésben.) 18
2.7 Total Weighted Tardiness Feladat: Találjuk meg azt a σ = (1,..., n) ütemezési sorrendet, amivel minimalizáljuk a teljes ütemezésre vonatkozó T (σ) késedelmességet. Tehát a következő kifejezés értéke legyen minimális: ( n ) T (σ) = min T i (σ) i=1 (2.14) másképpen: ( n ) T (σ) = min max (0, w i (F i (σ) d i )), i=1 ahol F i (σ) a J i feladat befejezési ideje adott σ ütemezésben. Vagy minimalizáljuk az átlagos súlyozott késedelmességet: ( ni=1 ) T i (σ) T (σ) = min. n 2. Párhuzamos feldolgozással, azonos eszközökre szintén a TT-vel analóg módon a következő probléma fogalmazható meg: Példa: Adottak az M = {M 1,..., M m } gépek/eszközök és a J = {J 1,..., J n } feladatok halmaza a hozzájuk tartozó {w 1,..., w n } súlyokkal. A J i feladat késedelmessége a σ ütemezési sorrend esetén: T i (σ) = max (0, w i (F i (σ) d i )), ahol d i a J i feladathoz tartozó esedékességi időpont, a F i (σ) pedig az adott ütemezési sorrendben a J i feladat befejezési ideje. Az M k M eszközhöz tartozó feladatok késedelmessége minden k = (1,..., m) esetén: Γ k (σ) = T i (σ) i, J i M k (σ) Feladat: Keressük azt a Σ = (σ 1,..., σ m ) ütemezést, ahol σ k, k = (1,..., m) az M k eszközhöz tartozó feladatok ütemezési sorrendjét jelöli, és amire az ütemezés késedelmessége minimális lesz, azaz: ( m ) T (Σ) = min Γ k (Σ). k=1 2.7.1 Earliest Due Date Az Earliest Due Date (EDD) heurisztika a feladatokat az esedékességi idejük alapján rendezi sorba csökkenő sorrendben a legkorábbitól kezdve a legkésőbbi határidő- 19
2.7 Total Weighted Tardiness vel rendelkezővel bezárólag. Formálisan annyit jelent, hogy a J i feladatok σ ütemezési sorrendjének teljesítenie kell a következő egyenlőtlenséget: d 1 d 2... d n 1 d n. A feladatokat végrehajtása tehát ez szerinte történik. Parallel eszközökön az első m feladatot végezzük, majd amint egy befejeződik az egyik eszközön, akkor az m + 1-ik feladatot végezzük azon, és így tovább. Ez a módszer optimális eredményt ad egy eszközön megvalósított TT ütemezésre. De TWT ütemezés során, mivel nem veszi figyelembe a feladatok súlyozását, nem biztosít minden esetben optimális megoldást. 2.7.2 Weighted Shortest Processing Time A Weighted Shortest Processing Time (WSPT) a széleskörűen használt és ismert Shortest Processing Time (SPT) [14] ütemezési heurisztika módosított változata. Az SPT heurisztika optimális megoldást ad egy gépen való ütemezésen, ha a cél az átlagos folyamat idő minimalizálása, olyan rendszerekben, amikben az új feladatok nem ismertek előre, hanem folyamatosan érkeznek. Az SPT a fentebb bemutatott EDD -vel analóg módon a következő rendezést valósítja meg az adott σ ütemezésben a J i feladatok között: p 1 p 2... p n 1 p n. (2.15) WSPT-ben ( 2.15)-hez képest a feladatokhoz tartozó w i súlyokkal korrigálva kialakított sorrend alapján történik az ütemezés: p 1 w 1 p 2 w 2... p n 1 w n 1 p n w n. (2.16) Tehát a súlyozás figyelembevételével úgy módosul a sorrend, hogy a nagyobb súlyú feladatok, amik akár tovább tartanak, mégis megelőzhetik a kisebb súllyal rendelkezőket. 2.7.3 Largest Weighted Process First Az Largest Weighted Process First (LWPF) heurisztika azonos a [6] cikkben bemutatottal. A feladatokat a hozzájuk rendelt súlyok alapján rendezi sorba úgy, hogy először a legnagyobb súlyú feladatokat végezzük el. Tehát a sorbarendezésnek az alábbi egyenlőtlenségnek kell megfelelnie a σ ütemezés feladataira: w 1 w 2... w n 1 w n. Így egy olyan ütemezést kapunk, ami egyszerűen csak a feladatok súlya alapján a legfontosabbakat veszi előre, de nem veszi figyelembe a feladatok határidejét. Ezzel látszólag 20
2.7 Total Weighted Tardiness nem veszi figyelembe a késedelmességet, de a szimulációk alapján jó eredményeket ad. Az ütemezés a Maximum Weight Opportunistic Scheduling heurisztikával megegyező elven működik, mely algoritmus bizonyítottan optimális áteresztőképesség szempontjából [16], emellett elfogadott és jelentős módszer is, mert képes stabilizálni a hálózatot [22]. 21
3 Multihop Aperiodic Scheduling Ebben a fejezetben bemutatok egy létező kommunikáció modellt [23], melynek kiindulópontja egy WSN hálózat, amiben csomag továbbítási igények merülnek fel. A hálózat csomópontjaiban lévő eszközök generálhatnak és továbbküldhetnek hozzájuk beérkező csomagokat, melyeknek bizonyos időn meg kell érkezniük a gyűjtő eszközhöz. TDMA ütemezésre épül, kihasználja a Contention Based Protocol (CBP) előnyeit, ami így versenyképes ütemezési módszert ad. Célja, hogy a jelenleg széles körben alkalmazásban lévő MAC protokollokkal szemben úgy érjen el energia hatékony működést az adatcsomagok továbbítása során, hogy a késleltetés a lehető legkisebb legyen. Ezt úgy éri el, hogy optimalizálja az alapul szolgáló TDMA ütemezést az által, hogy minimalizálja a hálózat csomópontjainak/eszközeinek készenléti állapotba vagy ébrenlétbe való kapcsolásának számát. Az ütemezést optimalizálását kvadratikus alakra hozzák, melyet aztán egy Hopfield hálózattal oldanak meg polinom időben, és így valósítják meg az energia hatékony ütemezést. 3.1 Rendszermodell Mivel WSN hálózatról van szó, amiben több tucat vagy akár száz eszközből is állhat a teljes hálózat, az adatokat, amik lehetnek szenzor értékek vagy üzenetek, el kell juttatnia a bázisállomás(ok)hoz. Az eszközöknek van egy hierarchiája, amely alapján fogad adatokat bizonyos eszközöktől, illetve küldi az adatokat a saját szülője felé. Ahhoz, hogy az eszközök minél tovább működőképesek maradjanak, ki kell egyenlíteni az átmenő adatforgalmat közöttük, így ez a hierarchia megadott szempontok alapján módosulhat is a működés során, figyelembe véve az eszközök állapotát. 3.1.1 A WSN modell A hálózatnak N statikus csomópontból/eszközből áll, melyek képesek küldeni és fogadni is adatcsomagokat, és vannak olyan eszközök, amelyek más szenzor eszközök által küldött adatot is továbbítanak. Ez a hálózat egy G = (V, E) gráffal reprezentálható, ahol V = {v 1, v 2,..., v N, } az eszközök halmaza, az E pedig az élek halmaza. Két v i, v j V csomópont között csak akkor van e = (v i, v j ) E él, ha v j csomópont a v i átviteli tartományán belül található, azaz amennyiben a v i által küldött csomagok elérnek hozzá. 22
3.1 Rendszermodell A G gráfhoz definiáltak egy A N N szomszédossági mátrixot: A = [A ij ] i,j=1,...,n, ahol A ij = 1, ha e = (v i, v j ) E. Ebből következik, hogy minden eszköz hatótávolsága azonos, és nincsenek veszteséges kapcsolatok, illetve a szomszédosság miatt az A mátrix szimmetrikus. Egy ilyen hálózatra mutat példát a 3.1. ábra. Ezen látható, hogy mindazon, számmal jelölt eszközök össze vannak kötve egymással, amik elérhető távolságra vannak. Például a 8-as r környezetében vannak a 3, 7, 9 és 10 számmal jelzett eszközök. Az A szomszédsági mátrixban ennek megfelelően helyezkednek el az 1-esek: 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 A = 0 1 0 0 1 0 0 0 0 0 0 (3.1) 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 3.1. ábra. Egy WSN hálózat tagjainak szomszédossága 23
3.1 Rendszermodell Az adatfolyam modellezéséhez az A mátrix alapján definiálhatunk egy R irányítási fát, ami leírja, hogy az adatcsomagoknak, mely eszközökön keresztül kell eljutniuk a bázisállomásig, amennyiben nincsenek vele közvetlen szomszédságban az A mátrix alapján. A fa az elosztott Bellmann-Ford algoritmus által épül fel. A statikus irányítási fa reprezentálható az R N N irányítási mátrixszal: R = [R ij ] i,j=1,...,n, (3.2) ahol R ij = 1, ha a v j csomópont a szülője a v i eszköznek (azaz, a v i a v j felé továbbítja az adatcsomagokat). A 3.2. ábra mutat példát az irányítási fa felépülésére. Hasonlóan a ( 3.1) mátrixhoz kaphatjuk meg a ( 3.2) elemeit. 3.2. ábra. Az eszközök hierarchiája Vezeték nélküli kommunikáció lévén el kell kerülni a csomagütközéseket illetve az interferenciát. Kétféle interferenciát különböztethetünk meg. Elsődleges interferenciának nevezzük, ha egy adott eszköz akkor küld csomagot, amikor egy másik eszköztől egyidejűleg fogadnia kéne. A másodlagos interferenciának azt mondjuk, ha egy másik, parallel kommunikáció zavarja a csomagküldést, ilyen esetben egy másik küldő és fogadó fél között ugyanabban az időben jön létre adatátvitel, mely a fizikai közelsége miatt zavarja a kommunikációt. Az itt bemutatott megközelítésben, a szerzők igyekeznek elkerülni az interferencia mindkét típusát a [7] cikkben bemutatott protokoll interferencia modellel. Ebben minden v i eszköznek fix d átviteli távolsága és D interferencia hatóköre van, az egyszerűség kedvéért, legyen d = D. következő interferencia mátrixot: A szomszédossági mátrix alapján definiálták a ( ) F = A 2 + A diag A 2 + A. (3.3) 24
3.1 Rendszermodell Ez abból következik, hogy a kapcsolatok a következő módon vannak definiálva: F = [F ij ] i,j=1,...,n, ahol F ij = 1, ha a v j eszköz nem küldhet a v i eszközzel párhuzamosan. A 3.3. ábrán láthatjuk, hogy példánkban ez milyen párhuzamos kommunikációkat jelent. A ( 3.3) mátrixból látható, hogy az F mátrix átlója 0, mely azt reprezentálja, hogy egy csomópont nem zavarhatja saját magát, illetve a mátrix szimmetrikus, ami a szomszédossági mátrix szimmetrikusságából következik. 3.3. ábra. Párhuzamosan engedélyezett kommunikációk 3.1.2 Az ütemezés megfogalmazása A MAS ütemezés TT alapú, de a 2.6. fejezetben bemutatott nem-preeptív modellhez képest itt preemptív ütemezést valósítunk meg. Tehát a feladatok hosszabbak lehetnek mint az ütemezési ciklusok, és ezért megszakíthatóak is [3], viszont egyszerre csak egy gépen lehet dolgozni egy feladaton. Értelmezhető úgy is, hogy egy adott feladat p feldolgozási ideje egy egész szám, és értéke megegyezik az elvégzéséhez szükséges ütemezési ciklusokkal. Ennek eredményeképpen egy feladaton egymás után több gép is dolgozhat. Ennek a problémának a megfogalmazása a következő: Példa: Adott m N darab eszköz és J 1,..., J N feladat és ezen feladatok p = {p 1,..., p n } N n 25
3.1 Rendszermodell mérete/feldolgozási ideje. Preemptív ütemezés lévén a feladatok megszabadítóak, és más eszközökhöz is allokálhatóak. A feladatokhoz tartoznak d = {d 1,..., d N } N n esedékességi időpontok, amin belül a feladatokat el kell végezni, illetve w = {w 1,..., w n } R n súlyok, amikre a w i 0, i = 1,..., n feltétel teljesül. Ezen felül a feladatokhoz definiáljuk a késedelmességi értéket, mely egy adott σ ütemezés függvénye: T i (σ) = max (0, F i (σ) d i ), ahol az F i (σ) pedig az adott ütemezési sorrendben a J i feladat befejezési ideje. Feladat: Találjuk meg azt az optimális ütemezést, amiben a feladatok összesített késedelmessége minimális lesz: N min T i (σ) (3.4) i=1 Ahhoz, hogy ebben a TT problémában alkalmazható legyen a fenntebb vázolt WSN modell, az ütemezést más módon kell ábrázolnunk. Egy C bináris mátrix reprezentálja az ütemezést: C {0, 1} N L, ahol: N a sorok száma, megegyezik a feladatok számával, L az oszlopok pedig az időréseket/ütemezési ciklusokat reprezentálja, így ez jelöli az időrések számát. Az ütemezésnek ezen belül kell lezajlania. A feladatok adott ütemezési ciklusban való feldolgozását az ütemezési mátrixban lévő 1-esek jelzik, tehát C jk = 1, ha a v j eszköz csomagot küld a fogadó félnek a k időpontban, egyébként 0. Az egy oszlopban lévő 1-esek száma nem lehet nagyobb m-nél, mivel legfeljebb ennyi eszköz küldhet csomagot, illetve az i-ik sorban lévő 1-esek számának meg kell egyeznie p i -vel, azaz nem maradhat befejezetlen feladat. Ebben a reprezentációban a ( 3.4) probléma az alábbi módon fejezhető ki: 26