Ecole d été Temps Réel 13-16 septembre 2005 Analyse des temps de réponse et de la demande processeur en ordonnancement temps réel de tâches pérodques Pascal Rchard Laboratore d Informatque Scentfque et Industrelle ENSMA et Unversté de Poters pascal.rchard@unv-poters.fr
Sommare 1. Introducton 2. Prncpes des deux Analyses 3. Tests Exacts 4. Tests Approchés 5. Les prncpaux problèmes rencontrés 2
1.1 Tâches pérodques Actvaton pérodque des tâches et notatons : D T D T J C J C r (k) R d (k) r (k+1) r (l) E d (l) r (l+1) R : Pre temps de réponse E : Melleur temps de réponse 3
1.1 Les problèmes d ordonnancement Ordonnancement en-lgne : Ordonnancement : chox ou concepton d un l algorthme chox du système d explotaton temps réel (Contrantes technques) Valdaton : vérfer le respect des contrantes temporelles Tests d ordonnançablté ou de fasablté (Problèmes d évaluaton des performances) 4
1.2 Technques de valdaton Analyse fondée sur le facteur d utlsaton Analyse de la demande processeur C T Analyse du temps de réponse Pont commun : une échéance d une tâche n est dépassée que dans un ntervalle de temps où le processeur est actf. 5
1.2. Technques d analyse Tâches pérodques ordonnancement nfn Soluton : - Détermnaton du pre scénaro d actvaton des tâches pouvant engendrer le non respect d une contrante temporelle - Calculer la durée cumulée d exécuton des tâches dans un ntervalle d étude fn correspondant au scénaro pre cas 6
1.2 Technques d analyse Test est exact s : Scénaro d actvaton (c.f. exposé précédent) : se produt toujours dans la ve du système Et Evaluaton de la demande processeur : calcul exact des durées cumulées d exécuton 7
1.2 Technques d analyse Test est approché s Le scénaro ne se produt pas nécessarement Ou Une borne supéreure des durées cumulées d exec. est calculée Surdmensonnement du système temps réel 8
2. Prncpes des deux analyses 2.1 Évaluer l actvté du processeur 2.2 Analyse du temps de réponse 2.3 Analyse de la demande processeur 9
2.1 Évaluer l actvté du processeur La demande processeur est la durée cumulée d exécuton des tâches : révellées dans l ntervalle de temps [0,t) Notatons : rbf(t) (request bound functon) ou G(t) Utlsaton : analyse des systèmes à prorté fxe révellées et à termner dans l ntervalle [0,t] Notatons : dbf(t) (demand bound functon) ou H(t) Utlsaton : analyse EDF 10
2.1 Foncton rbf(,t) Rbf(,t) : Request Bound Functon Pour chaque tâche, la durée cumulée d exécuton des tâches dans l ntervalle [0,t) consste à: 1. Trouver le nombre k de requêtes de la tâche dans l ntervalle 2. Multpler k par la pre durée d exécuton des tâches C 11
12 2.1 Foncton rbf(,t) Requête k révellée avant t Requête (k+1) révellée après ou à la date t ( ) 1 1 + < < + T r t k t T k r T r t k t kt r + C T r t t rbf =, 0 max ), (τ
2.1 Foncton rbf(,t) Foncton de traval du processeur sur [0,t[ W ( t) = rbf ( t) = rbf ( τ, t) n j= 1 j Foncton de traval des tâches de prortés supéreures ou égales à. W ( t) = rbf ( t) = rbf ( τ, t) j= 1 j 13
2.1 Foncton dbf(t) Dbf(0,t) (demand bound functon) : Requêtes révellées et à termner dans l ntervalle [0,t] n dbf (0, t) max 0, 1 = =1 t r D T + C 14
2.1 Exemple (1/2) Confguraton de tâches (r =0): Tâches C D T 1 2 10 10 2 10 25 30 3 55 100 120 H =120 15
2.1 Exemple (2/2) 160 140 120 100 80 60 40 20 0 0 20 40 60 80 100 120 rbf(t) dbf(t) t 16
2.2 Analyse du temps réponse Analyse tâche par tâche : 1. Détermner le pre scénaro d actvaton des tâches condusant la tâche analysée à son pre temps de réponse 2. Calculer le pre temps de réponse dans l ntervalle d étude assocé au scénaro par approxmaton successve (formule tératve) Trouver un algorthme avec une convergence rapde 3. Vérfer R D Etablr un résultat analytque 17
2.3 Analyse de la demande processeur Analyse smultanée de toutes les tâches : 1. Calculer la durée cumulée d exécuton H des tâches dans tout ntervalle de temps [t 1,t 2 ] t ( ) 1 2 2 1 < t dbf t, t t t 1 2 Rq: La noton de scénaro permet de lmter le nombre d ntervalles [t 1,t 2 ] à étuder 18
3. Tests exacts Analyse du temps de réponse Prorté fxe EDF Analyse de la demande processeur Prorté fxe EDF 19
3.1. Analyse temps réponse (FPP) Systèmes à prorté fxe (Joseph et al. 1986) Résoluton W (t)=t par approxmaton successve (en partant d une borne nféreure de R ) 160 140 120 100 80 R 60 40 20 0 0 20 40 60 80 100 120 rbf(t) t Algorthme pseudo-polynomal (Complexté : Pb ouvert) 20
3.1. Analyse temps réponse (EDF) Systèmes sous EDF (attenton au pre scénaro!) a) Tâches pérodques (sans ggue) : Aucun algorthme (pseudo-polynomal) exact connu Statut Complexté : ouvert b) Tâches sporadques (ou pérodques avec ggue sur actvaton): Spur (1996) propose un algorthme exact pseudopolynomal 21
3.2 Demande Processeur (FPP) Tâches à prorté fxe (Lehoczky, Sha et Dng 89): Scénaro : rechercher une faute temporelle dans [0,D ) Prncpe du test : Il exste une date t telle que la charge de traval des tâches de prorté supéreure ou égale à est termnée dans l ntervalle [0,D ) t [0, D ) W ( t) t 22
3.2 Demande Processeur (FPP) Améloraton du test : W (t)/t ne change de valeur qu à chaque nouveau rével de tâches S = bt j j D = 1, b = 1 Tj Schedulng Ponts ou Testng Set Nombre de dates à tester dépend des paramètres des tâches (Algorthme pseudo-polynomal) 23
3.2 Demande Processeur (FPP) Formulaton synthétque (et classque) du test : max mn 1 n t S W = t ( t) 1 24
3.2 Demande Processeur (FPP) Tâches C D T Exemple : 1 2 10 10 S S S 1 2 3 = = = { 10} { 10,20,30} { 10,20,30,40,50,60,70,80,90,100} 2 3 10 55 25 100 30 120 t 10 20 30 40 50 60 70 80 90 100 W 1 (t)/t 0,2 W 2 (t)/t 1,2 0,7 0,5 W 3 (t)/t 6,7 3,4 2,3 2,0 1,7 1,4 1,4 1,2 1,14 1,1 Système non ordonnançable 25
3.2 Demande Processeur (FPP) Remarques de mse en œuvre: Les tâches peuvent être analysées séparément Dès qu une date t S respecte la condton alors la tâche est ordonnançable Ordre d étude des dates de S est quelconque (plus performant de commencer par la fn) 26
3.2 Demande Processeur (EDF) Tâches pérodques à échéance sur requête dbf n ( 0, t) = C = 1 t + T D T Scénaro : ( 0, t2 t1 ) dbf ( t1, t2 ) t1 t2 dbf < La pérode d étude se lmte à l ntervalle [0, t lmte ] 27
3.2 Demande Processeur (EDF) Test de Baruah, Howell, Roser (1990): ordonnançable s, et seulement s, ( 0, t) t t, 0 < t tlm dbf < Rq: S pour une date t la condton n est pas vérfée, alors le système est non ordonnançable Il exste des améloratons lmtant le nombre de ponts d ordonnancement (dates t) à tester. 28
3.2 Demande Processeur (EDF) Tâches C D T Exemple : 1 2 10 10 2 10 25 30 Condton non vérfée 3 55 100 120 pour t=100 dbf ( 0,100) = 105 29
3.2 Demande Processeur (EDF) Interprétaton graphque t=105 160 140 120 100 80 60 40 20 0 0 20 40 60 80 100 120 rbf(t) dbf(t) t 30
4. Tests Approchés Intérêts : Temps de calcul trop long Admsson en-lgne de tâches pérodques Condton suffsante d ordonnançablté S test répond OK système ordonnançable Snon, pas de concluson 31
4.1 Tests Approchés sans garante Mas quelles sont les garantes? Ex: Analyse du temps de réponse en Ordonnancement non préemptf, FPP Prorté 1 C 1 T 1 =T 2 Prorté 2 C 2 Temps de réponse exacts sont : R R * 1 * 2 = C = C 1 1 + C 2 32
4.1 Tests Approchés sans garante Analyse classque du temps de réponse : Calcul en tenant compte de la plus longue tâche mons prortare R + 1 = C1 C2 Aucune garante de performance : R C 2 * 1 = 1 + R1 C1 33
4.1 Tests Approchés sans garante Analyse holstque d un système temps réel (analyse du temps de réponse) VAN 1 2 4 0 M1 M4 7 M2 17 7 1 M3 8 M1 1 18 M1 5 31 2 M1 0 9 32 3 10 6 33 4 24 34 5 M8 25 M1 3 35 6 26 M1 4 3 11 12 13 14 15 16 M5 M6 M7 M1 2 5 19 20 21 22 23 M9 27 28 28 29 30 30 M1 6 M1 7 8 36 37 38 39 CAN 9 40 41 M1 8 M1 9 42 43 34
4.1 Tests Approchés sans garante Thèse de Ken Tndell, 1994 (York Unversty) Les ggues sur actvaton modélsent la dépendance entre les calculs des temps de réponse des tâches et des messages Prncpe de l analyse : ntalser les ggues à 0 Calculer les temps de réponse processeur par processeur et réseau par réseau (systèmes ndépendants) Mettre à jour les ggues avec les temps de réponse Itérer les calculs jusqu au premer pont fxe 35
4.1 Tests Approchés sans garante Chaque système (processeur, réseau) possède sa propre foncton de calcul du pre temps de réponse 1 n R ( k ) = ( k ) = (0) = TempsReponse J J max 0 j pred ( ) ( ( k 1), J ) ( ( k ) R ) n : nombre de tâches et de messages pred() : prédécesseur mmédat de dans le graphe de communcaton 36
4.1 Tests Approchés sans garante Temps de calcul : Calculs sont rapdes (sous problèmes pseudo-polynomaux) L ordre de résoluton des équatons a peu d nfluence sur le temps de calcul Pessmsme : Améloraton des bornes (Palenca et al., 1998, 1999, 2003) L analyse holstque permet de valder des systèmes où les processeurs sont chargés à 70% (M. Rchard, 2003) 37
4.2 Tests Approchés avec garante Algorthme approché A pour toute nstance de problème I (d optmsaton) ( A( I) OPT ( I) ) OPT ( I) ε Approxmaton polynomale Schéma d approxmaton polynomale (PTAS) Schéma d approxmaton polynomale complet (FTPAS) Algorthmes où ε est un paramètre d entrée 38
4.2. Approxmaton des temps de réponse Approxmaton polynomale (avec garante) des temps de réponse Aucun résultat n est connu dans la lttérature 39
4.2. Approxmaton de la demande processeur Ordonnançablté et approxmaton Le test répond OK Syst. Ordonnançable Le test répond OK Syst. non Ordonnançable sur un processeur plus lent (vtesse 1-ε) 40
4.2. Approxmaton de la demande processeur Approxmaton de la foncton de traval W(t) (Syst. à prorté fxe Fsher et Baruah (2004)) 250 200 150 100 approx_rbf(tau_3,t) f(t)=t approx_rbf(tau_2,t) 50 0 0 20 40 60 80 100 120 140 On ne consdère qu un nombre lmté de palers, pus On utlse une borne sup. lnéare 41
4.2. Approxmaton de la demande processeur FPTAS de Fsher et Baruah (2004), (2005), k premers palers rbf ( 0, t) = rbf (0, t) t ( k 1) = C + t C T t > T ( k 1) T Borne supéreure lnéare de la foncton rbf(t) t 42
4.2. Approxmaton de la demande processeur Le test : Utlsaton du prncpe de l analyse de la demande processeur de Lehoczky, Sha et Dng (1989) Ensemble de test à une talle polynomale D 43
5.1 Les Smplfcatons Rendre un calcul exact. s assurer que le pre scénaro peut survenr Ajouter des ggues sur actvatons Consdérer des tâches sporadques plutôt que pérodques 44
5.2 Les dffcultés Les deux problèmes à étuder avant de concevor un test 1. Anomales d ordonnancement «rédure la durée d une tâche peut rendre le système non ordonnançable» 1. Complexté (P, NP, co-np, ) 45
5.1. Anomales Ex: ordonnancement non préemptf (FPP) 1 1 1 1 1 1 2 2 2 4 C 2 =2 4 C 2 =1 46
5.1. Anomales Anomales en monoprocesseur Ressources partagées Contrantes de précédence en FPP Tâches avec suspenson (Entrée/Sorte) 47
5.1. Anomales Les anomales rendent : Ordonnancement non robuste Pre scénaro est plus dffcle à caractérser 48
5.2. Complexté Complexté des problèmes d ordonnançablté Stratéges Caractérstques Complextés Dspatchng des tâches Pmtn, no susp D =T ; r =0 P Pmtn, no susp D T ; r =0 ouvert Pmtn, no susp r 0 co-np-dffcle Pmtn, susp D =T ; r =0 NP-Dffcle No pmtn NP-Dffcle 49
5.2. Complexté Un cas troublant : tâches à départ smultané et à échéance sur requête Test en FPP (Lehoczky, Sha et Dng 89) Répondre OK en temps polynomal NP Test EDF (Baruah, Roser, Howell 90) Répondre OK en temps polynomal co-np 50
Conclusons Analyse du temps de réponse Calcul par approxmaton successve Nombreuses extensons Pas de tests approchés avec garante de perf. Analyse de la demande processeur Calcul sur un ensemble de test Dffcle à étendre à des syst. complexes Tests approchés avec garante de perf. 51
Consels de lecture Analyse de la demande processeur EDF : Rpoll, Crespo, Mok «Improvement n feasblty testng for real-tme tasks», Journal of Real-Tme Systems, 11(1):19-39, 1996 FPP : Manabe, Aoyag «A feasblty decson algorthm for rate monotonc and deadlne monotonc schedulng», Journal of Real-Tme Systems, 14(2):171-181, 1998 52
Et encore plus bentôt. RTNS 2006 Real-Tme and Network Systems 30-31 ma 2006 Poters http://www.ls.ensma.fr/rtns06 53