Journal FreeBSD pompe sur Linux 2.6 !

Posté par  (site web personnel) .
Étiquettes : aucune
0
15
déc.
2003
vu sur kerneltrap (sachant que ULE est le nouveau scheduler de FreeBSD) :

ULE was merged into FreeBSD 5.1 as an "experimental" process scheduler designed to bring many benefits to SMP servers.
The original design is actually based off Ingo Molnar's Os cheduler which was merged into the Linux kernel during 2.5 development.
When asked about how FreeBSD interactivity with ULE would compare to Linux interactivity, Con Kolivas suggested that, "it is prone to all the same issues as the vanilla 2.5 scheduler", issues that were addressed by Con during 2.5 development.

Evidemment y'a pas de problèmes de licence car ULE s'inspire du "design" mais ne copie pas le code.
  • # oui, et ?

    Posté par  (site web personnel) . Évalué à 5.

    c'est quoi le probleme ?
    • [^] # Re: oui, et ?

      Posté par  . Évalué à 3.

      GPL et license BSD
      ce qui est en GPL reste en GPL. Mais il n'y a aucun problème du moment ou ce n'est pas une reprise du code, justement
    • [^] # Re: oui, et ?

      Posté par  . Évalué à 5.

      Qui a dit qu'il y en avait un ?
      • [^] # Re: oui, et ?

        Posté par  (site web personnel) . Évalué à 9.

        Quand je lis "FreeBSD pompe sur Linux 2.6", je trouve que ça n'a pas la même conotation que "FreeBSD s'inspire de Linux 2.6", ou "FreeBSD profite des avancées de Linux 2.6".
    • [^] # Re: oui, et ?

      Posté par  . Évalué à 2.

      C'est de l'humour vu la concurrence (positive) entre les deux projets. Mais, malgré toutes les qualités que je reconnais à FreeBSD, il faut reconnaître que son support du SMP laisse à désirer.
  • # Re: FreeBSD pompe sur Linux 2.6 !

    Posté par  . Évalué à 3.

    en fait il faudrait savoir si c'est du copier/coller ou juste la même idée (déjà rendue publique par le code source de Linux donc désormais non brevetable)

    et si c'est du copie/coller cela peut être légal si Mollnar a donné son autorisation
    • [^] # Re: FreeBSD pompe sur Linux 2.6 !

      Posté par  (site web personnel) . Évalué à -2.

      heuuuu......AMHA le code du scheduler de mollnar est sous GPL donc on ne peux le mettre dans FreeBSD (bicoze BSD justement).
      Maintenant j'ai jamais dit que c'était du copié-collé : j'ai dit qu'il s'inspirent du code....ce qui est parfaitement légal.

      Ce qu'il faut surtout relever a mon avis c'est la dernière phrase en forme de pique : FreeBSD va devoir passer par tout le processus de correction/optimisation/debuggage qu'a déja passé (dans la série des 2.5.xx) le scheduler de Linux.
      Ils sont pas prêt de sortir une version stable !
      • [^] # Re: FreeBSD pompe sur Linux 2.6 !

        Posté par  . Évalué à 1.

        Euh ils ont mis tant de temps que ca a le debugguer le nouveau scheduler ?

        C'est pas tout le reste aussi ?

        Parce que s'il est si compliqué ca me fait un peu peur :)
      • [^] # Re: FreeBSD pompe sur Linux 2.6 !

        Posté par  . Évalué à 2.

        le code du scheduler de mollnar est sous GPL donc on ne peux le mettre dans FreeBSD
        sauf si Mollnar et les autres auteurs (s'il y en a) donnent leur autorisation pour le diffuser sous licence BSD

        un auteur a toujours le droit de diffuser son code sous toutes les licences qu'il désire !
        • [^] # Re: FreeBSD pompe sur Linux 2.6 !

          Posté par  (site web personnel) . Évalué à 0.

          c'est vrai....en théorie !
          mais dans les faits si c'est Mollnar qui à écrit le code il y a eu des dizaines de contribs et de fixs de debuggages durant la saga des 2.5.xx.
          de plus Linus ne garde pas d'historique des fixs/patchs justement pour ne pas pouvoir retrouver tous les contributeurs et eviter de releaser selon une licence différente de la GPL.

          ergo : le scheduler de Mollnar est "GPL-only"
          • [^] # Re: FreeBSD pompe sur Linux 2.6 !

            Posté par  . Évalué à 2.

            Sauf que Molnar a certainement conservé la tatalité de son ordonnanceur originel quelque part, et qu'il peut faire ce qu'il veut de cette partie là.

            > ergo : le scheduler de Mollnar est "GPL-only"
            tu voulais peut être dire ergotage? ;)
          • [^] # Re: FreeBSD pompe sur Linux 2.6 !

            Posté par  (site web personnel) . Évalué à 3.

            Linus ne garde pas d'historique des fixs/patchs justement pour ne pas pouvoir retrouver tous les contributeurs et eviter de releaser selon une licence différente de la GPL.
            Je pourrai ni affirmer ni infirmer cette affirmation :) mais il faut noter que Linus délègue des parties de son code et qu'il n'accepte de patches sur ses parties que de la part de cette personne, ergo tout les patches concernant le scheduler son certainement passés entre les mains de Mollnar, et celui ci peut avoir garder un historique etc..
  • # Re: FreeBSD pompe sur Linux 2.6 !

    Posté par  . Évalué à 8.

    Bon allons y.

    Premièrement la partie technique :

    Il fut un temps, ce temps n'étant pas encore révolu puisqu'il couvre des débuts d'UNIX à FreeBSD 4 et Linux 2.4, ou la grande majorité des *nix utilisait un algorithme d'ordonancement souvent nommé "decay". On trouvera la description d'un tel algorithme dans le chapitre 10 de Understanding the linux kernel mais aussi celui de FreeBSD 4.

    http://madchat.org/netadm/kern/kern.bsd/the_freebsd_process_schedul(...)
    http://madchat.org/netadm/kern/kern.linux/ch10.html(...)

    Depuis quelque temps une classe d'algorithme nouveau fait son emerge dans l'ordonancement de tache. Ce type d'algorithme est nommé "event driven". Avant les ordonanceurs avait une complexite en 0(n) [n nombre de processus/threads dans le systeme]. Pour BSD par exemple on était obligé de parcourir l'ensemble de la liste de processus toute les secondes. Quand on pense que Ingo Molnar a lancer 110 000 threads sur un 2.5 y'a six mois ca laisse songeur :-)

    Bref a ma connaissance ingo Molnar a été le premier a implemente un ordonnanceur "event driven" sur un système d'exploitation grand publique. Le principe de ceux ci est d'eviter tout parcour de la liste et d'avoir un complexite en O(1).

    Pour faire dans les grosses lignes on utilise deux files de processus. L'une des deux files est la file courante. Quand un processus a utiliser tout le temps qui lui etait imparti on le passe dans l'autre file. quand la file courante est vide on swap les deux files. Tout cela c'est du O(1) partout.

    Ingo Molnar fut le premier, suivit de près par Jeff Robertson qui a écrit... ULE. Ils utilisent le même concept. Après il faut être très niait pour croire que ce son Ingo Molnar ou Jeff Robertson sont les inventeurs de ce principe. Il doit y avoir quelques dizaine de papier présentant des algorithmes similaires. Voila celui qui correspond au code d'Ingo Molnar

    http://www.usenix.org/events/usenix01/nieh.html(...)

    Pour ULE on regardera

    http://madchat.org/netadm/kern/kern.bsd/ULE.pdf(...)

    Pour l'ordonnanceur de linux il n'y a pas de papier officiel il me semble. J'ai rapidement fait un commentaire du code de celui-ci dans un projet de DEUG. Ceux que ca interesse peuvent consulter

    http://mistral.unice.fr/~mathieuc/sched/book.html#AEN470(...)

    [il s'agit d'un brouillon nullement destine a etre mis en ligne, si vous voyez des fautes je suis preneur]

    Donc je ne vois pas le problème, ni l'histoire des licences qui ressort. C'est bizarre mais ce sont les mêmes qui crient au FUD pour SCO et commencent a sortir plus ou moins n'importe quoi pour les autres. Et j'ai lu le code de molnar il y'a 7 mois, celui de Jeff il y'a 2 mois... si quelqu'un peu me trouver du code commun entre les deux ca m'interesse, par ce que moi j'ai pas vu.

    Sur ce, je conseil a tout ceux qui perdent leur temps a troller stupidement d'aller lire un peu de code ca fait du bien des fois. Et non il n'y a rien de revolutionnaire dans les algorithmes utilisés, de plus tout ceux qui ont deja suivit le developpement d'un ordonanceur savent que c'est une semaine pour l'écrire, un an pour le régler et virer tout les problèmes. Le code n'est pas transposable comme certain aimerait le croire.
    • [^] # Re: FreeBSD pompe sur Linux 2.6 !

      Posté par  . Évalué à 6.

      On me fait signe a l'instant que le poste n'etait pas tout a fait complet donc je le termine un petit peu en vrac.

      L'etat d'ULE est actuellement proche de la production. D'ailleur après le tag de la 5_2 ULE est devenu l'ordonanceur par défaut de CURRENT. Ceci dans le but de finir de l'éprouver et de pouvoir déterminer si ULE ou 4BSD est le mieux adapté lorsque 5 deviendra la branche STABLE (http://www.freebsd-fr.info/modules.php?name=News&file=article&a(...))

      Il y'a eu des problèmes, Jeff a beaucoup travaille pour les corriger, il y a encore des problemes, il travaillera certainement encore beaucoup et n'attend que VOS rapports de bug. ULE est en phase de finalisation.

      Donc pour ceux qui decouvrent ULE, ce n'est pas par ce que vous ne connaissez pas quelques choses qui cela n'existe pas. ULE ne vient pas de sortir d'un chapeau par ce qu'il est sur kerneltrap (en suivant les liens de KT on tombe d'ailleur sur des comparaisons interessantes, des interview de molnar etc.)

      Autrement pour extrapoler un petit peu sur le sujet (a propos du pseudo plagiat de FreeBSD) il serait bon de s'interesser à ce que propose FreeBSD. Par exemple comparer KSE à NTPL. Et la tout lecteur attentif aura compris que les deux systèmes ont des approchent radicalement différentes.

      http://people.redhat.com/drepper/nptl-design.pdf(...)
      http://madchat.org/netadm/kern/kern.bsd/Kernel-Scheduled_Entities_f(...)

      Comme ca on pourra se lancer dans de vrais bon gros trolls sur l'approche 1:1 vs M:N et autre joyeusetés
      • [^] # Re: FreeBSD pompe sur Linux 2.6 !

        Posté par  (site web personnel) . Évalué à 1.

        Merci pour tes 2 posts informatifs et intéressants (ainsi que pour les liens).
        Une petite mise au point : je comprends parfaitement que pour un connaisseur comme toi ce journal semble trollesque (ou pire : banal) mais je ne l'ai posté que pour signaler un truc que je venais de lire sur kerneltrap.
        Le titre n'est la que pour inciter à lire le journal (c'est une accroche quoi !) et dans le corps du journal je signale bien que FreeBSD ne fait que s'inspirer du code de Linux.
        Tu dénonce le fait que j'aurais parlé d'un plagiat.....??? ou à tu lu ceci dans mon journal ou dans mes posts ?
        Réponse : nulle part !
        Ce qui à mon sens est vraiment intéressant dans cette nouvelle ce n'est pas l'adoption d'un 0/1 par FreeBSD et le fait qu'il s'inspire du design de celui de Linux....c'est surtout le fait que Mollnar affirme que pour l'instant ULE ressemble au scheduler de Linux version vanilla 2.5.....autrement dit un guru tel que lui pense que ULE est encore très très loin de la maturité.
        Alors que toi tu penses que L'etat d'ULE est actuellement proche de la production.
        Bizarre.....

        Pour finir je termine sur ta phrase : Sur ce, je conseil a tout ceux qui perdent leur temps a troller stupidement d'aller lire un peu de code ca fait du bien des fois.
        1) je ne pense pas que mon journal relève du troll
        2) Je ne lis pas de code et je pense que ceux qui tentent d'informer les autres et de fournir à dlfp des journaux et des news ne devraient pas se voir opposer ce genre de remarque condescendante par les programmeurs.

        ciao et merci encore pour tes explications.
        • [^] # Re: FreeBSD pompe sur Linux 2.6 !

          Posté par  . Évalué à 1.

          je signale bien que FreeBSD ne fait que s'inspirer du code de Linux.

          A vrai dire, le détail amusant pour le lecteur curieux, c'est qu'en cherchant un peu (sur kerneltrap d'ailleurs, http://kerneltrap.org/node/view/830(...)) on retrouve aussi des patchs qui mergent des fonctionnalités spécifiques à ULE dans certains 2.5. Donc en fait, vu la date de naissance des projets, Jeff Robertson a dû se dire "tiens ça a l'air chouette comme idée ça, je vais faire pareil" et il l'a fait dans son coin. La preuve est que, si je me souviens bien, il a mentionné plusieurs fois être incapable d'expliquer préciser l'algo du 2.6 (ahahah ou alors c'est *encore* du code mal écrit tsss).

          D'autre part, et comme le fait remarquer cykl (coucou keupin) avec les différences majeures dans le design, comme les KSE (dont ULE tire fortement parti pour sa gestion du SMP, comme le paper de robertson l'indique, et puisque ULE ne commence qu'à partir de 5.x) limitent fortement les repompages mutuels autres que théoriques.

          Sinon, l'article de Robertson donne également plein d'autres détails sur les différences d'implémentation d'un scheduler event-driven en O(1).

          autrement dit un guru tel que lui pense que ULE est encore très très loin de la maturité.

          BLAH. Et après on dira que c'est pas du troll...
          Bon, faudrait déjà voir à pas déifier ce brave Mr Molnar.
          (Non parce que tant qu'on y est, y'a bien des bsdistes qui pourraient parler de la stabilité de Linux au niveau des filesystems, du réseau, etc.)
          Ensuite j'aimerai bien des liens, des citations, histoire de voir ce qui est vraiment reproché. ULE est disponible dans -CURRENT depuis bientôt un an et a subit de nombreux tests et améliorations. Faut également voir que FreeBSD en général et ULE en particulier n'ont pas la chance de recevoir le même feedback que peut le recevoir un Ingo Molnar sur la lkml qui en plus était rémunéré par sa boîte pour son travail.

          1) je ne pense pas que mon journal relève du troll

          C'est très gentil de vouloir informer le monde (saint-patrick-de-RSF ? :) cependant, une fausse information peut faire bien plus mal qu'une vraie (y'a des gens qui sont partis à la guerre y'a pas longtemps comme ça). Donc, ta façon de présenter cette "découverte" que tu viens de faire est autrement plus insultante que la manière dont cykl te parle (en plus il a mauvais caractère, faut pas lui en vouloir).

          Mais surtout ça dénote un point très important de la culture Linux : vous êtes encore plus ethnocentrique qu'une utilisateur basique de Windows. A cause de Linux et de ses API fantaisistes qui se foutent de la retrocompatibilité, on se retrouve avec des softs ou des fonctionnalités de moins en moins portables (au moins entre les 3 BSD y'a des tentatives de concertation, ex : kqueue()). En plus, c'est pas sous Linux, mais sous FreeBSD, qu'on trouve un projet de conformance ANSI C 99 et POSIX 2001. Et quand par chance on entend parler de *BSD sur, disons, LinuxFrench, toutes les deux questions ça revient à "que pensez-vous de Linux" ou "quel est l'intérêt de votre OS par rapport à Linux" ? Pour faire une comparaison niaise, on dirait une adolesciente écervelée qui se mire dans la glace en permanence.

          bref, faut pas vous plaindre de voir des bsdistes énervés quand vous traitez leur OS comme un vague projet de fin d'année dans une école du tiers-monde informatique...
  • # Re: FreeBSD pompe sur Linux 2.6 !

    Posté par  . Évalué à 0.

    ULE ? Ça manquait !

Suivre le flux des commentaires

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