Lightning Talks

30 septembre

Le projet DroneCode – Un pas vers les drones open source

Les UAVs (Unmanned Aerial Vehicles) sont de plus en plus présents dans la vie de tous les jours. De nombreux projets ont vu le jour pour contrôler leur vol, gérer leur stabilité, rendre possible  l’édition de missions automatisées et bien d’autres choses.

En octobre 2014, la Linux Foundation a annoncé la dréation du projet DroneCode ayant pour objectif de fournir une plate-forme commune et open source pour les UAVs. Parrot qui a démarré la vente de ses drones sous Linux dès 2010, a bien évidemment pris part à cette aventure.

Ce lightning talk va tenter de donner une vue d’ensemble des projets développés par la communauté Dronecode. J’expliquerai également pourquoi et comment j’ai démarré il y a quelques mois l’intégration d’un autopilote open source, nommé Ardupilot, dans les drones Parrot. Je parlerai également du statut de ce projet et des potentiels qui en découlent.

Julien BERAUD – Responsable du développement des drivers vidéo chez Parrot depuis début 2014, Julien a démarré le développement en logiciel open source pour des drones Parrot en Juin 2015. Il est l’interface technique pour Parrot à la fondation Dronecode.

Porter Linux sur de nouvelles architectures de processeurs

Obtenir le bon fonctionnement du noyau Linux sur une nouvelle architecture de processeur est un processus difficile. Difficulté accrue par le fait qu’il existe très peu de documentation en la matière.

Après avoir passé un nombre d’heures indéterminé à me familiariser sur les architectures supportées, j’ai découvert qu’ile existe au final un squelette de fonctionnement bien défini partagé par la majorité des ports.

La première partie concerne le code du démarrage, synonyme d’un code spécifique à l’architecture, exécuté au moment où le noyau prend la main sur le gestionnaire de démarrage et jusqu’à ce qu’au final init soit exécuté. La deuxième partie regroupe elle le code spécifique à l’architecture, exécuté une fois que la phase de démarrage est terminée et que le noyau fonctionne normalement. Cette deuxième partie inclue le démarrage de nouveaux threads avec des interruptions matérielles ou logicielles, la copie de données relatives aux applications utilisateurs, la gestion des appels système…

Dans cette intervention, je proposerai une vue globale de cette procédure ou au moins une procédure possible, qui peut servir de fil directeur lors du port vers une nouvelle architecture processeur.

Joël Porquet – Joël a été post-doc à l’université Pierre et Marie Curie (UPMC) où il a réalisé le port de Linux vers TSAR, un processeur test. Il est à la recherche maintenant de nouvelles aventures.

2 Octobre

Puma: La mutualisation de mémoire non utilisée dans les machines virtuelles pour les applications consommatrices d’I/O

Avec l’avènement des architectures de type cloud, la virtualisation est devenue un mécanisme clé. Dans les clouds, les machines virtuelles offrent à la fois compartimentation et flexibilité. Ce sont les fondements même de l’élasticité mais cela induit une fragmentation des ressources physiques, dont la mémoire. Alors que la mémoire des machines virtuelles évolue dans le temps, les mécanismes existant d’allocation dynamique sont plutôt inefficaces et il est actuellement impossible de mutualiser de la memoire qui ne serait pas utilisée par une machine virtuelle hébergée sur un hôte différent.

Cette intervention présentera Puma, un mécanisme de cache distant, qui améliore la performance des applications consommatrices d’I/O en fournissant la possibilité pour une machine virtuelle de récupérer des pages mémoire propres d’autres machines virtuelles qui ne l’utiliserait pas. En réutilisant les structures de data des pages de cache existantes, Puma se révèle très efficace dans cette réallocation. Comme il est distribué, Puma augmente la consolidation de la mémoire à l’échellet d’un data center. Nous avons démontrés dans nos tests, que Puma accroissait de manière significative la performance sans impacter les pics potentiels d’activité sur les machines virtuelles qui cèdent de la mémoire.

Maxime Lorrillere est étudiant en thèse à l’université Pierre et Marie Curie (UPMC) depuis September 2012. Il travaille dans l’équipe de recherche REGAL à l’INRIA, au laboratoire d’Informatique de Paris 6 (LIP6). L’objet de sa thèse concerne la coopération dans l’adaptation des caches au sein du cloud computing et des environnements virtualisés. Il est également enseignant à l’UMPC sur les systèmes d’exploitation et la programmation noyau Linux (master).