Limitations of the PlayStation 3 for High Performance Cluster Computing

Documents pareils
Limitations of the Playstation 3 for High Performance Cluster Computing

Architecture des ordinateurs

Initiation au HPC - Généralités

Contributions à l expérimentation sur les systèmes distribués de grande taille

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Architecture des calculateurs

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Représentation des Nombres

NOTIONS DE RESEAUX INFORMATIQUES

Programmation C. Apprendre à développer des programmes simples dans le langage C

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

Métriques de performance pour les algorithmes et programmes parallèles

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

Cours Informatique 1. Monsieur SADOUNI Salheddine

Eléments d architecture des machines parallèles et distribuées

en version SAN ou NAS

Programmation parallèle et distribuée

Leçon 1 : Les principaux composants d un ordinateur

vbladecenter S! tout-en-un en version SAN ou NAS

Introduction à la Programmation Parallèle: MPI

VMWare Infrastructure 3

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport de stage Master 2

Aspects théoriques et algorithmiques du calcul réparti L agglomération

Introduction à MATLAB R

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Point sur la virtualisation

Traitement numérique de l'image. Raphaël Isdant

Algorithme. Table des matières

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

au Centre Inter-établissement pour les Services Réseaux Cédric GALLO

Calcul scientifique précis et efficace sur le processeur CELL

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Communications performantes par passage de message entre machines virtuelles co-hébergées

Cours 13. RAID et SAN. 2004, Marc-André Léger

Architecture des Ordinateurs. Partie II:

Partie théorique (20 points) :

Détection d'intrusions en environnement haute performance

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Projet IGGI. Infrastructure pour Grappe, Grille et Intranet. Fabrice Dupros. CASCIMODOT - Novembre Systèmes et Technologies de l Information

Petit guide des sous-réseaux IP

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Rappels sur les suites - Algorithme

Exercices Corrigés Premières notions sur les espaces vectoriels

Éléments d'architecture des ordinateurs

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Tests de performance du matériel

Architecture des ordinateurs

Intervenant : Olivier Parcollet olivier.parcollet@semtao.fr Architecte Systèmes & Réseaux. RETOUR D EXPERIENCE Virtualisation à lasetao

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

INFO 2 : Traitement des images

Systèmes et traitement parallèles

Linux embarqué: une alternative à Windows CE?

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

Mode d emploi pour lire des livres numériques

Recherche et Diffusion de l Information dans les Réseaux. Philippe Robert. Le 8 avril 2014

Consolidation de stockage

Tsoft et Groupe Eyrolles, 2005, ISBN :


Système de stockage IBM XIV Storage System Description technique

Caractéristiques et débits de votre ligne ADSL

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

Version de novembre 2012, valable jusqu en avril 2013

3.2. Matlab/Simulink Généralités

Asynchronisme : Cadres continu et discret

Les liaisons SPI et I2C

Théorie et codage de l information

Réseau Global MIDI Note applicative

Entrez dans l ère du Numérique Très Haut Débit

Physique quantique et physique statistique

Le e s tocka k ge g DAS,NAS,SAN

La continuité de service

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Marché Public. Serveurs et Sauvegarde 2015

Parallélisme et Répartition

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

TASCAM MX Utilisation du SCSI

Erreur statique. Chapitre Définition

FORMATION CONTINUE SUR L UTILISATION D EXCEL DANS L ENSEIGNEMENT Expérience de l E.N.S de Tétouan (Maroc)

Codage d information. Codage d information : -Définition-

Technologie de déduplication de Barracuda Backup. Livre blanc

Conception des systèmes répartis

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI

Transcription:

Master d Informatique Fondamentale École Normale Supérieure Lyon Calcul matriciel haute performance Chantal KELLER Limitations of the PlayStation 3 for High Performance Cluster Computing Alfredo Buttari, Jack Dongarra, Jakub Kurzak July 2007 En novembre 2006 est sortie la PlayStation 3 [1] Sony, l une s toutes premières architectures basées sur le processeur Cell Broadband Engine [2] Sony, Toshiba et IBM. La particularité cette architecture est d être rapi et puissante en terme tout en restant bon marché. De plus, elle répond aux besoins actuels en terme consommation et dissipation chaleur. L article Buttari et al. fait une étu s possibilités offertes par l architecture la PS3 pour la réalisation d une grille : se prête-t-elle à du rapi et performant? Nous verrons que, outre le fait que la programmation ne soit pas aisée sur ce système, il présente également nombreuses limitations en terme rapidité et mémoire. Pour cela, nous testerons les possibilités la grille sur le produit matrices. 1 Architecture la grille On réalise une grille composée np PS3, elles-mêmes dotées d un processeur Cell BE (voir Fig. 1). Nous allons voir quelles sont les caractéristiques techniques à chaque niveau (processeur Cell, PS3 et grille) qui permettent comprendre les caractéristiques la grille. Nous ne nous attacherons car une version réduite s architectures, centralisée sur le sujet qui nous intéresse, à savoir l étu s performances du système. Cell Cell Cell PS3 PS3 PS3 Cell PS3 Cell PS3 grille Cell PS3 Fig. 1 Grille 1

1.1 Processeur Cell 1.1.1 Architecture Le processeur Cell BE est un processeur multicœur hétérogène composé d un PowerPC, huit unités et d une mémoire partagée, le tout relié à un bus (voir Fig. 2). bus PowerPC Memoire I/O Fig. 2 Architecture simplifiée d un processeur Cell PowerPC Le PowerPC est un processeur 64-bit qui sert à contrôler le flot d exécution pour les unités. Unités Les unités sont s processeurs vectoriels permettant d effectuer s opérations en simple ou en double précision. Ils ont chacun, en simple précision, une vitesse d exécution maximale 25,6 Gflop/s. Cependant, les instructions en double précision n étant pas totalement pipelinées, la vitesse d exécution maximale en double précision n est que 1,8 Gflop/s. Elle possènt chacune une mémoire locale 256 Ko et 128 registres 128 bits chacun. Bus La ban passante maximale du bus est 204,8 Go/s. 1.1.2 Points forts On constate que l organisation la mémoire permet 128 transferts simultanés entre les unités et la mémoire partagée, ce qui est plutôt rapi. De plus, la présence du PowerPC pour le contrôle s opérations donne une gran fréquence à l ensemble. Pour développer s applications sur une architecture Cell, l utilisateur possè un contrôle total sur le matériel, et peut donc réaliser une implantation efficace, pourvu qu il respecte certaines règles programmation : utiliser s opérations vectorielles ; aligner les données en mémoire ; masquer le coût s communications entre la mémoire partagée et les unités par le coût s s ; réutiliser au maximum les données du cache ; dérouler les boucles ; réduire le nombre branchements. 2

1.1.3 Points faibles La distribution la mémoire est telle qu il y a très nombreux transferts entre la mémoire partagée et les unités : même si ces transferts peuvent se faire rapiment, il faut donc mieux essayer les cacher par le. Ainsi, si cette architecture peut s adapter à l algèbre linéaire nse, qui man beaucoup s et s accès assez réguliers à la mémoire, elle ne convient pas du tout pour l algèbre linéaire creuse : les accès à la mémoire sont très particuliers et une mauvaise implantation peut les rendre lents. 1.2 PlayStation 3 1.2.1 Architecture La PS3 se compose donc d un processeur Cell BE, auquel on ajoute : une mémoire 256 Mo ; une carte Gigabit Ethernet ; une carte graphique NVIDIA avec 256 Mo mémoire RAM. On ne peut pas accér au matériel directement : un hyperviseur, appelé Game OS, installé sur l une s unités du processeur Cell, sert à relier le matériel et le logiciel. On ne peut programmer la PS3 sans passer par celui-ci, ce qui pose nombreux problèmes : l accès au réseau, qui doit se faire à travers l hyperviseur, s en trouve ralenti ; la carte graphique, et notamment sa mémoire RAM, est totalement inaccessible ; le Game OS occupe l une s unités à laquelle on ne peut plus accér. De plus, pour les besoins la programmation bibliothèques, un système d exploitation Linux est installé sur une autre s unités, ce qui l empêche également participer au distribué. 1.2.2 Point(s) fort(s) La PS3 possè une assez bonne carte réseau, ce qui permettra d augmenter la vitesse s communications dans la grille PS3. 1.2.3 Points faibles Nous avons déjà évoqué les problèmes liés à la présence du Game OS et au fait que ux s unités s sont occupées. Un problème se pose également au niveau la mémoire : une mémoire 256 Mo ne permet pas faire du sur grans matrices! Cela limite énormément les possibilités, surtout si on utilise la double précision. 1.3 Grille 1.3.1 Architecture On connecte les np processeurs via un switch. Pour ne pas perdre performance au niveau du réseau, il faut utiliser un switch bonne qualité. 3

1.3.2 Protocole L article teste trois protocoles MPI, afin choisir celui qui donnera les meilleures performances. Pour cela, les auteurs utilisent une bibliothèque test protocoles MPI pour comparer MPICH1, MPICH2 et OpenMPI en termes ban passante et latence. On constate que MPICH1 est moins performant que les ux autres protocoles. De plus, tous ces protocoles voient leurs performances très diminuées par la présence l hyperviseur qui ralentit les communications : au maximum, la ban passante n est qu à 60% sa valeur théorique. L article ne mentionne pas quelle bibliothèque est utilisée au final, ce qui empêche la reproductibilité l expérience décrite ci-ssous. 2 Test performances Pour tester les performances cette grille, on étudie le produit matrices nses distribué. Ceci est en effet un bon exemple : comme vu précémment, les caractéristiques du système le rennt plus propice à l algèbre linéaire nse ; on connaît pour ce produit s algorithmes performants et faciles à implanter, et qui utilisent s opérations bases que l on sait réaliser très rapiment ; c est un exemple qui man beaucoup s, et permet donc d utiliser la métho programmation consistant à cacher le coût s communications par le coût s s. 2.1 Choix s caractéristiques la grille On a les caractéristiques suivantes : Donnée Notation Valeur Nombre processeurs np 4 Taille d un vecteur (en octets) f psize 4 Ban passante du réseau bw 600 Mb/s Performance maximale d une PS3 peak 25, 6 6 = 153, 6 Gflop/s Pour la uxième ligne, le fait que les vecteurs aient pour longueur 4 octets se traduit par le fait que l on est en simple précision. Pour la rnière ligne, chaque unité a en effet une performance maximale 25,6 Gflop/s, et seules six unités sont disponibles. 2.2 Choix l algorithme L algorithme retenu car correspondant le mieux à l architecture dont on dispose est l algorithme SUMMA avec un stockage par blocs acyclique s matrices : si on a np processeurs et une matrice taille m n, chaque processeur possè m np n coefficients la matrices np qui forment un bloc. On veut multiplier A M m,n (R) et B M n,p (R) : A est divisée en blocs taille m np n np, et on notera A i la i e colonne blocs A ; 4

B est divisée en blocs taille n np p np, et on notera B i la i e ligne blocs B ; On stocke le résultat dans C M m,p (R). L algorithme utilisé est le suivant : 1. Pour i 1 à n/nb faire 2. Si on possè un bloc A i alors 3. copier ce bloc dans buf 1 ; 4. envoyer buf 1 à tous les processeurs sa ligne 5. FinSi 6. Si on possè un bloc B i alors 7. copier ce bloc dans buf 2 ; 8. envoyer buf 2 à tous les processeurs sa colonne 9. FinSi 10. C C + buf 1 buf 2 11. FinPour 2.3 Analyse l algorithme On se place sous les trois hypothèses suivantes : si plusieurs communications ont lieu en même temps, on a la même performance que lorsqu elles ont lieu séparément ; envoyer un message à n processeurs a le même coût qu envoyer un message longueur n à 1 processeur ; les unités s et la ban passante sont utilisées avec leur performance maximale. On considère également le cas (plus simple) où m = n = p. Temps s communications Pour un i donné, les processeurs qui mettent le plus temps pour les communications sont les processeurs qui possènt les diagonales s matrices, et qui doivent donc faire les ux envois. Le nombre messages à envoyer est alors : Chaque message a pour taille : On a donc : msgsize = nmsg = 2( np 1) n np nb fpsize où nb = n np t com = nmsg msgsize bw Temps s s Pour un i donné, le nombre d opérations virgule flottante est : On a donc : ops = 2 n n nb np np 5

t cal = ops peak Temps total Pour un pas : si on ne superpose pas communications et s, t = t com + t cal ; si on superpose communications et s, t = Max{t com, t cal }. Il est assez simple, dans l architecture que l on a, superposer communications et s : il suffit en effet réaliser les communications par les PowerPC pendant que les unités ent. On obtient le modèle la Fig. 3. s < com m unications s > com m unications Fig. 3 Modèle On constate que le facteur d accélération vient constant lorsque les s recouvrent les communications, c est-à-dire lorsque la taille du problème est suffisamment grand : c est ce qu on appelle l effet surface-to-volume. 2.4 Résultats expérimentaux On utilise le recouvrement s communications et s s, et on compare les performances lorsqu on utilise une seule ou les six unités (voir Fig. 4). Fig. 4 Résultats expérimentaux 6

On constate que la courbe est très proche du modèle, ce qui montre que celui-ci est plutôt bon. On utilise donc bien les composants avec leurs performances maximales. Cependant, comme annoncé au paragraphe 1.2.3, les limitations mémoires s PS3 sont telles que l on ne peut multiplier que s matrices relativement petites. Ainsi, on constate sur le uxième graphe que l on ne peut pas profiter du recouvrement s communications par les s. 3 Remarques L article est très détaillé, mais cependant quelques points importants manquent : certains choix ne sont pas justifiés, comme les choix du matériel pour les tests. En particulier, pourquoi se restreindre à une grille à quatre PS3? Il semble en effet que cela ne parallélise pas beaucoup... comme mentionné au paragraphe 1.3.2, le choix la bibliothèque MPI finalement retenue n est pas précisé, ce qui empêche reproduire l expérimentation dans les mêmes conditions ; il n y a aucune comparaison avec une grille intique mais utilisant une autre architecture que la PS3 à chaque nœud. Comment savoir alors si cette architecture est performante ou pas, ou pour quels genres problèmes il est intéressant l utiliser? Je pense qu une comparaison approfondie serait indispensable. Conclusion Cet article est très intéressant car il fournit une excellente base pour s recherches futures qui seraient menées en utilisant une grille PS3 (voir [3, 4]). Les personnes souhaitant s en servir connaissent ainsi toutes les caractéristiques techniques, les méthos programmation à utiliser et les performances qui en découleront. Cependant, pour qu il soit vraiment utilisable, l article vrait comporter une comparaison avec d autres architectures, afin savoir quelle architecture utiliser lorsqu on a tel ou tel problème. On peut cependant penser que cet article très récent sera suivi comparaisons et d autres tests que le produit matrices. Références [1] Playstation 3. http://fr.playstation.com/ps3. [2] IBM : Cell broadband engine architecture, version 1.0, August 2005. [3] J. Panetta, P. R.P. Souza Filho, C. da Cunha Filho, F. Roxo da Motta, S. Sinedino Pinheiro, I. Pedrosa Junior, A. Romanelli Rosa, L. Monnerat, L. Carneiro et C. Albrecht : Computational characteristics of production seismic migration and its performance on novel processor architectures. Computer Architecture and High Performance Computing, 2007. SBAC-PAD 2007. 19th International Symposium on, pages 11 18, October 2007. [4] D. Gödke, R. Strzodka, J. Mohd-Yusof, P. McCormick, S. Buijssen, M. Grajewski et S. Turek : Exploring weak scalability for FEM ations on a GPU-enhanced cluster. Parallel Computing, 33(10 11):685 699, September 2007. [5] A. Buttari, J. Dongarra et J. Kurzak : Limitations of the playstation 3 for high performance cluster computing. University of Tennessee Computer Science, July 2007. 7