Upload
pascale-henri
View
110
Download
2
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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)
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)
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)
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
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
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)
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
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
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
• 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
• 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
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
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
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
G. Berry, Collège de France 02/04/2014 26
Ordonnanceur round-robin à jeton
Cycle combinatoire !
ok
reqok
G. Berry, Collège de France 02/04/2014 27
Ordonnanceur round-robin à jeton
le cycle est saincar coupé à une porte ou
okreq
reqok
G. Berry, Collège de France 02/04/2014 28
okreq
reqok
Le registre à 1change à chaque cycle,le point de coupure avec
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)
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
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
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
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
35G. Berry, Collège de France 02/04/2014
Echantillonnage par front montant ou descendant
36G. Berry, Collège de France 02/04/2014
Echantillonnage par front montant ou descendant
G. Berry, Collège de France 02/04/2014 37
Chemin de données
clk
0 00
10
11
D
38G. Berry, Collège de France 02/04/2014
0 00
01
11
d
délaiT/4
strobe
resync
clk
ti
ti-1
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
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
41G. Berry, Collège de France 02/04/2014
0 00
11
01
clk
ddélai
resync
1ti
ti-1
clk
strobe
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
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
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
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
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
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
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
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.
50G. Berry, Collège de France 02/04/2014
Implémentation de Ptides
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