Clustering dernière partie
Présentation des méthodes de clustering
3.1 Systèmes d'exploitation :
3.1.1 LinuxLe choix de Linux dans un cluster n'est souvent pas un choix politique mais un choix de raison. Il s'oppose en général au choix du couple Unix-Machine spécialisée (comme AIX et IBM PowerPC). Linux permet de monter rapidement un cluster pour un coût très faible. Il offre de plus un très large éventail de logiciels libres pour la gestion, l'installation et l'utilisation de clusters. On peut en citer quelques uns comme Oscar, sous license GPL il fournit des outils pour l'utilisation et la maintenance de serveurs de calcul, LVS, ou Linux Virtual Server qui fournit une adresse virtuelle partagée pour tous les noeuds d'un cluster à équilibrage de charge, etc.
Linux offre aussi un large choix de distribution pour à peu prêt tous les types de plateformes. Les plus utilisées sont la RedHat (payante) ou la Mandrake. Ce choix se base en règle général sur les outils mis à disposition sur chacune des distribution et sur leur stabilité. Linux, au contraire d'une partie des UNIX, est OpenSource. Il reste donc un système très ouvert, "relativement" modifiable. On appelle ce type d'architecture, basée sur des PC bon marchés, des clusters "BeoWulf". Ils sont apparu en premier lieu à la NASA mais sont aujourd'hui couramment utilisés.
3.1.2 Unix proptiétaires
Les UNIX sont en général choisis en fonction du matériel que l'on souhaite mettre en jeu. Ils offrent les mêmes possibilités que les différentes distributions de Linux, avec en plus des outils propriétaires très performants pour la gestion du cluster. IBM est un des acteurs les plus dynamiques du marché. Il offre avec AIX et ses serveurs "high end" des systèmes très perfectionnés comme l'hyperviseur z/VM que nous verrons plus loin qui permet la virtualisation des ressources.
Cependant ils ne sont pas gratuits. Ils sont souvent liés à du matériel très coûteux. Les couples OS - serveurs les plus communs sont: AIX - Station IBM PowerPC, Mac OS X - Apple xServe et HPUnix - Stations HP. De plus leurs sources ne sont pas intégralement publiées, il est donc presque impossible de les modifier. Par contre, les fabricants proposent en général un support qui n'existe pas avec Linux. Les parts de marché des ces UNIX propriétaires sont en baisses depuis le début des années 2000 au profit de Linux.
3.1.3 Microsoft Windows
Microsoft propose depuis la version NT 4.0 de Windows des solutions de clustering pour entreprise. Deux types de clustering sont à disposition:
- le clustering de service : Dans la philosophie d'un cluster HS, il permet de fournir un service tolérant aux pannes.
- le clustering à répartition de charge : Celui-ci permet comme son nom l'indique, de répartir certaines tâches sur plusieurs machines.
Toutefois les solutions de Microsoft ne sont pas satisfaisantes. Microsoft indique une limitation à 8 noeuds maximum pour la version de Windows Server 2003 [6], leur solution de clustering ne fonctionne que pour les technologies Microsoft (comme Microsft SQL Server) et le système est sujet à de trop nombreux correctifs pour en faire un système de clustering fiable.
Cependant, conscient de ce problème, la firme de Redmond prépare une version spéciale de Windows Server 2003, la Compute Cluster Edition. Celle-ci supportera le hardware de haute performance, entre autre un beaucoup plus grand nombre de noeuds, et les standards comme MPI-2 et le "RDMA over Ethernet and Infiniband", comme MPICH. Cette version ne sortira pas avant fin 2005. Microsoft n'as pas encore décidé si leur version serait 64bits ou 32bits, ni si elle tournera sur Itanium ou Athlon64.