400 likes | 511 Views
Coopération de modèles de 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 6, 19 mars 2014. Rappel : les trois modèles fondamentaux. Synchrone
E N D
Coopération de modèles de 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 6, 19 mars 2014
Rappel : les trois modèles fondamentaux • Synchrone • temps conceptuellement nul (négligeable) • simple, déterministe : circuits, logiciels embarqués • Vibratoire • temps prévisible (pas toujours rapide) • électronique des circuits synchrones • ordonnancement statique des logiciels synchrone (WCET) • Asynchrone • algorithmique distribuée générale • Internet (TCP/IP) Chacun de ces modèles est localement compositionnel, mais que dire de la composition de modèles différents ? G. Berry, Collège de France
Dans la vie courante • Synchrone • dans la même pièce, au téléphone • Vibratoire • le télégraphe (il faut taper le message) • le pneumatique, le train (Suisse) • Asynchrone • plus ou moins prévisible : le courrier, Internet • imprévisible : toute caisse de retraite • Continu / discret : téléphone / lettre G. Berry, Collège de France
Principaux modes de communication G. Berry, Collège de France
Quelques outils de simulation On peut simuler l’asynchrone par le synchrone ou le vibratoire, mais pas vraiment l’inverse sans l’informatique ! G. Berry, Collège de France
L’apport de l’informatique • Passage à l’adressage logique • dissociation du temps et de l’espace • Accélération majeure du mode asynchrone • téléchargement >> bibliothèque • Possibilité de simuler le vibratoire / (presque) synchrone par l’asynchrone « best effort » • vibratoire : streaming son et vidéo • synchrone : téléphone par Internet • point dur : la mesure des performances du réseau Exemple d’erreur hélas fréquente : vouloir synchroniser freins et suspension d’une voiture avec de l’asynchrone G. Berry, Collège de France
L’apport du télégraphe (1794-1838-1843) • Mécanique puis électrique • Chappe (1794, ParisLille) • Wheatstone (1838, LondresBirmingham) • Morse (1843, BaltimoreWashington) • doublement vibratoire : télégraphe + pneumatique ! • Fantastique raccourcissement des délais • exemple Angleterre / USA, Inde ou Australie, Portugal / Macao, etc. • Progrès technologiques rapides et massifs • manuel électrique, millions de km de lignes, pneumatique, etc. • Explosion de nouvelles applications • information, commerce, politique, cœur, etc. Changement technique et mental extraordinaire déclaré deuxième invention fondamentale après la roue ! The Victorian Internet, Tom Standage, Berkley Books, NY G. Berry, Collège de France
... Mais aussi • Discours éthérés • plus de guerres, victoire de la démocratie, etc. • Tricheries • San Francisco : paris gagnants sur les courses de New York Retour de l’Histoire : la France a été en avance... puis en retard, pour le Télégraphe Chappe (1794) et le Minitel (1980-2012) ! G. Berry, Collège de France
En biologie • Systèmes asynchrones • réactions chimiques de construction des protéines dans les cellules cf. BioCham, séminaire de F. Fages au Colloque 2008 : http://www.college-de-france.fr/site/gerard-berry/symposium-2008-05-23-10h45.htm • Systèmes vibratoires • commande du cœur circulation sanguine • propagation de l’influx nerveux • rythmes neuronaux alpha, beta, theta, gamma, circadien • vision et audition, contrôle du mouvement • réplication de l’ADN (40 nucléotides / s), transcription de l’ARN • idem pour les plantes, rythme des saisons et du jour • Systèmes intermédiaires • système immunitaire (croissance exponentielle des lymphocytes) • système hormonal Coopération de systèmes continus et discrets : potentiels d’action, battement de cœur, saccades oculaires, etc. G. Berry, Collège de France
Exemple de synchronisations • Sensations de simultanéité < 20ms (toucher, musique) • Vision uniforme d’une image malgré les saccades oculaires • synchronisation vision (lèvres) / audition (voix) malgré des chemins neuronaux très différents • impact du synchronisme temporel des potentiels d’action sur l’émission de potentiels d’action (C. Rossant) • coordination du mouvement (A. Berthoz) G. Berry, Collège de France
Mélanger les temps en informatique :beaucoup de travaux, souvent épars... • Implémentation des langages et systèmes synchrones • implémentations vibratoires sur circuits ou logiciels (WCET) • domaines synchrones de Ptolemy (E. A. Lee, Berkeley) • systèmes distribués fortement synchronisés (PTIDES, E. A. Lee) • distribution de programmes synchrones sur infrastructures asynchrones • Réseaux mixtes vibratoires / asynchrones • TTP, FlexRay, Real-time Ethernet, etc. • applications typiques: avionique, automobile, etc. • Systèmes GALS (Globally Asynchronous Locally Synchronous) • SoCs multi-horloges • Orchestration synchrone d’activités Web asynchrones en Hop / Hiphop (cours séminaire du 28 mai 2013) G. Berry, Collège de France
Approximation asynchrone de logiques vibratoires / synchrones • transmission asynchrone « best effort » de flots synchrone (streaming audio / vidéo, téléphone Internet) • timestamps dans les algorithmes distribués asynchrones (L. Lamport) • génération de sons en temps-réel avec OS asynchrone (Antescofo) • Automatique répartie tolérante au temps • cf. séminaire d’Albert Benveniste (LTTA), 5 mars 2014 • Simulation logicielle de phénomènes physiques • relation entre temps d’exécution (wall time) et temps du système simulé • relations entre temps continus et discrets cf. cours du 19 mars, et exposés de K-J. Åström(19 mars 2014) et M. Pouzet(26 mars 2014) G. Berry, Collège de France
Le danger des méthodes « pragmatiques » Implémenter quelque chose, puis essayer de lui trouver une sémantique • Exemple typique : implémenter un langage conceptuellement parallèle par un ordonnancement forcé pour le rendre séquentiel, donc apparemment simple • Langage IEEE 1131 pour automates programmables • Statecharts (25+ sémantiques proposées) • Stateflow (Matlab, associé à Simulink), cf. cours du 2 avril 2013 • etc. => Mauvaise compositionnalité, vérification formelle difficile, etc. G. Berry, Collège de France
Une question centrale : le déterminisme fonctionnel et temporel • Dans quelle mesure est-il une contrainte du type d’application ? • Si oui, le formalisme le respecte-t-il par construction ? • Eventuellement dans certaines parties du système et pas dans d’autres? J’aime bien l’idée que les réactions de ma voiture à mes commandes restent relativement déterministes G. Berry, Collège de France
Une grande tentative d’unification :Ptolemy II, E.A. Lee et. al. (UC Berkeley) • Grand projet démarré en par Edward Lee à UC Berkeley, EECS Electrical Engineering and Computer Science Lab, à la suite de Ptolemy Classic (1980, avec J. Buck et. al.). • Principe: modélisation et simulation de systèmes informatiques embarqués complexes, avec intégration de plusieurs modèles de calcul temporels ou non • Attention particulière à la rigueur sémantique, et interface homme-machine élégante • Logiciel Open Source (licence BSD), utilisé industriellement • Livre papier ou PDF gratuit, exemples animés http://ptolemy.eecs.berkeley.edu/books/Systems/ G. Berry, Collège de France
La hiérarchie des modèles de calcul de Ptolemy traités dans le livre G. Berry, Collège de France
Style d’un modèle Ptolemy II définit le modèle de calcul global, ici Discrete Events acteurs hiérarchiques (modèles de calcul différents) afficheur générateur d’entrées G. Berry, Collège de France
Synchronous Dataflow (SDF) m n lit m entrées, en produit n A AA B B : 6 mémoires A A B A B : 4 mémoires n p 2 3 B B A A A déclenché a fois, B b fois équation d’équilibre : na pb 1 2 1 1 B B 1 1 1 1 ABCC C C A A 2 1 2 1 G. Berry, Collège de France
Synchronous Dataflow (SDF) Messerchmitt & Lee (1987) : procédure pour décider s’il y a un ordonnancement statique garantissant des buffers bornés et pour fournir l’ordonnancement minimal. Taux de lecture ou production conditionnels, ou buffer non bornés changement de modèle: DDF Dynamic Dataflow • Note : les modèles SDF et DDF n’ont pas de temps propre, • mais ils s’intègrent dans les modèles temporels • facilement pour SDF (un cycle par « unité de temps » • plus difficilement pour DDF, car scheduling dynamique G. Berry, Collège de France
Application sonore SDF G. Berry, Collège de France
DFF, avec mémoire finie ou infinie switch et test dans le même sens switch et test inversés G. Berry, Collège de France
Automates finis hiérarchiques (FSM) Une vieille connaissance: ABRO loop abort { await A|| await B }; emit O; halt when R end loop R/ B/ A/ /O G. Berry, Collège de France
Automates finis hiérarchiques (FSM) Une vieille connaissance: ABRO en Ptolemy II Fortement inspiré des SyncCharts de C. André Transitions synchrones sur événements G. Berry, Collège de France
SR : Synchronous-Reactive Models • Similaire aux langages synchrones Lustre, Signal etc. • Utilise la sémantique constructive d’Esterel • sous forme de point fixe dansunelogique à 3 valeurs, cf prochain cours du 26 mars 2014 • Peut accueillir des sous-modèles variés et servir d’orchestrateur, comme les FSMs • cf. cours / séminaire HipHop vs. Hop, 28 mai 2013 G. Berry, Collège de France
SR : de Simone Round-Robin Scheduler Cf. cours 1, 2014 Ptolemy II implémente la sémantique constructive (en mode interprétation) NB: erreur dans le livre : Esterel possède aussi le mode interprétation, pas seulement le mode compilation G. Berry, Collège de France
o1 o2 o3 o4 o5 o6 o7 i1 i2 i3 i4 i5 i6 i7 DE : Discrete Events Models • modèle de temps superdense timestamp (t,n) où t est flottant double et n entier t est une valeur dans le temps du modèle n est un index pour les événements de temps t (t,n)fortement synchrone avec (t’,n’) si tt’ et nn’ (t,n)faiblement synchrone avec (t’,n’) si tt’ • Scheduling ordre des timestamps ordre topologique priorités (pour les timestamps fortement synchrones restants) temps superdense temps constructif cf. cours 1, 2013 G. Berry, Collège de France
Temps superdense : le pendule de Newton • Conservation de la quantité de mouvement dans les chocs • la quantité de mouvement saute de bille en bille en temps 0 • Ptolemy : de microstep en microstep Alternative : le temps non-standard, cf. séminaire de M. Pouzet, 26 mars 2014 G. Berry, Collège de France
DE démo : un serveur avec FIFO G. Berry, Collège de France
DE démo : le même sans fil Liaison par nom G. Berry, Collège de France
Un serveur plus complexe G. Berry, Collège de France
Modèle mixte continu / discret + Zénon G. Berry, Collège de France
Continuous : attention à Zénon et au test de fin ! G. Berry, Collège de France
Conclusion • Faire coopérer des modèles de temps n’est pas si simple et mérite d’être étudié de près. • On trouve des tas de solutions ad-hoc dans la vie courante • Mais le problème n’est pas encore assez reconnu et étudié en informatique • Quelques travaux importants : relation synchrone / vibratoire, coopération synchrone / asynchrone, implémentations d’algorithmes d’automatique, simulateurs continus / discrets • Et une grande tentative d’unification globale, Ptolemy II G. Berry, Collège de France
Quelques références Real Time Programming: PSpecialurposeor General Purpose Languages G. Berry. Information Processing 89, G.X. Ritter (Ed.), Elsevier Science Publishers B.V., North-Holland (1989) 11-18. The Victorian Internet Tom Standage, Berkley Books, New York (1998) System Design, Modeling, and Simulation using Ptolemy II Claudius Ptolemaeus, Editor (2014) téléchargable avec toutes les démos animées: http://ptolemy.eecs.berkeley.edu/books/Systems/ 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
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 G. Berry, Collège de France
Interprétation temps-réel des timestamps capteurs acteurs timestamp = date de mesure timestamp temps limite actuateurs acteurs 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 actuateurs : timestamps date de l’action 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