Calculateurs parallèles et styles de programmation

Dimension: px
Commencer à balayer dès la page:

Download "Calculateurs parallèles et styles de programmation"

Transcription

1 Calculateurs parallèles et styles de programmation Polyvalence des architectures ccnuma (resp. NUMAflex) des Origin 2000 (resp. 3000) Thomas Leduc CERMA - UMR CNRS/MCC 1563 École d Architecture de Nantes le 16 février 2005

2 Plan de la présentation ˆ Introduction : généralités et classifications, ˆ top500.org et centres nationaux, ˆ le SGI Origin 2000 du PPIdFS, ˆ NUMAflex et les Origin/Altix 3000, ˆ les outils, ˆ comparaisons en exemples, ˆ fonctions booléennes 1-résilientes.

3 Tentatives de classifications Généralités sur l algorithmique parallèle Première partie I Introduction : généralités et classifications

4 Tentatives de classifications Généralités sur l algorithmique parallèle Points abordés... Tentatives de classifications Petit rappel... Taxinomie de Flynn Adressages mémoire Traitement parallèle sur le processeur Quelques AOC... Généralités sur l algorithmique parallèle Granularité Modèles de programmation Évaluation du parallèlisme

5 Tentatives de classifications Généralités sur l algorithmique parallèle Caractéristiques fondamentales Une machine parallèle, c est : ˆ une collection d unités de calculs, ˆ capables de communiquer ˆ et coopérer ˆ dans le but de résoudre rapidement ˆ des problèmes de grande taille.

6 Tentatives de classifications Généralités sur l algorithmique parallèle Taxinomie de Flynn revisitée... Préparation du petit-déjeuner dans la famille D. : ˆ SISD (von Neumann) : Mme D. (le programme) se charge de tout et traite les tartines (découpe, application du beurre et de la confiture : les données) en séquence ; ˆ MISD (pipeline) : à la chaîne, le 1er coupe le pain, le 2e le beurre, le 3e applique la confiture et le 4e dispose le résultat dans un plat... Si le temps passé à chaque étape est identique, l accélération est proche de 4 ; ˆ SIMD : Mme D. prend les commandes, les autres obéïssent en traitant, de manière synchrone, leurs propres données (réplication du pain, de la plaquette de beurre et du pot de confiture en autant de convives que possible) ; ˆ MIMD : chacun est autonome et prépare ses tartines de manière asynchrone (attention aux accès concurrents à une même donnée partagée) ;

7 Tentatives de classifications Généralités sur l algorithmique parallèle Types d adressage mémoire ˆ mémoire distribuée : ˆ architectures de types DADM Disjoint Address space Distributed Memory, ˆ accès mémoire de type NORMA (NO Remote Memory Access), ˆ + : scalabilité des accès mémoires, cohérence de cache ; ˆ : échange de message explicite, cohérence difficile entre distribution des données et travail des processeurs, surcoûts dûs aux communications/synchronisations ;

8 Tentatives de classifications Généralités sur l algorithmique parallèle Types d adressage mémoire (2) ˆ mémoire partagée : ˆ architectures de types Single Address space Shared/Distributed Memory, Architecture Accès mémoire Commentaire SASM UMA Uniform Memory Access, coût d accès constant SADM NUMA Non-UMA, temps d accès fonction de la localisation des données ccnuma cache-coherent NUMA, variante des NUMA avec un mécanisme de caches OSMA COMA Operating System Memory Access Cache Only Memory Access, les mémoires locales sont assimilées à des caches ˆ + : programmation simplifiée, adressage global, rapide partage des données ; ˆ : passage à l échelle, cohérence de cache coûteuse et parfois explicite ;

9 Tentatives de classifications Généralités sur l algorithmique parallèle Traitement parallèle au niveau du processeur ˆ architecture super-scalaire : plusieurs opérations arithmétiques simultanées en pipeline, The R10000 is a 4-way superscalar RISC CPU. Four-way means that it can fetch and decode 4 instructions per clock cycle. Superscalar means that it has enough independent, pipelined execution units that it can complete more than 1 instruction per clock cycle, réf , ; ˆ architecture vectorielle : ˆ 16 pipelines sur NEC SX-5 4 sur MIPSpro R , ˆ bande passante registres : 32 accès à des références de 64 bits par cycle sur NEC SX-5 1 sur MIPSpro R10K, ˆ 2 opérations 16 pipelines par cycle sur NEC SX-5 2 opérations sur MIPSpro R , ˆ trouver des séquences de codes où un même opérateur est appliqué à un grand nombre d opérandes!

10 Tentatives de classifications Généralités sur l algorithmique parallèle Bref glossaire... ˆ NOW : Network Of Workstation, ˆ cluster : notion logique plus que réalisation physique (load balancing et high availability, 1994 : original Beowulf cluster), ˆ MPP : Massively Parallel Processor, a loosely coupled or shared nothing system, ˆ SMP : Symmetric Multi-Processor, a shared everything system (image système unique), ˆ constellation : cluster constitué d un nombre restreint de noeuds hyper puissants, à grosse mémoire partagée.

11 Tentatives de classifications Généralités sur l algorithmique parallèle Points abordés... Tentatives de classifications Petit rappel... Taxinomie de Flynn Adressages mémoire Traitement parallèle sur le processeur Quelques AOC... Généralités sur l algorithmique parallèle Granularité Modèles de programmation Évaluation du parallèlisme

12 Tentatives de classifications Généralités sur l algorithmique parallèle Granularité de parallélisme ˆ fine : la recherche sur les séquences d instructions susceptibles d être indépendantes (et donc parallélisables) se fait au niveau de groupes d une dizaine d instructions au plus ; ˆ moyenne : ce degré correspond au niveau appelé tâche qui regroupe les notions de procédures, routines, primitives... ˆ grosse : ce degré correspond au niveau de l application elle-même. Le nombre d instructions n est ici plus limité et le parallélisme est recherché dans le déroulement même des travaux ou dans la mise en concurrence des différentes applications ou des différents utilisateurs. Exception faite des ressources, il n y a souvent pas de dépendance entre les programmes.

13 Tentatives de classifications Généralités sur l algorithmique parallèle Modèles de programmation ˆ parallélisme de données (décomposition de domaines), granularité fine à moyenne, modèle d exécution SIMD ou MIMD + synchronisations globales régulières, ˆ paralléliseurs automatiques (APO), ˆ outils data-parallel (HPF), ˆ directives de parallélisation à mémoire partagée (OpenMP), ˆ parallélisme de contrôle (ou de tâches), granularité moyenne à grosse, modèle d exécution MIMD (SPMD ou MPMD), ˆ PVM ou MPI, ˆ parallélisme de flux : vectorisation dans le cas d une fine granularité ; les données traversent les tâches élémentaires en mode pipeline.

14 Tentatives de classifications Généralités sur l algorithmique parallèle Évaluation des performances Soit un algorithme, de taille n, sur p processeurs, ˆ accélération (speedup) : S p (n) = Ts(n) T p(n), ˆ parallélisabilité : S p (n) = T 1(n) T p(n), ˆ généralement p S p (n) S p (n) 1. Les gains sur-linéaires sont souvent dû à des défauts de cache ; ˆ efficacité : E p (n) = Sp(n) p, ˆ loi d Amdahl : soit f(n) la fraction d algorithme devant être 1 exécutée séquentiellement, S p (n) = 1 f (n) f (n)+ p p 1 f (n). Si 10% du code est purement séquentiel, l accélération ne pourra pas dépasser le facteur 10. ˆ passage à l échelle ou scalabilité,

15 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Deuxième partie II Le top500.org et le cas français

16 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Points abordés... État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationaux

17 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org ˆ 24 e édition visible sur : ˆ publication bi-annuelle (juin & novembre), depuis juin 1993, des «500 most powerful commercially available computer systems known to us», ˆ ordonnancement selon l indicateur de meilleure performance au Linpack Benchmark - implémentation High-Performance Linpack (HPL) nécessitant MPI et les BLAS (ou VSIPL), sur : ˆ jusqu en 2004 : liste plus spécifique :

18 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - type d architecture ˆ classement par type d architecture : Nbre % Linpack Théorie #proc Tflops Tflops Cluster Constellation MPP All en 10 ans : SIMD (7% en 93), Single Processor (20% en 93) et SMP (53% en 98) et Cluster et Constellation, ˆ... et par architecture de processeur : Nbre % Linpack Théorie #proc Tflops Tflops Scalaire Vectorielle

19 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - point de vue géographique

20 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - autre point de vue géographique

21 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - constructeurs

22 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - famille de processeurs

23 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Points abordés... État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationaux

24 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - évolution des types d architecture

25 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - évolution des types de processeurs

26 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - cas particulier des clusters

27 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau top500.org - planification...

28 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Points abordés... État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationaux

29 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Aperçu du TOP5 et de quelques entrées... ˆ extraits du top500.org au 11/2004 : Rang Site Constr. Tflops soutenus 1 US/DOE IBM 71 2 US/NASA SGI 52 3 JP/Earth Simulator Center NEC 36 4 SP/Barcelona SC IBM 21 5 US/LLNL Cal. Dig. Corp UK/ECMWF IBM 9 17 CN/Shangai SC Dawning 8 30 DE/FZJ IBM FR/CEA HP CH/Crédit Suisse IBM US/SBC Service Inc. HP 0.85 ˆ il y a 128 entrées européennes dont 15 françaises,

30 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Points abordés... État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationaux

31 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Centres de Calcul nationaux (11/2004) Rang Constr Type Site An #proc 41 HP αserver SC45, 1 GHz CEA/DAM IBM xseries Cluster Xeon 2.4 GHz - GEth Total IBM xseries Cluster Xeon 2.4 GHz - GEth SG IBM pseries 690 (Power 4+, 1.7 GHz) CNRS/Idris IBM pseries 655 (Power 4+, 1.7 GHz) CNRS/Idris SGI Altix 1.5 GHz CEG Gramat HP Cluster Xeon 3.2 Gz - Myrinet Soc. Gale SGI Altix 1.3 GHz Total SGI Altix 1.3 GHz Total Bull NovaScale, Itanium2 1.3 GHz, quadrics Bull HP SuperDome 875 MHz/HyperPlex Cegetel HP αserver SC45, 1.25 GHz CEA IBM eserver Opteron 2 GHz, GEth Gouv HP Cluster Xeon 3 Gz Crédit Lyon HP Cluster Xeon 3 Gz Crédit Lyon

32 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Centres de calcul académiques (1) ˆ IDRIS : ˆ Zahir : 116 noeuds IBM/SP4, 1024 cpu, 3.1 To RAM, 6.55 Tflops, ˆ Uqbar : 3 noeuds vectoriels NEC SX-5, 40 cpu, 224 Go RAM, 320 Gflops, ˆ vedia : cluster de 6 noeuds quadripro COMPAQ ES40, 24 cpu, 36 Go RAM, 38 Gflops, ˆ Iris : frontale graphique, SGI Origin 3800, 8 R 14K (500 MHz), 4 Go RAM, 2 pipes graph., ˆ Rhodes : frontale, SGI Origin 2100, 8 R 12K (350 MHz), 16 Go RAM, ˆ Gaya : stockage, SGI Origin 3900, 12 R 16K, 32 Go, 31 To HD + 1 Po sur 3 robots de stockage,

33 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Centres de calcul académiques (2) ˆ CINES : ˆ IBM/SP4, 9 noeuds, 1.85 Tflops, 4 To HD, ˆ IBM/SP3, 29 noeuds, 464 cpu, 0.7 Tflops, 4.6 To HD, ˆ SGI Origin 3800, 768 R 14K (500 MHz), 384 Go RAM, 768 Gflops, ˆ SGI Origin 2100, 8 cpu, 22 To HD, ˆ Sun Enterprise 4500, 6 Ultra SparcII (336 Mhz), 2 Go RAM, 6 To HD, ˆ IBM H50, 2 cpu, ˆ SAN + Robothèque STORAGETEK STK 9310 (5 500 cartouches, 9 lecteurs),

34 État des lieux en 11/2004 Évolution sur la dernière décennie La France face au top5 et dans la CE Centres de calcul nationau Centres de calcul académiques (3) ˆ méso-centres (http://www.irisa.fr/orap/) : ˆ CRI Orsay : ˆ CCH : ˆ CRIHAN : ˆ ICPS : ˆ CALMIP : ˆ CDCSP : https://cdcsp.univ-lyon1.fr/, ˆ...

35 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Troisième partie III SGI Origin 2000 du PPIdFS

36 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Points abordés... Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement

37 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement SGI Origin 2000 du PPIdFS ˆ 64 cpu MIPSpro R (195 et 250 MHz) avec 2 caches L1 de 32 Ko et un cache L2 de 4 Mo, ˆ 24 Go de RAM, ˆ 288 Go de disques, ˆ architecture ccnuma, ˆ topologie hypercube, ˆ CrayLink Interconnect de 1600 Mo/s, ˆ IRIX m (< m).

38 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Rack et module 340 kg, cm 3, 5750 watts.

39 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Dissection d un module

40 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Contenu d une carte nodale IP27 ou IP31 Distributed Shared-Memory, directory-based cache coherence.

41 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Interconnexion des modules

42 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Le MultiModule System Controller

43 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Interconnexion des MMSC

44 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement MMSC display et MSC Front Panel

45 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Points abordés... Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement

46 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Rappels : Question de latences ˆ 1 cycle d horloge pour une CPU cadencée à 195 MHz (resp. 250 MHz) dure plus de 5.1 ns (resp. exactement 4 ns), ˆ la mémoire est organisée en pages. Chaque accès mémoire nécessite de traduire une adresse virtuelle en une adresse physique. Le Translation Lookaside Buffer stocke les 64 dernières pages accédées pour réduire la latence. L accès à une autre page constitue un défaut de page ; Type d accès mémoire Latence (en cycles) Registre 1 Cache L1 2 ou 3 Cache L2 (après L1) 8 à 12 Mémoire principale (+ cache dans le TLB) 75 à 250 Mémoire principale (+ recharge du TLB) 2000 Swap > 10 8

47 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Latences pour les accès distants Configuration à 64 cpus : ˆ 5 sauts de routage au maximum (2.97 en moyenne), ˆ latence en lecture 1110 ns au maximum (796 ns en moyenne).

48 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Points abordés... Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement

49 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Bandes passantes comparées ˆ sur SGI Origin 2000 du PPIdFS (entre 500 et 900 mbps), avec l implémentation propriétaire IRIX/MPT-1.6 : % cc -fullwarn -Ofast=ip27 -ansi -pedantic -o sendrecv sendrecv.c -lmpi % mpirun -np 2./sendRecv Bande passante : Mo/s ( mbps) % mpirun -np 2./sendRecv Bande passante : Mo/s ( mbps) ˆ sur un NOW : entre deux xeon sur un réseau local Fast-Ether-Switché (85 mbps), avec l implémentation LAM : % hcc -Wall -ansi -pedantic -O3 -o sendrecv sendrecv.c % mpirun -np 2./sendRecv Bande passante : Mo/s (85.05 mbps)

50 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Listing du MPI Send / MPI Recv 20 M P I I n i t (& argc, & a r g v ) ; MPI Comm rank (MPI COMM WORLD, & rang ) ; n = a t o i ( a r g v [ 1 ] ) ; tab = ( unsigned char * ) c a l l o c ( n, s i z e o f ( unsigned char ) ) ; i f ( rang == 0) { 25 f o r ( i = 0 ; i < n ; i ++) tab [ i ] = ( unsigned char ) ( * ( double ) rand ( ) / ( ( double ) RAND MAX + 1) ) ; t t d = MPI Wtime ( ) ; MPI Send ( tab, n, MPI CHAR, 1, TAG VECTEUR, MPI COMM WORLD) ; MPI Recv(& t t f, 1, MPI DOUBLE, 1, TAG TEMPS, MPI COMM WORLD, & s t a t u t ) ; 30 p r i n t f ( Bande p a s s a n t e : %. 2 f Mo/ s (%.2 f mbps )\n, n / (MO * ( t t f t t d ) ), 8 * n / (MO * ( t t f t t d ) ) ) ; } e l s e i f ( rang == 1) { MPI Recv ( tab, n, MPI CHAR, 0, TAG VECTEUR, MPI COMM WORLD, & s t a t u t ) ; t t f = MPI Wtime ( ) ; 35 MPI Send(& t t f, 1, MPI DOUBLE, 0, TAG TEMPS, MPI COMM WORLD) ; } M P I F i n a l i z e ( ) ;

51 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Points abordés... Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement

52 Présentation du matériel Questions de latences Bandes passantes comparées Assistance au développement Assistance au développement ˆ ˆ debugger TotalView, ˆ analyseur Vampir / Vampirtrace, ˆ parallèliser à bon escient : % cc -g -pg -o seqgcc produitmatricescarrees.c produitmatricescarrees_tc.c %./seqgcc 1000 > /dev/null 2>&1 % gprof --brief./seqgcc [...] % cumulative self self total time seconds seconds calls ms/call ms/call name produitmatricescarrees initialisation calcultrace [...]

53 Quatrième partie IV SGI : famille des Origin et Altix 3000

54 SGI : du ccnuma au NUMAflex ˆ design NUMAflex : cpu, mémoire, I/O, réseau d interconnexion, pipe graphique et stockage de masse sont autants de composants (bricks) indépendants ; Tronc commun Origin/Altix : ˆ D-brick (stockage, 16 FC, 2To), ˆ IX-brick (base I/O, 11 slots PCI-X) et PX-brick (PCI extension, 12 slots hotplugs PCI/PCI-X), ˆ R-brick ([meta-]routeur, 512cpus),

55 SGI : gammes Origin et Altix ˆ Commodity Off the Shelf Technology (COST) : tous les éléments matériels des supercalculateurs scalaires d aujourd hui, sont des éléments conçus pour un usage générique dans des systèmes diversifiés ; gamme Altix (01/2003) : ˆ OS : linux, ˆ C-brick : 4 Itanium2 (Madison), caches : 32 Ko L1, 256 Ko L2, 9 Mo Mo L3, 32Go ram ; ˆ seul (?) cluster linux NUMA. Image système unique jusqu à 64 cpus (< 1To de RAM en 64 bits) ; gamme Origin (07/2000) : ˆ OS : Irix, ˆ C-brick : 4 MIPSpro R14000 (jusqu à 16 R16000 pour la Cx-brick), caches : 32 Ko L1, 8 Mo L2 ;

56 Dissection d un rack

57 Configuration à 512 cpus (1) en configuration calcul, il y a dans l Origin 3800 de la NASA : ˆ 128 C-Bricks dans 16 C-racks, ˆ 44 R-Bricks, ˆ 2 I-bricks, ˆ 1 P-Brick, ˆ 0 D-Brick ˆ 17 Power Bay (une par rack),

58 Configuration à 512 cpus (2)

59 Question de latences et bandes passantes Latences : ˆ gamme Altix : ˆ accès mémoire locale (noeud bipro) : 145 ns ; ˆ accès mémoire autre noeud même C-brick : 290 ns ; ˆ chaque saut de routage ajoute 45 à 50 ns (en NUMAlink v3), chaque mètre de cable NUMAlink ajoute 10 ns, ˆ nombre de sauts de routage au pire : 3 (16 cpus), 4 (32 cpus), 5 (64 et 128 cpus), 7 (256 cpus)... ˆ gamme Origin : ˆ accès mémoire locale : 175 ns ; ˆ accès mémoire distante : 585 ns (au pire), ns (en moyenne) ;

60 NASA : 20 noeuds SGI Altix 3700 à 512 cpus

61 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Cinquième partie V Énumération des principaux outils

62 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Points abordés... APO en Fortran 90 OpenMP SHMEM HPF PVM MPI

63 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI L Auto-Parallelizing Option (APO) ˆ The MIPSpro Auto-Parallelizing Option (APO) enables the MIPSpro compilers to optimize parallel codes and to enhances performance on multiprocessor systems. APO is a replacement for POWER C and POWER Fortran ; ˆ l APO est adaptée au cas particulier d applications possédant des données uniformes et en grand nombre et dont les traitements à effectuer sont identiques sur chaque donnée (data-parallelism, fine granularité).

64 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Bibliographie concernant l APO Pour plus d information, consulter les documents suivants disponibles en ligne à l adresse : ˆ chapitre 8 du MIPSpro Fortran 90 Commands and Directives Reference Manual (document n ), ˆ chapitre 5 du C++ Programmer s Guide (document n ), ˆ annexe C du MIPSpro Fortran 77 Programmer s Guide (document n ),

65 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Produit de matrices en Fortran 90 PROGRAM p r o d u i t M a t r i c e s i m p l i c i t none i n t e g e r : : i, j, k, n r e a l : : ttd, t t f 5 r e a l, a l l o c a t a b l e, dimension ( :, : ) : : a, b, c PRINT *, E n t r e z l a d i m e n s i o n des m a t r i c e s c a r r e e s : ; READ *, n CALL c p u t i m e ( time=t t d ) ALLOCATE( a ( n, n ), b ( n, n ), c ( n, n ) ) 10 CALL random number ( a ( :, : ) ) CALL random number ( b ( :, : ) ) do i =1,n do j =1,n c ( i, j ) = do k=1,n c ( i, j ) = c ( i, j ) + a ( i, k ) * b ( k, j ) end do end do end do 20 CALL cpu time ( time=t t f ) PRINT*, Temps t o t a l de c a l c u l :, t t f ttd, s e c o n d e s! 25 CALL c a l c u l e r T r a c e ( c, n ) DEALLOCATE( a, b, c ) END PROGRAM p r o d u i t M a t r i c e s

66 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI L APO sur SGI Origin 2000/3800 en chiffres ˆ compilation avec production de fichiers.anl,.list et.m : % f90 -apokeep -Ofast=ip27 -fullwarn -o f90apo produitmatrices.f90 /opt/mipspro/ /usr/lib32/cmplrs/be translates /tmp/ctmb.baaa0l l5 into produitmatrices.m, based on source produitmatrices.f90. The file produitmatrices.list gives the parallelization status of each loop. ˆ résultats pour n=2000 (Origin 2000 vs Origin 3800) : nbpcs temps (en s) accélération efficacité

67 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Rapport automatique : extrait du fichier.list P a r a l l e l i z a t i o n Log f o r Subprogram c a l c u l e r t r a c e 5 2 : PARALLEL ( Auto ) m p d o c a l c u l e r t r a c e 1 5 P a r a l l e l i z a t i o n Log f o r Subprogram MAIN 1 0 : Not P a r a l l e l C a l l F4I4RAN on l i n e : Not P a r a l l e l 10 C a l l F4I4RAN on l i n e : Not P a r a l l e l C a l l F4I4RAN on l i n e : Not P a r a l l e l 15 C a l l F4I4RAN on l i n e : PARALLEL ( Auto ) mpdo MAIN : Not P a r a l l e l Loop i s c o n t a i n e d w i t h i n a p a r a l l e l c o n s t r u c t : Not P a r a l l e l Loop i s c o n t a i n e d w i t h i n a p a r a l l e l c o n s t r u c t.

68 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Rapport automatique : extraits du fichier.m SUBROUTINE c a l c u l e r t r a c e (MATRICE, DIM) C$OMP PARALLEL DO i f ( ( ( DBLE( m p s u g n u m t h r e a d s f u n c$ ( ) ) * ( (DBLE( C$& mp sug numthreads func$ ( ) ) * 1. 23D+02) D+03) ). LT. ( ( DBLE( C$& DIM) * DBLE( ( m p s u g n u m t h r e a d s f u n c$ ( ) + 1) ) ) * 4. 0 D00 ) ) ), 5 C$& p r i v a t e ( I ), s h a r e d (MATRICE, DIM), r e d u c t i o n ( + : SOMME) DO I = 1, DIM, 1 SOMME = (MATRICE( I, I ) + SOMME) END DO 10 PROGRAM MAIN C$OMP PARALLEL DO i f ( ( ( DBLE( m p s u g n u m t h r e a d s f u n c$ ( ) ) * ( (DBLE( C$& m p s u g n u m t h r e a d s f u n c$ ( ) ) * D+02) D+03) ). LT. ( ( DBLE( ( C$& m p s u g n u m t h r e a d s f u n c$ ( ) + 1) ) * (DBLE(N) * (DBLE(N) * DBLE(N) ) ) ) C$& * 2. 0 D00 ) ) ), s h a r e d ( a l l o c a d d r ), p r i v a t e ( J, I, K), s h a r e d ( 15 C$& a l l o c a d d r 0, a l l o c a d d r 1, N, a l l o c a d d r ) DO J = 1, N, 1 DO I = 1, N, 1 a l l o c a d d r ( I, J ) = 0. 0 DO K = 1, N, 1 20 a l l o c a d d r ( I, J ) = ( a l l o c a d d r ( I, J ) +( a l l o c a d d r 0 (K, J ) * a l l o c a d d r 1 ( I, K) ) ) END DO END DO END DO

69 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Points abordés... APO en Fortran 90 OpenMP SHMEM HPF PVM MPI

70 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI OpenMP : Open [specifications for] Multi Processing ˆ ensemble de directives de parallélisme à mémoire partagée - provide a Simple, Portable, Scalable SMP Programming, ˆ site officiel : ˆ support de formation de l IDRIS : ˆ utilise le modèle fork & join d exécution en parallèle : le master thread s exécute seul et séquentiellement jusqu à la première construction parallèle rencontrée. Il crée alors a team of threads travaillant en parallèle jusqu à la fin de zone parallèle où il y a synchronisation. Le master thread continue seul l exécution jusqu à la zone parallèle suivante... ˆ permet un prototypage rapide d application parallèle, ˆ supporte le load balancing en natif (OMP SCHEDULE), ˆ efficace pour un faible nombre de processeurs, ˆ limité aux architectures SMP.

71 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI OpenMP : petit exemple #i n c l u d e <omp. h> i n t main ( i n t argc, char * a r g v [ ] ) { 5 #pragma omp p a r a l l e l p r i n t f ( t h r e a d %d / % d\n, omp get thread num ( ), omp get num threads ( ) ) ; p r i n t f ( This i s t h e end... \ n ) ; r e t u r n EXIT SUCCESS ; } ˆ compilation Linux Intel-cc : % icc -openmp -o exempleopenmp exempleopenmp.c ˆ compilation Irix : % cc -mp -o exempleopenmp exempleopenmp.c % export OMP NUM THREADS=3 %./exempleopenmp thread 1 / 3 thread 0 / 3 thread 2 / 3 This is the end...

72 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Points abordés... APO en Fortran 90 OpenMP SHMEM HPF PVM MPI

73 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI SHMEM - copies de mémoire à mémoire ˆ modèle propriétaire et explicite d échange de données, ˆ architectures à mémoires physiquement distribuées mais globalement adressables (DSM), ˆ transfert de mémoire à mémoire de type GET ou PUT, sans intervention du processeur distant, de données symétriques (stockées à la même adresse), ˆ alternative aux bibliothèques d échanges de messages, ˆ pour plus d info, entrez le mot clef shmem sur

74 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Le shmem get() en pratique #include <mpi. h> /* chronometrage */ 5 #include <mpp/shmem. h> i n t main ( i n t argc, char * a r g v [ ] ) { s t a t i c unsigned char * s r c, * d s t ; i n t i, n ; double ttd, t t f ; 10 s t a r t p e s ( 0 ) ; /* a r g n u l => v a r i a b l e d e n v i r o n n e m e n t NPES prime */ n = a t o i ( a r g v [ 1 ] ) ; s r c = ( unsigned char * ) s h m a l l o c ( n * s i z e o f ( unsigned char ) ) ; d s t = ( unsigned char * ) s h m a l l o c ( n * s i z e o f ( unsigned char ) ) ; i f (0 == shmem my pe ( ) ) 15 f o r ( i = 0 ; i < n ; i ++) s r c [ i ] = ( unsigned char ) ( * ( double ) rand ( ) / ( ( double ) RAND MAX + 1) ) ; s h m e m b a r r i e r a l l ( ) ; /* s y n c h r o n i s a t i o n e m e t t e u r / r e c e p t e u r ( i n d i s p e n s a b l e ) */ i f (1 == shmem my pe ( ) ) { t t d = MPI Wtime ( ) ; /* chronometrage */ 20 shmem getmem ( dst, ( c o n s t unsigned char * ) s r c, n * s i z e o f ( unsigned char ), 0 ) ; t t f = MPI Wtime ( ) ; /* chronometrage */ p r i n t f ( Bande p a s s a n t e : %. 2 f Mo/ s (%.2 f mbps )\n, ( double ) n / (MO * ( t t f t t d ) ), 8. * n / (MO * ( t t f t t d ) ) ) ; 25 } s h f r e e ( s r c ) ; s h f r e e ( d s t ) ; r e t u r n EXIT SUCCESS ; }

75 APO en Fortran 90 OpenMP SHMEM HPF PVM MPI Compilation et exécution d un code SHMEM ˆ compilation et exécution en environnement Irix : % cc -fullwarn -o shmemget shmemget.c -pedantic -lmpi -lsma % NPES=2./shmemGet Bande passante : Mo/s ( mbps) ˆ... résultats obtenus sur un SGI Origin 3800 à 256 cpu et 128 Go de RAM.

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

Parallélisation Automatique

Parallélisation Automatique Parallélisation Automatique Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr 8 septembre 2008 1 / 23 Pourquoi la parallélisation automatique? Les gains de performances dus à la technologie s amenuisent

Plus en détail

Plan : Master IM2P2 - Calcul Scientifique

Plan : Master IM2P2 - Calcul Scientifique Plan : Les systèmes HPC Typologie des systèmes : Machines Mémoire partagée Machines à Mémoire Distribuées Machine NUMA Exemples Architectures Processeurs HPC Processeurs scalaires, superscalaires, vectoriels

Plus en détail

Introduction à la Programmation parallèle INFO 3. Camille Coti 1 camille.coti@lipn.univ-paris13.fr

Introduction à la Programmation parallèle INFO 3. Camille Coti 1 camille.coti@lipn.univ-paris13.fr Introduction à la Programmation parallèle Institut Galilée INFO 3 Camille Coti 1 camille.coti@lipn.univ-paris13.fr 1 Université de Paris XIII, CNRS UMR 7030, France 1 Camille Coti Introduction à la Programmation

Plus en détail

Plan Formation : Utilisation Hyperion Janvier-Février 2014 http://www.calmip.cict.fr/ Plan Formation :

Plan Formation : Utilisation Hyperion Janvier-Février 2014 http://www.calmip.cict.fr/ Plan Formation : Plan Formation : Introduction : Mésocentre CALMIP Introduction à l Architecture des systèmes HPC Panorama des Systèmes et Processeurs Multi-core Présentation système de Calcul CALMIP : HYPERION Visite

Plus en détail

Résultats des benchmarks de HPC1 après ajout de 100 cœurs. Date : 06/09/2012. Auteur : Ph Parnaudeau

Résultats des benchmarks de HPC1 après ajout de 100 cœurs. Date : 06/09/2012. Auteur : Ph Parnaudeau Résultats des benchmarks de HPC1 après ajout de 1 cœurs. Date : 6/9/212 Auteur : Ph Parnaudeau 1. Evolution de la configuration la plate forme de calcul du LJLL : HPC1 HPC1 1 Février 211 : UV1 est une

Plus en détail

Tous les processeurs sont connectés à une large mémoire partagée. Difficulté de s étendre à de grands nombres de processeurs

Tous les processeurs sont connectés à une large mémoire partagée. Difficulté de s étendre à de grands nombres de processeurs Modèle de Machine 1a: Mém. Partagée Tous les processeurs sont connectés à une large partagée. Appelée Symmetric Multiprocessors (SMPs) SMPs de Sun, HP, Intel, IBM Puces Multicoeur, exceptées celles qui

Plus en détail

Les architectures parallèles et leur programmation pour le calcul scientifique. Yves Denneulin

Les architectures parallèles et leur programmation pour le calcul scientifique. Yves Denneulin Les architectures parallèles et leur programmation pour le calcul scientifique Yves Denneulin Plan du cours Introduction au parallélisme Le parallélisme de données présentation illustration sur deux langages

Plus en détail

Introduction à la programmation parallèle p. 1/85

Introduction à la programmation parallèle p. 1/85 Introduction à la programmation parallèle Maîtrise d informatique Philippe MARQUET Philippe.Marquet@lifl.fr Laboratoire d informatique fondamentale de Lille Université des sciences et technologies de Lille

Plus en détail

Analyse et mesure de performances du calcul distribué

Analyse et mesure de performances du calcul distribué Analyse et mesure de performances du calcul distribué Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma CruCID Workshop, EMI, Rabat, 5 au 7 juillet 1999 Motivation Types d applications

Plus en détail

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe

Plus en détail

Génération de code binaire pour application multimedia : une approche au vol

Génération de code binaire pour application multimedia : une approche au vol Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation

Plus en détail

Calcul scientifique et serveurs de calcul

Calcul scientifique et serveurs de calcul Calcul scientifique et serveurs de calcul Serveurs de calcul : contexte, enjeux et administration Violaine Louvet, 13 septembre 2007 Calcul scientifique et serveurs de calcul Journée proposée par : Le

Plus en détail

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre

Plus en détail

Matériel : comment gagner en performance? Objectif Teraflop. les limites :

Matériel : comment gagner en performance? Objectif Teraflop. les limites : Matériel : comment gagner en performance? réduction du temps de cycle (aujourd hui de 0,6 à 2 ns) instructions vectorielles et pipelinées plusieurs unités fonctionnelles hiérarchie de mémoire multiprocesseurs

Plus en détail

Les Microprocesseurs partie2

Les Microprocesseurs partie2 Université Constantine 2 Abdelhamid Mehri Faculté des NTIC Département MI Electronique des Composants & Systèmes Les Microprocesseurs partie2 Cours de L1 - TRONC COMMUN DOMAINE MATHEMATIQUES INFORMATIQUE

Plus en détail

Design, améliorations, et implémentations

Design, améliorations, et implémentations CPU et Mémoire Design, améliorations, et implémentations Techniques et caractéristiques modernes qui permettent de donner aux ordinateurs actuels toute leur puissance 1 Architectures CPU Design de l architecture

Plus en détail

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,...

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,... Rappels, SISD, SIMD Calculateurs hybrides (GPU-OpenCL) Rappels... SISD,... SIMD Formation d Ingénieurs de l Institut Galiléee MACS 3 Philippe d Anfray Philippe.d-Anfray@cea.fr CEA DSM 2013-2014 SISD :

Plus en détail

Cluster de calcul Freeware en Océanographie Opérationnelle Bertrand FERRET Carine CASTILLON Mondher CHEKKI

Cluster de calcul Freeware en Océanographie Opérationnelle Bertrand FERRET Carine CASTILLON Mondher CHEKKI Cluster de calcul Freeware en Océanographie Opérationnelle Bertrand FERRET Carine CASTILLON Mondher CHEKKI Responsable Service Informatique Ingénieure Systèmes & Réseaux Ingénieur High Performance Computing

Plus en détail

Multi-processeurs, multi-cœurs, cohérence mémoire et cache

Multi-processeurs, multi-cœurs, cohérence mémoire et cache Multi-processeurs, multi-cœurs, cohérence mémoire et cache Intervenant : Thomas Robert Institut Mines-Télécom Parallélisme inter instructions n Exécution : une séquence d instructions appliquées à un 1

Plus en détail

ARCHITECTURES A PASSAGE DE MESSAGES

ARCHITECTURES A PASSAGE DE MESSAGES ARCHITECTURES A PASSAGE DE MESSAGES Daniel Etiemble LRI, Université Paris Sud de@lri.fr D. Etiemble 1 Architecture parallèle à passage de messages RESEAU D INTERCONNEXION réseau réseau réseau réseau CPU

Plus en détail

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI. Facultés Universitaires Notre-Dame de la Paix, Namur Institut d Informatique Année académique 2003-2004 Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de

Plus en détail

Comparaison de MPI, OpenMP et MPI+OpenMP sur un nœud multiprocesseur multicœurs AMD à mémoire partagée.

Comparaison de MPI, OpenMP et MPI+OpenMP sur un nœud multiprocesseur multicœurs AMD à mémoire partagée. RenPar 19 / SympA 13 / CFSE 7 Toulouse, France, du 9 au 11 septembre 2009 Comparaison de MPI, OpenMP et MPI+OpenMP sur un nœud multiprocesseur multicœurs AMD à mémoire partagée. Khaled Hamidouche, Franck

Plus en détail

Architectures Parallèles

Architectures Parallèles Architectures Parallèles Cours pour Ingénieur Préparé par Dr. Olfa Hamdi-Larbi ola_ola79@yahoo.fr Reçoit les signaux du contrôleur, cherche les données et les traite Instructions, Données à traiter et

Plus en détail

Systèmes et traitement parallèles

Systèmes et traitement parallèles Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications

Plus en détail

Lancement de Star-CCM+ avec SGE

Lancement de Star-CCM+ avec SGE Lancement de Star-CCM+ avec SGE Lionel Meister IUSTI, UMR CNRS 6595 lionel.meister@polytech.univ-mrs.fr 28 septembre 2010 A ce jour, la partition Dix est la seule partition du parc sur laquelle on peut

Plus en détail

Centre Commun de Calcul Intensif: www.univ-ag.fr/c3i

Centre Commun de Calcul Intensif: www.univ-ag.fr/c3i Centre Commun de Calcul Intensif: www.univ-ag.fr/c3i a HPC center in the Caribbean Mewbalaou Fédération de recherche fournissant des ressources à 6 laboratoires de l UAG: COVACHIM-M, GTSI, LAMIA, LARGE,

Plus en détail

Types et performances des processeurs

Types et performances des processeurs Types et performances des processeurs Laboratoire de Systèmes Logiques Structure d un ordinateur contrôle processeur traitement séquenceur registres mémoire entrées/sorties micromémoire opérateurs bus

Plus en détail

Introduction à la programmation // sur GPUs en CUDA et Python

Introduction à la programmation // sur GPUs en CUDA et Python Introduction à la programmation // sur GPUs en CUDA et Python Denis Robilliard Équipe CAMOME: C. Fonlupt, V. Marion-Poty, A. Boumaza LISIC ULCO Univ Lille Nord de France BP 719, F-62228 Calais Cedex, France

Plus en détail

Systèmes & Réseaux. Georges Arhodakis Université Paris 8

Systèmes & Réseaux. Georges Arhodakis Université Paris 8 Systèmes & Réseaux Georges Arhodakis Université Paris 8 Sommaire Introduction Historique Service du noyau Appel Système Trappes & Interruptions Horloge & Gestion du Temps Ordonnancement Contrôle & Gestion

Plus en détail

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience 29 mars 2002 Olivier BOEBION - Laboratoire de Mathématiques et de Physique Théorique - Tours 1 Principes

Plus en détail

Analyse de performance et optimisation. David Geldreich (DREAM)

Analyse de performance et optimisation. David Geldreich (DREAM) Analyse de performance et optimisation David Geldreich (DREAM) Plan de l exposé Analyse de performance Outils Optimisation Démonstrations Analyse de performance Pas d optimisation sans analyse de performance

Plus en détail

D.E.A. C.I.T. Année Universitaire 2003-2004. Introduction au parallèlisme. Gérald MONARD

D.E.A. C.I.T. Année Universitaire 2003-2004. Introduction au parallèlisme. Gérald MONARD Introduction au parallèlisme Gérald MONARD Bibliographie Parallel Programming in C with MPI and OpenMP Michael J Quinn Ed McGraw-Hill, New York - 2004 Tutorials from Lawrence Livermore National Laboratory

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Formation en Calcul Scientifique - LEM2I Architecture des calculateurs Violaine Louvet 1 1 Institut Camille jordan - CNRS 12-13/09/2011 Introduction Décoder la relation entre l architecture et les applications

Plus en détail

Le logiciel Time Navigator d Atempo (TiNa)

Le logiciel Time Navigator d Atempo (TiNa) Le logiciel Time Navigator d Atempo (TiNa) Une solution de sauvegarde centralisée Patrick Le Jeannic Institut du Développement et des Ressources en Informatique Scientifique Centre National de la Recherche

Plus en détail

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

Eléments d architecture des machines parallèles et distribuées M2-RISE - Systèmes distribués et grille Eléments d architecture des machines parallèles et distribuées Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Notions d architecture

Plus en détail

Centre de calcul de l ub

Centre de calcul de l ub Centre de calcul de l ub Formation Présentation et utilisation du cluster de Calcul Antoine Migeon ccub@u-bourgogne.fr Tel : 5205 ou 5270 Le Centre de Calcul de l ub (ccub) Dédié à l enseignement et à

Plus en détail

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

Eléments d architecture des. machines parallèles et distribuées. Notions d architecture de. machines parallèles et distribuées M2-ILC Parallélisme, systèmes distribués et grille Eléments d architecture des Stéphane Vialle Stephane.Vialle@centralesupelec.fr http://www.metz.supelec.fr/~vialle 2 Depuis 24 les CPU sont multi-cœurs

Plus en détail

CALMIP : Calcul en Midi-Pyrénées

CALMIP : Calcul en Midi-Pyrénées CALMIP : Calcul en Midi-Pyrénées Nicolas Renon, CICT ( Centre Interuniversitaire de Calcul de Toulouse ) (renon@cict.fr) http://www.calmip.cict.fr ; http://www.cict.fr Page 1 Plan Exposé : CALMIP c est

Plus en détail

Parallélisme. Cours 1

Parallélisme. Cours 1 Parallélisme Cours 1 TD : 20% - TP : 30% - Examen : 50% Feuille A4 manuscrite (pas de photocopie) Fabrice.Huet@etu.unice.fr (prendre rdv par mail pr le contacter) A quoi sert le parallélisme? Augmenter

Plus en détail

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

Eléments d architecture des machines parallèles et distribuées Mineure HPC-SBD Eléments d architecture des machines parallèles et distribuées Stéphane Vialle Stephane.Vialle@centralesupelec.fr http://www.metz.supelec.fr/~vialle Notions d architecture de machines parallèles

Plus en détail

Cours n n 1. Introduction au Noyau. Master Informatique - Noyau - 2007-2008

Cours n n 1. Introduction au Noyau. Master Informatique - Noyau - 2007-2008 Cours n n 1 Introduction au Noyau 1 PLAN DU MODULE Objectifs Mécanismes internes du noyau (UNIX) Processus, Ordonnancement Fichiers, Mémoire virtuelle 2 PLAN DU MODULE Organisation Sur 10 semaines Début

Plus en détail

Xeon Phi au CRIHAN. Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015

Xeon Phi au CRIHAN. Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015 Xeon Phi au CRIHAN Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015 Objectifs Veille technologique architecture many-core Se former pour préparer les utilisateurs au Xeon Phi «Knights Landing» (2016)

Plus en détail

TP3 : Tests de performance des MV

TP3 : Tests de performance des MV Ecole informatique IN2P3 2014 : Maîtriser le Cloud TP Dev : portage d applications sur le Cloud TP3 : Tests de performance des MV Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe),

Plus en détail

L3 Informatique - Systèmes d exploitation

L3 Informatique - Systèmes d exploitation L3 Informatique - Systèmes d exploitation Gestion de la mémoire D. Béchet Denis.Bechet@univ-nantes.fr Université de Nantes Faculté des Sciences et Techniques 2, rue de la Houssinière BP 92208 44322 Nantes

Plus en détail

Processeur JAP. Le langage JAVA

Processeur JAP. Le langage JAVA Processeur JAP Ce document présente les dernières nouveautés concernant le processeur JAVA de la société AED. Il commence par un rappel sur les caractéristiques du processeur actuel, puis présente les

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Décoder la relation entre l architecture et les applications Violaine Louvet, Institut Camille Jordan CNRS & Université Lyon 1 Ecole «Découverte du Calcul» 2013 1 / 61 Simulation numérique... Physique

Plus en détail

Systèmes distribués Introduction

Systèmes distribués Introduction Systèmes distribués Introduction Nabil Abdennadher nabil.abdennadher@hesge.ch http://lsds.hesge.ch/distributed-systems/ 2015/2016 Semestre d Automne 1 Aujourd hui les réseaux et les SDI sont partout! Réseaux

Plus en détail

Stockage et mémoire, Du principe vers la réalité

Stockage et mémoire, Du principe vers la réalité Stockage et mémoire, Du principe vers la réalité Responsable :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Intervenants :Tamy Boubekeur, Guillaume Duc, Gérard Mouret, Thomas Robert Institut

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA

De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA contact : patrick.hède@cea.fr Commissariat à l'energie Atomique GdR isis : Passage à l'échelle dans la recherche

Plus en détail

Stockage : capacité, performances

Stockage : capacité, performances Stockage : capacité, performances Intervenant :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Transparents : Thomas Robert Institut Mines-Télécom Lectures possibles Chapitre 7.2 de : http://ceit.aut.ac.ir/~amirkhani/

Plus en détail

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

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée ppd/mpassing p. 1/43 Programmation parallèle et distribuée Communications par messages Philippe MARQUET Philippe.Marquet@lifl.fr Laboratoire d informatique fondamentale de Lille Université des sciences

Plus en détail

CORBA haute performance

CORBA haute performance CORBA haute performance «CORBA à 730Mb/s!» Alexandre DENIS PARIS/IRISA, Rennes Alexandre.Denis@irisa.fr Plan Motivations : concept de grille de calcul CORBA : concepts fondamentaux Vers un ORB haute performance

Plus en détail

Cours Parallélisme. I. Parallélismes Jean-Louis Pazat. Plan. Introduction Parallélisme d'expression Applications Parallélisme d'exécution

Cours Parallélisme. I. Parallélismes Jean-Louis Pazat. Plan. Introduction Parallélisme d'expression Applications Parallélisme d'exécution Cours Parallélisme I. Parallélismes Jean-Louis Pazat Plan 2 Introduction Parallélisme d'expression Applications Parallélisme d'exécution Architecture de machines Influence sur l'expression du parallélisme

Plus en détail

Ordonnancement de threads sur architectures multiprocesseurs hiérarchiques. Une approche pragmatique

Ordonnancement de threads sur architectures multiprocesseurs hiérarchiques. Une approche pragmatique Ordonnancement de threads sur architectures multiprocesseurs hiérarchiques Une approche pragmatique Raymond Namyst Équipe LaBRI-INRIA RUNTIME L équipe Runtime Domaine d application = Calcul intensif et

Plus en détail

Happy birthday ZSet High performance computing dans ZSet

Happy birthday ZSet High performance computing dans ZSet Happy birthday ZSet High performance computing dans ZSet F. Feyel & P. Gosselet Architectures SMP NUMA memory memory memory Distribué memory memory 2 memory memory Hybride memory memory memory memory memory

Plus en détail

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES. Simple & Performant. www.quick software line.com

HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES. Simple & Performant. www.quick software line.com HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES Haute disponibilité pour Serveurs Ouverts (Windows, UNIX, AIX, Linux, VMware (Windows, UNIX, AIX, Linux, VMware ) Généralités Quelques définitions

Plus en détail

Introduction à l optimisation de codes sur les systèmes HPC

Introduction à l optimisation de codes sur les systèmes HPC Introduction à l optimisation de codes sur les systèmes HPC Présenté par : Nicolas Renon, CICT ( Centre Interuniversitaire de Calcul de Toulouse ) (renon@cict.fr) http://www.calmip.cict.fr ; http://www.cict.fr

Plus en détail

Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs

Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs Marc Mendez-Bermond Expert solutions HPC Programme Contexte Technologies Evolutions 2 Confidentiel Research

Plus en détail

Comparaison entre parallélisation OpenMP et threads sur des applications régulières et irrégulières

Comparaison entre parallélisation OpenMP et threads sur des applications régulières et irrégulières Comparaison entre parallélisation OpenMP et threads sur des applications régulières et irrégulières 1/20 Eugen Dedu dedu@ese-metz.fr Supélec, campus de Metz 27 janvier 2000 Contexte 2/20 Caractéristiques

Plus en détail

Formation en Calcul Scientifique - LIEM2I

Formation en Calcul Scientifique - LIEM2I Formation en Calcul Scientifique - LIEM2I Introduction au calcul parallèle Loïc Gouarin, Violaine Louvet, Laurent Series Groupe Calcul CNRS 9-13 avril 2012 Loïc Gouarin, Violaine Louvet, Laurent Series

Plus en détail

Architecture matérielle et logicielle

Architecture matérielle et logicielle Architecture matérielle et logicielle Contents I Le Cours 2 1 Généralités 2 2 Micro-processeur 2 3 Mémoire 2 4 Performances 3 II TPs 3 1 Création d un exécutable : 3 2 Les bibliothèques 3 3 Codage de l

Plus en détail

Performances et optimisations

Performances et optimisations Ecole Doctorale MathIf Performances et optimisations Violaine Louvet 1 1 ICJ - CNRS Année 2009-2010 Objectifs de ce cours Performances Déterminer les parties du code les plus coûteuses en temps. Déterminer

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Portage et optimisation d applications de traitement d images sur architecture Kalray Mppa-Manycore Journées de la Compilation

Portage et optimisation d applications de traitement d images sur architecture Kalray Mppa-Manycore Journées de la Compilation Portage et optimisation d applications traitement d images sur architecture Kalray Mppa-Manycore Journées la Compilation Pierre Guillou Centre recherche en informatique Mines ParisTech 4 décembre 2013

Plus en détail

Programmation Avancée en Langage C Séances de Travaux-Pratiques

Programmation Avancée en Langage C Séances de Travaux-Pratiques Programmation Avancée en Langage C Séances de Travaux-Pratiques Ph. Langevin Année Universitaire 2010 Contents 1 Préambule 2 2 Commandes de base 2 2.1 man................................ 2 2.2 Recherche.............................

Plus en détail

Benchmarks. Ensemble de codes permettant de tester la fonctionnalité et les performances d'une solution HPC dans son ensemble.

Benchmarks. Ensemble de codes permettant de tester la fonctionnalité et les performances d'une solution HPC dans son ensemble. Ensemble de codes permettant de tester la fonctionnalité et les performances d'une solution HPC dans son ensemble. (Merci à Ludovic Saugé) Françoise BERTHOUD, Francoise.Berthoud@grenoble.cnrs.fr Les benchmarks

Plus en détail

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com Systèmes d Exploitation temps réel 1 2 Plan de l intervention 1. Introduction aux Systèmes Temps Réel 2. Programmation concurrente Synchronisation et communication Besoin en facultés temporelles 3. Ordonnancement

Plus en détail

Première approche. Définition. Définition de l informatique donnée par l Académie Française en 1966 :

Première approche. Définition. Définition de l informatique donnée par l Académie Française en 1966 : Première approche Définition Définition de l informatique donnée par l Académie Française en 1966 : L informatique est la science du traitement rationnel, notamment par machines automatiques, de l information

Plus en détail

La ferme de PCs de l INRIA Sophia-Antipolis Configuration matérielle et logicielle

La ferme de PCs de l INRIA Sophia-Antipolis Configuration matérielle et logicielle La ferme de PCs de l INRIA Sophia-Antipolis Configuration matérielle et logicielle http://www-sop.inria.fr/parallel/ David Geldreich, 07/2003 Configuration matérielle actuelle Aujourd'hui la ferme est

Plus en détail

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet

Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,

Plus en détail

Présentation CaSciModOT Performances et Architectures

Présentation CaSciModOT Performances et Architectures Présentation CaSciModOT Performances et Architectures Code parallèle : Un peu de théorie Architectures variables : C(n,p)? Quel code? Quelle architecture? Structure d un code : partie parallèle / séquentielle

Plus en détail

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Mémoires jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des ordinateurs 120

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 9 NFP111 Systèmes et Applications Réparties Cours 6 - Remote Method Invocation (RMI)/Partie 2 Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Multi-processeurs, multi-cœurs et cohérence mémoire et cache

Multi-processeurs, multi-cœurs et cohérence mémoire et cache Multi-processeurs, multi-cœurs et cohérence mémoire et cache Intervenant : Thomas Robert Institut Mines-Télécom Rappel système d exploitation & Parallélisme L unité d exécution pour un système d exploitation

Plus en détail

Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537

Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537 ENSEIRB-MATMECA Rapport de projet avancé 3 ème année électronique Etude et mise en oeuvre de PREEMPT-RT et Xenomai sur cible DSP Blackfin BF537 Etudiants : Alexandre Braconnier Axel Chevalier Jean-Marc

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Généralités Processeur Carte mère Mémoire Bus Interfaces d'entrée-sortie Cartes d'extension Périphériques Évolution Presque le montage d'un PC 1 Familles d'ordinateurs Serveur

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

Plus en détail

Introduction SIO Utilisation Conclusion Cluster au SIO

Introduction SIO Utilisation Conclusion Cluster au SIO Cluster au SIO ALBERT SHIH 1 1 Observatoire de Paris - Meudon 21 février 2008 Type de «machines» de calcul Mémoire partagée Tous les processeurs accèdent à toute la mémoire avec un même espace d adressage.

Plus en détail

Initiation au HPC - Programmation concurrente

Initiation au HPC - Programmation concurrente Initiation au HPC - Programmation concurrente Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 12 octobre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Programmation

Plus en détail

Gestion Mémoire. Informatique Embarquée M2 / 2014. Gestion Mémoire

Gestion Mémoire. Informatique Embarquée M2 / 2014. Gestion Mémoire Informatique Embarquée M2 / 24 24 Interaction CPU / mémoire Bus d'adresses CPU Bus de Données Bus de Contrôle 24 Architecture Von Neumann CPU contient: Instructions et Données CPU charge les instructions

Plus en détail

Architecture 68332 06/06/02 LE 68332

Architecture 68332 06/06/02 LE 68332 LE 68332 LE 68332...1 ELÉMENTS SUR LE MICROCONTRÔLEUR 68332...2 SYSTEM INTEGRATION MODULE (SIM)...2 QUEUED SERIAL MODULE (QSM)...3 TIME PROCESSOR UNIT (TPU)...3 IMPLANTATION MÉMOIRE :...4 MODULE SIM :

Plus en détail

Outils pour le calcul scientifique à haute performance p. 1/104

Outils pour le calcul scientifique à haute performance p. 1/104 Outils pour le calcul scientifique à haute performance École doctorale sciences pour l ingénieur mai 2001 Philippe MARQUET et Pierre BOULET Philippe.Marquet@lifl.fr, Pierre.Boulet@lifl.fr Laboratoire d

Plus en détail

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES Trois types de formation LES FORMATEURS Les experts techniques AS+ Groupe EOLEN disposent d une réelle expérience pratique

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Architecture des calculateurs Violaine Louvet 1 1 Institut Camille jordan - CNRS Ecole Doctorale 2012-2013 Sommaire 1 Architecture générale Processeur Mémoire Réseaux Stockage 2 Tendances Evolutions technologiques

Plus en détail

Chap. 2 - Structure d un ordinateur

Chap. 2 - Structure d un ordinateur Architecture des ordinateurs Michèle Courant S2-27 octobre 2004 Chap. 2 - Structure d un ordinateur 2.1 Processeur ou unité centrale (CPU) 2.1.1 Organisation du CPU 2.1.2 Exécution d une instruction 2.1.3

Plus en détail

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

Quantification d incertitude et Tendances en HPC

Quantification d incertitude et Tendances en HPC Quantification d incertitude et Tendances en HPC Laurence Viry E cole de Physique des Houches 7 Mai 2014 Laurence Viry Tendances en HPC 7 Mai 2014 1 / 47 Contents 1 Mode lisation, simulation et quantification

Plus en détail

CPU ou UCT. Circuit Intégré. Processor (data processing)

CPU ou UCT. Circuit Intégré. Processor (data processing) CPU ou UCT Processor (data processing) Le processeur est une unité d exécution, plus précisément appelée unité centrale de traitement (désignée en franç.par UCT, en ang. CPU (Central Processing Unit) CPU+mémoire

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

Plus en détail

Exemple: le processeur MIPS

Exemple: le processeur MIPS Exécution des instructions machine Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr] adresse (donnée, instruction

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 TP Java RMI Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Paradigme RMI RMI (Remote Method Invocation) RPC orientés objet (encapsulation, héritage,...) objet :

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail