Ich habe einige Nachforschungen über Algorithmen zur Prioritätsplanung angestellt, und obwohl ich Priority Aging für eine sehr grundlegende (und scheinbar solide) Strategie halte, kann ich kaum Informationen darüber finden. Könnte mich bitte jemand über die Probleme und Vorteile der Implementierung eines Algorithmus informieren? Vielen Dank!
Antworten
Zu viele Anzeigen?Es scheint, dass die Prioritätsalterung die Priorität einer Aufgabe (in der Regel niedriger) ändert, je nachdem, wie lange die Aufgabe bereits läuft und/oder wie viele Ressourcen sie verbraucht.
IBM hat eine Erklärung zum vorrangige Alterung in DB2 Version 9.7 für Linux, Unix und Windows.
Der größte Vorteil der vorrangigen Alterung ergibt sich aus der Erklärung von IBM:
Ein einfacher Ansatz zur Beschleunigung kurzer Abfragen besteht darin, eine Reihe von Serviceklassen mit sukzessive niedrigeren Stufen der Ressourcenpriorität und Schwellenwertaktionen zu definieren, die Aktivitäten zwischen den Serviceunterklassen verschieben. Auf diese Weise können Sie die Priorität länger laufender Arbeiten im Laufe der Zeit verringern oder altern lassen und möglicherweise die Antwortzeiten für kürzer laufende Arbeiten verbessern, ohne detaillierte Kenntnisse über die auf Ihrem Datenserver laufenden Aktivitäten zu haben.
Der größte Nachteil ist, dass das Prioritäts-Aging schwieriger zu implementieren ist als eine First-In-First-Out-Warteschlange und möglicherweise keine Verbesserung der Antwortzeiten bringt.
Vorteile der Prioritätsplanung:
- Einfachheit.
- Angemessene Unterstützung für die Priorität.
- Geeignet für Anwendungen mit unterschiedlichen Zeit- und Ressourcenanforderungen.
Nachteile der Prioritätsplanung:
- Unbefristete Blockierung oder Aushungern.
- Eine Prioritätsplanung kann dazu führen, dass einige Prozesse mit niedriger Priorität auf unbestimmte Zeit auf die CPU warten.
- Wenn das System schließlich abstürzt, gehen alle nicht abgeschlossenen Prozesse mit niedriger Priorität verloren.