Der Brain Fuck Scheduler wurde als bewusst einfach gehaltener Gegenentwurf zum Completely Fair Scheduler entwickelt. Während CFS eine mathematisch fundierte Fairness durch die Verwaltung lauffähiger Prozesse in einem nach virtueller Laufzeit sortierten Rot-Schwarz-Baum anstrebt, verwendet der BFS – ähnlich wie der O(1) Scheduler – eine Runqueue. Allerding verzichtet er auf die Trennung in eine „active“ und eine „expired“ Queue \[8, 9\].
Der Brain Fuck Scheduler (BFS) wurde als bewusst einfach gehaltener Gegenentwurf zum Completely Fair Scheduler entwickelt. Während CFS eine mathematisch fundierte Fairness durch die Verwaltung lauffähiger Prozesse in einem nach virtueller Laufzeit sortierten Rot-Schwarz-Baum anstrebt, verwendet der BFS – ähnlich wie der O(1) Scheduler – eine Runqueue. Allerding verzichtet er auf die Trennung in eine „active“ und eine „expired“ Queue \[8, 9\].
Im Gegensatz zu CFS, der für jede CPU einen eigenen Scheduler verwendet, werden beim BFS alle lauffähigen Prozesse in einer einzigen globalen doppelt verketteten Liste, die als run queue fungiert, verwaltet \[1, 8\]. Eine unter den CPUs geteilte Runqueue hat den Vorteil, dass Prozesse schnell von überlasteten auf weniger ausgelasteten CPU-Kernen verlagert werden können \[8\]. Dadurch wird eine niedrige Latenz und gute Performance bei kleinem bis mittlerem CPU-Count erzielt \[10\].
Im Gegensatz zu CFS, der für jede CPU einen eigenen Scheduler verwendet, werden beim BFS alle lauffähigen Prozesse in einer einzigen globalen doppelt verketteten Liste, die als run queue fungiert, verwaltet \[1, 8\]. Eine unter den CPUs geteilte Runqueue hat den Vorteil, dass Prozesse schnell von überlasteten auf weniger ausgelasteten CPU-Kernen verlagert werden können \[8\]. Dadurch wird eine niedrige Latenz und gute Performance bei kleinem bis mittlerem CPU-Count erzielt \[10\].