Regisztráció és bejelentkezés

Szerverklaszterek viselkedése különböző terhelés-elosztási elvek mellett

A szerverklaszter több, egymással párhuzamosan működő szerver (kiszolgáló) összességét jelöli. Ebbe a klaszterbe különböző igények érkeznek, amelyeket valamilyen terheléselosztási elv alapján a diszpécser beállítja valamely szerver sorába, ahol ezután addig várakoznak, amíg a szerver ki nem szolgálja őket. Ilyen klaszterekkel kiválóan lehet valódi rendszereket modellezni, mint például számítástechnikai szervereket, boltok pénztárait vagy akár közlekedési hálózatokat.

Az ilyen rendszerek teljesítményében fontos tényező a terheléselosztási elv. Ennek ebben a dolgozatban öt fajtáját fogjuk megvizsgálni. A Random assignment elv a legtriviálisabb, ebben az érkező igény véletlenszerűen (egyenletes eloszlás szerint) áll be az egyik sorba. A Join-Idle-Queue (JIQ) elv szerint az érkező igény egy üres sorba áll be, amennyiben van ilyen, egyébként pedig véletlenszerűen teszi ezt. A Join-Shortest-Queue (JSQ) elv az itt felsoroltak közül a leghatékonyabb, eszerint az igények a legrövidebb sorok valamelyikébe állnak be. Ennek egy módosított változata a Join-Shortest-Queue(d) (JSQ(d)) elv, amelyben minden érkezésnél a diszpécser véletlenszerűen kiválaszt d darab szervert, és ahhoz küldi az igényt, amelyiknek a legrövidebb a sora. Az utolsó vizsgált elv a Join-Below-Threshold (JBT), amelynél a szerverekhez meg van adva egy felső küszöb (ez lehet akár szerverenként változó is), és ha van olyan szerver, ahol kevesebb igény áll sorba, mint ez a küszöb, akkor azok közül valamelyikbe áll be a következő igény, egyébként pedig véletlenszerűen.

A dolgozatban az ilyen klaszterek egy egyszerűbb matematikai modelljét vizsgáljuk. Nem foglalkozunk némely, valódi klasztereket érintő problémával, mint például a szerverek és a diszpécser közti kommunikációs költséggel. Emellett a rendszert folytonos Markov-láncnak tekintjük (az állapotokat a szerverek sorhosszai adják), amihez szükséges, hogy az igények érkezése és az egyes szervereken belül a kiszolgálás is Poisson-pontfolyamat legyen.

A klaszteren belül lehetséges, hogy az egyes szerverek azonos tulajdonságokkal rendelkezzenek (ilyenkor homogén klaszterről beszélünk), de lehetnek akár különböző szervertípusok is (ilyenkor inhomogén a klaszter). A szerverek sebességét a kiszolgálási rátájuk határozza meg, ami lehet konstans, de függhet a sorban álló igények számától is, és inhomogén klaszter esetén lehet eltérő a szervertípusok között.

A szerverklaszter állapota konvergál egy adott függvényhalmazhoz (ahol egy függvény egy adott szervertípus adott hosszú sorai számának arányát írja le az egész rendszer soraihoz képest, az eltelt idő függvényében), ahogyan a szerverek száma tart a végtelenhez, ezt nevezzük térátlagbeli határértéknek. Emellett ezen függvények is konvergálnak egy stacionárius állapothoz, ahogyan az eltelt idő tart végtelenhez. A dolgozatban különböző paraméterekkel vizsgálunk klasztereket, különösen azok stacionárius állapotában, mind szimulációs eszközökkel, mind a függvényeket megadó differenciálegyenleteket numerikusan megoldva, és így végezzük el a különböző terheléselosztási elvek összehasonlítását.

szerző

  • Mészáros Márton
    Matematika alapszak (BSc)
    alapképzés (BA/BSc)

konzulens

  • Horváth Illés Antal
    tudományos munkatárs, MTA-BME Informatikai Rendszerek Kutatócsoport (külső)

helyezés

Jutalom