gérard berry collège de france chaire algorithmes
TRANSCRIPT
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
Cours 6, 19 mars 2014
19/03/2014 2G. Berry, Collège de France
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 ?
• 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
19/03/2014 3G. Berry, Collège de France
Dans la vie courante
19/03/2014 4G. Berry, Collège de France
Principaux modes de communicationmedium type impression adressage
courrier 11 asynchrone physique
courriel 11 asynchrone logique
télégramme, pneu 11 vibratoire physique
SMS 11 vibratoire logique
téléphone 11 (n?) synchrone physique
chat / tél Internet 11 (n?) synchrone logique
tableau d’affichage 1n asynchrone physique
site web, mass-mailing 1n asynchrone logique
théâtrophone 1n synchrone physique
radio / télévision 1n synchrone logique
tweet 1n vibratoire logique
réunion (parole) nn synchrone physique
audio / vidéo conf. nn synchrone logique
forum internet nn asynchrone logique
19/03/2014 5G. Berry, Collège de France
Quelques outils de simulation
pour simuler par outil
courriel courrier réexpédition
tableau d’affichage courrier /
courriel
envoi en masse
tableau d’affichage téléphone répondeur
courriel téléphone répondeur avec appel à distance
téléphone radio walkie-talkie, appel VHF
site web radio CNN, France-info, BFM
forum radio CB des taxis
radio asynchrone streaming
On peut simuler l’asynchrone par le synchrone ou le vibratoire,
mais pas vraiment l’inverse sans 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
19/03/2014 6G. Berry, Collège de France
L’apport de l’informatique
Exemple d’erreur hélas fréquente : vouloir synchroniser
freins et suspension d’une voiture avec de l’asynchrone
• Mécanique puis électrique– Chappe (1794, ParisLille)
– Wheatstone (1838, LondresBirmingham)
– Morse (1843, BaltimoreWashington)
– doublement vibratoire : télégraphe + pneumatique !
19/03/2014 7G. Berry, Collège de France
L’apport du télégraphe (1794-1838-1843)
Changement technique et mental extraordinaire
déclaré deuxième invention fondamentale après la roue !
The Victorian Internet, Tom Standage, Berkley Books, NY
• 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.
19/03/2014 8G. Berry, Collège de France
... Mais aussi
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) !
• Discours éthérés– plus de guerres, victoire de la démocratie, etc.
• Tricheries– San Francisco : paris gagnants sur les courses de New York
• 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
19/03/2014 9G. Berry, Collège de France
En biologie
• 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
Coopération de systèmes continus et discrets :
potentiels d’action, battement de cœur, saccades oculaires, etc.
• Systèmes intermédiaires– système immunitaire (croissance exponentielle des lymphocytes)
– système hormonal
19/03/2014 10G. 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)
19/03/2014 11G. 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)
19/03/2014 12G. Berry, Collège de France
• 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)
• 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
• 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.
19/03/2014 13G. Berry, Collège de France
Le danger des méthodes « pragmatiques »
Implémenter quelque chose,
puis essayer de lui trouver une sémantique
=> Mauvaise compositionnalité, vérification formelle difficile, etc.
19/03/2014 14G. 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
19/03/2014 15G. 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/
19/03/2014 16G. Berry, Collège de France
La hiérarchie des modèles de calcul de Ptolemy
traités dans le livre
19/03/2014 17G. Berry, Collège de France
Style d’un modèle Ptolemy II
définit le modèle de calcul global,
ici Discrete Events
générateur
d’entrées
afficheur
acteurs
hiérarchiques
(modèles
de calcul
différents)
19/03/2014 18G. Berry, Collège de France
Synchronous Dataflow (SDF)
m nlit m entrées, en produit n
2 3A B
A A A B B : 6 mémoires
A A B A B : 4 mémoires
n pA B
A déclenché a fois, B b fois
équation d’équilibre : na pb
2
1A C
B1 2
1
1
ABCC
2
1A C
B1
1
1 1
19/03/2014 19G. 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
19/03/2014 21G. 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
19/03/2014 22G. Berry, Collège de France
Automates finis hiérarchiques (FSM)
Une vieille connaissance:
ABRO
A/ B/
R /
/ O
loop
abort
{ await A || await B };
emit O;
halt
when R
end loop
19/03/2014 23G. Berry, Collège de France
Automates finis hiérarchiques (FSM)
Une vieille connaissance:
ABRO en Ptolemy II
Transitions synchrones
sur événements
Fortement inspiré des
SyncCharts de C. André
• Similaire aux langages synchrones Lustre, Signal etc.
• Utilise la sémantique constructive d’Esterel–sous forme de point fixe dans une logique à 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
19/03/2014 24G. Berry, Collège de France
SR : Synchronous-Reactive Models
19/03/2014 25G. 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
• 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 t t’ et n n’
(t,n) faiblement synchrone avec (t’,n’) si t t’
• Scheduling ordre des timestamps ordre topologique
priorités (pour les timestamps fortement synchrones restants)
19/03/2014 26G. Berry, Collège de France
DE : Discrete Events Models
temps constructif
o6
i7i5i1 i2 i6i4i3
o7o5o4o3o1 o2
temps superdense
cf. cours 1, 2013
19/03/2014 27G. 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
19/03/2014 29G. Berry, Collège de France
DE démo : le même sans fil
Liaison par nom
19/03/2014 31G. Berry, Collège de France
Modèle mixte continu / discret + Zénon
19/03/2014 32G. Berry, Collège de France
Continuous : attention à Zénon et au test de fin !
• 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
19/03/2014 33G. Berry, Collège de France
Conclusion
19/03/2014 34G. Berry, Collège de France
Quelques références
The Victorian Internet
Tom Standage, Berkley Books, New York (1998)
Real Time Programming: PSpecial urpose or General Purpose Languages
G. Berry. Information Processing 89, G.X. Ritter (Ed.), Elsevier Science Publishers
B.V., North-Holland (1989) 11-18.
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/
On the Schedulability of Real-Time Discrete Event Systems
E. 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, Berkeley
http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-72.html
19/03/2014 35G. Berry, Collège de France
Ptides (E. Lee et. al) : Programming
Temporally Integrated Distributed Systems
les messages portent
des timestamps précis
Les acteurs
spécifient les calculs
19/03/2014 36G. Berry, Collège de France
synchro d’horloge
bornée (PTP)
la synchronisation
donne un sens global
aux timestamps
messages traités
dans l’ordre
des timestamps
Synchronisation d’horloges
19/03/2014 37G. Berry, Collège de France
Synchronisation d’horloges
timestamp
temps limite
timestamp = date
de mesure
capteurs
acteurs
actuateurs
acteurs
19/03/2014 38G. Berry, Collège de France
Interprétation temps-réel des timestamps
timestamp
temps limite
timestamp = date
de mesure
capteurs
acteurs
actuateurs
acteurs
19/03/2014 39G. 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’actionretour au monde physique
19/03/2014 40G. Berry, Collège de France
Conséquence : déterminisme !
délai du réseau
borné d
un événement de
timestamp t peut
être sorti au temps
t + 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.