Gnou

Le Blog de Thomas

Logiciels libres, informatique et autres ...

RMLL en direct, jour 2


Un peu en retard, mais avec beaucoup d'informations !

Aïe, premier jour, et déjà, le réveil à 7 heures fait mal, surtout pendant des vacances. La première conférence du thème OS de la journée débutait à 9h30, je devais donc être présent dès 9 heures pour mettre en place la salle, le vidéoprojecteur, etc.

La première présentation à laquelle j'ai assisté était celle de Marcus Brinkmann, Porter le GNU/Hurd sur le micro-noyau L4. Marcus connaît bien le Hurd, c'est un des quelques développeurs de ce système, et la conférence pouvait donc être intéressante. Il a commencé par un rapide rappel sur les différentes versions disponibles du micro-noyau L4 développé par les gens de l'université de Karlsruhe (versions Hazelnut, Pistachio, et la future version L4::NextGen?). Après cette courte introduction, il a consacré le reste de sa présentation à l'utilisation des «capacités» dans Hurd. D'après ce que j'ai compris, une capacité est l'association entre un objet et une autorisation. Donner une capacité à un programme, c'est l'autoriser à effectuer des opérations bien précises sur un objet bien précis. Malheureusement, Marcus est resté très abstrait à mon goût, et il était difficile de voir à quoi tout cela pouvait servir en pratique. En particulier, il a passé beaucoup de temps sur les problèmes de transfert de capacité entre un client et un serveur, entre deux clients, etc. D'un autre coté, je ne suis pas du tout un spécialiste de ce genre d'idées, mais je pense que la plupart de l'audience ne l'était pas non plus, et j'ai donc malheureusement l'impression que la présentation n'a pas été utile à beaucoup.

La seconde présentation de la journée dans le thème OS était donnée par Neal Walfield, Une approche basée sur le marché pour la gestion des ressources dans le système d'exploitation multi-serveurs GNU/Hurd. Déjà, en première approche, le titre laisse supposer une régulation par le marché, comme en économie où le marché s'auto-régulerait, d'après les libéraux. Une hypothèse contestable si il en est. Ceci étant dit, nous ne sommes pas dans l'économie, donc pourquoi pas. De toute façon, je n'ai pas pu assister à la conférence, car je voulais assister à une autre présentation.

Celle-ci était consacrée à l'Espéranto, et aux points communs entre les valeurs du Logiciel Libre et de l'Espéranto. Nicolas Bouillon et moi-même souhaitions vraiment qu'une telle présentation ait lieu dans le cadre des RMLLs. En effet, j'ai l'impression que peu de “libristes” connaissent l'Espéranto, qui pourtant véhicule des valeurs semblables sur certains aspects, et surtout propose une alternative crédible pour la communication internationale. Nous avions donc trouvé Tim Morley comme orateur, un contributeur de la traduction Espéranto d'OpenOffice?.org. Ni Nicolas ni moi ne le connaissions, et nous avons été très agréablement surpris. Il est extrêmement enthousiaste, sait communiquer sa motivation et cet enthousiasme, aussi bien pendant la présentation que sur le stand Espéranto qu'il a animé. En plus, c'est agréable de voir un anglais promouvoir l'Espéranto en tant qu'alternative à l'anglais comme langue de communication. Et c'est encore mieux quand cet anglais parle très bien le français, ce qui prouve qu'Espéranto ne signifie pas forcément abandon de l'apprentissage des langues étrangères.

Dans sa présentation, il donnait quelques anecdotes sur l'Espéranto, un peu d'historique de la langue, il faisait participer le public avec des petites devinettes sur le sens de quelques mots en Espéranto. Le tout de manière très dynamique, très enthousiaste. Une vidéo de la conférence a été enregistrée, j'espère pouvoir la récupérer et indiquer plus tard ici un lien vers celle-ci.

Quasiment à la fin de cette présentation, je suis revenu du coté du thème OS où Neal terminait sa présentation. Je n'ai donc rien vu de celle-ci. Tant pis, je lirai les transparents.

La dernière présentation de la matinée était donnée par Mel Gorman, au sujet de la mesure de performance dans la VMM de Linux. Mel Gorman a notamment écrit deux PDFs énormes sur le fonctionnement de la VMM de Linux : un détaillant les différents sous-systèmes, et un autre détaillant le code source lui-même. Ce sont d'excellents documents pour comprendre ce sous-système extrêmement complexe du noyau Linux. Pour ceux qui n'aiment pas le PDF, un livre a été publié à partir de ceux-ci dans la collection Open Source Series lancée par Bruce Perens chez Prentice Hall.

Mel Gorman n'a pas présenté de manière générale le fonctionnement de la VMM, mais s'est focalisé sur la problématique qui l'occupe dans le cadre de son PhD? : la mesure des performances de la VMM. Actuellement, les performances de la VMM sont plus mesurées par ses effets de bord (par exemple en mesurant le temps de compilation d'un noyau, ou d'autres benchmarks du même genre) qu'en mesurant réellement à la source l'amélioration ou la dégradation de celles-ci. Par conséquent, il a développé un ensemble de scripts et de modules noyau qui permettent de prendre ses mesures et de les agréger pour en tirer des conclusions. Ces informations peuvent être très utiles pour les développeurs de la VMM qui pour l'instant avancent un peu à l'aveugle au niveau des changements dans la VMM. Toute amélioration dans certains cas peut entraîner des dégradations énormes des performances dans d'autres cas.

En particulier, il a évoqué trois mécanismes importants :


Sa présentation était courte, mais mettait en avant quelques points intéressants, et donnait envie de s'intéresser à la problématique. Elle était beaucoup plus appliquée que la présentation donnée par Marcus Brinkmann, et donc à mon sens beaucoup plus accessible, malgré le fort accent irlandais de Mel Gorman.

Après une pause de midi m'ayant juste laissé le temps de manger deux gauffres, j'étais reparti pour l'après-midi de conférences dédiée à trois systèmes d'exploitation originaux.

Le premier, Plan 9 a été présentée par Charles Forsyth, avec un accent anglais assez marqué. D'après ce que j'ai compris, Plan 9 est un système d'exploitation distribué, mais l'orateur a surtout mis en avant le fait que Plan 9 utilise des fichiers pour tout faire. Là où Unix promeut «tout est fichier» et ne le respecte pas entièrement, Plan 9 pousse cette abstraction beaucoup plus loin. Ainsi, pour établir des communications réseau, on manipule des fichiers dans /net/tcp, puis pour les utiliser, on utilise par exemple /net/tcp/0/data. Évidemment, des systèmes de fichiers tels que mboxfs (pour se balader dans ses courriers électroniques) ou ftpfs sont présents. Plus étonnant, même l'interface graphique se commande au travers de fichiers. Créer de nouveaux widgets implique la création de nouveaux fichiers. Les possibilités sont amusantes, mais je trouve que le design n'est pas très satisfaisant. En effet, il consiste à cacher derrière une interface simple read/write les vraies interfaces, par exemple pour les connexions réseau (on doit envoyer “host!port” pour établir une connexion réseau). Je suis plus convaincu par des interfaces spécialisées mais bien définies, approche que semble utiliser Hurd, et que nous avons tenté d'utiliser dans KOS avec une description en XML des interfaces.

Ensuite, une conférence sur EROS, the Extremely Reliable Operating System. Cette conférence a été donnée par Jonathan Shapiro, qui venait des États-Unis. Il commence sa présentation par une question ouverte : « comment devrait fonctionner l'OS le plus accueillant pour les virus et les trojans ? ». La première partie de sa présentation donne les caractéristiques de cet OS, et on voit très vite où il veut en venir. Dès le départ, on reconnait par les caractéristiques listées le fonctionnement d'un Unix. Malgré l'aspect un peu caricatural de cette présentation, on ne peut que constater que certaines des remarques sont tout à fait pertinentes. Il poursuit dans sa deuxième partie en présentant EROS, un projet sur lequel il a travaillé pendant de longues années (10 ans ?). Il s'agit d'un OS basé sur les capacités, ce qui permet, d'après ce que j'ai compris, de ne donner aux programmes uniquement les autorisations dont ils ont besoin pour faire leur travail. Il donnait l'exemple du moteur de rendu HTML/JavaScript? d'un browser : sous Unix, celui-ci est éxécuté comme un processus normal, peut ouvrir les fichiers de l'utilisateur courant, en créer, en détruire, les envoyer sur le réseau. En réalité, un tel moteur n'a besoin en entrée que du flux HTML/JavaScript? et en sortie que de la possibilité d'afficher des choses. Rien de plus. Et d'après la présentation, EROS peut donner des capacités à ce niveau de granularité, ce qui permet une isolation importante des processus, même lancés par le même utilisateur. D'autre part, EROS est un système persistant : le système est checkpointé toutes les cinq minutes sur le disque dur en tâche de fond. La présentation est donc intéressante, et donne lieu à quelques réflexions personnelles sur l'OS qu'on utilise tous les jours. Toutefois, le travail sur EROS n'est plus réalisé par Jonathan lui-même, mais par quelqu'un d'autre au sein du projet CapROS.

La deuxième présentation de Jonathan Shapiro concerne Coyotos et BitC. Coyotos est le successeur d'EROS, il en reprend de nombreux concepts, tout en corrigeant certains de ses problèmes. Pour l'instant, Coyotos est développé en C, mais l'équipe de Jonathan travaille sur le langage BitC? pour réimplémenter l'OS. Ce langage devrait permettre de rendre plus simples les raisonnements et les preuves formelles sur le code de l'OS. D'un point de vue syntaxique, il ressemble à du Lisp, ce qui laisse toujours un peu dubitatif, Jonathan le reconnaît lui-même. L'orateur a également parlé de quelques outils de preuves formelles : ACL2 qui est buggé et donc difficilement utilisable d'après Jonathan, de Isabelle et HOP, un système apparemment très complexe à utiliser et de Twelf qui aurait une licence douteuse. Je ne me souviens pas bien de ce qu'ils comptent faire à partir de là.

Ces deux dernières présentations ont donc porté sur des projets intéressants, qui valent certainement qu'on y jette un oeil.

Le soir a eu lieu le fameux « Diner du Libre », dans une grande salle de la mairie. Comme le raconte Harald Welte, le repas était assez cher (20 Euros) pour une qualité et une quantité très très moyenne. Dans un restaurant à 12-15 Euros, le menu aurait été bien meilleur, et il n'aurait pas fallu patienter pendant la longue queue menant au buffet. Toutefois, à la décharge des organisateurs, je reconnais qu'organiser un repas pour 300 personnes n'est certainement pas évident.

Nous avons donc quitté juste après le dessert (une simple salade de fruit...) et nous sommes partis aux Tanneries. Là-bas, pas mal de monde, des discussions, une ambiance sympathique. Bref, tout ce qu'il faut pour se coucher encore à 2 heures du matin. La personne de Fadaiat a fait une autre présentation sur les aspects techniques du projet. Je n'ai pas trop suivi la présentation, le présentateur était trop mou, et j'étais trop occupé à discuter avec Lucas, Fred, Bouil et bien d'autres.

La journée fut donc riche en conférences et riche en discussions diverses et variées. Un vrai moment de RMLLs ;-)
Il y a 44 commentaires sur cette page. [Afficher commentaires/formulaire]