Journal BFS, le retour du Jedi

Post√©¬†par¬† . Licence CC¬†By‚ÄĎSA.
√Čtiquettes¬†:
14
27
mar.
2012

Cher Nal,
Tu te souviens certainement de BFS, aka ¬ęBrain Fuck Scheduler¬Ľ¬†? Non¬†? Il s'agit d'un ordonnanceur alternatif pour le noyau. Alternatif car il est d√©velopp√© par un amateur, Con Kolivas, anesth√©siste de profession. Mr Kolivas a mis entre parenth√®se tout d√©veloppement sur cet ordonnanceur suite au refus d'une partie de l'√©quipe noyau d'int√©grer son travail en amont, directement dans le kernel, aux c√īt√©s du v√©n√©rable no-op, de deadline et de CFQ essentiellement par le fait que n'√©tant pas professionnel de l'informatique, Mr Kolivas n'offrait pas les garanties n√©cessaires au suivi du rythme n√©cessaire au d√©veloppement noyau (dans les exemples rep√©rables, regardons comment le pilote pour hyperV par Microsoft a √©t√© trait√©, ainsi que quelques pilotes pour Android, malgr√© le fait que l'on ne peut pas douter du professionnalisme de l'origine de ces pilotes: ¬ępas √† jour¬†? d√©gage¬†!¬Ľ a souvent √©t√© le mot d'ordre.)

Cet ordonnanceur a pour but d'am√©liorer la r√©activit√© g√©n√©rale d'un syst√®me de type ¬ębureau¬Ľ mais se trouve √©galement int√©ressant dans de nombreux autres usages d'un syst√®me. Voir ce commentaire de Laurent Cligny pour une r√©flexion √† ce sujet… Voir √©galement ce journal de Patrick_G. Con Kolivas vient de publier une nouvelle version, estampill√©e stable, synchronis√©e sur le noyau 3.3, et fait son annonce sur la liste de diffusion du d√©veloppement noyau sous la forme d'un mail regroupant les changements versions par versions, pour arriver √† cette proposition stable.

Il accompagne son mail d'une jolie Nimage, r√©sumant un r√©sultat de benchmark (kerbench) dont on pourra trouver l'ensemble des d√©tails sur le site web d√©di√© au projet…

Jolie Nimage de benchmark de BFS pour 3.3
√Ä noter que BFS est utilis√© par Cyanogen, l'√©quipe proposant souvent un kernel-bfs pour nos t√©l√©phones. Ainsi que quelques distributions gnu/linux, comme ZenWalk. Enfin, la communaut√© Arch propose un d√©p√īt d√©di√©, avec plusieurs saveurs de noyau incluant cet ordonnanceur et pr√©vu chacun pour une cible pr√©cise (intel/amd, en vrac : Sempron, Core2, Atom, …). Voil√†, et moi je reboute de 3.3.0bfs #1 SMP PREEMPT Tue Mar 27 18:24:00 sur un CFQ parceque mes cheveux repoussent, et trop vite, je me suis fait dragu√© sur FaceB par 15 gar√ßons et 15 filles en 15 minutes, mon poil est devenu si soyeux qu'il glisse, et mon endorse s'est r√©sorb√©e par magie. BFS, √ßa fait peur.

  • Explication initiale, √† propos
  • BFS pour le kernel 3.3, le patch
  • Juste au dessus, quelques informations suppl√©mentaires, sur le bench par exemple, mais aussi des conseils basiques pour la compilation selon ses besoins.
  • # la jolie Nimage qui manque

    Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†10.

    http://postimage.org/image/wavusknl1/

    Mais j'y pige que date, m√™me en m’entra√ģnant inlassablement a lire de fa√ßon fluide de dotsies

  • # M√™me pas mal

    Post√©¬†par¬† . √Čvalu√©¬†√†¬†6. Derni√®re modification le 27/03/12 √† 23:21.

    3.2.13-1-ck #1 SMP PREEMPT Fri Mar 23 21:21:51 EDT 2012 sur une distro qu'il faut pas que je nomme au risque de tomber dans la population de ceux qui disent qu'ils utilisent Archlinux.

    Des mois que j'utilise le repo-ck, ce vieux BFS et même pas de clavier qui blo

    q

    u

    e

    The capacity of the human mind for swallowing nonsense and spewing it forth in violent and repressive action has never yet been plumbed. -- Robert A. Heinlein

    • [^] # Re: M√™me pas mal

      Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†4.

      tu ne serais pas un archer adepte de la prétérition ?

      hmmm, ça va finir en synonyme :)

      • [^] # Re: M√™me pas mal

        Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†4.

        Sans vouloir parler de pr√©t√©rition, et encore moins faire de la m√©ta-pr√©t√©rition, il faut bien reconna√ģtre que c'est une figure de style tout √† fait remarquable¬†!

      • [^] # Re: M√™me pas mal

        Post√©¬†par¬† . √Čvalu√©¬†√†¬†2.

        Je ne répondrai sur ce sujet qu'en présence de mon avocat.

        Hop, une baisse tendancielle d'une hausse supplémentaire à enregistrer, celle des archers exprimant volontiers qu'ils utilisent Archlinux.

        PS : la langue française, le pire ennemi des drosophiles.

        The capacity of the human mind for swallowing nonsense and spewing it forth in violent and repressive action has never yet been plumbed. -- Robert A. Heinlein

    • [^] # Re: M√™me pas mal

      Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†1.

      ah tiens je connaissais pas ce repo
      je m'en vais essayer ce noyau à moindre frais (pas de compil toussa)

      car moi aussi j'utilise … archinux
      allez faut le dire quand même ;-)
      y'a trop de fanboy debian ici pour ne pas devoir rééquilibrer un peu la balance.

  • # cool, mais bof

    Post√©¬†par¬† . √Čvalu√©¬†√†¬†1.

    Je pense que l'int√©r√™t est surtout sa revanche personnelle. CK avait d√Ľ √™tre vex√© parce que juste avant qu'il se fasse jeter pour ne pas √™tre informaticien, les derniers benchs montraient que son scheduler n'√©tait pas significativement plus rapide que celui par d√©faut.

    Aujourd'hui, CK est de retour, et sur environ une minute de calcul, son scheduler fait gagner une demi seconde (64,2-63,7 = 0,5 s). C'est bien pour lui et vive la diversité, mais dois-je vraiment patcher mon noyau pour un gain aussi faible ?

    • [^] # Re: cool, mais bof

      Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†4.

      Ça fait quasi du 0,7% ! Pour un alt-tab ok, c'est négligeable, mais c'est tout de même intéressant

    • [^] # Re: cool, mais bof

      Post√©¬†par¬† . √Čvalu√©¬†√†¬†3.

      Il me semble que Ingo Molnar s'est en fait très largement inspiré, sans s'en cacher, du scheduler de CK, et qu'il a apporté un tout petit plus dedans. Comme Ingo Molnar est lui un "professionnel de l'informatique", c'est son scheduler qui a été retenu comme nouveau scheduler par défaut après délibération parce que techniquement, on ne pouvait pas trop les séparer.

      Je serais donc surpris que CK revienne avec des gains en perfs pharaoniques.

      Mais la concurrence saine dans le Libre a toujours du bon!

      • [^] # Re: cool, mais bof

        Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†9.

        Comme Ingo Molnar est lui un "professionnel de l'informatique", c'est son scheduler qui a été retenu

        C'est surtout qu'Ingo a su gagner la confiance de ses pairs parce qu'il bosse bien, il ne trolle pas, il est réactif quand quelqu'un signale un problème, il étaye ses affirmations par des tests, etc. Linus a plusieurs fois affirmé qu'il prenait ses décisions d'inclusion de code en fonction de la capacité de l'auteur à travailler avec les autres.
        On ne peut pas dire que CK soit exempt de tout reproche en ce qui concerne sa capacité à travailler avec les autres.
        Peut-√™tre est-ce li√© au fait qu'Ingo est un "professionnel de l'informatique" pouvant y consacrer tout son temps (par opposition √† Con Kolivas qui est anesth√©siste et qui n'est pas ma√ģtre de son temps). Je ne sais pas. En tout cas √ßa explique en grande partie le choix du scheduler d'Ingo par rapport √† celui de CK.

        • [^] # Re: cool, mais bof

          Post√©¬†par¬† . √Čvalu√©¬†√†¬†3.

          Cela se ressent aussi je trouve dans son mail d'annonce pour cette version. Pour prendre un comparatif, certes os√©, on dirait du Brad Spengler, il travaille seul dans son coin puis l√Ęche du code (m√©thode similaire, la diff√©rence √©tant que Con Kolivas n'a pas certains "imp√©ratifs" que Spengler a/peut avoir(?)). Dans les deux cas, on peut observer une r√©action un peu similaire : pas d'inclusion en l'√©tat (pour raisons multiples), mais c'est observ√© de pr√®s et des morceaux sont inclus ou des id√©es sont reprises, que cela soit pour BFS ou pour GRsec.
          J'aurai envie de dire "c'est très sain et remarquable", mais bon, enfoncer des portes ouvertes de si bon matin :)

          • [^] # Re: cool, mais bof

            Post√©¬†par¬† (site web personnel, Mastodon) . √Čvalu√©¬†√†¬†4.

            c'est observé de près et des morceaux sont inclus ou des idées sont reprises

            Peut-être mais c'est un peu dommage parce qu'on ne retiendra pas les sources d'inspiration mais uniquement le nom du "professionnel de l'informatique" qui a signé le dérivé.
            Et il ne faut pas rêver, quand on fait du libre, on travaille quand même un tant soit peu pour la gloire.
            Et là, on retient que Kolivas est limite caractériel, qu'on doute qu'il puisse assurer le suivi mais que comme ses idées ne sont pas forcément inintéressantes, on reprend à une nouvelle sauce et on assure le suivi.
            Pourquoi ne pas inclure sa version et laisser la communauté assurer le suivi et l'évolution ?

            • [^] # Re: cool, mais bof

              Post√©¬†par¬† . √Čvalu√©¬†√†¬†4.

              Pourquoi ne pas inclure sa version et laisser la communauté assurer le suivi et l'évolution ?

              Parce que la concurrence a montré qu'elle savait déjà assurer le suivi, pourquoi risquer un éventuel problème si personne n'assure le suivi alors que la concurrence ne fait pas pire et a déjà un suivi d'assurer.

              ¬ę Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. ¬Ľ Coluche

            • [^] # Re: cool, mais bof

              Post√©¬†par¬† . √Čvalu√©¬†√†¬†3.

              Pourquoi ne pas inclure sa version et laisser la communauté assurer le suivi et l'évolution ?

              Tout ne va pas dans la branche principale du noyau, mais c'est aussi le r√īle des distributions de proposer des patchs qui n'y sont pas. Plusieurs distributions int√®grent les patches de Kolivas (Arch et Zenwalk ont √©t√© cit√©s plus haut, gentoo les propose aussi).

            • [^] # Re: cool, mais bof

              Post√©¬†par¬† . √Čvalu√©¬†√†¬†9.

              on ne retiendra pas les sources d'inspiration mais uniquement le nom du "professionnel de l'informatique" qui a signé le dérivé.

              Pour le grand public, personne ne retiendra le nom d'un développeur du noyau de toute façon. Pour quiconque s'intéresse un peu au noyau et à son évolution, Kolivas est systématiquement cité comme source d'inspiration pour le CFS.

              exemple, Completely_Fair_Scheduler:

              Con Kolivas's work with CPU scheduling, most significantly his implementation of "fair scheduling" named Rotating Staircase Deadline, inspired Ingo Moln√°r to develop his CFS, as a replacement for the earlier O(1) scheduler, crediting Kolivas in his announcement.

      • [^] # Re: cool, mais bof

        Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†5.

        on ne pouvait pas trop les séparer.

        Il y a quand même des différences. Celui par défaut est infiniment plus gros et donc son comportement est plus imprévisible. Il a été montré des cas pathologiques qui ont été corrigé depuis, mais vu la taille du code c'est difficile de prétendre qu'aucun autre cas de ce genre existe encore, au contraire du code plus simple de BFS.

        On dirait que cfs ne s'am√©liore que si on trouve des cas o√Ļ BFS est meilleur.

        "La première sécurité est la liberté"

  • # BFS vs CFS

    Post√©¬†par¬† (site web personnel) . √Čvalu√©¬†√†¬†10.

    suite au refus d'une partie de l'√©quipe noyau d'int√©grer son travail en amont, directement dans le kernel, aux c√īt√©s du v√©n√©rable no-op, de deadline et de CFQ

    Ces schedulers sont consacr√©s aux I/O alors qu'avec BFS il s'agit d’ordonnancement des processus. Le vrai concurrent c'est CFS.

    • [^] # Re: BFS vs CFS

      Post√©¬†par¬† . √Čvalu√©¬†√†¬†2.

      Oui, oui. pourquoi ai je marqué cfq en lieu et place de cfs ? lol. osef Merci de la correction :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.