1 / 57

Parallélisme asynchrone

Parallélisme asynchrone. Gérard Berry. Collège de France Chaire Informatique et sciences numériques Cours 5 du 6 janvier 2010. Agenda. Pourquoi le parallélisme De nouvelles questions Extensions de la programmation séquentielle Réseaux graphiques Calculs de processus et modèles chimiques

may
Download Presentation

Parallélisme asynchrone

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parallélisme asynchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 5 du 6 janvier 2010

  2. Agenda • Pourquoi le parallélisme • De nouvelles questions • Extensions de la programmation séquentielle • Réseaux graphiques • Calculs de processus et modèles chimiques • Le pi-calcul et ses variantes G. Berry, Collège de France,

  3. Agenda • Pourquoi le parallélisme • De nouvelles questions • Extensions de la programmation séquentielle • Réseaux graphiques • Calculs de processus et modèles chimiques • Le pi-calcul et ses variantes G. Berry, Collège de France,

  4. Gérer les tâches parallèles • Exécuter plusieurs tâches sur un seul processeur • assurer et orchestrer leurs accès aux ressources • (mémoires, disques, imprimantes, etc.) • régler les compétitions • systèmes d’exploitation, ordonnancement (scheduling) • Répartir une application sur plusieurs processeurs • calcul numérique (éléments finis), grandes simulations, etc. • graphique 3D, imagerie médicale, traitement du signal • systèmes et intergiciels de machines parallèles G. Berry, Collège de France,

  5. Optimiser • Accélérer l’exécution matérielle des instructions • pipeline, cache, spéculation • accélérateurs matériels de fonctions précises • architectures RISC, mémoire virtuelle, etc. • Augmenter le nombre d’unités de calcul • ordinateurs vectoriels / massivement parallèles, grilles • SIMD, MIMD, multicoeurs • compiler pour ces architectures G. Berry, Collège de France,

  6. Communiquer • Transmettre de l’information entre composants • ordinateurs, imprimantes, modems, écrans • transmission série (USB, Firewire) ou parallèle (HDMI) • réseaux sur chips • Connecter des ordinateurs ou équipements proches • réseaux locaux (Ethernet, réseaux jetons, TTP, WiFi) • réseaux cellulaires (GSM, 3G, etc.) • protocoles de communication, émetteurs, récepteurs • Connecter des équipements lointains • réseau téléphonique, satellites • Internet • TCP / IP G. Berry, Collège de France,

  7. Interfacer • Visualiser • applications individuelles • fenêtres de navigateur • écrans multiples dans un cockpit • Interagir physiquement • souris, clavier, joystick • manettes accélérométriques (wii) • écrans, haut-parleurs, etc. G. Berry, Collège de France,

  8. Partager/chercher • Chercher de l’information à grande échelle • moteurs de recherches généraux • recherche dans des communautés spécifiques • serveur centralisé  pair à pair • Partager de l’information à grande échelle • Wikipedia, OpenStreetMap • réseaux sociaux • diffusion de musique et de film • serveurs de données, pair à pair G. Berry, Collège de France,

  9. Contrôler • Contrôler des systèmes compacts • gérer capteurs et actionneurs • synchroniser le son et l’image, les 3 axes d’un avion, les 4 freins d’une voiture, les articulations d’un robot • Coordonner des grands systèmes • contrôle aérien, aiguillages de train • circulation dans les villes • routage Internet • Rendre les systèmes robustes aux pannes • redondance d’équipements et de logiciels G. Berry, Collège de France,

  10. Agenda • Pourquoi le parallélisme • De nouvelles questions • Extensions de la programmation séquentielle • Réseaux graphiques • Calculs de processus et modèles chimiques • Le pi-calcul et ses variantes G. Berry, Collège de France,

  11. De nouvelles questions • Asynchronisme / synchronisme / vibration • Modélisation / programmation • Déterminisme / non-déterminisme • Architecture statique / dynamique • Centralisation / distribution • Distribution logique / géographique • Mobilité des données, migration des calculs • Sécurité des données et des échanges Qu’est ce que le comportement d’un système parallèle ? G. Berry, Collège de France,

  12. La transformation du calcul • Perte de la notion simple de fonction • l’arrêt est souvent non souhaitable • le non déterminisme est souvent la règle • Parallélisme asynchrone => nouveaux bugs • interblocage (deadlock) • famine (starvation) • course • interférence • Débogage distribué très difficile • comment retrouver la causalité des événements? G. Berry, Collège de France,

  13. Agenda • Pourquoi le parallélisme • De nouvelles questions • Extensions de la programmation séquentielle • Réseaux graphiques • Calculs de processus et modèles chimiques • Le pi-calcul et ses variantes G. Berry, Collège de France,

  14. Mémoire partagée P Q R S Mémoire G. Berry, Collège de France.

  15. Threads et mémoire partagée x 1 2 4 x 1 xx+1 yx y 2 P x 2y Q 1. P || Q exécuté comme P;Q G. Berry, Collège de France.

  16. Threads et mémoire partagée x 1 2 3 x 1 xx+1 yx y 1 P x 2y Q 2. P || Q exécuté comme Q;P G. Berry, Collège de France.

  17. Threads et mémoire partagée Ni 3, ni 4, mais 2 ! interférence  non-compositionnalité ! x 1 2 2 x 1 xx+1 yx y 1 P x 2y Q 3. P || Q complètement entrelacés G. Berry, Collège de France.

  18. Exclusion mutuelle • Assurer que « xx+1 » et «  yx;x 2y » sont exécutés de façon exclusive (ou atomique) • Méthode : implémenter un verrou partagé, délimiter des sections critiques x 1; L : lock; • verrou à 2 : TestAndSet • verrou à 2 : Peterson • verrou à n : Boulangerie • L.Lamport lock (L, 0); xx+1; unlock (L); lock (L, 1); y x; x 2y; unlock (L); G. Berry, Collège de France.

  19. Algorithme de Peterson bool demande[2] ; bool victime ; partagés 0 : dem[0] tt 1: dem[1] tt lock(intid) { intautre 1id; demande[id] true; victime id; while (demande[autre] &&victime id) {} // attente // ok } 1 : vict  1 0 : vict  0 1 : dem[0] ? 0 : dem[1] ? ff 0 : vict ? 0 : vict ? 0 : ok 0 0 : ok 0 unlock(intid) { demande[id]  false; } Le temps n’est pas cyclique ! G. Berry, Collège de France.

  20. Communication par files d’attente • Découplage de l’émetteur et du récepteur • parallélisme évident, bien adapté à la distribution • mais introduction de latence imprévisible • et comportement total plus complexe P Q • Applications • protocoles de transmission dans les réseaux • réseaux sur puce • traitement du signal • interfaces homme / machine, Web Collège de France, G. Berry,

  21. Réseaux de Kahn • nœuds séquentiels, ou récursivement réseaux de Kahn • get bloquant, send non-bloquant  files FIFO non bornées • ordonnancement arbitraire des calculs Collège de France, G. Berry,

  22. Sémantique par points fixes de Scott X flots finis ou infinis X = x0,x1,...,xn,... ordre préfixe  cpo x0,...,xnx0,...,xn,... A O Z T Y B P, Q, R : fonctions continues de flots X P(A,T) (O,Y)  R(X, Z) T  Q(B,Y) Etant donnés, A, B X, Y, Z plus petits (i.e. plus courts) points fixes du système d’équation => comportement global déterministe G. Berry, Collège de France,

  23. Influence des réseaux de Kahn • Modèles flots de données asynchrones • Ptolemy (Ed Lee, Berkeley) • Lucid (Aschroft / Wadge, Waterloo) • audio, vidéo, traitement du signal (industrie) • Modèles flots de données synchrones • Lustre, Signal : contraintes de type => FIFOs de taille 0 • Réseaux N-synchrones => FIFOs de taille bornée • Réseaux de Conal Elliott : animation, etc • Utilisation de flots infinis dans d’autres domaines • lazy-lists, coinduction, etc. • streaming Internet Attention : peu résistant aux changements ! (test entrée vide, mélanges de canaux, etc.) G. Berry, Collège de France,

  24. CSP : rendez-vous = information partagée • P and Q sont asynchrone, mais communiquent de façon localement synchrone • A ce moment, chacun sait ce que sait l’autre • Les rendez-vous sont ordonnancés de manière non-déterministe P Q Collège de France, G. Berry,

  25. CSP = séquentiel + rendez-vous P Q R S t := 10 ; code de R : P ? x : … | Q ? y : … | S ! 10 : … code de S : Q ! (z+1) : … | R ? t : … | S ! 43 : … G. Berry

  26. Agenda • Pourquoi le parallélisme • De nouvelles questions • Extensions de la programmation séquentielle • Réseaux graphiques • Calculs de processus et modèles chimiques • Le pi-calcul et ses variantes G. Berry, Collège de France,

  27. Réseaux graphiques Réseaux d’automates Réseaux de Petri Source Univ. Stuttgart Collège de France, G. Berry,

  28. join transitions conflit rendez-vous fork interblocage (deadlock) G. Berry, Collège de France,

  29. Agenda • Pourquoi le parallélisme • De nouvelles questions • Extensions de la programmation séquentielle • Réseaux graphiques • Calculs de processus et modèles chimiques • Le pi-calcul et ses variantes G. Berry, Collège de France,

  30. Calculs de processus : CCS (Meije, Lotos,..) • Actions A{a,b,...}, A- {a-,b-,…},  (action invisible) AUA-, -:a a- , AUA-U {} • Identificateurs de processus x, y, z • Processus p, q,r,… définis par 0 inaction .p action p | q parallélisme p+q choix non-déterministe p\arestriction x identificateur de processus recx  pdéfinition récursive G. Berry, Collège de France,

  31. Sémantique Opérationnelle Structurelle(SOS – G. Plotkin)  .p p       p q p p p q q p p’ q’ p’ p’ p’ q’ q’ p’       -   p\a p’\a p|q p’|q recxp p’ [xrecxp] p+q p+q p’ q’ p|q p|q’ p|q p’|q’  a,a- G. Berry, Collège de France,

  32. Deux machines à café / thé €- €- €- t- c- t- c- t- vc vt c- vc vt vc vt Laquelle préférez vous? G. Berry, Collège de France,

  33. Exemples €- €- €- • Les distributeurs de boissons : • recdist_d €-.(c-.vc.dist_d+ t-.vt.dist_d) c-.vc.dist_d+ t-.vt.dist_d dist_n c-.vc.dist_n dist_n t-.vt.dist_n dist_d • Pile standard : recPileX courant.PileX+.0 • recdist_n €-.c-.vc.dist_n+€-.t-.vt.dist_n) • La pile Wonder ne s’use que si l’on s’en sert : • recWondercourant.(Wonder +.0) G. Berry, Collège de France,

  34. La bisimulation t- t-     €- €- p’ q’ avec q’p’ q’ p’ avec p’q’ vt.dist_d q p’.p q’.q p c-.vc.dist_d+ t-.vt.dist_d dist_n c-.vc.dist_d dist_d • dist_d et dist_n engendrent le même langage mais ont des comportements interactifs différents • La bisimulation (forte) compare les possibilités, pas seulement les actions effectuées. C’est la plus grande équivalence vérifiant  p  q ssi  G. Berry, Collège de France,

  35. SOS: simple et précis, mais lourd  a.0 | (b.a-.c.0 | b-.0 | p)\b a.0 |(a-.c.0 | 0 | p)\b  0 |(c.0 | 0 | p)\b b b- b.a-.c.0 a-.c.0 b-.0 0  b.a-.c.0 | b-.0 a-.c.0 | 0   b.a-.c.0 | b-.0 | p a-.c.0 | 0 | p (b.a-.c.0 | b-.0 | p)\b (a-.c.0 | 0 | p)\b :::::::::::::::::::::::::::::::::::::: a a- a.0 0 (a-.c.0 | 0 | p)\b (c.0 | 0 | p)\b  a.0 |(a-.c.0 | 0 | p)\b0 |(c.0 | 0 | p)\b G. Berry, Collège de France,

  36. 3 9 7 4 7 7 7 2 28 Le crible de Darwin : p, kp → p Banâtre - Le Métayer : GAMMA Berry - Boudol : CHAM G. Berry, Collège de France,

  37. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences a.0 | (b.a-.c.0 | b-.0 | p)\b a.0 | (b.a-.c.0 | b-.0 | p)\b G. Berry, Collège de France,

  38. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution a.0 (b.a-.c.0 | b-.0 | p)\b a.0 | (b.a-.c.0 | b-.0 | p)\b G. Berry, Collège de France,

  39. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane a.0 b.a-.c.0 | b-.0 | p \b a.0 | (b.a-.c.0 | b-.0 | p)\b G. Berry, Collège de France,

  40. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution a.0 b.a-.c.0 \b p b-.0 a.0 | (b.a-.c.0 | b-.0 | p)\b G. Berry, Collège de France,

  41. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution rencontre a.0 b.a-.c.0 b-.0 \b p a.0 | (b.a-.c.0 | b-.0 | p)\b G. Berry, Collège de France,

  42. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution rencontre réaction a.0 a-.c.0 0 \b p a.0 | (a-.c.0 | 0 | p)\b G. Berry, Collège de France,

  43. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution rencontre réaction évaporation a.0 a-.c.0 0 \b p a.0 | (a-.c.0 | p)\b G. Berry, Collège de France,

  44. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution rencontre réaction évaporation a.0 \b a-.c.0 p a.0 | (a-.c.0 | p)\b G. Berry, Collège de France,

  45. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution rencontre réaction évaporation extrusion a.0 \b a-.c.0 p a.0 | (a-.c.0 | p)\b G. Berry, Collège de France,

  46. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution rencontre réaction évaporation extrusion rencontre a.0 \b a-.c.0 p a.0 | (a-.c.0 | p)\b G. Berry, Collège de France,

  47. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution rencontre réaction évaporation extrusion rencontre réaction a.0 \b a-.c.0 p 0 | (c.0 | p)\b G. Berry, Collège de France,

  48. La machine chimique • Idée centrales : • objets molécules flottant dans une soupe chimique • a, a-valences des molécules • hiérarchisation => membranes perméables aux valences dissolution membrane dissolution rencontre réaction évaporation extrusion rencontre réaction évaporation a.0 \b a-.c.0 p (c.0 | p)\b G. Berry, Collège de France,

  49. Agenda • Pourquoi le parallélisme • De nouvelles questions • Extensions de la programmation séquentielle • Réseaux graphiques • Calculs de processus et modèles chimiques • Le pi-calcul et ses variantes G. Berry, Collège de France,

  50. Le -calcul (Milner et. al.) • Idées centrales : • se rapprocher du -calcul : valeurs, lieurs, dynamique,... • mais ne travailler qu’avec des noms, pas avec des termes • permettre de coder à la fois le -calcul et le parallélisme • permettre la migration géographique des données et calculs • permettre la sécurisation des communications • La version originale • CCS (rendez-vous et somme) + un peu de -calcul • transitions étiquetées, règles SOS, bisimulations •  pas mal de points de confusion... G. Berry, Collège de France,

More Related