Pourquoi les planificateurs BFQ et BFS ne sont-ils pas inclus dans le noyau officiel d'Ubuntu?

24

Hier, j'ai lu un article sur l'accélération d'Ubuntu. Une suggestion dans l'article consistait à remplacer le planificateur d'E / S par défaut par BFQ , qui, selon l'article, est optimisé pour les performances interactives.

Un article similaire souligne les avantages des performances du bureau lors de l'utilisation du planificateur de processus BFS .

Les deux ordonnanceurs sont inclus dans de nombreux jeux de correctifs et noyaux alternatifs connus pour augmenter l'interactivité et les performances du bureau (par exemple, linux-pf , liquorix-kernel et linux-ck ).

Donc, ma question est la suivante : compte tenu de la façon dont Ubuntu s'efforce d'obtenir une expérience de bureau exceptionnelle, comment se fait-il que les versions non serveur du système d'exploitation ne soient pas fournies avec ces planificateurs alors qu'il a été prouvé qu'ils sont meilleurs en termes de performances interactives?


Vous trouverez plus d'informations sur les deux planificateurs ici:

Musto
la source
1
L'acronyme est BFS, pas BFQ, non? Ou est-ce intensionnel ici?
jobin
@Jobin Oups, vous avez raison. BFS est un planificateur de processus et il est inclus dans le patchset linux-ck, tout comme BFQ. Je vais modifier la question pour refléter cela.
Glutanimate
Existe-t-il des références avec des gains de performances notables BFS par rapport à la date limite du planificateur par défaut d'Ubuntu? Les benchmarks liés ne se comparent que contre CFQ
NGRhodes
1
@NGRhodes Oui, dans cette comparaison, vous pouvez voir que les auteurs ont atteint un débit égal entre BFQ et la date limite tout en parvenant à réduire les temps de démarrage des applications sous une charge de disque séquentielle d'un ordre de grandeur (avec BFQ, c'est-à-dire). Vous trouverez des comparaisons similaires dans le premier article lié ci-dessus.
Glutanimate
3
Pourquoi n'essayez-vous pas de le proposer sur ubuntu-devel-discuter ?
Andrea Corbellini

Réponses:

14

Réponse rapide :

  1. Les deux ordonnanceurs ne fonctionnent pas du tout ou fonctionnent bien pour toutes les plateformes prises en charge de Linux (fréquence, architecture, consommation de ressources, ...)
  2. Il semble que Torvalds ne souhaite tout simplement pas prendre en charge plusieurs planificateurs

Explications:

Étant donné que les ordonnanceurs sont des initiatives seules (alias non prises en charge par le noyau), le simple fait de les inclure signifierait concentrer les gens dans ces ordonnanceurs (correctif de sécurité, correctif de maintenance, accélération de l'adaptation aux nouvelles versions du noyau, ...). Cela signifie un investissement financier pour un projet qui n'est toujours pas sûr de son existence à l'avenir.

Ils sont encore assez jeunes. Le meilleur exemple est ce qui est expliqué dans la FAQ de BFS à "Comment est-il évolutif?".

Derrière les lignes de cette partie nous dit que BFS a des problèmes de performances lorsque vous avez beaucoup de CPU logique. Ce point unique supprime les serveurs et les PC haut de gamme (le nombre de 16 est donné, cela signifie qu'un simple serveur de 1000 USD aurait des problèmes de performances avec cela). Vous excluez donc Ubuntu Server de ce correctif, vous excluez également les configurations physiques bi-CPU qui atteignent désormais facilement ce nombre.

Ubuntu ne peut pas atteindre des masses s'il utilise un autre planificateur. L'évolutivité l'emporte sur les performances.

Comme toujours, avec de nombreux "si" ...:

  • Si chaque utilisateur d'Ubuntu est un utilisateur de bureau
  • Si toutes les machines de chaque utilisateur Ubuntu sont le bon PC pour les planificateurs

En fait, la meilleure approche est celle actuelle: laissez l'utilisateur appliquer les planificateurs qu'il veut s'il a le matériel et qu'il s'y intéresse.

Son application peut fonctionner mieux pour certains pendant un certain temps (car, comme je l'ai dit, l'évolutivité est un gros problème et l'avenir augmentera le nombre de processeurs). Mais donnera de sérieux ennuis aux autres.

Sources supplémentaires:

Le lien peut ne pas rester éternel, voici un article que j'ai trouvé sur BFS sur h-online . C'est le plus officiel que j'ai trouvé. Cependant, si vous cherchez sur Google, vous pouvez trouver la vraie déclaration. Je pense que c'est peut-être sur kerneltrap.

Voir le troisième paragraphe du titre phénix de l'article. Je vais le citer ici au cas où le lien mourrait:

À l'heure actuelle, l'intégration de BFS dans la branche principale de développement Linux semble très peu probable, car Linus Torvalds a déjà clairement indiqué qu'il ne voulait pas maintenir plusieurs planificateurs. De plus, les distributeurs Linux ont tendance à préférer une image de noyau unique qui atteint des performances optimales sur une grande variété de systèmes sans nécessiter de configuration particulière. Il se pourrait que les développeurs de CFS améliorent leur ordonnanceur dans les domaines couverts par BFS - un bonus pour la communauté des utilisateurs.

Linus Torvalds discussion à ce sujet.

Antoine Rodriguez
la source