Adaptation dynamique de la puissance des systèmes embarqués : Les systèmes asynchrones surclassent les systèmes synchrones Mohammed Es Salhiene, Laurent Fesquet et Marc Renaudin
Plan Motivations & contribution Gestion de l'énergie au niveau système d'exploitation Mise en veille Adaptation dynamique de la tension d'alimentation. Système asynchrone Algorithmes d'adaptation dynamique de la tension Cas des tâches sporadiques Cas des tâches périodiques Résultats de simulation des stratégies adoptées. Comparaison synchrone - asynchrone Conclusion
Motivations Développement de l'informatique mobile et le des systèmes portables Augmentation du nombre de fonctionnalités et de puissance de traitement de ces systèmes =>hausse de leur consommation Progrès insuffisant des technologies de batteries Nécessité de minimiser la consommation d’énergie (autonomie, fiabilité, poids, prix) Solution Système asynchrone + adaptation dynamique de la tension
Contribution Nouvelle méthode de réduction de la consommation combinant des processeurs asynchrones et des algorithmes d'adaptation dynamique de la tension d'alimentation Exploitation de la capacité des processeurs asynchrones à rester fonctionnels lorsque la tension d’alimentation varie (adaptent leur vitesse de traitement à la tension) Le système d’exploitation adapte dynamiquement la tension d’alimentation, et donc la puissance de calcul du processeur, aux besoins des applications afin de minimiser la consommation.
Plan Motivations & contribution Gestion de l'énergie au niveau système d'exploitation Mise en veille Adaptation dynamique de la tension d'alimentation. Système asynchrone Algorithmes d'adaptation dynamique de la tension Cas des tâches sporadiques Cas des tâches périodiques Résultats de simulation des stratégies adoptées. Comparaison synchrone - asynchrones Conclusion
Gestion de l'énergie au niveau SE Collaboration entre le matériel, les applications et le système d'exploitation constituant le système Le système d’exploitation gère la consommation d'énergie par: des mises en veille L’adaptation de la tension d'alimentation de tout ou partie du système (exemple le processeur)
Adaptation dynamique de la tension Le fonctionnement d'un processeur comporte des périodes d'inactivité : consommation inutile de l'énergie Temps Vitesse SMAX a1 e1 a2 e2 ai : activation ei : échéance idle idle idle Réduire la vitesse du processeur et le mettre en veille pour économiser de l’énergie Temps Vitesse SMAX a1 e1 a2 e2 EVARIABLE # C VDDV2 < EFIXE # C VDDF2
Adaptation dynamique de la tension Vitesse fixe Vitesse variable Energie Charge de travail E # C VDD2 L’adaptation dynamique de la tension nécessite: Un processeur capable d'ajuster à la demande sa tension et sa fréquence (donc sa vitesse de fonctionnement et sa consommation) Des algorithmes d'adaptation dynamique des paramètres tension et fréquence : prévoient la quantité de traitement à effectuer en se basant sur le fonctionnement passé du processeur et déterminent quelle doit être le couple (fréquence, tension)
Plan Motivations & contribution Gestion de l'énergie au niveau système d'exploitation Mise en veille Adaptation dynamique de la tension d'alimentation. Systèmes asynchrones Algorithmes d'adaptation dynamique de la tension Cas des tâches sporadiques Cas des tâches périodiques Résultats de simulation des stratégies adoptées. Comparaison synchrone - asynchrones Conclusion
Systèmes asynchrones en quelques caractéristiques Absence de l’Horloge Horloge globale remplacée par des protocoles Requête/Acquittement Faible consommation Mode veille par défaut Consommation limitée aux seuls blocs en activité Mise en veille et réactivation immédiate des ressources de traitement Emetteur Recepteur Requête Acquitement Données
Systèmes asynchrones en quelques caractéristiques Robustesse vis-à-vis des conditions de fonctionnement Processeur opérationnel de 17 Mips (0.8V) à 140 Mips (2.5V) Adaptation de la vitesse du traitement par simple variation de la tension d’alimentation (PLL) Faible bruit Consommation en courant répartie dans le temps Pas de pic de courant Circuit synchrone
Plan Motivations & contribution Gestion de l'énergie au niveau système d'exploitation Mise en veille Adaptation dynamique de la tension d'alimentation. Système asynchrone Algorithmes d'adaptation dynamique de la tension Cas des tâches sporadiques Cas des tâches périodiques Résultats de simulation des stratégies adoptées. Comparaison synchrone - asynchrones Conclusion
Algorithmes d'adaptation dynamique de la tension Algorithmes basés sur l'ordonnancement Earliest Deadline First (EDF) (Peuvent fonctionner avec tout autre politique d'ordonnancement par priorité) Tâches ordonnancées selon leurs échéances et un calcul supplémentaire est effectué pour déterminer la tension et donc la vitesse du processeur nécessaire pour leurs exécutions. Activation échéance Di tdi = t + Di NIi t tdi
Cas des tâches sporadiques Paramètres: temps courant t et la nouvelle tâche sporadique τi 1. Insérer τi dans la file d’attente Q ordonnée selon EDF 2. Répéter { - Pour chaque tâche l de la file d’attente calculer Sl - Mettre la vitesse du processeur S à max Sl - Exécuter à la vitesse S la tâche prioritaire puis la retirer de la file s’elle est finie } tant que la fille est pleine NIi: nombre d'instructions de τl restant à exécuter tdi : échéance de τi Pi : priorité de τi selon la politique EDF EDF: Earliest-Deadline- First
Cas des tâches sporadiques Temps Vitesse 2 1 SMAX τ1 τ2 τ3 4 3 Exécution de 3 tâches sporadiques sans adaptation de la vitesse Tâches NIj Dj Date d'activation τ1 1 106 2 τ2 0.5 106 4 1 τ3 0.2 106 3 2 1 τ1 τ3 τ2 4 3 Exécution des 3 tâches sporadiques avec adaptation de la vitesse 35% 50% Temps Vitesse SMAX
Cas des tâches sporadiques Bilan énergétique Sans mise en veille PMAX Avec mise en veille 42% PMAX Adaptation dynamique de la tension 14% PMAX Avec l’adaptation dynamique de la tension : réduction d’un facteur 3 par rapport à la mise en veille réduction d’un facteur 7 sans la mise en veille
Cas des tâches périodiques Paramètres: temps courant t et n tâches périodiques prêtes ordonnancées selon EDF Initialiser la vitesse S Lorsqu’une nouvelle tâche τi est créée Insérer τi dans la file d’attente Q ordonnée selon EDF Réévaluer la vitesse S Lorsqu’une tâche τi est supprimée NIi: nombre d'instructions de τl restant à exécuter tdi : échéance de τi EDF: Earliest-Deadline- First
Cas des tâches périodiques Temps Vitesse 4 2 SMAX 8 6 τ2 τ1 τ3 Tâches NIj Dj = Tj Date d'activation τ1 0.25 106 2 τ2 1 106 5 τ3 0.5 106 3 4 Exécution de 3 tâches périodiques sans adaptation de la vitesse 4 2 8 6 33% 49% Temps Vitesse SMAX Exécution des 3 tâches périodiques avec adaptation de la vitesse 3.b Exécution des 3 tâches périodiques avec adaptation de la vitesse.
Plan Motivations & contribution Gestion de l'énergie au niveau système d'exploitation Mise en veille Adaptation dynamique de la tension d'alimentation. Système asynchrone Algorithmes d'adaptation dynamique de la tension Cas des tâches sporadiques Cas des tâches périodiques Résultats de simulation des stratégies adoptées. Comparaison synchrone - asynchrone Conclusion
Asynchrone vs synchrone : performances des processeurs synchrones StrongARM-1100 59MHz - 0.79V et 251MHz - 1.65V Un changement de fréquence prend 140µs Un changement de tension prend 40µs Mise en veille : 90µs - Réveil : 160 ms lpARM (ARM8 Berkeley) 6Mips, 5MHz - 1.2V et 85Mips, 80MHz - 3.8V Un changement de fréquence de 5MHz à 80MHz prend environ 70µs Veille (idle) : 0.8mW Transmeta Crusoe 300MHz - 1.2V à 600 MHZ - 1.6V Un changement de fréquence de fmin à fmax prend 300 µs pas de 33 MHz, 25 mV
Asynchrone vs synchrone : mise en veille τ1 τ2 0.16mW 90µs PMAX 160ms SMAX S. ARM Temps (µs) Vitesse SMAX τ1 τ2 Activité - PMAX Veille-0 mW Cas idéal (µs) τ1 τ2 0.8 mW 70µs PMAX SMAX lpARM (µs) τ1 τ2 ASPRO 0 mW PMAX Vitesse SMAX (µs) τ1 50 mW τ2 25µs PMAX 10µs SMAX Crusoe
Asynchrone vs synchrone : adaptation de la vitesse SMAX S. ARM τ1 3.74ms τ2 166µs 50% τ3 Temps (µs) Vitesse SMAX τ1 Cas idéal τ3 τ2 50% (µs) τ1 SMAX lpARM 37µs τ2 50% τ3 (µs) τ1 ASPRO Vitesse SMAX 50% τ3 τ2 6µs (µs) τ1 SMAX Crusoe 300µs τ3 τ2 50%
Plan Motivations & contribution Gestion de l'énergie au niveau système d'exploitation Mise en veille Adaptation dynamique de la tension d'alimentation. Système asynchrone Algorithmes d'adaptation dynamique de la tension Cas des tâches sporadiques Cas des tâches périodiques Résultats de simulation des stratégies adoptées. Comparaison synchrone - asynchrones Conclusion
Conclusion L’adaptation dynamique de la tension permet de réduire efficacement la consommation d’énergie d’un système embarqué La combinaison « processeur asynchrone – adaptation dynamique de la tension » est d’une mise en œuvre plus aisée que celle avec un processeur synchrone Les algorithmes proposés permettent une réduction d’un facteur de 7 de la consommation d’un système dont l’activité est sporadique L’implémentation matérielle en technologie asynchrone réduit le coût de mise en œuvre de l’adaptation dynamique de la tension