Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Cieľom niekoľkých plánovacích algoritmov je maximalizovať priepustnosť, ale žiadny jediný algoritmus všeobecne prekonáva ostatných vo všetkých scenároch. Najlepšia voľba závisí od faktorov ako:
* Príroda úloh: Majú rovnakú veľkosť a prioritu? Sú viazané I/O alebo sú viazané CPU? Majú závislosti?
* Počet zdrojov: Koľko procesorov alebo jadier je k dispozícii?
* Prítomnosť termínov: Existujú tvrdé termíny, ktoré musia byť dodržané, alebo sú dôležité iba priepustnosť?
* Náklady na prepínanie kontextu: Časté prepínače kontextov môžu znížiť celkovú priepustnosť.
Algoritmy, ktoré sa často snažia o vysokú priepustnosť, zahŕňajú:
* najkratšia práca ako prvá (sjf): Tento algoritmus uprednostňuje úlohy s najkratším časom vykonávania. Je optimálny pre minimalizáciu priemernej čakacej doby, ktorá nepriamo prispieva k vyššej priepustnosti, ak sú úlohy nezávislé. Vyžaduje si však poznanie času vykonávania vopred, čo nie je vždy možné.
* najkratší zostávajúci čas prvý (srtf): Preventívna verzia SJF. Neustále prehodnocuje zostávajúci čas vykonávania procesov prevádzky a prepína na najkratšiu zostávajúcu úlohu, ak príde kratšia. To všeobecne vedie k lepšej priepustnosti ako SJF.
* Viacúrovňová fronta spätnej väzby: Tento algoritmus priraďuje úlohy do rôznych frontov na základe ich charakteristík (napr. Priorita, čas na prasknutie CPU). Dynamicky upravuje priority úloh na základe ich správania, čo umožňuje reagujúcu a optimalizáciu priepustnosti.
* Round Robin: Tento algoritmus poskytuje každej úlohe malý čas (kvantium) času CPU. Je to jednoduché a spravodlivé a vo všeobecnosti poskytuje primeranú priepustnosť, najmä s mnohými krátkymi úlohami.
* Plánovanie veľtrhu: Tento typ plánovača sa zameriava na zabezpečenie toho, aby každý používateľ alebo úloha získali spravodlivý podiel zdrojov. Aj keď nie je priamo zameraný iba na maximalizáciu priepustnosti, dobre implementovaný plánovač spravodlivého zdieľania môže zabrániť jednému používateľovi alebo úlohe v monopolizácii zdrojov, a tým zlepšiť celkovú priepustnosť.
Obmedzenia:
Maximalizácia priepustnosti často prichádza na úkor ďalších dôležitých metrík:
* Čas odozvy: Algoritmy, ktoré sa zameriavajú výlučne na priepustnosť, môžu viesť k veľmi dlhým časom odozvy pre jednotlivé úlohy.
* Spravodlivosť: Niektoré vysoko výkonné algoritmy môžu hladovať určité úlohy alebo používateľov.
* predvídateľnosť: Správanie niektorých algoritmov zameraných na priepustnosť môže byť ťažké predvídať, čo sťažuje zaručiť dohody o úrovni služieb.
Záverom možno povedať, že mnohé algoritmy plánovania sa zameriavajú na maximalizáciu priepustnosti, ale „najlepší“ algoritmus závisí vo veľkej miere od konkrétneho systému a jeho požiadaviek. Často je potrebné nájsť rovnováhu medzi priepustnosťou a inými metrikami výkonu.