Full_Text
Transcription
Full_Text
03-04 November 2007 4th International Conference on Computer Integrated Manufacturing CIP’2007 Construction d’une Grappe de PC pour le Calcul Parallèle M.R. Boufatah (1) et A. Sari (2). Equipe du Calcul Parallèle, Laboratoire de Physique Théorique, Département de Physique, Faculté des Sciences, Université Abou Bekr Belkaïd, B.P. 119 Tlemcen 13000 – Algérie. (1) [email protected], (2) [email protected] Abstract- La globalisation de ressources informatiques et de données consiste en la possibilité d’offrir aux utilisateurs des ressources informatiques virtuellement illimitées, tant en capacité de stockage qu’en masse de calcul. Ces ressources sont réparties de manière dynamique sur un ensemble non figé d’équipements, et offrant à l’utilisateur un accès transparent à ces dernières. La structure retenue est : des réseaux de stations de travail construits en interconnectant des équipements informatiques standard à travers un réseau à haut débit. La répartition et le couplage de très grandes bases de données posent des problèmes. Par ailleurs, on assiste à une évolution forte des ordinateurs avec l’intégration des capacités de télécommunication : interconnecter des réseaux dynamiques et hétérogènes et les utiliser comme ressources globales est un sujet d’actualité. Nous présenterons une grappe de PC que nous avons développé dans notre laboratoire et montrons l’intérêt d’un tel système comparé à ceux qui sont dédiés au calcul parallèle. I. INTRODUCTION Au fur et à mesure que les niveaux de performance et de commodité des ordinateurs et des réseaux augmentent, il devient de plus en plus facile de construire des systèmes informatiques parallèles à partir de composants facilement disponibles, plutôt que de fabriquer des processeurs dédiés à de très coûteux superordinateurs. En fait, le rapport prix/performances d'une machine de type Beowulf [1] est de trois à dix fois meilleures que celui des superordinateurs dédiés. Beowulf est une architecture multi-ordinateurs qui peut être utilisée pour la programmation parallèle. Ce système comporte habituellement un nœud serveur, et un ou plusieurs nœuds clients connectés entre eux à travers Ethernet ou tout autre réseau. C'est un système construit en utilisant des composants matériels existants, adaptateurs Ethernet standard, et des switches. Beowulf utilise aussi des éléments comme le système d'exploitation Linux, Parallel Virtual Machine (PVM) et Message Passing Interface (MPI). Le nœud serveur contrôle l'ensemble du cluster et sert de serveur de fichiers pour les nœuds clients. Une des principales différences entre Beowulf et un Cluster de Stations de travail (COW) est le fait que Beowulf se comporte plus comme une machine unique que comme plusieurs stations de travail. Dans de nombreux cas, les nœuds clients n'ont ni claviers ni moniteurs, et on y accède que par une connexion distante ou par un terminal série. Les nœuds Beowulf peuvent être envisagés comme un CPU et des ensembles de mémoires qui peuvent être branchés dans le cluster, exactement comme un CPU ou un module mémoire peut être branché sur une carte mère. La récente liste du top500 [2] des supercalculateurs montre que 77 % des supercalculateurs les plus puissants au monde sont des grappes. L’intérêt de construire un tel système est d’obtenir une très grande performance de calcul avec un budget relativement bas. Nous allons décrire dans cet article la construction d’une grappe avec du matériel informatique standard. II. CONSTRUCTION Dans cette partie, nous donnons une description des différents composants matériels et logiciels informatiques que nous avons utilisés pour développer notre grappe de PC au Laboratoire de Physique Théorique de l’Université de Tlemcen (Fig. 1). A. Matériel La configuration de chaque nœud de notre grappe ne diffère pas des PC standard que nous trouvons dans le commerce grand publique, à l’exception qu’ils ne disposent ni d’écran, ni de clavier, ni de souris, ni lecteur de disquette et de CdRom (Fig. 1). Chaque nœud est constitué d’un seul CPU AMD Athlon cadencé à 1.42 GigaHz et de deux SDRAM de 128 Megaoctets à 133 MHz. Les caractéristiques de chaque nœud ainsi que le cout financier sont données dans le Tableau I. Pour le réseau nous avons utilisé un switch, la distance de communication entre deux nœuds est la même. Nous assignons à chaque nœud des adresses IP privées de la classe C ainsi nous pouvons augmenter le nombre de nœud indéfiniment, seul le serveur qui agit comme un routeur est vu de l’extérieur. B. Logiciels Pour faire tourner un programme sur une grappe, il faut: 1. des nœuds qui fonctionnent: choix d'un OS. 2. des nœuds qui communiquent: choix d'un réseau. 3. des nœuds qui partagent des données: choix d'un système de fichiers. 4. des nœuds qui exécutent un code parallèle: choix d'un paradigme de programmation. Ce découpage semble logique, toutefois les choix à effectuer ne sont pas toujours indépendants si l'on veut utiliser des 03-04 November 2007 4th International Conference on Computer Integrated Manufacturing CIP’2007 solutions déjà existantes. Pour cette grappe, les choix sont les suivants: Noeuds Noeuds Serveur Fig. 1 La Grappe Baibars du Laboratoire de Physique Théorique. Puissance atteinte 9.453 GigaFlop 1. l'OS: famille Unix. Nous utiliserons la distribution linux Fedora Core 2 [3] car elle fournit certaines solutions pour les choix suivants. 2. le réseau: couche physique Ethernet, couche transport TCP/IP. Tout le nécessaire vient avec la distribution Linux. 3. le système de fichiers: NFS permet de partager des fichiers sur des machines connectés en réseau, fournit avec la distribution Linux. 4. le paradigme de programmation: échange de message, on utilisera une distribution de MPI [4]. Le Tableau II résume les différents logiciels installés sur notre grappe TABLEAU II LISTE DE LOGICIELS INSTALLES SUR LA GRAPPE Produit Linux Fedora Core 2 gcc ifort mpich pvm mkl Atlas Version Kernel 2.6.10-1.771_FC2 3.3.3 9.0 1.2.7p1 3.4.5 8.0 3.6.0 Le second test est le code High Performance Linpack (HPL) [6], utilisé pour classer les 500 plus puissants supercalculateurs au monde [2]. Le HPL est un ensemble de programmes qui résout un système linéaire dense aléatoirement en double précision (64 bits) sur des calculateurs à mémoire distribuée. Dans notre cas, nous l’avons exécuté pour trois tailles différentes avec un nombre différent de CPU. Le pic théorique de puissance est estimé à 12 × 1.42 = 17.04 GigaFlop. Le Tableau IV résume les résultats obtenus. Nous remarquons que la puissance maximale atteinte est 9.453 GigaFlop, soit 55% de la puissance théorique. Ceci nous positionne à la 377 ième place de la liste top500 de juin 1997 [7]. TABLEAU I LISTE DU MATERIEL ET COUT FINANCIER DE LA GRAPPE Nœuds Châssis Carte mère CPU Mémoire Disque Dur Réseau Switch Cout d’un nœud Cout du réseau Cout de l’armoire Cout total 12 nœuds de calcul +01 nœud serveur Boitier de format 2U standard PcChips M810 AMD Athlon XP 1700+/1460.468 MHz/ Cache L2 256 Ko 2 × 128 Moctet SDRAM 133 MHz / 3Goctet au total 30 Goctet Seagate IDE Fast Ethernet 100 Mbps 16 ports Cent 10/100 Mbps 35.000,00 DA 25.000,00 DA 53.000,00 DA 533.000,00 DA III. PERFORMANCE Pour tester la performance de notre grappe, nous avons utilisé deux benchmarks. Le premier, NetPipe [5], teste l’efficacité du réseau de communication. De ce fait, nous l’avons testé en mode ping qui utilise la couche ICMP sur la couche IP (Fig. 2). Le Tableau III donne la latence et le débit d’une telle communication. Fig. 2 Bande passante du réseau en MegaOctet/sec en fonction de la taille du message envoyé par le test ping en Octet TABLEAU III PERFORMANCE D’UNE COMMUNICATION POINT-A-POINT Latence intra-nœuds (message de 8octet) Débit intra-nœuds (message de 2097149 octet) 0.0639 msec 84. 213216 Mbps TABLEAU IV RESULTATS DU CODE HIGH PERFORMANCE LINPACK (HPL) Nombre de CPU Taille de la Matrice Temps (sec) Résultat (GigaFlop) 04 06 12 10.000 12.300 17.700 149.98 251.87 391.14 4.446 4.926 9.453 4th International Conference on Computer Integrated Manufacturing CIP’2007 IV. CONCLUSION Nous avons montré qu’un réseau de PC est un exemple très simple pour construire une puissante machine de calcul. Avec des composantes standard nous pouvons traiter des données à la même vitesse que les superordinateurs dédiés. La machine a été testée avec le code HPL de la liste de top500 et nous avons obtenue une puissance de 9.453 GigaFlop soit 55% de la puissance théorique. Signalons aussi que notre calculateur revient à uniquement 55DA/MegaFlop. Ainsi les grappes de PC peuvent être utilisées chaque fois qu’un organisme universitaire ou institutionnel à besoin d’une puissance de calcul. Cette solution s’avère d’autre part une alternative convenable et performante pour les groupes de recherche dans les pays en voie de développement. Enfin insistons sur le fait que notre grappe peut donner une grande souplesse académique et scientifique pour la résolution des problèmes de simulation et de prédiction. REFERENCES [1] [2] [3] [4] [5] [6] [7] http://www.beowulf.org http://www.top500.org http://fedora.redhat.com http://www.mcs.anl.gov/mpi/mpich/index.html http://www.scl.ameslab.gov/netpipe/ http://www.netlib.org/benchmark/hpl/ http://www.top500.org/site/1759/list/9 03-04 November 2007