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