49
Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages http:// www.college-de-france.fr/site/gerard-berry [email protected] Cou rs 8,

Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages [email protected]

Embed Size (px)

Citation preview

Page 1: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

Jouer avec le temps

Gérard Berry

Collège de FranceChaire Algorithmes, machines et langages

http://www.college-de-france.fr/site/[email protected]

Cours 8, 2

avril

2014

Page 2: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France

1. Calcul de la constructivité des circuits

2. Synchroniseurs mésochrones et plésiochrones

3. Ptides : programmation temps-réel distribuée

02/04/2014 2

Agenda

Page 3: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France

1. Calcul de la constructivité des circuits

2. Synchroniseurs mésochrones et plésiochrones

3. Ptides : programmation temps-réel distribuée

02/04/2014 3

Agenda

Page 4: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 4

Partage de ressources cycles combinatoires

O if C then F(G(I)) else G(F(I))

F

G

C

C

I O

C10

10

10

Sharad Malik, Analysis of Cyclic Combinational CircuitsIEEE Transactions on Computer-Aided Design of Integrated

Circuits and Systems, VOL. 13, NO. 7, JULY 1994

Page 5: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 5

Les règles de déduction

true d1

booldR d e RS

eS

deS

dR R eSchain

dS eT

maxd,eS∩Tjoin rassemble les entrées d’une porte

affaiblissement

+ règles booléennes pour les régions (valables car appliquées à des signaux stables)+ opérations arithmétiques sur les délais

pour C,I fixé, C,I ⊢ ... implicite partout

chaîne les transitionsy e x x ey)x ey

Page 6: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

6G. Berry, Collège de France 02/04/2014

d2

d1

max(d1,d2) s1s2

cas x0i.e. 0x

C s1 d1 x s2 d2 xs1s2

0x0x

d1s1

chain0xs1s2

bool

d2s2

chain

x0 région s1s2 atteinte en temps max(d1,d2)

join

Page 7: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 8

Logique Booléenne constructive

e 1

e e’ 1

e’ 1

e e’ 1 e e’ 0

e 0 e’ 0

e 1

e 0

• Circuit C, vecteur d’entrées : I entrées → {0,1}

• Formules : I ⊢ e b, abrégées en e b si I constant

X : e C e b

X b

e 0

e e’ 0

e’ 0

e e’ 0 e e’ 1

e 1 e’ 1

e 0

e 1I I(I)I entrée

Page 8: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 9

Exemple de transformation de preuves

max(d1,d2) s1s2

cas x0i.e. 0x

C s1 d1 x s2 d2 xs1s2

0x0x

d1s1

chain0xs1s2

bool

d2s2

chain

join

x0s11

I(x)0 ⊢ x0xs1s2 1s1x C s2 xs1s

s2 1

UN-logic

Constructive Boolean Logic

s11 s21

Page 9: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

10G. Berry, Collège de France

• Pour des délais fixés, la UN-prouvabilité vs. ⊢ est une

CNS pour la UN-stabilisation vs. ⊨

02/04/2014

On arrive au bout !

• Mais toute preuve avec délais peut être transcrite en preuve Booléenne constructive sans délais, et réciproquement !

Autrement dit : la prouvabilité en logique booléenne constructive sans délais caractérise exactement la UN-constructivité uniforme (pour n’importe quels délais)

Bonus: les algorithmes de simulation par preuve calculent le temps maximum de réaction du circuit pour chaque vecteur d’entrée

Page 10: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 11

Partage de ressources cycles combinatoires

O if C then F(G(I)) else G(F(I))

cycle F

G

C

C

I O

C10

10

10

Page 11: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 12

Partage de ressources cycles combinatoires

F

G

1

O

110

10

10

1

I

C 1 O if C then F(G(I)) else G(F(I))

Chaque porte est utilisée au plus une fois pour une entrée donnée,

interprétation en temps linéaire(option –I d’Esterel v5)

Page 12: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 13

Ordre d’information : la logique ternaire de Scott

tt ff ^ tt^ ff

B : booléens de Scott

indéfini je ne sais pas je ne veux pas savoir moins défini que

(x,y) (x’,y’ ) ssi x x’ et y y’i.e. (x,y) moins défini que (x’,y’)

tt, ,

, tttt, tt

, fftt, ff

ff,

ff, tt

ff, ff

B B (vu d’avion)

Page 13: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 14

Fonctions croissantes

• Plus on en donne, plus on en récupère ! f : <D,,> <D’,’,’ > croissante

ssi x, y. x y f(x) ’ f(y)

• Fonction constante :

x, y. f(x) f(y)

• Attention :

{tt, tttt, fftt } : B B constante

{, tttt, fftt } : B B stricte, pas constante !

• Ordre des fonctions : f f’ ssi f partout moins définie que f’ f f’ ssi x. f(x) f’(x)

Page 14: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 15

Disjonction Booléenne

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

ous

en C: e | e’

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

oug

en C : e || e’

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

oud

en C: e’ || e

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

oup

Page 15: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 16

Disjonction Booléenne en logiciel

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

ous

en C: e | e’

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

oug

en C : e || e’

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

oud

en C: e’ || e

oup

Plotkin, 1972Berry, 1977

cf. cours du 09/12/2009

Page 16: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 17

Disjonction Booléenne en circuits

ous

oug oud

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

oup : xy

(xx)(xy) (yy)(xy)

(xx)(yy)(xy)

Page 17: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 18

Ou / et parallèle logique constructive

tt, ,

,tttt,tt

,fftt,ff

ff,

ff,tt

ff,ff

xy

I e 0

I e e’ 0

I e’ 0

I e’ 1

I e e’ 1

I e 1

I e e’ 1

I e ou non e 1

tt

Page 18: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 19

Théorème de point fixe

• Soit <D,,> et f : D D croissante pour Un point fixe de f est un xD tel que f (x) x

Théorème 2 : si D est fini (ou D complet et f continue),

Théorème 2 : alors Y(f ) Un>0 f n()

Algorithme : calculer y1 f (), y2 f (y1), ..., yn+1 f (yn)

Algorithme : s’arrêter dès que yn+1 yn

Algorithme : alors Y(f) yn

cf. cours lambda-calcul du 9 décembre 2009

Théorème 1 : f admet un plus petit point fixe Y(f ) tel que f(Y(f)) Y(f ) et x. f (x) x Y(f ) x

Page 19: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 20

Application aux circuits cycliques (S. Malik)

d2

d1

C s1 d1 x s2 d2 xs1s2

1. x 0 : f s1,s2 tt,tt

2. x 1 : f s1,s2 ff, s1s22. x 1 : f , ff,

2. x 1 : f ff, ff,tt2. x 1 : f ff,tt ff,tt résultat final s1s2

1. x 0 : f , tt,tt ) f tt,tt résultat final s1s2

le circuit est constructif pour toute entrée

Page 20: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

• Question : au lieu de traiter les vecteurs entrées un par un, ne peut-on pas les traiter tous en même temps ?

02/04/2014 21

Evaluation symbolique

• Réponse : si, par évaluation symbolique– représentation des ensembles, fonctions et images directes ou

inverses par des expressions booléennes– codages efficaces de ces expressions (ex. BDDs) – algorithmes d’itération de point fixe sur BDD formels pour la

constructivité

Implémenté dans Esterel v5 (option –causal)en utilisant le système de BDDs TiGeR

Merci à T. Shiple, O. Coudert, J-C. Madre et H. Touati

G. Berry, Collège de France

Page 21: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

• Codage d’un Booléen de Scott par deux Booléens standards :–x (xd,xv) avec (ff,ff), tt (tt,tt) et ff (tt,ff)–notation : xtt

pour xdxv , xff pour xdxv

02/04/2014 22

Codages Dual Rail

• Codage d’un ensemble par sa fonction caractéristique :–ex. { (x,y) | x et yff } xdyff

• Codage d’une fonction par une expression : –ex. : xy ( xttytt(xffyff) , xttytt )

• Codage de l’image d’un ensemble par une fonction : –ex. : si E B

2 et f : B2 B

2 – alors f(E) { (x’,y’) | (x,y)E. (x’,y’) f(x,y) }– avec (x,y).P(x,y) P(ff,ff,ff,ff)P(tt,tt,ff,ff)P(tt,ff,ff,ff)

P(ff,ff,tt,tt)... P(tt,ff,tt,ff)Gare auxexponentielles !

G. Berry, Collège de France

Page 22: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 23

Algorithme itératif symbolique

C s1 d1 x s2 d2 xs1s2

(y,z) (x, xyz) (yd,yv,zd,zv,) (xd , xff ,

xffyffztt(xttyttzff) , xffyffztt)

Y() (xd , xff , xd , xd) uniformément constructif

(ff,ff,ff,ff,) (xd , xff , xd , xff)

(xd , xff , xd , xff) (xd , xff , xd , xd)

(, ) (x, x)

(x, x) (x, xxx) (x, xx)

Version acyclique : C s1 x s2 1

Page 23: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 24

Importance des relations d’entrée

input TOP_HORLOGE, INDICATEUR_ON ;relation TOP_HORLOGE # INDICATEUR_ON ;signal FIN, REARMEMENT in abort await TOP_HORLOGE ; emit FIN end when REARMEMENT|| abort every INDICATEUR_ON ; emit REARMEMENT when FINend signal

TOP_HORLOGE # INDICATEUR_ON FIN # REARMEMENT

E. Ledinot, Dassault aviation, séminaire du 16/04/2013

Page 24: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 25

Bonus

L’algorithme symbolique de constructivitécalcul le prédicat d’entrée maximal qui

rend le circuit constructif

Page 25: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 26

Ordonnanceur round-robin à jeton

Cycle combinatoire !

ok

reqok

Page 26: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 27

Ordonnanceur round-robin à jeton

le cycle est saincar coupé à une porte ou

okreq

reqok

Page 27: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 28

okreq

reqok

Le registre à 1change à chaque cycle,le point de coupure avec

Page 28: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 29

Ordonnanceur round-robin à jeton

Cycle incorrectsi aucun registre à 1

au départ !

ok

reqok

Condition de constructivitéde la partie cyclique : R1R2

R1

R2

Doit être vraie à l’instant initialet préservée dans l’exécution

calcul des états atteignables (vs. le temps de l’horloge)

Page 29: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

30G. Berry, Collège de France 02/04/2014

Calcul symbolique des états atteignables

N

R0 0

R1 R0 U N(R0)

R2 R1 U N(R1)...Rn+1 Rn U N(Rn)

Rn

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

• Utiliser chaque Ri comme simplifieur pour BDD(F)

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

(Madre, Coudert, Touati)

R Rn

Vérifier pour tout i que Ri rend le circuit combinatoire constructif

Page 30: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France

1. Calcul de la constructivité des circuits

2. Synchroniseurs mésochrones et plésiochrones

3. Ptides : programmation temps-réel distribuée

02/04/2014 32

Agenda

Page 31: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

Low-Latency and Low-Overhead Mesochronous and Plesiochronous Synchronizers

Jean Michel Chabloz et Ahmed Hemani, KTH StockholmEuromicro 2011

02/04/2014 33

Synchroniseurs mésochrones et plésiochrones

G. Berry, Collège de France

Page 32: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 34

Horloges multiples

Même fréquence

synchrones même phase

mésochrones : décalage de phase constant

plésiochrones : décalage de phase variable

Fréquences différentes

harmoniques rapports rationnels

asynchrones rapports inconnus / variables

Page 33: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

35G. Berry, Collège de France 02/04/2014

Echantillonnage par front montant ou descendant

Page 34: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

36G. Berry, Collège de France 02/04/2014

Echantillonnage par front montant ou descendant

Page 35: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 37

Chemin de données

clk

0 00

10

11

D

Page 36: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

38G. Berry, Collège de France 02/04/2014

0 00

01

11

d

délaiT/4

strobe

resync

clk

ti

ti-1

Page 37: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

39G. Berry, Collège de France 02/04/2014

titi-1

strobe

strobed1

0

data

OK

strobe

strobed11

data

OK

0 à ti-1et 1 à ti front montant1 à ti-1et 1 à ti front descendant

Page 38: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

40G. Berry, Collège de France 02/04/2014

titi-1

strobe

strobed 0

data

OK

strobe

strobed11

data

1

1 1 plus tard !

0

OK

OK

0 à ti-1et 1 à ti front montant1 à ti-1et 1 à ti front descendant

0

Page 39: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

41G. Berry, Collège de France 02/04/2014

0 00

11

01

clk

ddélai

resync

1ti

ti-1

clk

strobe

Page 40: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 42

Horloges multiples

Même fréquence

synchrones même phase

mésochrones : décalage de phase constant

plésiochrones : décalage de phase variable

Fréquences différentes

harmoniques rapports rationnels

asynchrones rapports inconnus / variables

Page 41: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 43

Idée : l’émetteur inverse strobe à chaque ticket le récepteur prévoit le front montant ou descendant

à utiliser dans 2 coups d’horloge

Page 42: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France

1. Calcul de la constructivité des circuits

2. Synchroniseurs mésochrones et plésiochrones

3. Ptides : programmation temps-réel distribuée

02/04/2014 44

Agenda

Page 43: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 45

Ptides (E. Lee et. al) : Programming Temporally Integrated Distributed Systems

les messages portent des timestamps précis

Les acteurs spécifient les calculs

Page 44: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 46

synchro d’horloge bornée (PTP)

la synchronisationdonne un sens global

aux timestamps

messages traités dans l’ordre

des timestamps

Synchronisation d’horloges

Page 45: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 47

Synchronisation d’horloges

timestamp temps limite

timestamp = date de mesure

capteurs acteurs

actuateurs acteurs

actuateurs : timestamps

date de l’action

Page 46: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 48

Maîtrise des latences

La latence globale des capteurs aux actionneurs est calculable,ce qui rend la correction et la performance du système analysable

maîtrise des latences par calcul

des timestamps

retour au monde physique

Page 47: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 49

Conséquence : déterminisme !

délai du réseauborné d

un événement de timestamp t peut être sorti au tempst + s + d + e – d2

hypothèse: erreur d’horloge bornée e

hypothèse : délai des capteurs borné s

application:latence d2

Note : Il faut des bornes aux interfaces réseau pour garantir l’ordre temporel indépen-damment de l’ordre d’exécution des acteurs.

Page 48: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

50G. Berry, Collège de France 02/04/2014

Implémentation de Ptides

Page 49: Jouer avec le temps Gérard Berry Collège de France Chaire Algorithmes, machines et langages  gerard.berry@college-de-france.fr

G. Berry, Collège de France 02/04/2014 51

RéférencesConstructive Boolean Circuits and the Exactness of Timed Ternary Simulation M. Mendler, T. Shiple et G. Berry.  Formal Methods in System Design, Vol.40, No.3, pp. 283-329, Springer (2012).

Constructive Analysis of Cyclic CircuitsT. Shiple, G. Berry et H. Touati. Proc. Int. Design and Testing Conference IDTC'96, Paris, France (1996).

Low-Latency and Low-Overhead Mesochronous and Plesiochronous Synchronizers Jean Michel Chabloz, Ahmed Hemani Conference: Euromicro Symposium on Digital Systems Design - DSD , 2011

On the Schedulability of Real-Time Discrete Event SystemsE. Matsikoudis, C. Stergiou, E.A. Lee. Proc EMSOFT 2013.

PTIDES: A Programming Model for Distributed Real-Time Embedded Systems P. Derler, T. Huining Feng, E.A. Lee, S. Matic, H.D.Patel, YangZ hao, Jia Zou Report EECS-2008-72, EECS Department, University of California, Berkeleyhttp://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-72.html