1 / 49

Jouer avec le temps

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

betrys
Download Presentation

Jouer avec le temps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. Les règles de déduction true pourC,I fixé, C,I⊢ ... implicite partout d1 dRd e RS bool affaiblissement eS dR ReS chaîne les transitions yexxey)xey chain deS dS eT join rassemble les entrées d’une porte maxd,eS∩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

  6. d1 d2 C  s1 d1 x  s2d2 xs1s2 0x bool 0x 0xs1s2 chain chain d1s1 d2s2 cas x0 i.e.0x join max(d1,d2)s1s2 x0 régions1s2 atteinteen tempsmax(d1,d2) G. Berry, Collège de France

  7. Logique Booléenne constructive • Circuit C, vecteur d’entrées : I entrées → {0,1} • Formules : I ⊢eb, abrégées en eb si I constant e0 e1 Ientrée e0 e1 e’0 e’1 II(I) e 1 e 0 e e’0 e e’1 e  e’0 e  e’1 e0 e1 e’0 e’1 e  e’0 e  e’1 X: e  Ceb Xb G. Berry, Collège de France

  8. Exemple de transformation de preuves bool chain chain d2s2 d1s1 join C  s1 d1 x  s2d2 xs1s2 max(d1,d2)s1s2 UN-logic 0x Constructive Boolean Logic 0x 0xs1s2 I(x)0 ⊢x0 s2xs1s xs1s2 1 s1x  C x0 cas x0 i.e.0x s11 s2 1 s11  s21 G. Berry, Collège de France

  9. 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

  10. 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

  11. Partage de ressources  cycles combinatoires C 1 Oif 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

  12. 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 xx’etyy’ i.e.(x,y) moins défini que (x’,y’) tt,  ,  ff,  BB (vu d’avion) tt,ff , ff ff, ff G. Berry, Collège de France

  13. 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,tttt, fftt } : BBconstante • {, tttt, fftt } : BBstricte, pas constante! G. Berry, Collège de France

  14. 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

  15. 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

  16. Disjonction Booléenne en circuits tt,tt ,tt ff,tt tt, , ff,   tt,ff ff,ff ,ff (xx)(xy) (yy)(xy) oug oud oup : xy   (xx)(yy)(xy) ous G. Berry, Collège de France

  17. Ou / et parallèle  logique constructive tt,tt ,tt ff,tt tt, , ff, Ie1 Ie’1 Ie’0 Ie0     tt,ff ff,ff ,ff Ie ounon e1  Ie  e’1 Ie e’1 Ie  e’0    xy tt G. Berry, Collège de France

  18. Théorème de point fixe • Soit <D,,> et f : D D croissante pour  Un point fixe de f est un xDtel 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

  19. Application aux circuits cycliques (S. Malik) d1 d2 C  s1 d1 x  s2d2 xs1s2 1. x  0 : fs1,s2 tt,tt 1. x  0 : f,  tt,tt )  ftt,tt  résultat final s1s2 2. x  1 : fs1,s2 ff,s1s2 2. x  1 : f, ff, 2. x  1 : fff, ff,tt 2. x  1 : fff,tt ff,tt  résultat final s1s2  le circuit est constructif pour toute entrée G. Berry, Collège de France

  20. 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

  21. 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 : xttpourxdxv, xffpourxdxv • Codage d’un ensemble par sa fonction caractéristique : • ex. { (x,y) | x et yff}  xdyff • Codage d’une fonction par une expression : • ex. : xy ( xttytt(xffyff) , xttytt) • Codage de l’image d’un ensemble par une fonction : • ex. : si E B2et f : B2 B2 • 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

  22. Algorithme itératif symbolique (y,z)(x, xyz)  (yd,yv,zd,zv,)(xd,xff, xffyffztt(xttyttzff) , xffyffztt) C  s1 d1 x  s2d2 xs1s2 (,)(x, x)   (ff,ff,ff,ff,)(xd, xff, xd , xff) (x, x)(x, xxx)  (x,xx)  (xd, xff,xd, xff)(xd,xff,xd , xd) Y()  (xd,xff , xd,xd)  uniformément constructif Version acyclique : C  s1x  s21 G. Berry, Collège de France

  23. 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

  24. 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

  25. Ordonnanceur round-robin à jeton ok Cycle combinatoire ! ok req G. Berry, Collège de France

  26. Ordonnanceur round-robin à jeton req ok le cycle est sain car coupé à une porte ou ok req G. Berry, Collège de France

  27. req ok Le registre à 1 change à chaque cycle, le point de coupure avec ok req G. Berry, Collège de France

  28. Ordonnanceur round-robin à jeton ok Cycle incorrect si aucun registre à 1 au départ ! R1 Condition de constructivité de la partie cyclique : R1R2 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

  29. Calcul symbolique des états atteignables R00 R1R0U N(R0) R2R1U N(R1) N ... Rn+1RnU N(Rn) Rn RRn 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

  30. 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

  31. 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

  32. 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

  33. Echantillonnage par front montant ou descendant G. Berry, Collège de France

  34. Echantillonnage par front montant ou descendant G. Berry, Collège de France

  35. Chemin de données 0 00 10 D 11 clk G. Berry, Collège de France

  36. ti-1 0 ti 00 délai T/4 01 strobe d 11 resync clk G. Berry, Collège de France

  37. 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

  38. 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

  39. 0 00 11 délai d 01 resync ti-1 strobe 1 ti clk clk G. Berry, Collège de France

  40. 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

  41. 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

  42. 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

  43. 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

  44. 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

  45. 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

  46. 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

  47. 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

  48. Implémentation de Ptides G. Berry, Collège de France

  49. 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

More Related