Journée GoThA/ORDO Ordonnancement de tâches Temps-réel avec suspension Vendredi 28 janvier 2005 http://www.lisi.ensma.fr/tempsreel/ Laboratoire d’Informatique Scientifique et Industrielle Frédéric RIDOUARD, [email protected] Journée GoThA/ORDO Plan : Introduction Complexité du problème d’ordonnancement Exemple Système de tâches Calcul de complexité Anomalies d’ordonnancement Algorithmes d’ordonnancement Analyse de compétitivité Respect des échéances Temps de réponse maximum Résultats connus L’algorithme SRPTF et le système de tâches MAD EDF, RM & DM LLF Technique d’augmentation de ressources EDF, RM & DM LLF Conclusion F. Ridouard 2 Journée GoThA/ORDO Plan : Introduction Complexité du problème d’ordonnancement Exemple Système de tâches Calcul de complexité Anomalies d’ordonnancement Algorithmes d’ordonnancement Analyse de compétitivité Respect des échéances Temps de réponse maximum Résultats connus L’algorithme SRPTF et le système de tâches MAD EDF, RM & DM LLF Technique d’augmentation de ressources EDF, RM & DM LLF Conclusion F. Ridouard 3 Journée GoThA/ORDO Exemple Entrée/Sortie Noyau temps-réel F. Ridouard 4 Journée GoThA/ORDO Système de tâches Ti Di Xi ri Ci1 Ci2 di Di Ti Périodique stricte Di = Ti Échéance sur requête Ci = Ci1+ Ci2 Xi est la pire durée de suspension F. Ridouard 5 Journée GoThA/ORDO Tests de faisabilité : Plusieurs tests de faisabilité sont connus pour l’ordonnancement de tâches à suspension : Un test basé sur le facteur d’utilisation du processeur. Des tests basés sur le calcul du pire temps de réponse des tâches. Mais notre but est de déterminer l’efficacité de quelques algorithmes classiques en ordonnançant des tâches à suspension. F. Ridouard 6 Journée GoThA/ORDO Plan : Introduction Complexité du problème d’ordonnancement Exemple Système de tâches Calcul de complexité Anomalies d’ordonnancement Algorithmes d’ordonnancement Analyse de compétitivité Respect des échéances Temps de réponse maximum Résultats connus L’algorithme SRPTF et le système de tâches MAD EDF, RM & DM LLF Technique d’augmentation de ressources EDF, RM & DM LLF Conclusion F. Ridouard 7 Journée GoThA/ORDO Calcul de complexité Résultats connus : L’ordonnancement de tâches périodiques strictes et à départ simultané est un problème NP -difficile au sens fort. (P. Richard, ECRTS’03) Le problème d’ordonnancement de tâches périodiques à échéance sur requête et départ simultané est un problème NP -difficile au sens fort. (F. Ridouard et al. RTSS’04) F. Ridouard 8 Journée GoThA/ORDO Calcul de complexité Définition : Un algorithme d’ordonnancement est dit « universel » si cet algorithme effectue le choix de la prochaine tâche à ordonnancer en temps polynomial. Un tel algorithme ne peut pas exister pour l’ordonnancement de tâches à suspension (sauf si P = NP). F. Ridouard 9 Journée GoThA/ORDO Anomalies d’ordonnancement sous EDF Définition : Réduire la durée d’exécution ou de suspension d’une des tâches rend l’instance non ordonnançable. Résultats connus : EDF est robuste pour l’ordonnancement de tâches indépendantes sans suspension. F. Ridouard 10 Journée GoThA/ORDO Anomalies d’ordonnancement sous EDF Système de tâches I : 1 0 6 2 5 9 3 7 Ordonnancement de I par EDF : 0 F. Ridouard 5 10 10 11 Journée GoThA/ORDO Anomalies d’ordonnancement sous EDF Système de tâches I : 1 0 6 2 5 9 3 7 Ordonnancement de I par EDF : 0 F. Ridouard 5 10 10 12 Journée GoThA/ORDO Anomalies d’ordonnancement sous EDF Système de tâches I : 1 0 6 2 5 9 3 7 Ordonnancement de I par EDF : 0 F. Ridouard 5 10 10 13 Journée GoThA/ORDO Anomalies d’ordonnancement sous EDF Système de tâches I : 1 0 6 2 5 9 3 7 Ordonnancement de I par EDF : 0 F. Ridouard 5 10 10 14 Journée GoThA/ORDO Plan : Introduction Complexité du problème d’ordonnancement Exemple Système de tâches Calcul de complexité Anomalies d’ordonnancement Algorithmes d’ordonnancement Analyse de compétitivité Respect des échéances Temps de réponse maximum Résultats connus L’algorithme SRPTF et le système de tâches MAD EDF, RM & DM LLF Technique d’augmentation de ressources EDF, RM & DM LLF Conclusion F. Ridouard 15 Journée GoThA/ORDO Analyse de compétitivé Comparaison : Algorithme en-ligne (non clairvoyant) Algorithme hors-ligne (optimal, clairvoyant) : l’adversaire Principe : Un bon adversaire définit les instances de problème pour que l’algorithme en-ligne atteigne sa pire performance. F. Ridouard 16 Journée GoThA/ORDO Analyse de compétitivité Ratio de compétitivité (Maximisation) cA : A: performance atteinte par l’algorithme enligne A. *: performance atteinte par l’adversaire A I cA sup anyI * I 0 cA 1. cA=1, alors A est un algorithme optimal F. Ridouard 17 Journée GoThA/ORDO Résultats connus (Respect des échéances) : Aucun algorithme d’ordonnancement en-ligne n’est compétitif Mais des résultats positifs sont connus dans différents cas particuliers : Monotonic Absolute Deadline (MAD) : Shortest Remaining Processing Time First (SRPTF): F. Ridouard Si ri rj alors di dj SRPTF est un algorithme d’ordonnancement en-ligne qui alloue le processeur à chaque instant à la tâche ayant le plus petit temps processeur restant. Pour les systèmes MAD, SRPTF est compétitif. 18 Journée GoThA/ORDO SRPTF et le système MAD Pour les systèmes de tâches à suspension MAD même avec un faible facteur d’utilisation, l’algorithme en-ligne SRPTF n’est pas compétitif pour maximiser le nombre de tâches respectant leurs échéances. Une tâche sans suspension. N tâches avec: F. Ridouard Faibles et égales durées d’exécution Longues périodes de suspension 19 Journée GoThA/ORDO SRPTF et le système MAD SRPTF, EDF, DM, et RM 0 1 2 … … n 0 0 1 cSRPTF 2 Algorithme Optimal K SRPTF 0 * … … EDF,nDM et RM assignent les priorités aux tâches exactement comme SRPTF le fait. 0 F. Ridouard K 20 Journée GoThA/ORDO Non compétitivité de LLF LLF n’est pas compétitif pour maximiser le nombre de tâches à suspension respectant leurs échéances. N tâches avec : Temps processeur de chaque sous-tâche égal à trois. Longues périodes de suspension F. Ridouard 21 Journée GoThA/ORDO Non compétitivité de LLF LLF 1 2 … … … … … … n 0 K 1 2 Algorithme Optimal … n 0 F. Ridouard cLLF LLF 0 * … K 22 Journée GoThA/ORDO Augmentation de ressources Comparaison : Algorithme hors-ligne sur un processeur Algorithme en-ligne sur une machine s fois plus rapide Résultats connus : S’il existe un ordonnancement possible, alors EDF définira un ordonnancement possible sur une machine deux fois (s=2) plus rapide. F. Ridouard 23 Journée GoThA/ORDO Augmentation de ressources Allouer plus de ressources à EDF n’améliore pas ses performances quand les tâches peuvent se suspendre au plus une fois. Preuve par l’absurde : Soit s, un entier tel que s>1. 1 : 1 0 2 2s 3s : 2 0 F. Ridouard s 4s 2 s 2s 3s 4s 24 Journée GoThA/ORDO Augmentation de ressources 1 2 EDF 0 Algorithme optimal s 2 0 F. Ridouard 2 2s 3s 1 s 4s 2 2s 3s 4s 25 Journée GoThA/ORDO Plan : Introduction Complexité du problème d’ordonnancement Exemple Système de tâches Calcul de complexité Anomalies d’ordonnancement Algorithmes d’ordonnancement Analyse de compétitivité Respect des échéances Temps de réponse maximum Résultats connus L’algorithme SRPTF et le système de tâches MAD EDF, RM & DM LLF Technique d’augmentation de ressources EDF, RM & DM LLF Conclusion F. Ridouard 26 Journée GoThA/ORDO Analyse de compétitivité (bis) Ratio de compétitivité (Minimisation) cA : A: performance atteinte par l’algorithme enligne A. *: performance atteinte par l’adversaire A I cA sup anyI * I cA 1 cA=1, alors A est un algorithme optimal F. Ridouard 27 Journée GoThA/ORDO Temps de réponse maximum EDF est au mieux 2-compétitif pour minimiser le temps de réponse maximum. 1 2 F. Ridouard K : 0 4K 0 4K-1 : 28 Journée GoThA/ORDO Temps de réponse maximum 2 EDF, DM, et RM 0 Algorithme Optimal F. Ridouard 4K 2 0 EDF cEDF 2 * 4K 29 Journée GoThA/ORDO Temps de réponse maximum LLF est au mieux 2-compétitive pour minimiser le temps de réponse maximum. 1 K : 0 2 : 0 F. Ridouard 4K 2K+2 30 Journée GoThA/ORDO Temps de réponse maximum 2 LLF 0 Algorithme Optimal F. Ridouard 4K 2 0 cLLF LLF 2 * 4K 31 Journée GoThA/ORDO Plan : Introduction Complexité du problème d’ordonnancement Calcul de complexité Anomalies d’ordonnancement Algorithmes d’ordonnancement Exemple Système de tâches Analyse de compétitivité Résultats connus L’algorithme SRPTF et le système de tâches MAD EDF, RM & DM LLF Technique d’augmentation de ressources Conclusion F. Ridouard 32 Journée GoThA/ORDO Conclusion Résultats négatifs pour l’ordonnancement de tâche à suspension : F. Ridouard Ordonnancer des tâches à suspension, à départ simultané et à échéance sur requête est un problème NP-difficile au sens fort. Présence sous EDF d’anomalies d’ordonnancement. Les algorithmes classiques d’ordonnancement ne peuvent pas ordonnancer certaines instances même avec un facteur d’utilisation du processeur arbitrairement faible alors qu’il existe un ordonnancement hors-ligne trivial faisable. L’allocation d’un processeur plus rapide n’améliore pas les performances d’EDF pour ordonnancer des tâches à suspension. Les algorithmes classiques d’ordonnancement que sont EDF, RM, DM et LLF sont au mieux 2-compétitif pour minimiser le temps de reponse maximum. 33 Journée GoThA/ORDO Conclusion Futurs travaux : Essayer de définir des solutions pratiques pour l’ordonnancement de système de tâches avec suspensions. Considérer des tâches dépendantes Ressources partagées Contraintes de précédence F. Ridouard 34