Comment puis-je basculer entre les planificateurs CFS et BFS?

Réponses:

7

Vous devrez télécharger, corriger et compiler votre propre noyau car BFS ne fait actuellement pas partie du noyau principal. Le noyau principal ne contient qu'un seul planificateur et n'est pas censé avoir plusieurs planificateurs dans la même base de code, ni même des planificateurs commutables à la volée (c'est même quelque chose qui pourrait éventuellement être fait). Ce serait tout simplement trop compliqué et ne valait pas la peine.

Donc, pour obtenir BFS sur votre système:

L'avantage de l'exécution de BFS sur CFS est cependant très faible, en particulier avec les nouvelles versions du noyau. Gardez à l'esprit que le CFS est constamment amélioré.

Cédric
la source
J'ai compilé le noyau 4.0.5 avec le correctif BFS mais le planificateur n'est pas répertorié. BFS était activé dans make menuconfig. Je ne comprends pas pourquoi.
shantanu
9

Après avoir un peu étudié cela, il ne semble y avoir que deux ordonnanceurs pour Linux: CFS et BFS .

La façon la plus simple d'installer BFS dans Ubuntu 10.10 est un correctif PPA :

sudo add-apt-repository ppa:chogydan/ppa 
sudo apt-get update
sudo apt-get install linux-image-generic-ck linux-headers-generic-ck

Vous pouvez également installer le correctif à l'aide du Centre logiciel Ubuntu comme décrit dans «Que sont les PPA et comment les utiliser» .

Le correctif installe un nouveau noyau (corrigé), qui apparaîtra dans le menu GRUB au démarrage avec le suffixe "-ck". Basculez entre les planificateurs en redémarrant et en sélectionnant le noyau approprié dans le menu de démarrage.


Sur les performances

Dans mon cas, en exécutant Folding @ Home en arrière-plan sur un ordinateur de bureau (huit threads F @ H sur huit cœurs sur un Intel i7 2600K), BFS est nettement meilleur: la réponse du bureau est plus rapide (pas une grande différence, mais certainement perceptible) tandis que l'application F @ H en arrière-plan est 20-25% plus rapide.

Dans ce scénario, traitant simultanément de l'utilisation interactive du bureau et des tâches d'arrière-plan gourmandes en CPU de longue durée, CFS avait tendance à laisser un cœur inactif pendant de longues périodes à la fois. BFS semble beaucoup mieux utiliser tous les cœurs à 100% pour les tâches d'arrière-plan tout en fournissant une réponse rapide pour les tâches de bureau interactives.

Il n'y a probablement pas de planificateur unique qui fonctionnera de manière optimale sous toutes les combinaisons possibles de charges, mais il y a des cas où BFS est meilleur.

jg-faustus
la source
3

Ce qui suit a fonctionné pour moi sur Precise Pangolin (Ubuntu 12.04) YMMV, cependant.

BFS fait partie de pf-kernel

La meilleure façon d'installer BFS sur un système Ubuntu aujourd'hui (décembre 2013) semble être d'installer pf-kernel , qui est essentiellement un noyau standard avec un tas de correctifs de performance appliqués. Ces correctifs comprennent:

  • BFS (le planificateur de processeur offre une faible latence sur les machines avec moins de 16 cœurs de processeur)
  • BFQ (planificateur de disques d'E / S optimisé pour une faible latence sous de fortes charges)
  • TuxOnIce (hibernation plus rapide)

Instructions sur le Web

J'ai trouvé des instructions sur la façon d'installer les pf-kernelpaquets pour Ubuntu dans l'article « Améliorez les performances du bureau Linux et plus encore avec pf-kernel ». paquets. Mais j'ai trouvé le fil de discussion « pf-kernel for Ubuntu » (sur les pk-kernelforums) qui mentionne que les paquets Debian peuvent être téléchargés à partir du compte Dropbox de l'utilisateur du forum big_bum .

L'installation pf-kernel

La machine que j'ai installé sur est un vieux portable 32 bits, donc j'ai commencé en téléchargeant les nécessaires linux-headerset les linux-imagepaquets dans un répertoire sur ma machine appelée ~/kernel.

(Accédez au compte Dropbox mentionné ci-dessus pour trouver des versions 64 bits et / ou plus récentes de ces packages.)

Par la suite, j'ai suivi les instructions sur « Améliorer les performances du bureau Linux et plus encore avec pf-kernel » et j'ai exécuté les commandes suivantes:

$ cd ~/kernel
$ sudo dpkg -i *.deb

Tout semble fonctionner correctement, j'ai donc redémarré.

Vérifier si cela fonctionne

Une inspection rapide semble indiquer que cela fonctionne, par exemple la commande uname -asignale que j'utilise le pf-kernel:

Linux siobhan 3.12.2-pf + # 6 SMP PREEMPT Mon Dec 2 19:09:52 EET 2013 i686 i686 i386 GNU / Linux

Et cat /sys/block/sda/queue/schedulermontre que BFQ est maintenant le planificateur de disque actuel (pour le sdadisque):

noop deadline cfq [bfq] 
zrajm
la source
Nov'14 - J'ai installé ce noyau pf sur mon Pangolin précis (Ubuntu 12.04.4 LTS) exécutant Mythbuntu principalement pour obtenir de meilleures E / S de mon système de fichiers xfs pour les enregistrements vidéo. J'ai fait correspondre les versions du noyau (3.13) pour assurer la compatibilité du pilote par défaut nvidia. Cela a fonctionné sans accroc. Bravo à zrjm ... ..!
keepitsimpleengineer
1

Patchez et installez un nouveau noyau avec BFS. Vous devez utiliser des noyaux sepatare, il n'y a aucun moyen d'utiliser les deux dans la même image du noyau (en particulier pour les utiliser à la volée)


la source