490 likes | 618 Views
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 gerard.berry@college-de-france.fr. Cours 8, 2 avril 2014. Agenda. Calcul de la constructivité des circuits
E N D
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 gerard.berry@college-de-france.fr Cours 8, 2 avril 2014
Agenda • Calcul de la constructivité des circuits • Synchroniseurs mésochrones et plésiochrones • Ptides : programmation temps-réel distribuée G. Berry, Collège de France
Agenda • Calcul de la constructivité des circuits • Synchroniseurs mésochrones et plésiochrones • Ptides : programmation temps-réel distribuée G. Berry, Collège de France
Partage de ressources cycles combinatoires O if C then F(G(I)) else G(F(I)) C 1 0 F C 1 0 O I 1 0 G C Sharad Malik,Analysis of Cyclic Combinational Circuits IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, VOL. 13, NO. 7, JULY 1994 G. Berry, Collège de France
Les règles de déduction true pourC,I fixé, C,I⊢ ... implicite partout d1 dRd e RS bool affaiblissement eS dR ReS chaîne les transitions yexxey)xey chain deS dS eT join rassemble les entrées d’une porte maxd,eS∩T + règles booléennes pour les régions (valables car appliquées à des signaux stables) + opérations arithmétiques sur les délais G. Berry, Collège de France
d1 d2 C s1 d1 x s2d2 xs1s2 0x bool 0x 0xs1s2 chain chain d1s1 d2s2 cas x0 i.e.0x join max(d1,d2)s1s2 x0 régions1s2 atteinteen tempsmax(d1,d2) G. Berry, Collège de France
Logique Booléenne constructive • Circuit C, vecteur d’entrées : I entrées → {0,1} • Formules : I ⊢eb, abrégées en eb si I constant e0 e1 Ientrée e0 e1 e’0 e’1 II(I) e 1 e 0 e e’0 e e’1 e e’0 e e’1 e0 e1 e’0 e’1 e e’0 e e’1 X: e Ceb Xb G. Berry, Collège de France
Exemple de transformation de preuves bool chain chain d2s2 d1s1 join C s1 d1 x s2d2 xs1s2 max(d1,d2)s1s2 UN-logic 0x Constructive Boolean Logic 0x 0xs1s2 I(x)0 ⊢x0 s2xs1s xs1s2 1 s1x C x0 cas x0 i.e.0x s11 s2 1 s11 s21 G. Berry, Collège de France
On arrive au bout ! • Pour des délais fixés, la UN-prouvabilité vs. ⊢est une CNS pour la UN-stabilisation vs. ⊨ • 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
Partage de ressources cycles combinatoires O if C then F(G(I)) else G(F(I)) C cycle 1 0 F C 1 0 O I 1 0 G C G. Berry, Collège de France
Partage de ressources cycles combinatoires C 1 Oif C then F(G(I)) else G(F(I)) 1 1 0 F 1 1 0 O I 1 0 G 1 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
Ordre d’information : la logique ternaire de Scott tt ff indéfini je ne sais pas je ne veux pas savoir moins défini que • tt • ff B : booléens de Scott tt, tt , tt ff, tt (x,y)(x’,y’) ssi xx’etyy’ i.e.(x,y) moins défini que (x’,y’) tt, , ff, BB (vu d’avion) tt,ff , ff ff, ff G. Berry, Collège de France
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) • Ordre des fonctions : f f’ssifpartout moins définie quef’ f f’ ssi x. f(x) f’(x) • Fonction constante : x, y. f(x)f(y) • Attention : • {tt,tttt, fftt } : BBconstante • {, tttt, fftt } : BBstricte, pas constante! G. Berry, Collège de France
Disjonction Booléenne tt,tt tt,tt tt,tt tt,tt ,tt ,tt ,tt ,tt ff,tt ff,tt ff,tt ff,tt tt, tt, tt, tt, , , , , ff, ff, ff, ff, tt,ff tt,ff tt,ff tt,ff ff,ff ff,ff ff,ff ff,ff ,ff ,ff ,ff ,ff oug en C : e||e’ oup oud en C: e’||e ous en C: e|e’ G. Berry, Collège de France
Disjonction Booléenne en logiciel tt,tt tt,tt tt,tt ,tt ,tt ,tt ff,tt ff,tt ff,tt Plotkin, 1972 Berry, 1977 cf. cours du 09/12/2009 tt, tt, tt, , , , ff, ff, ff, tt,ff tt,ff tt,ff ff,ff ff,ff ff,ff ,ff ,ff ,ff oup oug en C : e||e’ oud en C: e’||e ous en C: e|e’ G. Berry, Collège de France
Disjonction Booléenne en circuits tt,tt ,tt ff,tt tt, , ff, tt,ff ff,ff ,ff (xx)(xy) (yy)(xy) oug oud oup : xy (xx)(yy)(xy) ous G. Berry, Collège de France
Ou / et parallèle logique constructive tt,tt ,tt ff,tt tt, , ff, Ie1 Ie’1 Ie’0 Ie0 tt,ff ff,ff ,ff Ie ounon e1 Ie e’1 Ie e’1 Ie e’0 xy tt G. Berry, Collège de France
Théorème de point fixe • Soit <D,,> et f : D D croissante pour Un point fixe de f est un xDtel que f(x) x Théorème 1 : f admet un plus petit point fixeY(f) tel que f(Y(f)) Y(f) et x. f(x) x Y(f) x Théorème 2 : si D est fini (ouDcomplet etfcontinue), Théorème 2 : alors Y(f) Un>0 fn() Algorithme : calculer y1 f(), y2 f(y1), ..., yn+1 f(yn) Algorithme : s’arrêter dès que yn+1 yn Algorithme : alorsY(f) yn cf. cours lambda-calcul du 9 décembre 2009 G. Berry, Collège de France
Application aux circuits cycliques (S. Malik) d1 d2 C s1 d1 x s2d2 xs1s2 1. x 0 : fs1,s2 tt,tt 1. x 0 : f, tt,tt ) ftt,tt résultat final s1s2 2. x 1 : fs1,s2 ff,s1s2 2. x 1 : f, ff, 2. x 1 : fff, ff,tt 2. x 1 : fff,tt ff,tt résultat final s1s2 le circuit est constructif pour toute entrée G. Berry, Collège de France
Evaluation symbolique • Question : au lieu de traiter les vecteurs entrées un par un, ne peut-on pas les traiter tous en même temps ? • 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
Codages Dual Rail • 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 : xttpourxdxv, xffpourxdxv • 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 B2et f : B2 B2 • alorsf(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 aux exponentielles ! G. Berry, Collège de France
Algorithme itératif symbolique (y,z)(x, xyz) (yd,yv,zd,zv,)(xd,xff, xffyffztt(xttyttzff) , xffyffztt) C s1 d1 x s2d2 xs1s2 (,)(x, x) (ff,ff,ff,ff,)(xd, xff, xd , xff) (x, x)(x, xxx) (x,xx) (xd, xff,xd, xff)(xd,xff,xd , xd) Y() (xd,xff , xd,xd) uniformément constructif Version acyclique : C s1x s21 G. Berry, Collège de France
Importance des relations d’entrée E. Ledinot, Dassault aviation, séminaire du 16/04/2013 input TOP_HORLOGE, INDICATEUR_ON ; relation TOP_HORLOGE # INDICATEUR_ON ; signal FIN, REARMEMENTin abort awaitTOP_HORLOGE ; emitFIN end whenREARMEMENT || abort everyINDICATEUR_ON ; emitREARMEMENT whenFIN end signal TOP_HORLOGE # INDICATEUR_ON FIN # REARMEMENT G. Berry, Collège de France
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
Ordonnanceur round-robin à jeton ok Cycle combinatoire ! ok req G. Berry, Collège de France
Ordonnanceur round-robin à jeton req ok le cycle est sain car coupé à une porte ou ok req G. Berry, Collège de France
req ok Le registre à 1 change à chaque cycle, le point de coupure avec ok req G. Berry, Collège de France
Ordonnanceur round-robin à jeton ok Cycle incorrect si aucun registre à 1 au départ ! R1 Condition de constructivité de la partie cyclique : R1R2 R2 Doit être vraie à l’instant initial et préservée dans l’exécution calcul des états atteignables (vs. le temps de l’horloge) ok req G. Berry, Collège de France
Calcul symbolique des états atteignables R00 R1R0U N(R0) R2R1U N(R1) N ... Rn+1RnU N(Rn) Rn RRn Vérifier pour tout i que Rirend le circuit combinatoire constructif • 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) G. Berry, Collège de France
Agenda • Calcul de la constructivité des circuits • Synchroniseurs mésochrones et plésiochrones • Ptides : programmation temps-réel distribuée G. Berry, Collège de France
Synchroniseurs mésochrones et plésiochrones Low-Latency and Low-Overhead Mesochronous and Plesiochronous Synchronizers Jean Michel Chabloz et Ahmed Hemani, KTH Stockholm Euromicro 2011 G. Berry, Collège de France
Horloges multiples synchrones même phase mésochrones : décalage de phase constant Même fréquence plésiochrones : décalage de phase variable harmoniques rapports rationnels Fréquences différentes asynchrones rapports inconnus / variables G. Berry, Collège de France
Echantillonnage par front montant ou descendant G. Berry, Collège de France
Echantillonnage par front montant ou descendant G. Berry, Collège de France
Chemin de données 0 00 10 D 11 clk G. Berry, Collège de France
ti-1 0 ti 00 délai T/4 01 strobe d 11 resync clk G. Berry, Collège de France
ti-1 ti data strobe 1 0 strobed OK data strobe 1 1 strobed OK 0 àti-1et 1 à ti front montant 1 àti-1et 1 à ti front descendant G. Berry, Collège de France
ti-1 ti data strobe OK 1 0 strobed 1 1 plus tard ! 0 data strobe OK 1 1 strobed 0 OK 0àti-1et 1 à ti front montant 1àti-1et 1 à ti front descendant G. Berry, Collège de France
0 00 11 délai d 01 resync ti-1 strobe 1 ti clk clk G. Berry, Collège de France
Horloges multiples synchrones même phase mésochrones : décalage de phase constant Même fréquence plésiochrones : décalage de phase variable harmoniques rapports rationnels Fréquences différentes asynchrones rapports inconnus / variables G. Berry, Collège de France
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
Agenda • Calcul de la constructivité des circuits • Synchroniseurs mésochrones et plésiochrones • Ptides : programmation temps-réel distribuée G. Berry, Collège de France
Ptides (E. Lee et. al) : Programming Temporally Integrated Distributed Systems Les acteurs spécifient les calculs les messages portent des timestamps précis G. Berry, Collège de France
Synchronisation d’horloges messages traités dans l’ordre des timestamps synchro d’horloge bornée (PTP) la synchronisation donne un sens global aux timestamps G. Berry, Collège de France
Synchronisation d’horloges capteurs acteurs timestamp = date de mesure timestamp temps limite actuateurs acteurs actuateurs : timestamps date de l’action G. Berry, Collège de France
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
Conséquence : déterminisme ! délai du réseau borné d hypothèse : délai des capteurs borné s 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. application: latence d2 un événement de timestamp t peut être sorti au tempst + s + d + e – d2 hypothèse: erreur d’horloge bornée e G. Berry, Collège de France
Implémentation de Ptides G. Berry, Collège de France
Références Constructive Boolean Circuits and the Exactness of Timed Ternary Simulation M. Mendler, T. Shipleet G. Berry. Formal Methods in System Design, Vol.40, No.3, pp. 283-329, Springer (2012). Constructive Analysis of Cyclic Circuits T. Shiple, G. Berry et H. Touati. Proc. Int. Design and Testing Conference IDTC'96, Paris, France (1996). Low-Latencyand Low-Overhead Mesochronous and Plesiochronous Synchronizers Jean Michel Chabloz, Ahmed Hemani Conference: Euromicro Symposium on Digital Systems Design - DSD , 2011 PTIDES: A Programming Model for Distributed Real-Time Embedded Systems P. Derler, T. HuiningFeng, E.A. Lee, S. Matic, H.D.Patel, YangZhao, JiaZou Report EECS-2008-72, EECS Department, University of California, Berkeley http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-72.html On the Schedulability of Real-Time Discrete Event Systems E. Matsikoudis, C. Stergiou, E.A. Lee. Proc EMSOFT 2013. G. Berry, Collège de France