Clustering facile

Depuis quelques années, les super ordinateurs sont de plus en plus concurrencés par une autre forme de puissance informatique : les clusters. Souvenez-vous : voilà près d'un an, Linux Magazine numéro 1 (maintenant collector) expliquait le B-A-BA du clustering sous Linux. Depuis, bien des choses ont changé.

Rappel

Un cluster (grappe) est un ensemble d'ordinateurs connectés les uns aux autres en réseau dans le but de partager des ressources. Ces ordinateurs sont alors appelés nodes (noeuds) et l'ensemble forme le cluster. Deux raisons peuvent motiver la création d'un cluster :

1. La fiabilité : l'équation est très simple, le cluster forme un ensemble plus fiable en terme de risque lié au stockage des données que chaque node séparément. Le stockage des informations étant redondant, le fonctionnement du cluster et l'assurance contre des pertes de données peuvent être garantis à 99,9 %.

2. La quête de puissance : c'est habituellement la principale utilisation d'un cluster. L'ensemble des nodes cumulent leur puissance de calcul pour arriver à des performances égales à celles d'un super ordinateur. Les avantages sont multiples, relevons les deux plus importants : le coût de revient d'un cluster est de beaucoup inférieur à celui d'un super calculateur et la possibilité d'extension est quasi infinie (il suffit d'ajouter de nouveaux nodes).

Les choix

Il existe plusieurs solutions logicielles de bas niveau pour construire un cluster sous Linux. Dans un premier temps, un choix de matériel performant s'impose. En effet, disposer d'une quinzaine de machines à base de Pentium III (tm) est une chose. La manière de les relier en est une autre. La topologie courante utilisant des câbles coaxiaux est limitée à un débit de 10 Mo par seconde. Dans ces conditions, la puissance globale du cluster n'a pas grand chose d'impressionnant et pour cause. Chaque node du cluster doit en permanence communiquer avec les autres nodes pour synchroniser les efforts de calcul. Si cette communication ne se fait pas de manière optimale, les performances en sont d'autant réduites. La solution la plus rentable consiste donc à choisir un réseau Ethernet 100 base T ainsi que des hubs capables de gérer plusieurs flux de données entre des nodes différents : des switched hubs.

Après le choix du matériel, il faut se pencher sur la question logicielle. La plate-forme GNU / Linux possède un grand nombre de solutions dont les plus connues sont PVM et MPI. Il s'agit principalement de bibliothèques et de démons pour respectivement développer des applications en clustering et les faire fonctionner. En dehors du cadre scientifique, l'utilisation la plus répandue est le rendering d'images. Un bon exemple est, bien sûr, le logiciel PovRay dans sa version PVM. La version d'origine est alors modifiée de manière à répartir le calcul d'une image sur plusieurs nodes, le tout orchestré par PVM. Côté professionnnel, le nombre d'exemples est plus important. Un cluster s'avère très utile pour toutes applications nécessitant une forte puissance CPU comme les statistiques, les prévisions de toutes sortes, les calculs mathématiques complexes...

Alinka Raisin

Sous ce nom se cache un logiciel français destiné à faciliter la mise en oeuvre et l'administration d'un cluster sous Linux. En effet, si les utilitaires destinés à construire un cluster sont courants sous notre belle plate-forme, il n'en va pas de même pour les logiciels d'administration. Alinka Raisin est le produit de la société Alinka. Il s'agit d'une startup misant sur la rentabilité et la viabilité des clusters. Le coeur d'Alinka Raisin, appelé Alinka LCM (Linux Cluster Manager), est disponible en version GPL pour les particuliers et laboratoires voulant en faire l'essai. Il fonctionne avec une interface en mode console et offre les mêmes fonctions que sa cousine graphique.

Alinka Raisin, la version professionnelle, est destinée aux entreprises et laboratoires désireux de rapidement mettre en place leur cluster et surtout, de le gérer avec la plus grande simplicité. Cette version utilise une interface via un navigateur Web. Les deux versions de Alinka Raisin supportent à la fois PVM et MPI.

Questions

L'aspect important de Alinka Raisin est son mode de distribution. Voyons avec Alinka les raisons qui motivent ce choix :

Alinka est une startup toute jeune. Comment s'est créée cette société ?

Antoine Brenner et moi-même avons créé Alinka l'été dernier. Antoine, qui pratique Linux depuis 5 ans, s'occupe de toute la partie technique de la société, alors que je suis plus tourné vers l'aspect commercial et marketing des choses. Nous avons développé le logiciel depuis mars dernier et l'avons présenté au public pour la première fois au CNIT le 17 septembre. Les premiers clients ont été acquis à la suite de cette présentation, sous forme de sites pilotes. Pour financer le développement, et notamment l'embauche de développeurs, nous avons demandé un financement ANVAR, que nous avons obtenu récemment. Aujourd'hui, 4 développeurs travaillent sur Alinka Raisin et d'autres projets à plein temps.

Avez-vous dès le départ décidé de miser sur une plate-forme libre ?

Tout à fait. Le choix Linux est un véritable fondement de notre activité. Le clustering sous Linux existe depuis 1994, lorsque le centre spatial américain NASA CESDIS met en place le premier cluster de PC sous Linux, sous le nom de projet Beowulf. Aujourd'hui, des dizaines de grappes sous Linux fonctionnent dans différentes universités et laboratoires. Dans le top 500 des plus puissants ordinateurs au monde, 9 sont des clusters sous Linux. Linux est incontestablement plus mûr pour le clustering de puissance que Windows NT.

Vous avez décidé de diffuser une version GPL du coeur de Alinka Raisin, pourquoi ?

Le coeur de Alinka Raisin est un puissant noyau appelé Alinka LCM (Linux Cluster Manager). Alinka LCM fonctionne avec une base de données PostgreSQL, offrant ainsi une très grande évolutivité au logiciel. C'est parce que cette évolutivité est importante que nous souhaitons diffuser une version GPL de ce noyau. En effet, la communauté Linux, de par sa compétence dans le domaine et son enthousiasme vis-à-vis de la vague du clustering, peut nous permettre d'intégrer de nombreuses fonctionnalités supplémentaires. Nous espérons que la communauté, en utilisant Alinka LCM, s'associera à nous pour promouvoir cette technologie qui, selon nous, va prendre une ampleur très importante dans le futur.

La version professionnelle Alinka Raisin répond quant à elle à un constat simple :

Les solutions en cluster sous Linux, pourtant si avantageuses par leur excellent rapport performance / prix, sont essentiellement utilisées dans les milieux académiques. La réticence du milieu industriel vis-à-vis de cette technologie provient du fait qu'il n'existe pas d'offre commerciale permettant d'installer et d'administrer facilement des clusters de PC sous Linux. Notre objectif est de rendre cette technologie accessible à d'autres secteurs, grâce à des outils de qualité qui pourront être utilisés pour des applications industrielles.

Pensez-vous que cette alliance GPL / propriétaire puisse être bénéfique pour d'autres startup ?

Le GPL est indispensable pour que Linux conserve ses performances. Cependant, si les entreprises admettent volontiers que Linux répond à de nombreuses problématiques informatiques, elles ne sont pas pour autant prêtes à l'intégrer. Une des raisons possibles est le manque de support technique, de solutions commerciales packagées, conviviales, pour lesquelles elles auront un interlocuteur bien identifié en cas de problème, et non une communauté. Les entreprises préfèrent alors payer plutôt que se rendre dépendantes des compétences internes qui savent intégrer les logiciels GPL.

Outre l'interface, y a-t-il des différences entre Alinka Raisin et son noyau GPL ?

Aucune. Toutes les fonctionnalités d'Alinka Raisin sont gérées par Alinka LCM. Cependant, l'utilisation de certaines fonctionnalités, comme la possibilité de diviser les clusters en sous-clusters, s'avère plus difficile sans l'interface.

Pensez-vous étendre les fonctionnalités de Alinka Raisin ?

En écoutant une à une les problématiques de nos clients, beaucoup nous demandaient si Alinka Raisin gérait MOSIX. Devant leur déception, nous avons décidé d'intégrer ce logiciel de partage de charge à la prochaine version de Alinka Raisin.

Linux Magazine France n° 12 - Décembre 99