3A-IIC - Parallélisme & Grid : Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 1 Exemple d applications et clients Défis du calcul parallèle 3 Calcul parallèle dans le monde Exemple d applications et clients Earth Simulator projects : Modèle 3D de la planète Pour prédire le futur et rechercher une bonne voie de développement Projet Japonais Projet scientifique et sociétal 3 1
Exemple d applications et clients Basé sur un modème 3D, des observations à grande échelle, et des simulations précises : 4 Exemple d applications et clients World temperatures Mantle convection 3D-model World precipitations Nécessite la puissance de calcul d une grille et la capacité 5 de stockage d une très grande BdD! Exemple d applications et clients Réalisation: 64-noeuds / 51 processeurs (scalaires et vectoriels) Apparu en juin Atteint approximativement 35 Tflops! (n 1 en ) Un bâtiment Complet! 6
Génétique : Exemple d applications et clients Genetic research needs greater computing power increase (than uential computing one). Genetic industry uses parallel computing. 7 Exemple d applications et clients Répartition des clients dans le Top-5 : La part des industriels grandit et dépasse les 5%! 5: increasing 53% industriels 4% ens-recherche 8 1 Exemple d applications et clients Défis du calcul parallèle 3 Calcul parallèle dans le monde 9 3
Evolution des performances Evolution des perfs du 1er et dernier super-computer du Top-5 : 1 Evolution des performances Extrapolation de l évolution des performances : Sequential computers «Why do you parallelize?» 11 Pourquoi paralléliser? Points forts du calcul séquentiel : 1 Longues lignées de machines séquentielles Ex: Sparc 1 Ultra Sparc PC 886 PC Pentium-4 Compatibilité ascendante au sein d une même lignée grande portabilité des logiciels Accroissement régulier des performances : loi de Moore Valide depuis longtemps Valide jusqu en 17 d après G. Moore ( δt/ τ) V ( t + δ =. V ( t ) τ = 1.5year Quel impact sur le calcul séquentiel et sur le calcul parallèle? 1 4
Pourquoi paralléliser? Impact apparent de la loi de Moore sur les calculs : Hypothèse: T( N, Q( N)/ V( Si : N = N (constan T ( N, t ) T ( N, = (( t t ) / τ ) Seq. run time 4/4.T 3/4.T /4.T 1/4.T 1,5 3 4,5 6 7,5 Elapsed time from date t (years) Si : T ( N, = T ( N, t ) Ex :si Q ( N) = a. Nk (( t t )/( k. τ )) ( ). N t = N Problem Size 3.N 4.N 16.N 8.N Matrix Addition : k=1 1,5 3 4,5 6 7,5 Elapsed time from date t (years) 13 Apparemment : améliorations exponentielles pourquoi paralléliser? Pourquoi paralléliser? Mais la plupart des applications accroissent régulièrement leur quantité de calculs! Rare : Applications totalement figées : Taille des données fixée (N=N constan et Algorithme figé Quantité de calculs constant : Q(N) Fréquent : Applications évolutives en nombre de traitements : Robotique, bureautique, simulations Accroissement de la quantité de calculs : Q (N) Q 1 (N) Récurrent : Applications évolutives en taille des données : Simulations de physique, chimie, Accroissement de la quantité de calculs : Q(N) Q(N1) L impact de la loi de Moore est-il suffisant? 14 Pourquoi paralléliser? Applications totalement figées : Paralléliser pour passer un seuil ou bien possibilité d attendre que la loi de Moore agisse! Texec 4/4.T 3/4.T /4.T 1/4.T δt Impact de la loi de Moore Parallélisation immédiate 1,5 3 4,5 6 7,5 Temps écoulé depuis t (années) 15 5
Applications évolutives : Pourquoi paralléliser? Situer l évolution de l application par rapport à la loi de Moore. Exemple : 3.N App : évolution hyp- évolution de la taille des données 4.N 16.N 8.N Loi de Moore App : évolution hyp-1 traitable N en T 1,5 3 4,5 6 7,5 Temps écoulé depuis t (années) Taille des données Beaucoup d applications évoluent plus vite que la loi de Moore et ont besoin de parallélisme pour maintenir leur T-exec supportable 16 L accélération équivaut à une avance temporelle Hypothèse : Une parallélisation produit aujourd hui un speedup S sur P procs : T par ( N, P, = T ( N, / S ( τ.log ( S)) /τ T par ( N, P, = T ( N, Tpar ( N, P, = T ( N, t + τ.log ( S)) Conclusion : Une parallélisation menant à un speed up S Une avance temporelle Δt sur la technologie séquentielle avec: Δt =τ.log ( S) 17 L accélération équivaut à une avance temporelle Tpar ( N, P, = T ( N, t + τ.log ( S)) Pourquoi paralléliser? «Pour disposer aujourd hui de la puissance des machines de demain» «Pour ne pas prendre de retard sur ceux qui vont l utiliser!» 18 6
Défis passés (et atteints) du parallélisme Réaliser la parallélisation avant que la technologie ne soit dépassée : Les machines parallèles étaient toutes différentes Les temps de portage n étaient pas négligeables Du temps était perdu entre les dates d achat et d utilisation, et rognait l avance temporelle attendue 4/4.T Solution : Seq. : loi de Moore 3/4.T Environnements Parallélisation /4.T de parallélisation 1/4.T δt-réel standards. δt-prévu Ex : MPI, 1,5 3 4,5 6 7,5 OpenMP Temps écoulé depuis T (années) 19 T-exec Défis passés (et atteints) du parallélisme Produire des lignées de machines parallèles : Run times Pour que la parallélisation soit valable longtemps il faut disposer de lignées de machines parallèles (formant une même famille architecturale)., comme les lignées de machines séquentielles. On peut alors renouveler la machine parallèle aussi fréquemment que les machines séquentielles si on en a les moyens financiers! 4/4.T 3/4.T /4.T 1/4.T Evolving. Evolving par. 1,5 3 4,5 6 7,5 Elapsed time from date t (years) Exécution à taille de pb constant Problem Size 3.N Evolving. 4.N Evolving par. 16.N 8.N 1,5 3 4,5 6 7,5 Elapsed time from date t (years) Exécution à temps constant Défis actuels du parallélisme Obtenir un speedup portable et une avance reconductible : L expérience montre que : Perfs change a lot on different parallel architecture families (Skillicorn Talia ) Run times Un objectif pertinent est donc d obtenir un même speedup sur une lignée de machines parallèles de même taille (et de même architecture). 4/4.T 3/4.T /4.T 1/4.T δt δt Evolving. Evolving par. 1,5 3 4,5 6 7,5 Elapsed time from date t (years) Prendre une avance reconductible sur la technologie séquentielle. : Δt = τ. log ( S) Pérenniser les efforts d un développement parallèle. 1 7
Défis actuels du parallélisme Obtenir un speedup portable à prix constant : Les ordinateurs séquentiels évoluent à prix constant (ou même décroissant!). Un speedup constant mène à une avance constante sur la technologie séquentielle. Une avance constante sur une technologie à prix constant devrait donc être possible également à prix constant! Run times 4/4.T 3/4.T /4.T 1/4.T δt δt Evolving. Evolving par. 1,5 3 4,5 6 7,5 Elapsed time from date t (years) Défis actuels du parallélisme Accroître régulièrement la taille des machines parallèles : En utilisant les processeurs du marché et des lignées de machines parallèles de taille constante on traque le «speedup constant» et l avance technologique constante. En utilisant des machines parallèles de taille croissante on peut obtenir un speedup croissant et prendre une avance de plus en plus importante sur la technologie séquentielle! P max SU δt t t 3 t Défis actuels du parallélisme Accroître régulièrement la taille des machines parallèles : Ex: SGI a doublé la taille maximale de ses Origin chaque année de 1996 à 1, en utilisant chaque fois des processeurs plus récents. Number of processors 6 5 4 3 1 Origin evolution 3x^(date-1996) 3x^(date-1997) 1996 1997 1998 1999 1 Marketing date Les speedup augmentaient (dans quelle proportion?) et l avance technologique aussi. De même : on observe aussi un accroissement de la taille des plus gros clusters présents dans le TOP5. 4 8
Défis actuels du parallélisme Accroître régulièrement la taille des machines parallèles : Loi de Amdahl : Le speedup d une application (figée) est limitée Inutile de disposer de trop de processeurs. Loi de Gustafson : Le speedup peut croître avec la taille du pb. Utiliser plus de processeurs quand le problème croît. par expérience le point de vue de Gustafson est souvent vrai! Un accroissement régulier du nombre de processeurs est utile pour les applications (régulièremen évolutives en taille de données. 5 Défis actuel/futur du parallélisme Accroître la taille des machines parallèles à prix constant! Les processeurs du marché : - contiennent plusieurs processeurs internes (ex: «dual core») - contiennent de plus en plus de transistors - et leur prix chute!! (pour ceux de grande série) Dans l avenir de plus en plus de processeurs par machine à prix constant? Défi pour l avenir : des machines avec de plus en plus de processeurs, de plus en plus puissants, à prix constant! On passerait alors sur une exponentielle d évolution régulière et plus forte que celle de la loi de Moore. 6 Hypothèse d évolution du parallélisme Soit une application évolutive en taille de données Utilisant un nombre croissant de processeurs et atteignant un speedup croissant Elle accroît sans cesse son avance temporelle! Que pourrait-être l évolution de cette avance temporelle? Modèles de speedup possibles modèles d avance temporelle Ex : 4 hypothèses types (4 modèles) speedup constant (a peu près atteint au sein de la même famille) speedup logarithmique speedup linéaire speedup exponentiel 7 9
Hypothèse d évolution du parallélisme Hypothèses: Speedup S àla date t τ par : temps nécessaire pour doubler le nombre de processeurs au sein d une lignée de machine parallèle SSpeed ( = Sup models: Temporal Δt ( = τ.log advance ( S ) models: 1 1 t t t t S ( = S.(1 + log (1 + )) Δt ( = τ.log ( S ) + τ.log (1 + log (1 + )) τ τ par par t t t t S ( = S.(1 + Δt ( = τ.log ( S ) + τ.log (1 + ) ) 3 τ 3 τ par par τ (( t t ) / τ ) par Δt ( = τ.log ( S ) +.( t t ) 8 S ( = S. 4 τ 4 par Hypothèse d évolution du parallélisme Exemple: τ = τ par = 1.5 an, et S = Δt () = 1.5 an i Advance on. (year) 1 1 8 6 4 with exponential S( with linear S( with logarithmic S( with constant S( 4 6 8 Elapsed time from date t Nécessite un accroissement exponentiel de la taille de la machine! Evolution significative de l avance temporelle Taille et speedup constant Avec une évolution linéaire ou exponentielle du speedup On obtient une évolution significative de l avance temporelle 9 Le parallélisme permet alors d enfoncer la loi de Moore Hypothèse d évolution du parallélisme Le speedup peut être perçu comme une avance temporelle sur la technologie séquentielle. Défis pour le parallélisme : Créer de longues lignées de machines parallèles Garantir le speedup constant su sein d une lignée Garantir le speedup constant à prix constant Créer des lignées de machines de plus en plus grosses Créer des machines de plus en plus grosses à prix constant Mais le principal défi du parallélisme n est pas d atteindre 1, 1 ou 1 PetaFlops, mais de garantir une évolution plus rapide que la technologie séquentielle. 3 1
1 Exemple d applications et clients Défis du calcul parallèle 3 Calcul parallèle dans le monde 31 Calcul parallèle dans le monde Nombre de machines par continent dans le Top-5 Juin increasing 18 machines 5 : Asie 81 (16%) Europe 114 (3%) Amérique 94 (6%) 3 Calcul parallèle dans le monde Fraction de la perf. totale par continent dans le Top-5 - Juin : 1 super-super-ordinateur change sensiblement les choses! Earth Simulator : 33 11
Calcul parallèle dans le monde Fraction de la perf. totale dans le Top-5 par constructeur et continent : L Europe ne construit pas/plus de super-ordinateurs! 5 : Asie: 3.6% Amérique : 95.% «global» : 1.% 34 Calcul parallèle dans le monde :Nombre de machines du Top5 par pays Européen Juin : 35 Parallélisme & Grid : FIN 36 1