Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

A la recherche d'un OS taillé pour le multicœur

25 Septembre 2009 , Rédigé par Jean Michel Publié dans #Actu Matériel informatique

Microsoft et l'ETH Zurich planchent sur un système d'exploitation expérimental baptisé Barrelfish, optimisé pour les architectures multicœurs. Cet OS reprend certains principes des systèmes distribués de type cluster.

L'industrie des microprocesseurs a abandonné la course à la fréquence pour s'engager dans celle à la multiplication des cœurs. Très bien. Mais comment tirer parti au mieux de cette puissance ? Barrelfish, un système d'exploitation expérimental développé par deux équipes issues des laboratoires Microsoft Research de Cambridge et de l'ETH.



Barrelfish – le nom vient d'un poisson des grands fonds, la rouffe des épaves – implémente une architecture baptisée multinoyau, relativement novatrice. Elle consiste à utiliser au sein d'une même machine plusieurs instances de système d'exploitation, une par cœur, qui se coordonnent en permanence pour former un système virtuel unique. Dans ce modèle, chaque cœur contrôle une portion de mémoire qu'il ne partage avec aucun autre (selon le modèle dit share-nothing). 
(Institut fédéral de technologie) de Zurich, explore des pistes pour fournir quelques éléments de réponse.

 

 

Une grille de calcul dans une carte mère

Barrelfish crée un cluster interne à l'ordinateur en imitant le  modèle des fermes de calcul ou des grilles constituées de milliers de nœuds et utilisées par les scientifiques. La communication entre chacun de ces nœuds se fait en mode message, une technologie utilisée depuis longtemps pour les échanges interapplicatifs, par exemple. Si l'implémentation proposée est originale, une grande partie des concepts sous-jacents à ce système d'exploitation d'un nouveau genre remontent à plusieurs décennies.

A titre de comparaison, dans les systèmes d'exploitation les plus courants (Windows, Unix, Linux, BSD, Mac OS) un seul noyau – c'est-à-dire le code qui rassemble les fonctions les plus critiques du système d'exploitation – prend en charge plusieurs processeurs et/ou cœurs et l'ensemble de la mémoire associée. A mesure que le nombre de processeurs et de cœurs augmente, la question de la gestion de la mémoire partagée par tous et de son maintien dans un état cohérent devient de plus en plus complexe et consommatrice de ressources. Ce phénomène se traduit par le fait que les performances n'augmentent pas linéairement avec l'ajout de nouveaux processeurs et cœurs de processeurs.


S'adapter aux architectures modernes

Comme l'expliquent les créateurs de Barrelfish dans un article, « le matériel moderne ressemble à un système en réseau », ou encore à un système distribué, constitué d'un ensemble d'unités de traitement réparties sur une grille de communication (par exemple les cœurs assemblés sur un bus système). Il est temps, continue cet article « de prendre pleinement en compte la nature distribuée de cette machine et d'appliquer avec précaution (et aussi de modifier) les idées des systèmes distribués à la conception de nouveaux systèmes d'exploitation ».



Pour le moment, Barrelfish, qui inclut du code BSD modifié, ne fonctionne qu'avec des processeurs x86-64 Intel ou AMD. Mais l'équipe travaille à son portage sur ARM, et envisage de créer à court terme des environnements hétérogènes associant divers types de processeurs, certains généralistes, d'autres spécialistes (composants graphiques, contrôleurs réseau...) avec le même système d'exploitation. Rien ne prouve par ailleurs que ce projet de recherche donnera le jour à un produit commercial à court ou long terme. Mais il confirme l'effervescence que la parallélisation des architectures crée dans la communauté informatique.

 

 

Partager cet article

Commenter cet article

Philippe 26/09/2009 22:49


Linux ?