Ütemezési logikákról

A mai bejegyzésben egy pár sort az ütemezési logikákról fogunk beszélni 🙂 Korábban már írtunk előre és hátra ütemezésről meg ilyesmikről, most arról fogunk beszélni, hogy milyen módon kerülhetnek fel a műveletek a Planning boardra. Erre két fő megközelítés szokott lenni, az algoritmikus és az esemény vezérelt.

Az algoritmikus úgy működik, hogy fogjuk az első rendest (az alábbi videóban a kék), berakjuk az ütemtervbe, aztán a következő rendelést (a videóban a zöld) és berakjuk az első rendelkezésre álló helyre… és így tovább. Látszik, hogy itt a műveletek beillesztése a meglévő “lyukakba” történik, így elég jól ki lehet használni a különböző logikák prioritásait, stb. de mivel komplett rendeléseket kezelünk, a rendelést magát vizsgáljuk, így kevésbé vagyunk tekintettek a későbbi ütemezett műveletekre.

Az esemény vezérelt esetben gyakorlatilag minden esemény (művelet vége, műszak változás, stb.) megvizsgáljuk, hogy mik azok a műveletek (nem teljes rendelések!), amik beütemezhetők bármelyik erőforrásra. Így látványosan tömörebb ütemterv jön létre.

A két módszert eredményét az alábbi ábra hasonlítja össze:comparison

A esemény vezérelt esetben az átlagos átfutási idő rövidebb, de pl. a magasabb prioritású feladatok nem lehet, hogy hosszabb idő alatt futhatnak át (pl. ilyen lehet a fenti ábrán a kék rendelés, ami bár a többi rendelés gyorsabban fut át, a kék pont hosszabb időt igényel).

Az egyes módszerek főbb jellemzői a következők:

Algoritmikus ütemezés:

  • A magasabb prioritású rendelések hamarabb elkészülnek
  • Több ütemezési „menet” kombinálható – multi pass
  • Bármilyen ütemezési kényszer használható

Esemény vezérelt ütemezés:

  • A teljes ütemezési átfutási idő rövidebb
  • Alternatív erőforrások jobb kihasználása
  • Explicit erőforrás kiválasztás API-n keresztül

 

1 Response

  1. 2021.06.24.

    […] Az ütemezési logikákról ez a korábbi cikk is érdekes információkat tartalmaz: Ütemezési logikák (digitalisgyar.com) […]

Leave a Reply