Action spécifique Low Power Ordonnancement et Power Management C.Belleudy Laboratoire I3S (UNSA/CNRS) N. Navet INRIA projet TRIO (LORIA)
PLAN Définition du problème Les techniques de Power Management pour des systèmes mono-processeur (N. Navet) Les techniques de Power Management pour des systèmes multi-processeurs Conclusion
Les sources de dissipation (E et P) P = Pdynamique + Pstatique = α.c.f.vdd 2 + Pstatique E = N i= 1 Ti. Pi AApplication nécessitant N cycles d horloge de période Ti Vdd F Tr = K. Cout.Vdd/(Vdd-Vt) 2 Réduire Vdd implique de baisser la fréquence de fonctionnement => Modification du couple V,F => E et P réduits E reste inchangée? P diminue?
Technologie des processeurs Variation de tension et de fréquence (DVS, DFS), Exemple : Crusoé, Xscale, LpArm, Pentium4M.. Modes de repos basse consommation (idle, sleep ) Pénalités : Energie, Temps. Exemple processeur StrongArm couples F,V : (59 Mhz, 0.8 V) -> (206 Mhz, 1.5 V) 400 mw RUN 10µs 160ms 10µs 90µs IDLE 160 mw 90µs SLEEP 50 mw
Du coté des batteries A Typical Discharge Profile (Li/MnO 2 DL2/3A Cells) [Ge01] Alternance de périodes d activation et de repos (idle) [Ge01] Le taux de décharge de la batterie dépend fortement : de Pmoyen si V(P) faible, de Ppic si V(P) grande.
DVS/DFS ou mode repos? F1,V1 Tâche1 Processeur inactif WCET (Worst Case Execution Time) E = E tâche1,f1,v1 + E inactif F2<F1,V2<V1 Tâche1 WCET F1,V1 Tâche1 WCET Processeur en mode repos = E tâche1,f2,v2 + E transition < E tâche1,f1,v1 pic réduit. E = E tâche1,f1,v1 + E transition + E mode repos E > E tâche1,f1,v1 Ppic inchangé, Prepos => rechargeme de la batterie?
Le problème Recherche des différentes vitesses de fonctionnement du ou des processeurs. PE1 T1 (V,F) T3 (V3,F3) Mode repos T6 (V,F) Echéance PE2 T2 (V2,F2) T4 (V,F) T5 (V,F) Exploitation des modes repos lorsque F n est plus disponible.
PLAN Définition du problème Les techniques de Power Management pour des systèmes mono-processeur (N. Navet) Les techniques de Power Management pour des systèmes multi-processeurs Conclusion
Le power management pour des systèmes monoprocesseur Politique hors ligne (ou Static Power Management) : T2 Deadline T1 T3 T4 Choix des couples V,F ou mode repos lors de la conception T1 (V1,F1) T2 (V2,F2) T3 (V3,F3) Politiques en-ligne (ou Dynamic Power Management) : Hors ligne puis Choix des couples V,F et des modes repos en cours d exécution de l application PE1 PE2 PE1 PE2 T1 (V1,F1) T2 (V2,F2) T4 (V4,F4) Deadlin Si T1 finit avant son WCET T3 (V3,F3 ) Idle Idle T4 (V4,F4) Deadli
Le power management pour des systèmes monoprocesseur Définition de quelques termes : Ci (Worst Case Execution Time : WCET) : pire temps d exécution d une tâche i, AETi : temps effectif d exécution d une tâche i, Ai : Date d activation d une tâche i, Ti : Période d une tâche i, Di : Echéance d une tâche i (hypothèse : Ti=Di). Notre problème : => Rechercher : S = F/F ref : vitesse CPU ou facteur de ralentissement.
Politiques hors ligne monoprocesseur Earliest Deadline first (EDF) [Gr02] : Priorité à la tâche dont l échéance est la plus proche. aisable si : U N = i= 1 Ci Ti 1 N i= 1 On cherche Ci =Ci/Smin tel que : N Ci' = (1/Smin)* Ti i= 1 Ci Ti 1 => Smin = U Vitesse choisie par cycle : Ordonnancement Stochastique P WCET Augmentation graduelle de la vitesse, les vitesses élevées étant peu voir pas utilisées [Gr02]. t
Politiques hors ligne monoprocesseur Vitesse par instance de tâches : EDF modifié[ga03] A D A(t) D(t) = = N i= 1 N i = 1 ci.1 c i.1 [ Ai [ Di t ] t ] Fonction d arrivée de travail Quantité de travail j T=max(Di) : horizon d optimisation ( t) U ( t) = u( s) ds t 0 A( t) => Si U(t) satisfait ces contraintes, il s agit du plus court chemin entre les murs constitués par A et D.
Politiques en ligne pour des systèmes monoprocesseurs Principe : redistributions des gains Lorqu une tâche termine, on calcule la différence entre le WCET et le AET et on redistribue le temps gagné : à la tâche qui débute son exécution [Ay04], à toutes les tâches en attente [Pi01]. he WCET 3 ms 3 ms Période 8 ms 10 ms Exécution 1 2 ms 1 ms Exécution 2 1 ms 1 ms N i= 1 Ci puis AETi Ti S min = > F = S min.fr 1 ms 14 ms 1 ms 1 ms S F 0.746 0.621 0.421 0.546 0.296 0.75 0.5 T1 T2 0.421 T3 T1 0.496 0.296 T2 0.296 T3
PLAN Définition du problème Les techniques de Power Management pour des systèmes mono-processeur (N. Navet) Les techniques de Power Management pour des systèmes multi-processeurs Conclusion
Le problème T1 T3 3 3 E1 T4 3 Ordonnancement vitesse nominale PE1 Bus T1 E1 E2 T5 6 T2 line(t2)=19 E2 4 PE2 T3 T4 T2 D(T2) D(T5 eadline(t5)=22 T5 3 : tâche i : Communication entre unités Modifier V,F ou passer en mode de repos de façon à réduire E, P?
Politique hors ligne : vitesse adaptée à chaque tâche [LU02 6 T1 T3 3 Ordonnancement vitesse nominale PE1 Bus T1 E1 E2 T5 3 E1 T4 3 PE2 T3 T4 T2 6 T2 E2 4 Ti : tâche i Ei : Communication entre unités D(T2) D( adline(t2)=19 Deadline(t5)=22 T5 3 ur chaque chemin critique i, calcul du cteur de Ralentissement (S) : = Σi sur processeur WCETi / (Tfin - ébut Σi WCETi) PE1 Bus PE2 T1 E1 E2 T3 T4 T2 T5-30 Su max(si) => nouveau deadline Itération D(T2) D(T5)
Politique hors ligne pour des systèmes multiprocesseurs Calcul d un facteur de ralentissement par processeur/puis par tâche [Gu3b] : 2 phases 1 - On calcule par chemin critique S. On retient Smax pour l ensemble. systèmes homogènes => Scpu proche de S, Systèmes hétérogènes => Choix de différents Scpui. 2 - Recherche de S par tâche. Réduction du nombre de changements de vitesse. -46% sur E pour une application de caméra embarquée. Calcul d un facteur de ralentissement par région [Wu03] : On redistribue les cycles non utilisés à un groupe de tâches => -36% sur E.
Politique Hors ligne pour des systèmes multiprocesseurs Maîtrise du pic de puissance : Les cycles non utilisés sont allouées aux tâches où P>Pmoyen [Lu01], Mouvement des tâches tel que V(P) soit minimale [Lu01] (+70% de durée de vie de la batterie), Lorsque P > Pmax, diminution du parallélisme [Ch02]. Modes repos : Echec de DVS/DFS [Gu3b], Mouvement des tâches de façon à grouper les cycles non utilisés => augmentation du temps passer en mode repos [Ch02].
Politique en ligne pour des systèmes multiprocesseurs Redistribution des cycles WCETi AETi : à toutes les tâches en attente [Zh03] 1. Etude de E en fonction de a=aeti/wceti : Deux processeurs et a <0.5 Tâches non dépendantes (100) : gain de 60% sur E, Tâches dépendantes (20) : gain de 40% sur E. 2. Etude de E en fonction du nombre de processeurs (a=0.5): Energie sensiblement constante jusqu à 8 processeurs au delà ugmentation très rapide. Si il existe des événements apériodiques (soft event) => Ordonnancement si leur WCET<WCETi[Lu02], Sinon : le facteur de ralentissement est recalculé par rapport au chemin critique (complexe?)
PLAN Définition du problème Les techniques de Power Management pour des systèmes mono-processeur Les techniques de Power Management pour des systèmes multi-processeurs Conclusion
Conclusion Compromis Emin, Ppic et Tidle? => Modèles de batteries plus réalistes. Les pénalités liés aux changements de tension et de fréquence ne sont pas toujours prises en compte. Comparaison/validation (ex: synchrone/asynchrone). Systèmes multiprocesseur => le plus souvent système homogène. Pour les unités de type FPGA, ASIC : pas de DFS/DVS/Mode repos actuellement. Récupération de charge sur Trepos + nouvelle technologie (=>Pstatique++) => Exploitation plus judicieuse des modes repos. Gestion Thermique/Energétique couplée.
Bibliographie [Ac03] A. Acquaviva, T. Simunic, L. benini, «LP-ECOS : An energy efficient RTOS», HP Lanoratories, April 2003. [Ay04] H. Aydin, R. Melhem, D. Mosse and P.M. Alvarez, «Power_Aware Scheduling for Periodic real Time Tasks. To appear in IEEE transactions on Computers. [Be98] Luca Benini, Giovanni De Micheli, «Dynamic Power Management, Luca Benini, Giovanni De Micheli», Kluwer Academic Plublishers,1998. [Be00] L. Benini, A. Bogliolo, G. De Micheli, «A survey of design technique for system Level dynamic power Management», IEEE transactions on VLSi Systems, vol. 8, No. 3, Juin 2000, pp. 299-316. [Ch02] P. H.Chou, J. Liu, D. Li, N. Bagherzadeh, «IMPACCT : Methodology and tools for Power-Aware Embedded Systems», Design Automation for Embedded Systems, Kluwer Academic Plublishers, pp.205-232, 2002. [Da99] P. dave, G. Lakshminarayana, N. Jha, «COSYN: Hardware-Software Co- Synthesis of heterogeneous distributed Embedded Systems, IEEE Transactions on VLSI systems, Vol. 7, No. 1, mars 1999. [Do94] M. Doyle, J. newman, J. Reimers, «A quick method for measuring the capacity versus the discharge rate for a dual Lithium-ion insertion cell undergoing cycling», Journal of pwoer sources, Vol. 52, No. 2, décembre 1994, pp. 211-216. [Ga03] B. Gaujal, N. Navet, and C. Walsh, «Real Time scheduling for optimal enregy use», FTFC 03, 4iéme journées d études faible consommation, pages 159-166, Mai 2003.
Bibliographie [Ge01] Jun fei Geng, Battery Modeling: a Longer Lifetime, (duke University). [Gr02] F. Gruian, «Energy centric Scheduling for Real Time Systems», PhD thesis Lund Institute of Technology, 2002. [Gu03a] P. Guitton-Ouhamou, K. Ben Chehida, C. Belleudy, M. Auguin, «Automatical architecture exploration : Energy optimisations of a codesign tool for embedded HW/SW systems», first Northeast Workshop on Circuits and Systems (NEWCAS'2003), sponsored by IEEE June 17-20, 2003, in Montréal, Canada. [Gu03b] GUITTON-OUHAMOU Patricia, BELLEUDY Cécile, AUGUIN Michel, «Dynamic Voltage Scaling: implementations during the scheduling step of a codesign tool», Sophia Antipolis Microelectronics Forum (SAME2003), IEEE CAS Society, 6th edition, October 8-9 2003, Sophia-Antipolis, France. [Lu01] Jiong Luo, Niraj K. Jha "Battery-Aware Static Scheduling for Distributed Real- Time Embedded Systems", in proceedings of 38th Design Automation Conference 2001 [p. 444] June 18-22, 2001 Las Vegas. [Lu02] J. Luo and N. K. Jha, Static and dynamic variable voltage scheduling algorithms for real-time heterogeneous distributed embedded systems, Int. Conf. on VLSI Design, Jan. 2002.
Bibliographie [Ma99] Thomas Martin and Daniel Seiwiorek, "Non-Ideal Battery Behavior and Its Impact on Power Performance Trade-offs in Wearable Computing," Proceedings of the 1999 International Symposium on Wearable Computers, San Francisco, October 18-19, 1999; pp. 101-106. [Pi01] P. Pillai, Kang G. Shin, " Real-Time dynamic Voltage scaling for Low Power Embedded Operating Systems ", 18th Symposium on operating System Principles, October 2001. [Wu03] Dong Wu and Bashir M. Al-Hashimi, Petru Eles, "Scheduling and Mapping of Conditional Task Graphs for the Synthesis of Low Power Embedded Systems", in proceedings of Design Automation Test in Europe 2003 Munich, Germany, March 3-7, 2003, p.90-95. [Ya95] F. Yao, A. Demers, S. shenker, «A sheduling model for reduced CPU energy», Proc. IEEE FOCS 1995. [Zh03] D. Zhu, R. Melhem, and B. Childers; "Scheduling with Dynamic Voltage/Speed Adjustment Using Slack Reclamation in Multi-Processor Real-Time Systems", IEEE Trans. on Parallel & Distributed Systems, vol. 14, no. 7, pp. 686-700, 2003.