introduction aux systèmes temps réels - polytech...

30
Introduction aux Systèmes Temps Réels François TOUCHARD Polytech Marseille et CPPM http://francois.touchard.perso.luminy.univ-amu.fr/ECM [email protected]

Upload: doanlien

Post on 14-Sep-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

Introduction auxSystèmes Temps Réels

François TOUCHARDPolytech Marseille et CPPM

http://francois.touchard.perso.luminy.univ-amu.fr/[email protected]

Page 2: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 2

CV● ingénieur ESPCI (physicien)

● doctorat en physique nucléaire et particules

● spécialisé dans les systèmes d'acquisition de données et de déclenchement des détecteurs de physique des particules

● recherche actuelle sur le détecteur ATLAS au CERN ➢ système de déclenchement➢ grilles de calcul pour l'analyse des données

● professeur à l'Université d'Aix-Marseille, Polytech Marseille (ex ESIL), département Informatique (site de Luminy)

Page 3: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

Le tunnel du LHC au CERN

Page 4: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

L'expérience ATLAS 1/2 terrainde footun immeuble

de 7 étages~ le poids dela Tour Eiffel

100 millions decanaux à lire

40 millions decroisements/s

1,2 MO produitspar événement

~ 50 Tera octetspar seconde

23 événementspar croisement

Page 5: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

L'expérience ATLAS

Page 6: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

L'expérience ATLAS

Page 7: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

Le système de déclenchement et d'acquisition

50 Tera octetsproduits

par seconde

~ 300 M octetssauvegardés

le reste est jeté(car déjà connu)

Page 8: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

un événement, candidat de Higgs → e+ e-

Page 9: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

un événement, candidat de Higgs → µ+ µ-

Page 10: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués
Page 11: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués
Page 12: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 12

Présentation du cours● Aperçu des systèmes temps réels et embarqués

➢ qu’est-ce qu’un système temps réel ?➢ comment vérifier a priori le comportement

✔ ordonnancement➢ comment implémenter le comportement

✔ les outils de programmation

● 28h de cours et TD mélangés

● évaluation essentiellement sur les exercices proposés pendant les séances

+ réactivité➢ merci de vous identifier

Page 13: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

Introduction

Page 14: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 14

Introduction● système temps réel : qui doit fournir un service dans un

contexte où le temps intervient➢ évolution du système (système réactif)➢ contraintes de temps (échéances)

● par opposition aux systèmes interactifs ou transformationnels

● systèmes embarqués :➢ autonomes, avec un fort couplage entre le matériel et le

logiciel➢ utilisation dans un but très précis➢ souvent inclus dans un système plus vaste➢ ~ 90% du marché des processeurs

Page 15: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 15

Quelques exemples (1)asservissement par contrôle numérique

A/DA/D

A/DA/D

Loi de contrôlecalcul

Loi de contrôlecalcul D/AD/A

procédéprocédé

Loi de contrôlecalcul

Loi de contrôlecalcul

capteurcapteur actionneuractionneur

référencer(t)

rk

mesurey(t)

yk

uk

résultatu(t)

Page 16: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 16

● soit e(t) = r(t) – y(t)

● u(t) va dépendre de 3 termes :➢ un terme proportionnel à e(t)➢ un terme proportionnel à l'intégrale de e(t)➢ un terme proportionnel à la dérivée de e(t)

● soit T la période d'échantillonnage du signal➢ on approxime l'intégrale par la méthode du trapèze➢ on approxime la dérivée pour l'intervalle [(k-1)T, kT ] par

(ek-e

k-1) / T

● alors : uk = u

k-1 + α e

k + β e

k-1 + γ e

k-2

Quelques exemples (2)

Page 17: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 17

Quelques exemples (3)● pour programmer la boucle :

créer un timer de période Tà chaque interruption du timer

faire les conversions analogique­numérique de y et rcalculer ufaire la conversion numérique­analogique de u

fin de la boucle

● le choix de T (période d'échantillonage) est important

● il peut être souhaitable de pouvoir le modifier

● concepts mis en jeu➢ gestion du temps➢ gestion des interruptions➢ interaction avec l'utilisateur

Page 18: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 18

Quelques exemples (4)contrôleur de vol

➢ tous les 1/180 s faire✔ lecture/validation des capteurs sélectionnés✔ chaque 6 cycles (30 Hz) : tâches avionique

✘ lecture claviers, sélection mode✘ normalisation des données, transformation des

coordonnées✘ mise à jour des références de trajectoire

✔ chaque 6 cycles (30 Hz) : calculs✘ loi de contrôle phase 2 pour la dérive✘ loi de contrôle phase 2 du roulis✘ loi de contrôle phase 2 du travers

✔ chaque 2 cycles (90 Hz) : en utilidant les résultats de 2 cycles✘ loi de contrôle phase 1 pour la dérive✘ loi de contrôle phase 1 du roulis et coordination

des 2 axes✔ calcul de la loi de contrôle globale✔ sortie des commandes pour les actionneurs✔ auto-test

Page 19: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 19

● important que les calculs soient terminés avant que l'on applique les corrections

➢ mais la durée des calculs n'est pas forcément constante

● en résumé➢ modèle cyclique facile à implémenter➢ difficile de le faire évoluer➢ très difficile à mettre en œuvre quand le système à

contrôler se complexifie un peu

Quelques exemples (5)

Page 20: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 20

Quelques exemples (6)contrôle d'un groupe d'ascenseurs

➢ 4 ascenseurs dans la cage d'escalier d'un même bâtiment, desservant les mêmes étages

➢ deux boutons d'appel par palier, pour monter ou descendre➢ 1 bouton par étage dans chaque ascenseur➢ partage optimum des ressources

✔ par exemple, un ascenseur en marche s'arrêtera à un étage où l'appel a été demandé si et seulement si il va dans la bonne direction quand il passera à l'étage concerné et si il n'est pas en limite de surcharge

✔ recherche de l'équilibrage du service entre les différents ascenseurs

➢ contrôle des "périphériques" (portes palières, indicateurs sonores et visuels, etc...)

Page 21: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 21

● le modèle du générateur cyclique ne fonctionne plus

● contrôleur centralisé avec activation de tâches par événements

● décentralisation de tâches sur des processeurs annexes

● système multi-processeur et multi-tâches

● synchronisation et communication entre les tâches

● modèle asynchrone

Quelques exemples (7)

Page 22: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 22

Quelques exemples (8)contrôle aérien

● hiérarchie des contrôles➢ contrôleur de trafic

aérien➢ gestionnaire de vol➢ contrôleur de vol

● calculs complexes (optimisation)

● fiabilité

● respect des échéances temporelles

contrôleurde vol

gestionnairede vol

contrôleurde trafficaérien

donnéeslocalesde vol

calculateur

calculateur

calculateur

navigation

donnéeslocales

(météo...)

commandesréponses

interface opérateur-système

système virtuel

système virtuel

système physique

Page 23: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 23

Quelques exemples (9)contrôleur de trafic aérien

CPU CPU CPU

réseau decommunication

processeurde surveillancedes trajectoires

réseau decommunication

processeurde visualisation

base de donnéesdes éléments de vol

Page 24: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 24

Quelques exemples (10)● beaucoup d'autres systèmes ont des contraintes

temporelles➢ bases de données

✔ contrôle de vols✔ salles de marché

➢ multimédia ✔ compression/décompression✔ transmission

Page 25: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 25

Qu'est-ce que le temps réel ?● non seulement des résultats exacts

● mais aussi fournis dans un temps donné, compatible avec l'évolution du système

➢ l'échelle de temps dépend du système ✔ de quelques millisecondes pour un système de navigation

aérienne✔ à plusieurs minutes ou heures pour le contrôle d'un réacteur

chimique

● dans un système temps réel, un résultat de calcul mathématiquement exact mais arrivant au delà d'une échéance pré-définie est un résultat faux

Page 26: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 26

Temps réel dur et temps réel mou● si un résultat arrivant en retard provoque un accident fatal

au système (génération d'une exception) : temps réel dur

● sinon : temps réel mou, ou lâche

● la distinction entre les deux est une notion assez floue

● dans un système donné, des tâches temps réel dures et lâches peuvent cohabiter, éventuellement avec des tâches sans contraintes temporelles

● critère de respect des contraintes temporelles➢ booléen pour le temps réel dur➢ doit être défini pour chaque tâche dans le cas d'une

application temps réel lâche

Page 27: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 27

Caractéristiques importantes (1)● Prévisibilité

➢ pour déterminer à l'avance si un système va respecter ses contraintes temporelles

➢ connaissance des paramètres liés aux calculs des activités✔ temps global de calcul de chaque activité✔ périodicité et gigue✔ préemptivité

➢ évaluation des performances dans le pire des cas➢ pour définir le meilleur algorithme d'ordonnancement

Page 28: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 28

Caractéristiques importantes (2)● Déterminisme

➢ but à atteindre pour prédire le comportement temporel du système

✔ temps réel dur : chercher à savoir si toutes les échéances de toutes les activités seront respectées

✔ temps réel lâche : par exemple savoir quels seront les retards moyens

➢ fixer l'ordonnancement

● Fiabilité➢ du matériel➢ tolérance aux fautes➢ systèmes embarqués

Page 29: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 29

Plan du cours● Ordonnancement des tâches

➢ tâches indépendantes➢ tâches avec des contraintes de dépendance➢ gestion des situations de surcharge

● Systèmes d'exploitation pour le temps réel➢ services attendus➢ systèmes existants

✔ VxWorks (le système généraliste le plus employé)✔ OSEK/VDX (un système spécialisé)✔ Linux temps réel

● Bus pour le temps réel➢ CAN➢ VME

● Programmation système pour le temps réel (POSIX)➢ gestion des tâches➢ communication et synchronisation➢ gestion des interruptions➢ gestion du temps

Page 30: Introduction aux Systèmes Temps Réels - Polytech …francois.touchard.perso.luminy.univ-amu.fr/ECM/C1-intro.pdf · Présentation du cours Aperçu des systèmes temps réels et embarqués

F. Touchard Introduction aux systèmes temps réell 30

ORDONNANCEMENT