Ist der BFS-Scheduler besser als der vollständig faire Scheduler für Desktop-Computer?


17

Was sind die Vorteile von bfs gegenüber cfs und gibt es Benchmarks, um festzustellen, ob es echte Leistungssteigerungen gibt?

Antworten:


16

Es gibt ein ausgezeichnetes PDF - Dokument hier , was die Unterschiede im Detail erklärt. Es werden auch mehrere Tests durchgeführt, die in Diagrammen zeigen, wie sich beide unter bestimmten Bedingungen verhalten.

Hier ist ein kleines Dokument des Erstellers von BFS: http://ck.kolivas.org/patches/bfs/bfs-faq.txt, warum er diesen Scheduler erstellt hat.

Die Hauptunterschiede sind jedoch:

BFS ist besser für interaktive Aufgaben, die E / A- oder Benutzereingaben blockieren.
BFS ist im Allgemeinen etwas schneller, aber ein wenig inkonsistenter.
BFS in Apps mit geringer Latenz zeigt eine große Verbesserung gegenüber CFS (wie Video-Apps).
BFS hat viel weniger "Spikes". in der CPU-Nutzung

CFS ist im Allgemeinen konsistenter für eine konsistente Leistung
CFS ist besser für die Stapelverarbeitung, bei der es sich um CPU-gebundenes
CFS bei Multi-CPU-intensiven Aufgaben handelt. Mehrere Aufgaben haben eine bessere Leistung als BFS.
CFS hat mehr Spitzen als BFS

Für den normalen Benutzer bietet BFS möglicherweise eine "bessere" Leistung, jedoch eine geringere Leistung, wenn Sie viele Batch-Prozesse ausführen.


1
Also zusammenfassend ... "wahrscheinlich"? Der BFS-Scheduler ist wahrscheinlich besser für Desktop-Computing?
Scaine

1
Nun, wie das verlinkte PDF sagt: "Es ist schwierig, einen einzelnen CPU-Scheduler bereitzustellen, der in allen Plattformen und Anwendungsfällen eine gute Leistung erbringt."
Maxime R.

1
Wie Maxime gesagt hat. Zumindest die gebräuchlichsten Verwendungen müssen weiter untersucht und ausgiebig getestet werden, um den am besten geeigneten Scheduler zu bestimmen. Vorerst ist die Arbeit dafür in vollem Gange.
Luis Alvarado
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.