Les clusters de calculs
Architecture Logicielle
Principe
Tout comme pour le matériel, il n'existe pas de modèle de référence concernant les applications de clustering. Nous allons donc aborder seulement les notions importantes.Il existe différentes manières de répartir des calculs sur une grappe de noeuds.
En règle général, l'architecture systéme la plus répandue est la suivante:
Le BIOS (Basic Input/Output System) gère l'entrée et la sortie des données et les échanges avec les périphériques. Aucun cluster à l'heure actuelle ne travaille à ce niveau pour la gestion des calculs. Néanmoins le BIOS est utilisé pour accélérer les échanges réseaux entre les noeuds.
Systèmes d'exploitation
Il existe des systèmes d'exploitation dédiés au clustering. Dans ce cas, le système gère lui même les échanges réseaux. Il peut dans certains cas découper les applications afin de les répartir sur le cluster. Ces systèmes permettent de lancer des applications qui ne sont pas développés à la base pour du clustering. Néanmoins, pour une utilisation optimale, l'utilisation de librairies dédiées au clustering est recommandée.Il existe des systèmes ou des extensions systèmes pour tous les environnements:
- Linux-Unix :
- Beowulf est un système conçu par la NASA permettant à partir de librairie de créer et d'utiliser des applications de calculs répartis.,
- Mosix est un système développé par l'université de Jérusalem permettant de découper une application pour la lancer sur un cluster. Ainsi aucun développement spécifique n'est nécessaire ,
- OpenMosix est une version open-source de Mosix
- BSD : Mosix est le portage de Mosix sous BSD.
- Mac OS : Xgrid est une surcouche à MacOS développé par la Apple's Advanced Computation Group qui propose une API permettant à un groupe d'ordinateurs en réseau d'effectuer des calculs répartis. XGrid est livré par défaut depuis Tiger.
- Windows : Windows 2003 cluster server R2 est une extension pour windows 2003 server. Son gros défaut est que cette solution repose sur un OS peu adapté au clustering. En effet, la présence d'une interface graphique lourde ralentit considérablement les performances.
Tableau de répartition
des clusters par OS
OS |
Nombre |
Répartition |
Linux |
376 |
75.20 % |
Unix |
86 |
17.20 % |
BSD Based |
3 |
0.60 % |
Mac OS |
3 |
0.60 % |
Mixed |
32 |
6.40 % |