Ordonnancement Sous Contraintes Temps Réel Nicolas NAVET Slides du cours 9/10 Cours Ordonnancement Temps Réel, DEA, 9/10
Plan du cours 1. Test de Spuri (reprise cours précédent) 2. Temps de réponse sous EDF (reprise cours précédent) 3. Bornes sur les temps de réponse sous EDF : quel scénario majorant? (reprise cours précédent) 4. Bornes sur les temps de réponse sous EDF : Calcul et exercice 5. Ordonnancement non-préemptif sous NPFP 6. Bornes sur le temps de réponse sous NPFP 7. Application au réseau de communication Controller Area Network Cours Ordonnancement Temps Réel, DEA, 9/10 1
Bornes sur les temps de réponse sous EDF (1/4) Il faut tester toutes les dates d arrivées possibles de la première instance de τ k dans L : - au plus tôt, A k,n = 0 et D k,n = D k - au plus tard, A k,n = L C k et D k,n = L C k + D k La borne sur le temps de réponse est : ˆR k = max R d k = Ek d A d k = ( V 0 (d) (d D k ) ) d R,D k d L+D k C k pb : d R, pour quelles valeurs de d calculer V 0 (d) (d D k )? Pour des valeurs de d qui influent sur les fonctions d arrivées de travail : d D k = {d = n T i + D i d D k, d L + D k C k, n N, i = 1..m} où L est la plus longue période d utilisation du processeur. D k est l ensemble des dates d échéances dans L. Cours Ordonnancement Temps Réel, DEA, 9/10 2
Bornes sur le temps de réponse sous EDF (2/4) Calcul de L (commun à toutes les tâches) L se produit après l arrivée simultanée d une instance de toutes les tâches du système. L = min{x > 0 Ŝ 1..m (x) = x} avec Ŝ 1..m (x) la FAT majorante (sans prise en compte des échéances). Pour des tâches périodiques, L est la limite, quand n tend vers l infini, de la suite L 0 = C i, i=1..m L n = i=1..m L n 1 C i T i Cours Ordonnancement Temps Réel, DEA, 9/10 3
Bornes sur le temps de réponse sous EDF (3/4) Pour chaque valeur de d D k, calculer la fin de la période d interférence correspondante V 0 (d) V 0 (d) = min{x > 0 Ŝ 1..m (x,d) = x}. avec ( ( x d Di Ŝ 1..m (x,d) = min, i=1..m T i T i V 0 (d) est la limite, quand n tend vers l infini, de la suite ( V0 0 (d) = ε, V0 n (d) = i=1..m min ( V n 1 0, T i + 1)) + C i + d Di + 1)) C i T i Cours Ordonnancement Temps Réel, DEA, 9/10 4
Bornes sur le temps de réponse sous EDF (4/4) Exercice 1. T k C k D k τ 1 15 3 8 τ 2 14 4 9 τ 3 25 6 25 Calcul des temps de réponse maximum de τ 1 et τ 3. 1. Déterminer la plus grande période d interférence possible du système L 2. Construire les ensembles D 1 et D 3 3. Pour chaque d D 1 D 3 calculer V 0 (d). En déduire les bornes sur les temps de réponse de τ 1 et τ 3 Cours Ordonnancement Temps Réel, DEA, 9/10 5
Ordonnancement non-préemptif : introduction Les protocoles de communication de niveau Medium Access Control (MAC) ordonnancent de façon non-préemptive. Quels sont les intérêts de la non-préemption pour l ordonnancement CPU? Les - : - résultats du cas préemptif généralement non-valables - perte en ordonnançabilité globale du système Les + : - moins de changements de contexte, - pas de problèmes de sections critiques (interbloquage, inversion de priorités), - implémentation de l ordonnanceur est simple et compacte, - pas de RAM pour sauvegarder les contextes! Exercice 2. Comment dimensionner la RAM dédiée aux changements de contexte dans un OS implantant FPP (Fixed-Priority Preemptive)? Cours Ordonnancement Temps Réel, DEA, 9/10 6
La politique Non-Preemptive Fixed Priority (1/2) Fonction de priorité : Γ k,n (t) = { (k,n) si t < Bk,n (priorité faible) ( 1,k,n) si t B k,n (priorité haute) NPFP est une politique dépendante du temps. Elle fait partie de la classe des politiques à promotion de priorités au début d exécution. H p f k,n (t) est l ensemble des instances plus prioritaires que τ k,n dans sa priorité faible (pour t < B k,n ) : H p f k,n (t) = {τ i, j (i, j) < (k,n)} {τ i, j (i, j) > (k,n) et Γ i, j (t) = ( 1,i, j) > (k,n)} au plus une tâche moins prioritaire initialement a commencé son exécution sans l avoir finie avant B k,n : card{τ i, j (i, j) > (k,n) et Γ i, j (t) = ( 1,i, j) > (k,n) et W i, j (t + ) > 0} 1 la constitution de H p f k,n (t) est identique pour t [A k,n,b k,n [ Cours Ordonnancement Temps Réel, DEA, 9/10 7
La politique Non-Preemptive Fixed Priority (2/2) pour t B k,n, l ensemble des instances plus prioritaires est H ph k,n (t) H ph k,n (t) = {τ i, j Γ i, j (t) > ( 1,k,n)} comme card{τ i, j Γ i, j (t) > ( 1,k,n) et W i, j (t) > 0} = 0, on a R k,n = B k,n +C k,n Pour trouver l instant de fin d exécution, il nous suffit de déterminer B k,n... Définition 1. : période d interférence de niveau (k, n) pour NPFP. La période d interférence de niveau (k,n) [U k,n,e k,n [ est définie par son instant de début U k,n et son instant de fin E k,n où U k,n satisfait U k,n A k,n, W H p f (U k,n ) = 0 et W k,n H p f (t) > 0 t ]U k,n,a k,n ] k,n Cours Ordonnancement Temps Réel, DEA, 9/10 8
Temps de réponse d une instance quelconque Dans le cas non-préemptif les FATs deviennent continues à droite : S (k,n) (0,A k,n ) = 0 S (k,n) (0,t) S + (k,n) (0,t) S + (k,n) (0,A k,n) = C k,n S (k,n) (0,A + k,n ) = C k,n C k,n C k,n 0 A k,n 0 A k,n Caractérisation de B k,n, on peut montrer que B k,n = min{t U k,n W H p f (U k,n ) + S k,n H p f (U k,n,t + ) = t U k,n }. k,n = min{t U k,n ρ k + S + 1..k 1 (U k,n,t) + S + k,1..n 1 (U k,n,t) = t U k,n } avec ρ k le facteur de blocage : temps de transmission de la trame initialement moins prioritaire que τ k en cours de transmission en A k,n. Cours Ordonnancement Temps Réel, DEA, 9/10 9
Bornes sur les temps de réponse Les résultats de Lui & Layland et de Lehoczky sont transposables au cas nonpréemptif : une borne se trouve dans la première période d interférence du scénarion majorant r k,n = e k,n a k,n avec e k,n = b k,n +C k b k,n = min{t > 0 ˆρ k + Ŝ + 1..k 1 (t) + Ŝ+ k,1..n 1 (t) = t} où ˆρ k = max (C i) i>k ˆR k = max r k,n n=1,2,... tant que e k,n >a k,n+1 Exercice 3. (évaluation de la FATM Ŝ + k (x) S+ k (u,u + x) u,x) Combien d occurrences au maximum d une tâche périodiques/sporadiques τ k de période T k dans l intervalle de temps [0,t]? en déduire la FATM. Cours Ordonnancement Temps Réel, DEA, 9/10 10
Application de NPFP : le réseau CAN (1/2) Principales caractéristiques techniques du réseau Controller Area Network (CAN) : Bus à diffusion - technique CSMA MAC priorisé de type NPFP - arbitrage non destructif (aucune information perdue CSMA/CD) Un identificateur unique par message : filtrage des messages en réception priorité pour l accès au bus Retransmission automatique des trames corrompues Compteurs d erreurs sur chaque contrôleur 8 octets de données au plus par trame Débit limité par le protocole de niveau MAC de 10kbit/s (plusieurs centaines de mètres) à 1Mbit/s (30 mètres) CAN est un standard de fait dans l industrie automobile : temps de réponse bornés, simplicité conceptuelle, faible coût des composants,... Cours Ordonnancement Temps Réel, DEA, 9/10 11
Application de NPFP : le réseau CAN (2/2) Champ d arbitrage Champ de controle r d idle d 11 bits r r d 4 bits 0..8 octets 15 bits r r 7r 3r d d idle DLC Données CRC SOF RTR EOF Intermission IDE ACK Identificateur Délimiteurs CRC et ACK r = récessif d = dominant FIG. 1: Format de la trame CAN au niveau du MAC. Cours Ordonnancement Temps Réel, DEA, 9/10 12
Temps de réponse sous NPFP en pratique Le temps de réponse maximum est ˆR k = max n=1,2,... tant que e k,n >a k,n+1 r k,n = e k,n a k,n = b k,n +C k a k,n Dans le cas D k T k, il suffit de calculer le temps de réponse de la première instance dans le scénario majorant et b k,1 est la limite quand q tend vers l infini de la suite b 0 k(1) = 0, ( b q k (1) = max (C i) + i>k j<k ) k (1) + 1 C j b q 1 T j Cours Ordonnancement Temps Réel, DEA, 9/10 13
Application de NPFP : le réseau CAN (3/3) La taille en bits de la trame CAN τ k est : 33 + 8 dk S k = 47 + 8 d k + 4 où d k est le nombre d octets de données de la trame τ k. Exercice 4. L ensemble de trames suivant est-il ordonnançable sur un réseau CAN à 125kbit/s? unité : ms τ 1 τ 2 τ 3 d k 8 6 6 T k 2 4 10 D k 2 4 7 On supposera que ce trafic temps réel coexiste avec des trames non contraintes par le temps de taille max. 6 octets. Cours Ordonnancement Temps Réel, DEA, 9/10 14