parallélisme synchrone gérard berry collège de france chaire informatique et sciences numériques...

Post on 03-Apr-2015

106 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Parallélisme Synchrone

Gérard Berry

Collège de France

Chaire Informatique et sciences numériques

Cours 6 du 13 janvier 2010

06/01/2010 2G. Berry, Collège de France,

SynchroneMusiciens et spectateurs négligent la vitesse du son

VibratoireMais les acousticiens règlent sa propagation

Parallélismes synchrone et vibratoire

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/2010 4G. Berry, Collège de France,

Agenda

s a oux b oux c

13/01/2010 5G. 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

et ou oux

1

0

1

0

0

0

1

1

non (a et b) (non a) et b

ab

mux(c,a,b) =(c et a) ou ((non c) et b)

mux

cab

full adder

13/01/2010 6G. Berry, Collège de France,

Additionneur de von Neumann

Pour n bitstemps log(n)

13/01/2010 7G. Berry, Collège de France,

Le registre

ra

a a0, a1, a2, ... r 0, a0, a1, a2, ... ra

a a0, a1, a2, ... r 1, a0, a1, a2, ... ra

a

rreg(a)

ck ck

13/01/2010 8G. Berry, Collège de France,

Les circuits séquentiels

ab

s ...00110...01101

...10011

6

13

19

additionneur sériel

r

1. Circuits digitaux

2. Des automates aux circuits

3. Esterel et SyncCharts

4. Sémantique

5. Traduction en circuits

6. Circuits cycliques

06/01/2010 9G. Berry, Collège de France,

Agenda

13/01/2010 10G. Berry, Collège de France,

(ab+b)*ba

e1

e2

e3

e0

a

b

b

ab

b

déterministe1-hot

(1 seul ri à 1)

r0 r2

r1

r3

a

b

bb

a

b

ok

déterministe1-hot

(1 seul ri à 1)

explosion en taille !

bb

b

aa

ok

13/01/2010 11G. Berry, Collège de France,

non-déterministe pas d’explosion

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

non-déterministe pas d’explosion bien meilleur !

13/01/2010 12G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

13/01/2010 13G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

a

13/01/2010 14G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

a

13/01/2010 15G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

ab

13/01/2010 16G. Berry, Collège de France,

bb

b

aa

ok

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

ab

13/01/2010 17G. Berry, Collège de France,

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbbb

b

aa

ok

13/01/2010 18G. Berry, Collège de France,

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbbb

b

aa

ok

13/01/2010 19G. Berry, Collège de France,

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbabb

b

aa

ok

13/01/2010 20G. Berry, Collège de France,

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbabb

b

aa

ok

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/2010 21G. Berry, Collège de France,

Agenda

13/01/2010 22G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

Ecriture mémoireR : demandeA : adresseB : donnéeO : écriture

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

13/01/2010 23G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

13/01/2010 24G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

13/01/2010 25G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRéinitialiser le comportement à chaque R

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

13/01/2010 26G. Berry, Collège de France,

L’exemple ABRO

Emettre O dès que A and B sont arrivésRé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 /

R /

R /

R /

13/01/2010 27G. 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ératifsEsterel, Quartz

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 Rend loop

13/01/2010 28G. Berry, Collège de France,

Esterel = spécification linéaire

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

copies = résidus !Esterel = partage des résidus

13/01/2010 29G. Berry, Collège de France,

SyncCharts (C. André)

A / B /

R /

/ O

automates parallèleshiérarchiques synchrones

loop abort { await A || await B }; emit O ; halt when Rend loop

13/01/2010 30G. Berry, Collège de France,

Le coureur Esterelevery 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 RushToHospitalend trap

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/2010 31G. Berry, Collège de France,

Agenda

13/01/2010 32G. Berry, Collège de France,

Le noyau Esterel pur

nothingpauseemit Sif S then p else q endsuspend p when Sp ; qloop p endp || qtrap T in p endexit Tsignal S in p end

01! ss ? p, qs pp ; qpp | q{p} pk, k > 1p \ s

U

*

13/01/2010 33G. Berry, Collège de France,

La sémantique comportementale

pE

E’ kp’

signaux reçus

signaux émis code de retour

Broadcasting : E’ E

0 : terminaison1 : attente2 : sortie du trap le plus proche3 : sortie du second trap le plus proche

k

13/01/2010 34G. Berry, Collège de France,

Numérotation des traps

Si deux traps sont levés enmême temps, seul le plus extérieur compte

trap T in trap U in

nothing0

||

pause1

||

exit U2

||

exit T3

end trap||

exit T2

end trap

Code de retour du parallèle

max des codes des branches

(code de Gonthier)

13/01/2010 35G. Berry, Collège de France,

!sE

{s} 00

kE

0 k 0

(pour k 0, k 1, k 1)

13/01/2010 36G. Berry, Collège de France,

s ? p, qE

E’ k p’

s E pE

E’ kp’

s ? p, qE

F’ l q’

s E qE

F’ lq’

13/01/2010 37G. Berry, Collège de France,

pE

E’ 0p’

E’ 0s p U 0 E

E

E' ks p U s p' U

pE

E’ kp’ k 0

avec s p' = {( s ? 1 , 2) } ; s p' U U*

13/01/2010 38G. Berry, Collège de France,

pE

E’ 0p’ q

E

F’ lq’

p ; qE’ U F’ l

q’E

pE

E’ kp’ k = 0

p ; qE’ k

p’ ; qE

13/01/2010 39G. Berry, Collège de France,

pE

E’ kp’ q

E

F’ lq’

p | qE

E’ U F’ max(k,l) p’ | q’

pE

E’ kp’ k 0

pE’ k

p’ ; pE

* *

13/01/2010 40G. Berry, Collège de France,

{p}E

E’ 00

pE

E’ kp’ k 0 ou k 2

{p}E

E’ k{p’}

pE

E’ kp’ k 1 ou k > 2

k 1 si k=1, k-1 si k>2

13/01/2010 41G. Berry, Collège de France,

p \ sE

E’ k p’ \ s

pE U {s}

E’ U {s} kp’

p \ sE

E’ k p’ \ s

EE’ k

p’s E s E' p

si une seule règle s’applique => déterminismeMais les deux peuvent s’appliquer, voir plus loin!

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/2010 42G. Berry, Collège de France,

Agenda

13/01/2010 43G. Berry, Collège de France,

Traduction structurelle en circuits

Chaque instruction p engendre un sous-circuit

GO

RES

SUSP

KILL

SEL

K0

K1

K2...

E E'

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

13/01/2010 44G. Berry, Collège de France,

Circuit pour 1 (pause)

KILL

RES

K0SUSP

GO K1

SEL

13/01/2010 45G. Berry, Collège de France,

Circuit pour « p ; q »

GO

RES

SUSP

KILL

SEL

K0

K1

K2

...

E E'

p

GO

RES

SUSP

KILL

SEL

K0

K1

K2

...

E E'

q

E'

SEL

K1

K2

GO

RES

SUSP

KILL

K0

E

13/01/2010 46G. Berry, Collège de France,

Circuit pour « p || q »

GO

RES

SUSP

KILL

SEL

K0

K1

K2

E E'

K3

...

p

GO

RES

SUSP

KILL

SEL

K0

K1

K2

E E'

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

GO

GO

RES

SUSP

E

q

KILL

13/01/2010 47G. Berry, Collège de France,

Le synchroniseur du parallèle

LEM

REM

L0

R0 R1

L1 L2

R2

L3

R3

K0 K1 K2 K3

IN_KILLKILL

13/01/2010 48G. Berry, Collège de France,

Circuit pour « abort p when s »

GO

RES

SUSP

KILL

SEL

K0

K1

K2

...

E E'

RES

SUSP

s

K0

GO

KILL

SEL

K1

K2

E E'

p

13/01/2010 49G. Berry, Collège de France,

Le circuit ABRO hiérarchique

loop abort { await A || await B }; emit O ; halt when Rend loop

saute àl’optimisation

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/2010 50G. Berry, Collège de France,

Agenda

13/01/2010 51G. 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. 2007-2008)

13/01/2010 52G. Berry, Collège de France,

Mauvaise solutions

e1

e2

e3

e0

a

b

b

ab

b

• déterministe => 1-hot explose avec le nb d’états

e0 10

e1 11

e2 01

e3 00

e0 01

e1 10

e2 11

e3 11bon mauvais

n! possibilités, pas d’heuristique !

• log(n) bits pour n états peut faire exploser la logique

13/01/2010 53G. Berry, Collège de France,

R

Ologique combinatoire

registres

I

Il faut équilibrer les registres et la logiqueSolutions : automates non-déterministes

encodage structurel d’Esterel / SyncCharts

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 Rend loop

Vérification, optimisation : calculer les états atteignables

13/01/2010G. Berry, Collège de France, 56

FA0 0

A1 A0 U F(A0)

A2 A1 U F(A1)...

A U Ai

• Calculer les Ai en utilisant des BDDs - mais .... BDD(F) explose !

• Utiliser chaque Ai comme simplifieur pour BDD(F)

• Puis utiliser A comme optimiseur pour l’implémentation de F

(Madre, Coudert, Touati)

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

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/2010 58G. Berry, Collège de France,

Agenda

13/01/2010 59G. Berry, Collège de France,

Protocole round-robin cylique à 2

A

B

okreq

reqok

• un seule requête ok dans l’ordre des demandes après le registre à 1

13/01/2010 60G. Berry, Collège de France,

Protocole round-robin cylique à 2

A

B

okreq

reqok

• un seule requête ok dans l’ordre des demandes après le registre à 1

• qui tourne à chaque fois

13/01/2010 61G. Berry, Collège de France,

Protocole round-robin cylique à 4

okreq

req

ok

req

ok

reqok

13/01/2010 62G. Berry, Collège de France,

Protocole round-robin cylique à 2

• un seule requête ok dans l’ordre des demandes après le registre à 1

• qui tourne à chaque fois

Attention !cycle combinatoire !

okreq

reqok

13/01/2010 63G. Berry, Collège de France,

Protocole round-robin cylique à 2

okreq

reqok

Cycle sain ssi au moins un registre vaut 1

car coupé par tout registre à 1

13/01/2010 64G. Berry, Collège de France,

Protocole round-robin cylique à 2

okreq

reqok

1

Cycle sain ssi au moins un registre vaut 1

car coupé par tout registre à 1

1. Sans espoir, ni électriquement, ni logiquementX XX non X

13/01/2010 65G. 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

3. Etrange

Hamlet : ToBe ToBe or not ToBe

13/01/2010 66G. 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-ilpour tous les délais des portes et des fils ?

13/01/2010 67G. 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 !

13/01/2010 68G. 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

• 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 à d’excellentes propriétés d’implémentation

13/01/2010 69G. Berry, Collège de France,

Conclusion

• Son champ d’application– 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 l’asynchrone

06/01/2010 70G. 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, 2000.

• Statecharts : a Visual Formalism for Complex Systems David Harel Science of Computer Programming 8 (1987) 231-274

• Synchronous Programming of Reactive Systems Nicolas Halbwachs Kluver, 1992

13/01/2010 71G. 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/Berry

top related