Die Effizienz des C-Scan-Scheibenplanungsalgorithmus (Circular Scan) wird allgemein als
mittelschwer bis gut angesehen in Bezug auf die Leistung irgendwo zwischen Scan und FCFS fallen. Es wurde entwickelt, um die Fairness -Probleme zu lösen, die dem Scan -Algorithmus innewohnt und gleichzeitig einen angemessenen Durchsatz bieten.
Hier ist eine Aufschlüsselung seiner Effizienz und der Faktoren, die sie beeinflussen:
Schlüsselmerkmale und Auswirkungen auf die Effizienz:
* unidirektionaler Sweep: Wie der Scan bewegt C-Scan den Scheibenkopf in eine Richtung (z. B. von der innersten Spur bis zur äußersten). Im Gegensatz zum Scan, wenn es das Ende der Scheibe (äußerste Spur) erreicht, springt es sofort * zurück zum * Anfang * der Festplatte (innerste Spur) *, ohne * Anfragen auf der Rückreise zu bedienen. Anschließend wird Wartungsanfragen in die Vorwärtsrichtung fortgesetzt.
* Fairness: Dieser Sprung zurück zum Anfang ist für Fairness von entscheidender Bedeutung. Im Scan -Algorithmus werden Anfragen gegen Ende der Sweep -Richtung schneller gewartet, was zu längeren Wartezeiten für Anfragen am anderen Ende führt. C-Scan reduziert diese Ungleichheit, da alle Warteanfragen effektiv "auf derselben Seite warten", sobald der Kopf zurückgesetzt wird.
* reduzierte Varianz in Wartezeiten: C-Scan neigt dazu, einheitlichere Wartezeiten im Vergleich zum Scan zu bieten. Diese Vorhersehbarkeit kann in Echtzeitsystemen oder Anwendungen von Vorteil sein, die für Reaktionszeitvariationen empfindlich sind.
* Durchsatz: Der Durchsatz von C-Scan ist im Allgemeinen niedriger als der von Scan, da die Zeit auf den Anfang zurückgesprungen ist. Der * Grad *, für den der Durchsatz betroffen ist, hängt jedoch von den Merkmalen der Arbeitsbelastung und der Festplatten ab.
Faktoren, die die Effizienz beeinflussen:
* Diskgröße: Je größer die Festplatte (mehr Zylinder), desto mehr Zeit verbringt es, auf den Anfang zurückzuspringen und den Durchsatz möglicherweise zu verringern. Bei einer größeren Festplatte werden die Fairness -Verbesserungen jedoch bedeutender.
* Arbeitsbelastung/Anforderungsverteilung:
* Einheitliche Verteilung: C-Scan funktioniert gut, wenn die Anforderungen relativ gleichmäßig über die Festplatte verteilt sind.
* Clustered Anfragen: Wenn die Anfragen in einem Bereich der Festplatte stark zusammengefasst sind, wird die Leistung von C-Scan betroffen, da der Kopf immer noch einen vollständigen Sweep durchführen muss, auch wenn in bestimmten Regionen keine Anfragen vorhanden sind. Dies ist eine häufige Schwäche, die mit dem Scan geteilt wird.
* hoher Anforderungsrate: Bei sehr hohen Anfragequoten kann die Fairness-Verbesserungen von C-Scan im Vergleich zum Scan stärker spürbar sein, da die Wartezeiten durchweg ausgewogener sind.
* Kopfbewegungszeit (suchen Sie Zeit): Die Effizienz hängt auch von den mechanischen Eigenschaften des Festplattenantriebs ab. Schnellere Suchzeiten machen den Sprung auf den Anfang weniger auf die Gesamtleistung zurück.
Vergleich mit anderen Algorithmen:
* fcfs (First-Com, First-Service): C-Scan ist fast immer effizienter als FCFS, da es die Kopfbewegung minimiert, indem Anforderungen in einer sortierten Reihenfolge (im Verhältnis zur Kopfposition) gewartet werden. FCFs können zu wilden Kopfbewegungen und langen Suchzeiten führen.
* sstf (kürzeste Suchzeit zuerst): SSTF hat im Allgemeinen einen besseren Durchsatz als C-Scan. SSTF leidet jedoch unter *Hunger *, wo Anfragen weit entfernt von der aktuellen Kopfposition niemals gewartet werden. C-Scan vermeidet Hunger.
* Scan (Aufzugsalgorithmus): C-Scan opfert im Vergleich zum Scan einen Durchsatz, um die Fairness zu verbessern und die Varianz in Wartezeiten zu verringern. Bei Workloads, in denen Fairness ein großes Problem ist, ist C-Scan vorzuziehen.
* Look und C-Look: Dies sind Optimierungen von Scan bzw. C-Scan. Schauen Sie nur bis zur am weitesten entfernten Anfrage in jede Richtung und vermeiden Sie unnötige Sweeps bis zum physischen Ende der Scheibe. C-Look ist die kreisförmige Version des Looks. C-Look ist im Allgemeinen etwas besser als C-Scan, da es den Sweep-Abstand optimiert.
Zusammenfassend:
Die Effizienz von C-Scan ist mittelschwer bis gut , den Durchsatz mit Fairness ausbalancieren. Es ist normalerweise viel besser als FCFs und vermeidet die Hungerprobleme von SSTF. Es opfert einen Durchsatz im Vergleich zum Scan, um eine bessere Fairness zu erreichen. Die optimale Auswahl des Scheibenplanungsalgorithmus hängt stark von den spezifischen Workload -Eigenschaften und den Prioritäten des Systems ab (Durchsatz vs. Fairness vs. Reaktionszeit). In vielen Fällen sind die praktischen Leistungsunterschiede zwischen gut implementierten Algorithmen nicht so dramatisch wie die theoretische Analyse.
Betrachten Sie diese Faktoren bei der Bewertung der Eignung von C-Scan:
* Fairness Anforderungen: Ist es wichtig, dass alle Anfragen eine vernünftige Chance haben, schnell gewartet zu werden?
* Arbeitsbelastungsverteilung: Sind Anfragen gleichmäßig verteilt oder gruppiert?
* Festplatteneigenschaften: Was sind die Such- und Rotationslatenzeigenschaften der Festplatte?
Letztendlich ist das Benchmarking mit einer repräsentativen Arbeitsbelastung der beste Weg, um den effizientesten Scheibenplanungsalgorithmus für eine bestimmte Anwendung zu ermitteln.