Relatif à une question sur qui est mieux, le planificateur CFS ou BFS :
Où puis-je trouver une liste des planificateurs disponibles?
Et comment puis-je basculer entre eux?
Vous devrez télécharger, patcher et compiler votre propre noyau car BFS ne fait actuellement pas partie du noyau principal. Le noyau principal ne contient qu'un seul ordonnanceur et n'est pas censé avoir plusieurs ordonnanceurs dans la même base de code, ni même des ordonnanceurs commutables à la volée (c'est même quelque chose qui pourrait éventuellement être fait). Ce serait simplement trop compliqué et ne valait pas la peine.
Donc, pour avoir BFS sur votre système:
L’avantage d’exécuter BFS sur CFS est cependant très faible, en particulier avec les versions plus récentes du noyau. Gardez à l'esprit que CFS est en constante amélioration.
Après avoir étudié cela un peu, il ne semble y avoir que deux ordonnanceurs pour Linux: CFS et BFS .
Le moyen le 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 logiciel Ubuntu Software Center, comme indiqué dans la section "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.
À la performance
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 bien meilleur: la réponse du bureau est plus vivante (pas une grande différence, mais nettement perceptible) alors que l'application d'arrière-plan F @ H est 20-25% plus rapide.
Dans ce scénario, qui traitait simultanément de l'utilisation de postes de travail interactifs et de tâches d'arrière-plan longues et lourdes en ressources processeur, CFS avait tendance à laisser un cœur inactif pendant de longues périodes à la fois. BFS semble bien mieux utiliser tous les cœurs à 100% pour les tâches en arrière-plan tout en offrant une réponse rapide pour les tâches de bureau interactives.
Il n’existe probablement aucun planificateur unique capable de fonctionner de manière optimale avec toutes les combinaisons de charges possibles, mais il existe des cas où BFS est préférable.
Ce qui suit a fonctionné pour moi sur Precise Pangolin (Ubuntu 12.04) YMMV, cependant.
pf-kernel
Le meilleur moyen 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 auquel s'appliquent de nombreux correctifs de performance. Ces correctifs incluent:
J'ai trouvé des instructions sur la façon d'installer les packages pf-kernel
pour Ubuntu dans l'article " . Améliorez les performances du bureau Linux et plus encore avec pf-kernel ." - Cependant, ces instructions sont quelque peu obsolètes, car ils indiquent une source non existante pour les paquets Debian pertinents. Mais j'ai trouvé le fil “ pf-kernel pour Ubuntu ” (sur les forums pk-kernel
) qui mentionne que les paquets Debian peuvent être téléchargés depuis Compte Dropbox de l'utilisateur du forum big_bum .
pf-kernel
La machine sur laquelle j'ai installé est un ancien ordinateur portable 32 bits. J'ai donc commencé par télécharger les packages linux-headers
et linux-image
requis dans un répertoire de cette machine appelé ~/kernel
.
(Accédez au compte Dropbox mentionné ci-dessus pour rechercher les versions 64 bits et/ou plus récentes de ces packages.)
Ensuite, j'ai suivi les instructions sur " Obtenez de meilleures performances du bureau Linux et plus encore avec pf-kernel " et ai exécuté les commandes suivantes:
$ cd ~/kernel
$ Sudo dpkg -i *.deb
Tout semble bien fonctionner, j'ai donc redémarré.
Une inspection rapide semble indiquer que cela fonctionne, par exemple. la commande uname -a
indique que j'utilise le pf-kernel
:
Siobhan Linux 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/scheduler
indique que BFQ est maintenant le planificateur de disque actuel (pour le disque sda
):
noop deadline cfq [bfq]
Corrigez et installez un nouveau noyau avec BFS. Vous devez utiliser des noyaux séparés, il n'y a aucun moyen d'utiliser les deux dans la même image du noyau (en particulier pour les basculer à la volée)