La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010."— Transcription de la présentation:

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

2 06/01/ G. Berry, Collège de France, Synchrone Musiciens et spectateurs négligent la vitesse du son Vibratoire Mais les acousticiens règlent sa propagation Parallélismes synchrone et vibratoire

3 1.Circuits digitaux 2.Des automates aux circuits 3.Esterel et SyncCharts 4.Sémantique 5.Traduction en circuits 6.Optimisation 7.Circuits cycliques 06/01/ G. Berry, Collège de France, Agenda

4 1.Circuits digitaux 2.Des automates aux circuits 3.Esterel et SyncCharts 4.Sémantique 5.Traduction en circuits 6.Optimisation 7.Circuits cycliques 06/01/ G. Berry, Collège de France, Agenda

5 s a oux b oux c 13/01/ G. Berry, Collège de France, Circuits digitaux combinatoires s (a et b) ou (b et c) ou (c et a) a b c s r etououx non (a et b)(non a) et b a b mux(c,a,b) =(c et a) ou ((non c) et b) mux c a b full adder

6 13/01/ G. Berry, Collège de France, Additionneur de von Neumann Pour n bits temps log(n)

7 13/01/ G. Berry, Collège de France, Le registre ra a a 0, a 1, a 2,...r 0, a 0, a 1, a 2,...ra a a 0, a 1, a 2,...r 1, a 0, a 1, a 2,...ra a r reg(a) ck

8 13/01/ G. Berry, Collège de France, Les circuits séquentiels a b s additionneur sériel r

9 1.Circuits digitaux 2.Des automates aux circuits 3.Esterel et SyncCharts 4.Sémantique 5.Traduction en circuits 6.Circuits cycliques 06/01/ G. Berry, Collège de France, Agenda

10 13/01/ G. Berry, Collège de France, (ab+b)*ba e1e1 e2e2 e3e3 e0e0 a b b a b b déterministe 1-hot (1 seul r i à 1) r0r0 r2r2 r1r1 r3r3 a b b b a b ok déterministe 1-hot (1 seul r i à 1) explosion en taille !

11 b b b a a ok 13/01/201011G. Berry, Collège de France, non-déterministe pas dexplosion s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba non-déterministe pas dexplosion bien meilleur !

12 13/01/201012G. Berry, Collège de France, b b b a a ok s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba

13 13/01/201013G. Berry, Collège de France, b b b a a ok s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba a

14 13/01/201014G. Berry, Collège de France, b b b a a ok s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba a

15 13/01/201015G. Berry, Collège de France, b b b a a ok s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba ab

16 13/01/201016G. Berry, Collège de France, b b b a a ok s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba ab

17 13/01/201017G. Berry, Collège de France, s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba abb b b b a a ok

18 13/01/201018G. Berry, Collège de France, s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba abb b b b a a ok

19 13/01/201019G. Berry, Collège de France, s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba abba b b b a a ok

20 13/01/201020G. Berry, Collège de France, s0s0 s1s1 s2s2 s3s3 a b b a b (ab+b)*ba abba b b b a a ok

21 1.Circuits digitaux 2.Des automates aux circuits 3.Esterel et SyncCharts 4.Sémantique 5.Traduction en circuits 6.Optimisation 7.Circuits cycliques 06/01/ G. Berry, Collège de France, Agenda

22 13/01/ G. Berry, Collège de France, Lexemple ABRO Emettre O dès que A and B sont arrivés Réinitialiser le comportement à chaque R Ecriture mémoire R : demande A : adresse B : donnée O : écriture A /B / A / OB / O A B / O R /

23 13/01/ G. Berry, Collège de France, Lexemple ABRO Emettre O dès que A and B sont arrivés Réinitialiser le comportement à chaque R A /B / A / OB / O A B / O R /

24 13/01/ G. Berry, Collège de France, Lexemple ABRO Emettre O dès que A and B sont arrivés Réinitialiser le comportement à chaque R A /B / A / OB / O A B / O R /

25 13/01/ G. Berry, Collège de France, Lexemple ABRO Emettre O dès que A and B sont arrivés Réinitialiser le comportement à chaque R A /B / A / OB / O A B / O R /

26 13/01/ G. Berry, Collège de France, Lexemple ABRO Emettre O dès que A and B sont arrivés Réinitialiser le comportement à chaque R Et des problèmes de priorité : quid si A, B, R ensemble? A /B / A / OB / O A B / O R /

27 13/01/201027G. Berry, Collège de France, Programmer par couper / coller Ecrire chaque chose une fois et une seule ! Expressions rationnelles Automates hiérarchiques (Statecharts, SyncCharts, Stateflow) Langages synchrones impératifs Esterel, Quartz

28 loop abort { await A || await B }; emit O ; halt when R; end loop loop abort { await A || await B }; emit O ; halt when R; end loop loop abort { await A || await B }; emit O ; halt when R end loop 13/01/ G. Berry, Collège de France, Esterel = spécification linéaire A /B / A / OB / O A B / O R / copies = résidus ! Esterel = partage des résidus

29 13/01/ G. Berry, Collège de France, SyncCharts (C. André) A /A / B /B / R /R / / O/ O automates parallèles hiérarchiques synchrones loop abort { await A || await B }; emit O ; halt when R end loop

30 13/01/ G. Berry, Collège de France, Le coureur Esterel every Morning do end every abort every Step do run Jump || run Breathe end every when 15 Second ; loop each Lap abort run Slowly when 100 Meter ; abort when 4 Lap run FullSpeed trap HeartAttack in || run CheckHeart exit HeartAttack handle HeartAttack fo run RushToHospital end trap

31 1.Circuits digitaux 2.Des automates aux circuits 3.Esterel et SyncCharts 4.Sémantique 5.Traduction en circuits 6.Optimisation 7.Circuits cycliques 06/01/ G. Berry, Collège de France, Agenda

32 13/01/ G. Berry, Collège de France, Le noyau Esterel pur nothing pause emit S if S then p else q end suspend p when S p ; q loop p end p || q trap T in p end exit T signal S in p end 0 1 ! s s ? p, q s p p ; q p p | q {p} p k, k > 1 p \ s U *

33 13/01/ G. Berry, Collège de France, La sémantique comportementale p E E k p signaux reçus signaux émis code de retour Broadcasting : E E 0 : terminaison 1 : attente 2 : sortie du trap le plus proche 3 : sortie du second trap le plus proche k

34 13/01/ G. Berry, Collège de France, Numérotation des traps Si deux traps sont levés en même temps, seul le plus extérieur compte trap T in trap U in nothing 0 || pause 1 || exit U 2 || exit T 3 end trap || exit T 2 end trap Code de retour du parallèle max des codes des branches (code de Gonthier)

35 13/01/201035G. Berry, Collège de France, !s!s E {s} 0 0 k E 0 k 0 (pour k 0, k 1, k 1)

36 13/01/201036G. Berry, Collège de France, s ? p, q E E k p s E p E E k p s ? p, q E F l q s E q E F l q

37 13/01/201037G. Berry, Collège de France, p E E 0p s p U 0 E E E' k s p U s p' U p E E k p k 0 avec s p' = {( s ? 1, 2) } ; s p' U U *

38 13/01/201038G. Berry, Collège de France, p E E 0 pq E F l q p ; q E U F l q E p E E k p k = 0k = 0 p ; q E k p ; q E

39 13/01/201039G. Berry, Collège de France, p E E k pq E F l q p | q E E U F max(k,l) p | q p E E k p k 0 p E k p ; p E **

40 13/01/201040G. Berry, Collège de France, {p}{p} E E 0 0 p E E k p k 0 ou k 2 {p}{p} E E k {p}{p} p E p k 1 ou k > 2 k 1 si k=1, k-1 si k>2

41 13/01/201041G. Berry, Collège de France, p \ s E E k p \ s p E U {s} E U {s} k p p \ s E E k p \ s E E k p s Es E' p si une seule règle sapplique => déterminisme Mais les deux peuvent sappliquer, voir plus loin!

42 1.Circuits digitaux 2.Des automates aux circuits 3.Esterel et SyncCharts 4.Sémantique 5.Traduction en circuits 6.Optimisation 7.Circuits cycliques 06/01/ G. Berry, Collège de France, Agenda

43 13/01/201043G. Berry, Collège de France, Traduction structurelle en circuits Chaque instruction p engendre un sous-circuit GO RES SUSP KILL SEL K0 K1 K2... EE' p –E and E: signaux reçus et émis –GO : démarrer p –RES : continuer p –SUSP : suspendre p pour un cycle –KILL : remettre les registres de p à 0 –SEL : au moins un registre à 1 => vivant –Ki : code de retour 1-hot K0: terminé K1: pause, en attente dévénements K2,K3,… - sortie des traps englobants

44 13/01/ G. Berry, Collège de France, Circuit pour 1 (pause) KILL RES K0SUSP GOK1 SEL

45 13/01/ G. Berry, Collège de France, Circuit pour « p ; q »

46 13/01/ G. Berry, Collège de France, Circuit pour « p || q » GO RES SUSP KILL SEL K0 K1 K2 EE' K3... p GO RES SUSP KILL SEL K0 K1 K2 EE' K3... LEM L0 L1 L2 L3 IN_KILL REM R0 R1 R2 R3 KILL K0 K1 K2 K3 S Y N C H R O N I Z E R E' K0 K1 K2 K3 SEL GO RES SUSP E q KILL

47 13/01/ G. Berry, Collège de France, Le synchroniseur du parallèle LEM REM L0 R0R1 L1L2 R2 L3 R3 K0K1K2K3 IN_KILL KILL

48 13/01/ G. Berry, Collège de France, Circuit pour « abort p when s »

49 13/01/ G. Berry, Collège de France, Le circuit ABRO hiérarchique loop abort { await A || await B }; emit O ; halt when R end loop saute à loptimisation

50 1.Circuits digitaux 2.Des automates aux circuits 3.Esterel et SyncCharts 4.Sémantique 5.Traduction en circuits 6.Optimisation 7.Circuits cycliques 06/01/ G. Berry, Collège de France, Agenda

51 13/01/ G. Berry, Collège de France, Optimisation séquentielle 1. Construction du circuit hiérarchique bon début, mais trop gros 2. Optimisation des registres réduction des redondances 3. Optimisation de la logique combinatoire vitesse, surface, puissance dissipée Calcul Booléen à grande échelle (expressions, BDDs, SAT, cf cours algo )

52 13/01/ G. Berry, Collège de France, Mauvaise solutions e1e1 e2e2 e3e3 e0e0 a b b a bb déterministe => 1-hot explose avec le nb détats e 0 10 e 1 11 e 2 01 e 3 00 e 0 01 e 1 10 e 2 11 e 3 11 bonmauvais n! possibilités, pas dheuristique ! log(n) bits pour n états peut faire exploser la logique

53 13/01/ G. Berry, Collège de France, R O logique combinatoire registres I Il faut équilibrer les registres et la logique Solutions : automates non-déterministes encodage structurel dEsterel / SyncCharts

54 Le secret : écrire chaque chose une fois ! 13/01/2010G. Berry, Collège de France, 54 Un registre par attente explicite bon équilibre registres / logiques Plus le programme est bien écrit, plus il est efficace ! loop abort { await A || await B }; emit O ; halt when R end loop

55 Encodage « group-hot » 13/01/2010G. Berry, Collège de France, 55 loop [ await A || await B ] ; emit O each R R / A /B / / O threads parallèles => groupes indépendants séquence => group-hot 1-hot: 4bits log: 2bits group-hot: 3bits – meilleur passage à léchelle

56 Vérification, optimisation : calculer les états atteignables 13/01/2010G. Berry, Collège de France, 56 F A 0 0 A 1 A 0 U F(A 0 ) A 2 A 1 U F(A 1 )... A U A i Calculer les A i en utilisant des BDDs - mais.... BDD(F) explose ! Utiliser chaque A i comme simplifieur pour BDD(F) Puis utiliser A comme optimiseur pour limplémentation de F (Madre, Coudert, Touati)

57 Vérification, optimisation : calculer les états atteignables 13/01/2010G. Berry, Collège de France, 57 f Esterel v7 : en pratique, toujours meilleur que les méthodes traditionnelles

58 1.Circuits digitaux 2.Des automates aux circuits 3.Esterel et SyncCharts 4.Sémantique 5.Traduction en circuits 6.Optimisation 7.Circuits cycliques 06/01/ G. Berry, Collège de France, Agenda

59 13/01/ G. Berry, Collège de France, Protocole round-robin cylique à 2 A B ok req ok un seule requête ok dans lordre des demandes après le registre à 1

60 13/01/ G. Berry, Collège de France, Protocole round-robin cylique à 2 A B ok req ok un seule requête ok dans lordre des demandes après le registre à 1 qui tourne à chaque fois

61 13/01/ G. Berry, Collège de France, Protocole round-robin cylique à 4 ok req ok req ok req ok

62 13/01/ G. Berry, Collège de France, Protocole round-robin cylique à 2 un seule requête ok dans lordre des demandes après le registre à 1 qui tourne à chaque fois Attention ! cycle combinatoire ! ok req ok

63 13/01/ G. Berry, Collège de France, Protocole round-robin cylique à 2 ok req ok Cycle sain ssi au moins un registre vaut 1 car coupé par tout registre à 1

64 13/01/ G. Berry, Collège de France, Protocole round-robin cylique à 2 ok req ok 1 Cycle sain ssi au moins un registre vaut 1 car coupé par tout registre à 1

65 1. Sans espoir, ni électriquement, ni logiquement X X non X 13/01/ G. Berry, Collège de France, Trois sortes de circuits cycliques 2. Sans problème (éventuellement sous conditions) partie combinatoire du round-robin cyclique (si au moins une sortie de registre à 1) 3. Etrange Hamlet : ToBe ToBe or not ToBe

66 3. Etrange Hamlet : ToBe ToBe or not ToBe 13/01/ G. Berry, Collège de France, Trois sortes de circuits cycliques ToBe Se stabilise électriquement à 1 pour certains délais des portes et fils, mais pas pour tout les délais Quand un circuit se stabilise-t-il pour tous les délais des portes et des fils ?

67 13/01/ G. Berry, Collège de France, Lélectricité est constructive! (Berry – Shiple – Mendler) Théorème : pour une entrée donnée un circuit se stabilise pour tous délais des portes et des fils si et seulement si toutes les valeurs de ses fils sont calculables en logique constructive, sans tiers exclu « X ou non X 1 » si et seulement si le point fixe de ses équations dans la logique de Scott ( B ) est partout défini il existe des délais pour lesquels Hamlet ne se stabilise pas !

68 13/01/ G. Berry, Collège de France, Logique propositionnelle constructive E e 0 E e et e 0 E e 0 E e et e 0 E e 1 E e et e 1 E e 1 E e 1 E e ou e 1 E e 1 E e ou e 1 E e 0 E e ou e 0 E e 0 E e 0 E non e 1 E e 1 E non e 0 E : environnement = fonction des entrées I dans {0,1} Formules : « E prouve X = b », écrit « E X b » E I E(I) I entrée X e E e b E X b

69 Le modèle synchrone déterministe – parallélisme massif + déterminisme – avec toutes les bonnes propriétés du séquentiel – fondé sur des sémantiques mathématiques rigoureuses – qui conduisent à dexcellentes propriétés dimplémentation 13/01/ G. Berry, Collège de France, Conclusion Son champ dapplication – reste limité à des systèmes relativement compact – mais reste considérable : circuits, systèmes embarqués critiques (avions, trains, etc.) le 27 janvier : marier le séquentiel, le synchrone et lasynchrone

70 06/01/ G. Berry, Collège de France, Références The Foundations of Esterel Gérard Berry dans Proof, Language and Interaction: Essays in Honour of Robin Milner, MIT Press, Foundations of ComputingSeries, Statecharts : a Visual Formalism for Complex Systems David Harel Science of Computer Programming 8 (1987) Synchronous Programming of Reactive Systems Nicolas Halbwachs Kluver, 1992

71 13/01/ G. Berry, Collège de France, Références Compiling Esterel Dumitru Potop-Butucaru, Stephen Edwards et Gérard Berry Springer, 2008 The Constructive Semantics of Pure Esterel Gérard Berry, web book...et plus sur www-sop.inria.fr/members/Gerard/Berrywww-sop.inria.fr/members/Gerard/Berry


Télécharger ppt "Parallélisme Synchrone Gérard Berry Collège de France Chaire Informatique et sciences numériques Cours 6 du 13 janvier 2010."

Présentations similaires


Annonces Google