Chaire Algorithmes, machines et langages

Slides:



Advertisements
Présentations similaires
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Advertisements

LES NOMBRES PREMIERS ET COMPOSÉS
Licence pro MPCQ : Cours
Distance inter-locuteur
Calcul géométrique avec des données incertaines
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Calculs de complexité d'algorithmes
Laurent Burlion Directrice de thèse : Madame F. Lamnabhi-Lagarrigue
Les numéros
Répondez à ces quelques questions
1 Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres.
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
La compilation matérielle et logicielle d’Esterel v5 /v7
ORTH 1 CE2 Je sais écrire sans erreur les pluriels des noms se terminant par s, x, z.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
Cours Systèmes logiques
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Application des algorithmes génétiques
La compilation logicielle dEsterel v5 Gérard Berry Chaire Algorithmes, machines et langages Collège de France Cours 4, 23 avril 2013.
Cours de physique générale I Ph 11
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
1.2 COMPOSANTES DES VECTEURS
Titre : Implémentation des éléments finis sous Matlab
Le -calcul : sémantiques, information et points fixes
Chaire Algorithmes, machines et langages
22 janvier 2013 Commercialiser en 2013 ! Que de variables à ajuster ! 1.
LES NOMBRES PREMIERS ET COMPOSÉS
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
Titre : Implémentation des éléments finis en Matlab
3ème partie: les filtres
C'est pour bientôt.....
1 INETOP
Ordonnancement de tâches
CONCEPTION ET SIMULATION DE CIRCUITS ÉLECTRONIQUES
Filtrage de Kalman et aperçu probabiliste
Équipe 2626 Octobre 2011 Jean Lavoie ing. M.Sc.A.
ASI 3 Méthodes numériques pour l’ingénieur
Mise en forme en Mathématiques
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Elaboré par M. NUTH Sothan 1. 2 Soit x, y et z des coordonnées cartésiennes à 3 dimension. G un ensemble de points dans le plan (u, v). Déf. : On appelle.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1 Modèle pédagogique d’un système d’apprentissage (SA)
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
* Source : Étude sur la consommation de la Commission européenne, indicateur de GfK Anticipations.
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
DESIGN D’UN CODEUR- DÉCODEUR CHAOTIQUE AUTO-SYNCHRONISANT EN TEMPS RÉEL ET EN PRÉSENCE DE BRUIT Laboratoire d’Automatique et d’Informatique Industrielle-POITIERS.
CALENDRIER-PLAYBOY 2020.
CONCEPTION ET SIMULATION DE CIRCUITS ÉLECTRONIQUES
LES PILES ET FILES.
Suites numériques Définitions.
Commission paritaire de suivi des opérations de reclassement repositionnement dans le cadre du droit d’option Statistiques novembre 2010.
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Chapitre 3 :Algèbre de Boole
Rappels de statistiques descriptives
Introduction à SolidWorks
Algorithmique et programmation (1)‏
Transcription de la présentation:

Chaire Algorithmes, machines et langages 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 02/04/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 02/04/2014

Partage de ressources  cycles combinatoires O  if C then F(G(I)) else G(F(I)) F G C I O 1 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 02/04/2014

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

C  s1 d1 x  s2 d2 xs1s2 bool 0x 0xs1s2 chain chain cas x0 i.e. 0x d1s1 d2s2 join max(d1,d2) s1s2 x0  région s1s2 atteinte en temps max(d1,d2) G. Berry, Collège de France 02/04/2014

C  s1 d1 x  s2 d2 xs1s2 chain d1s1 bool 0x d1xs1s2 cas x1 i.e. 0x chain chain d1s1 d1d2s2 join max(d1, d1d2) s1s2 x1  région s1s2 atteinte en temps d1d2 G. Berry, Collège de France 02/04/2014

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 I  I(I) I entrée e  0  e  1 e  1  e  0 e  0 e  e’  0 e’  0 e  e’  1 e  1 e’  1 e  1 e  e’  1 e’  1 e  e’  0 e  0 e’  0 X : e  C e  b X  b G. Berry, Collège de France 02/04/2014

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

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 02/04/2014

Partage de ressources  cycles combinatoires O  if C then F(G(I)) else G(F(I)) C cycle 1 F C 1 I O 1 G C G. Berry, Collège de France 02/04/2014

Partage de ressources  cycles combinatoires C  1  O  if C then F(G(I)) else G(F(I)) 1 1 F 1 1 I O 1 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 02/04/2014

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

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’ ssi f partout moins définie que f’ 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 02/04/2014

Disjonction Booléenne tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oup tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oug en C : e || e’ tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oud en C: e’ || e   tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff ous en C: e | e’   G. Berry, Collège de France 02/04/2014

Disjonction Booléenne en logiciel Plotkin, 1972 Berry, 1977 cf. cours du 09/12/2009 tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oug en C : e || e’ tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff oud en C: e’ || e oup tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff ous en C: e | e’  G. Berry, Collège de France 02/04/2014

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

Ou / et parallèle  logique constructive I e’  1  I e  e’  1 I e  1  I e  e’  1 tt, , ,tt tt,tt ,ff tt,ff ff, ff,tt ff,ff xy I e  0  I e  e’  0 I e’  0 I e ou non e  1   tt G. Berry, Collège de France 02/04/2014

Théorème de point fixe cf. cours lambda-calcul du 9 décembre 2009 Soit <D,,> et f : D  D croissante pour  Un point fixe de f est un xD tel que f (x)  x 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 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 G. Berry, Collège de France 02/04/2014

Application aux circuits cycliques (S. Malik) d2 d1 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 02/04/2014

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 02/04/2014

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 : xtt pour xdxv , xff pour xd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2 et f : B2 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 aux exponentielles ! G. Berry, Collège de France 02/04/2014

Algorithme itératif symbolique C  s1 d1 x  s2 d2 xs1s2 (y,z)  (x, xyz)  (yd,yv,zd,zv,)  (xd , xff , xffyffztt(xttyttzff) , xffyffztt) (, )  (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 02/04/2014

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, REARMEMENT in abort await TOP_HORLOGE ; emit FIN end when REARMEMENT || every INDICATEUR_ON ; emit REARMEMENT when FIN end signal TOP_HORLOGE # INDICATEUR_ON  FIN # REARMEMENT G. Berry, Collège de France 02/04/2014

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

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

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

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

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 02/04/2014

Calcul symbolique des états atteignables R0  0 R1  R0 U N(R0) R2  R1 U N(R1) N ... Rn+1  Rn U N(Rn)  Rn R  Rn Vérifier pour tout i que Ri rend 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 02/04/2014

Délai « électrique » UN ou UI ? h  d d h’ s sd Délai UN dℝ+ hs,∞d  h’s  d,∞d Délai UI dℝ+ : ajout d’inertie: la sortie ne peut pas changer si l’entrée n’a pas changé depuis d cf. Brzozowski Seger, Shiple Touati Berry (constructivité v1) Inconvénients : deux délais UI accolés ne font pas un délai UI les fils forment une sorte de mémoire etc. G. Berry, Collège de France 02/04/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 02/04/2014

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 02/04/2014

Horloges multiples synchrones  même phase mésochrones :  décalage de phase constant Même fréquence 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

Echantillonnage par front montant ou descendant G. Berry, Collège de France 02/04/2014

Echantillonnage par front montant ou descendant G. Berry, Collège de France 02/04/2014

Chemin de données D clk 00 10 11 G. Berry, Collège de France 00 10 11 D clk G. Berry, Collège de France 02/04/2014

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

ti ti-1 data strobe 1 strobed OK data strobe 1 1 strobed OK 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 02/04/2014

ti-1 ti data strobe OK 1 strobed  1 1 plus tard ! data strobe OK 1 1 strobed  1 1 plus tard ! data strobe OK 1 1 strobed OK 0 à ti-1et 1 à ti  front montant 1 à ti-1et 1 à ti  front descendant G. Berry, Collège de France 02/04/2014

1 clk resync d délai ti-1 strobe clk ti 00 11 01 00 11 01 1 clk resync d délai ti-1 strobe clk ti G. Berry, Collège de France 02/04/2014

Horloges multiples synchrones  même phase mésochrones :  décalage de phase constant Même fréquence 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

à utiliser dans 2 coups d’horloge Idée : l’émetteur inverse strobe à chaque tick et le récepteur prévoit le front montant ou descendant à utiliser dans 2 coups d’horloge G. Berry, Collège de France 02/04/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 02/04/2014

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 02/04/2014

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 02/04/2014

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 02/04/2014

maîtrise des latences par calcul des timestamps 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

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 temps t + s + d + e – d2 hypothèse: erreur d’horloge bornée e G. Berry, Collège de France 02/04/2014

Implémentation de Ptides G. Berry, Collège de France 02/04/2014

Références Constructive 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 Circuits T. 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 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, 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 02/04/2014