Windows | Windows Server | Active directory | Exchange | SharePoint | SCCM | SCOM | Hyper-V | App-V
ACCUEIL Facebook Twitter Linked In Viadeo Flux RSS
Actualités suivantes

Actualités précédentes
Nouvel outil de diagnostic sur Office 365
Nombreux départ à Microsoft
Cortana aura du retard sur Android
Que vaut vraiment la Microsoft Surface 3?
Microsoft tente de réduire l'écart avec Sony


Publié le : 02/10/2009 09:21:49
Mise à jour le : 26/09/2009 13:25:25
Catégories :


Version imprimable

Auteur(s)

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


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 (Institut fédéral de technologie) de Zurich, explore des pistes pour fournir quelques éléments de réponse.

Barrelfish – le nom vient d'un poisson des grands fonds, la rouffe des épaves – implémente une architecture baptisée multi noyau, 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).

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 inter applicatifs, 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 donne 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. (Source 01 net)