Regisztráció és bejelentkezés

Többágenses mély megerősítéses tanulás alkalmazása microservice erőforrásmenedzsmentre

A microservice alkalmazások olyan szoftverrendszerek, amelyek komponensei egymástól függetlenül léteznek, és jól definiált interfészeken keresztül kommunikálnak egymással. Az egyik legnagyobb kihívás a microservice architektúrát követő szoftverek felhő környezetben történő futtatása esetén az alkalmazás komponensek skálázása, azaz az erőforrások dinamikus változtatása a beérkező forgalom függvényében. Egyrészt nem szeretnénk túl sok erőforrást hozzárendelni az alkalmazáshoz, mert felhő környezetben a felhasznált erőforrás után kell fizetni, másrészt túl kevés erőforrást sem szeretnénk, mert ez az alkalmazás teljesítményének romlásához vezet, ami a felhasználók elvesztését okozhatja. Nagy kihívás azonban, hogy hogyan lehet összehangolni microservice-ek menedzselését, ahol a komponensek egymásra is hatással vannak, és az erőforrásokat komponensenként adjuk meg.

Dolgozatomban erre a problémára kínálok egy potenciális megoldást olyan többágenses mély megerősítéses tanulás alapú algoritmusokkal, amiknek a segítségével nagyméretű microservice alkalmazások erőforrás igényét tudjuk költséghatékonyan menedzselni valós időben. A feladat megoldásához az Open AI által kidolgozott actor-critic, off-policy, model free mesterséges intelligencia rendszerét, a Multiagent Deep Deterministic Policy Gradient (MADDPG) algoritmust használom. Az MADDPG egyik központi eleme, hogy a modell a teljes rendszer aktuális állapotát figyelembe véve határozza meg az aktorok döntéseinek minőségét, ami komplex strukturális felépítést kíván. Ennek következtében alkalmazási területtől függően, már 10-12 ágens esetén is komoly skálázási limitációkba ütközünk, ami ellehetetleníti a nagyméretű - esetenként akár több száz microserviceből álló - microservice alkalmazásokra történő hatékony tanítást. A probléma kiküszöbölésére a dolgozatomban egy általam továbbfejlesztett algoritmust is prezentálok a State Encoded Multi Agent Deep Deterministic Policy Gradient (SEMADDPG) algoritmus képében, ami elődjéhez képest új architekturális elemmel egészül ki egy autoencoder formájában. Az új struktúra lehetővé teszi, hogy a critic-ek egy kompaktabb és kisebb reprezentációt kapjanak a bemeneteiken, ezáltal biztosítva, hogy a modell nagyszámú microservice esetén is hatékonyan tanuljon.

Az ágensek feladata, hogy egy szimulált környezetben egymással kooperatív módon - figyelembe véve a velük közvetlen összeköttetésben álló, más ágensek által menedzselt microservicek terhelését - úgy skálázzanak, hogy minden service problémamentesen tudjon működni, minimális erőforrás felhasználással. A modellek teljesítményének kiértékelésénél figyelembe veszem a modellek tanulási idejét, az erőforrás menedzsmentjüket, és robusztusságukat is, amihez benchmarkként a Kubernetes Horizontal Pod Autoscaling eljárását használom.

szerző

  • Jakub Ákos
    Gazdaságinformatikus szak, mesterképzés
    mesterképzés (MA/MSc)

konzulensek

  • Fodor Balázs
    Doktorandusz, Távközlési és Médiainformatikai Tanszék
  • Dr. Sonkoly Balázs
    egyetemi docens, Távközlési és Médiainformatikai Tanszék
  • Dr. Szűcs Gábor
    egyetemi docens, Távközlési és Médiainformatikai Tanszék

helyezés

Jutalom