Microsoft et l’ETH dévoilent un système d’exploitation adapté aux architectures multicœurs

Barrelfish est un nouvel OS open source développé par l’ETH Zurich et Microsoft Research Cambridge, qui espèrent résoudre les problèmes liés aux machines comprenant de multiples unités de calcul.

Les équipes de l’ETH Zurich Systems Group et de Microsoft Research Cambridge se sont alliées pour mettre au point un système d’exploitation de nouvelle génération, Barrelfish.

Ce projet placé sous licence open source BSD n’a pas pour vocation de concurrencer les systèmes d’exploitation classiques. Il sert de creuset de réflexion pour résoudre les problèmes liés aux architectures multicœurs.

Les concepts utilisés ici seront exploitables aussi bien pour les machines classiques comprenant de multiples processeurs ou cœurs, mais partageant un seul espace mémoire (SMP pour Symmetric multiprocessing) que les architectures où chaque unité de calcul dispose de son propre espace mémoire (NUMA pour Non-Uniform Memory Access), ou encore les clusters et même les ordinateurs combinant des technologies différentes, comme des processeurs et des GPU.

Tout ceci n’est pas sans rappeler les buts du projet TAOS, qui avait défrayé la chronique parmi les fans de technologies alternatives (merci à Vincent L. et Mirko V. pour leur mémoire sans faille).

Sans grande surprise, Barrelfish met l’accent sur la transmission de messages entre les unités de calcul, plutôt que sur l’utilisation d’espaces mémoire partagés, jugée ici moins efficace. Les premiers tests donnent des résultats encourageants.

Les développeurs ont présenté une version de test de Barrelfish, qui permettra de reproduire ces résultats. Elle ne fonctionne aujourd’hui que des systèmes x86 64 bits et présente un nombre limité de pilotes. Le système est disponible sous la forme d’un code source, compilable avec le GCC, sous Linux (la Debian et l’Ubuntu sont conseillées).

Les premiers résultats de ces travaux ont été présentés lors du 22eACM Symposium on Operating Systems Principles.

barrelfish.png