Architectures Distribuées et Réseaux locaux Temps-réel
LPSIL
Option Informatique Embarquée et Réseaux sans Fil
Marie-Agnès Peraldi-Frati
Time Triggered Protocol
• TTP : un peu plus qu’un protocole
– Protocole TTP/C (C pour Automobile classe C = hard realtime) – Tolérance aux pannes
• Approach Time triggered – Ordonnancement cyclique
– Base de temps fixe pour fournir un accès au réseau – Gestion simple et intégrée des :
• Transitoires
• Changements de modes
• Slots de temps
– Un variante en maître esclave existe
• TTP/A
• Automobile classe A = Soft realtime
TTP/C
• Applications automobile de classe C (critique + hard realtime)
– Bus redondant pour la sûreté
Cluster et FTU
• Cluster = tout les nœuds d’un réseau particulier
• FTU : Fault Tolerant Unit
– Plusieurs nœuds réalisent les mêmes traitements
– Vote pour déterminer la réponse correct en cas de nœud défaillant
Architecture d’un noeud
• DPRAM = Dual Ported RAM – Utilisé pour implémenter
interface réseau de mémoire partagée
– Variables d’état, mailboxes
• BG = Bus Guard
– Watchdog pour détecter les nœuds défailants (fail silent nodes)
– Garde contre les « nœuds bavards »
• Composants utilise une horloge très précise
– Possibilité de redondance – Oscillateurs
TDMA Time division multiple access
Le maître envoie une trame de synchronisation pour les horloges des esclaves
Chaque nœud transmet durant son slot de temps Exemple : réseaux de satellites, DATAC (boeing),
TTP
TDMA
• Avantages :
– Protocole simple à mettre en œuvre – Temps de réponse déterministe
– Pas de temps perdu avec messages d’interrogation
• Inconvénients
– Point de défaillance unique
– Bande passante perdue en cas de nœud défaillant – Nécessite des horloges précises
– Priorité affectée aux nœuds
• Variante TDMA + jeton
– Utilisation des slots en cas de nœud défaillants – Utilisation plus efficace de la bande passante
TTP/C est de type TDMA
• Scheduling statiquede tout les messages de l’application – Ordonnancement prédéfinit
– Déterministe
– Les tâches sont schedulées comme les messages
• Un cycle TDMA: chaque FTU détecte un slot pour s’exécuter et transmettre ses résultats
– Chaque FTU émet ses résultats 2 fois pour limiter les problèmes de perte de message
– Une FTU s’exprime durant son slot de temps
– Le passage d’une FTU à l’autre ne doit pas suivre comme dans un anneau
• Un cycle du clustercorrespond à un échange de tous les messages possibles
– Cycle TDMA : messages transmis par tout les nœuds – Cycle Cluster inclut les messages et les tâches
Cycles TTP
• Cycle TDMA : le nœuds à tour de rôle envoient leurs messages
• Cycle cluster : intègre l’ensemble des messages et tâches
Trames
• Trame d’initialisation : Trames I
– Envoyées à l’occasion pour permettre aux nœuds défaillants de se re-synchroniser sur le cluster
– C-State est l’état curant cad (temps et position dans le scheduling du cluster
• Trame pour messages : Trames N
MeDL: Descripteur de la liste des messages
• Vue globale des messages
– Les nœuds connaissent l’ensemble des messages à ordonnancer – Un seul nœud peut transmettre dans un slot et seulement ses
messages prédéfinis
• Ordonnancement statique
– Un nœud sait quand est son tour => pas d’arbitrage
– Possibilité d’allouer une bande passante adaptée aux messages à transmettre = pas de temps perdu
– Un message perdu est détecté par tout les noeuds
• Quelques challenges
– Nécessité d’avoir un temps cohérent : les nœuds ajustent leur temps sur la connaissance des arrivées des messages
– Arbitrage nécessaire au démarrage du réseau et lors de l’ajoût de noeuds
Tolérance aux pannes et Redondance
• Messages émis 2 fois
– Hypothèse de non reproduction d’erreurs aléatoire 2 fois
– Accusé de réception non nécessaire
• Matériel redondant différents
– Pour émission des messages
– Horloge distribuée tolérante aux pannes
Exemple de configuration de FTU
• (a) 2 nœuds actifs, 2 backups
• (b) 3 nœuds actifs (redondance triple) avec 1 backup
• (c) 2 nœuds actifs sans backup
Notion de Modes
• Modes différents =>
ordonnancement différent – Accélération vs. Vitesse de
croisière => information de type différent
– Recouvrement de défaillance nécessite l’accès au traffic message
• TTP : Utilisation de plusieurs ordonnancement
– Différentes MeDL pour chaque mode
– Outil dédié
• Modes utilisés :
– Couramment dans TTP/A – Peu dans TTP/C
Application TTP : X by wire
• X-by-Wire => plus de liaison mécanique
– Connexions numériques ou optiques entre le contrôle et les actionneurs
TTP/A : Version simplifiée
• Faire de la tolérance au panne sur un système distribué coûte cher (en temps)
• TTP/A polling maître esclave
• Un maître centralisé interroge les esclaves
TTA : Time Triggered Architecture
• TTP/A travail en maître esclave dans des clusters TTP/C
Protocole maître esclave avec TDMA
• Utilise un noeud maître plutôt que laisser la
responsabilité aux stations par gestion des I-
trames
TTP/A
• Chaque trame message est sur un octet.
• Trames « fireworks>> utilisées par le maître pour marquer le début de tour
– Inclus numéro MeDLpour la reconfiguration de nouveaux noeuds
Redondance des capteurs avec TTP/A
• La manière sûre : réplication des capteurs
• La manière la moins chère : bus répliqués
Approche globale en TTP
• Depuis l’ordonnancement applicatif jusqu’au réseau
– Définition des messages
– Définition de l’arbitrage du réseau
– Définition du temps d’exécution des tâches
• Ordonnancement statique
– Plusieurs scheduling avec les changements de modes
Caractéristiques du polling TTP/A
• Avantages :
– Protocole simple à mettre en œuvre – Temps de latence borné
• Inconvénients
– Point de défaillance unique
– Polling consomme de la bande passante – La taille du réseau fixé à l’installation
• le maître ne peut découvrir un nœud que durant la reconfiguration
• Le mâitre doit modifier MEDL à chaque reconfiguration – Scheduling statique
Caractéristiques du TDMA TTP/C
• Avantages :
– Protocole simple à mettre en œuvre – Temps de réponse déterministe
– Pas de temps perdu avec interrogation des noeuds
• Inconvénients
– Point de défaillance unique : le maître
– bande passante gaspillée quand nœuds sont inactifs ou que les valeurs ne changent pas
– Nécessite un temps stable
– Taille du réseau fixé pendant l’installation
• Les I-trames autorisent l’admission de nouveaux noeuds – Priorité globale statique