Power Aware Operating Systems, Compilers, and Application Software

  • Preeti Ranjan Panda
  • Aviral Shrivastava
  • B. V. N. Silpa
  • Krishnaiah Gummidipudi


What does a compiler have to do with power dissipation? A compiler is a piece of system software that parses a high level language, performs optimizing transformations, and finally generates code for execution on a processor. On the surface, it seems very far removed from an electrical phenomenon like power dissipation. Yet, it was not long before the two got inextricably linked. The involvement of the compiler along with the processor architecture in the design space exploration loop of application specific systems (ASIPs) might have eased the transition. In this scenario, compiler analysis can actually influence the choice of architectural parameters of the final processor. Clearly, if a low power system consisting of an application running on a processor is desired, the selected processor architecture has to work in tandem with the compiler and application programmer – an architectural feature is useless if it is not properly exploited by the code generated by a compiler or written by a programmer. Low power instruction encoding is an example optimization that features the compiler in a central role with the explicit role of reducing power. In an ASIP, the opcode decisions need not be fixed, and could be tuned to the application. Since the compiler has an intimate knowledge of the application, it could anticipate the transition patterns between consecutive instructions from the program layout and suggest an encoding of instructions that reduces switching power arising out of the fetch, transmission, and storage of sequences of instructions. Modern compiler designers are investigating the development of power awareness in a more direct way in general purpose processor systems, not just ASIPs. The role of the compiler and application programmer grows along with the concomitant provision of hooks and control mechanisms introduced by the hardware to support high level decision making on power-related issues.


Power Dissipation Power Management Earliest Deadline First Code Size Leakage Power 


  1. 1.
    Advanced RISC Machines Ltd: ARM7TDMI (Rev 4) Technical Reference ManualGoogle Scholar
  2. 2.
    Anand, M., Nightingale, E.B., Flinn, J.: Ghosts in the machine: interfaces for better power management. In: MobiSys ’04: Proceedings of the 2nd international conference on Mobile systems, applications, and services, pp. 23–35 (2004). DOI http://doi.acm.org/10.1145/990064.990070
  3. 3.
    ARC Cores: ARCtangent-A5 Microprocessor Technical ManualGoogle Scholar
  4. 4.
    Azevedo, A., Issenin, I., Cornea, R., Gupta, R., Dutt, N., Veidenbaum, A., Nicolau, A.: Profile-based dynamic voltage scheduling using program checkpoints. In: DATE ’02: Proceedings of the conference on Design, automation and test in Europe, p. 168. IEEE Computer Society, Washington, DC, USA (2002)Google Scholar
  5. 5.
    Biswas, P., Banerjee, S., Dutt, N., Pozzi, L., Ienne, P.: ISEGEN: Generation of high-quality instruction set extensions by iterative improvement. In: DATE ’05: Proceedings of the conference on Design, Automation and Test in Europe, pp. 1246–1251. IEEE Computer Society, Washington, DC, USA (2005). DOI http://dx.doi.org/10.1109/DATE.2005.191
  6. 6.
    Bona, A., Sami, M., Sciuto, D., Zaccaria, V., Silvano, C., Zafalon, R.: Energy estimation and optimization of embedded vliw processors based on instruction clustering. In: DAC ’02: Proceedings of the 39th conference on Design automation, pp. 886–891. New Orleans, Louisiana, USA (2002)Google Scholar
  7. 7.
    Burd, T.D., Brodersen, R.W.: Design issues for dynamic voltage scaling. In: ISLPED ’00: Proceedings of the 2000 international symposium on Low power electronics and design, pp. 9–14. ACM, New York, NY, USA (2000). DOI http://doi.acm.org/10.1145/344166.344181
  8. 8.
    Butts, J.A., Sohi, G.S.: A static power model for architects. In: Micro33, pp. 191–201 (2000). URL http://citeseer.ist.psu.edu/butts00static.html
  9. 9.
    Choi, K., Soma, R., Pedram, M.: Fine-grained dynamic voltage and frequency scaling for precise energy and performance tradeoff based on the ratio of off-chip access to on-chip computation times. IEEE Transactions on CAD 24(1), 18–28 (2005)Google Scholar
  10. 10.
    Clark, L.T., Hoffman, E.J., Biyani, M., Liao, Y., Strazdus, S., Morrow, M., Velarde, K.E., Yarch, M.A.: An embedded 32-b microprocessor core for low-power and high-performance applications. IEEE Journal of Solid State Circuits 36(11), 1599–1608 (2001)CrossRefGoogle Scholar
  11. 11.
    Clark, N., Zhong, H., Mahlke, S.: Processor acceleration through automated instruction set customization. In: In MICRO, pp. 129–140 (2003)Google Scholar
  12. 12.
    Deeney, J.: Reducing power in high-performance microprocessors. In: International Symposium on Microelectronics (2002)Google Scholar
  13. 13.
    Dehnert, J.C., Grant, B.K., Banning, J.P., Johnson, R., Kistler, T., Klaiber, A., Mattson, J.: The transmeta code morphingTMsoftware: using speculation, recovery, and adaptive retranslation to address real-life challenges. In: Proceedings of the international symposium on Code generation and optimization, pp. 15–24 (2003)Google Scholar
  14. 14.
    Govil, K., Chan, E., Wasserman, H.: Comparing algorithm for dynamic speed-setting of a low-power cpu. In: MOBICOM, pp. 13–25 (1995)Google Scholar
  15. 15.
    Gurumurthi, S., Sivasubramaniam, A., Kandemir, M.T., Franke, H.: Drpm: Dynamic speed control for power mangagement in server class disks. In: 30th International Symposium on Computer Architecture, pp. 169–179 (2003)Google Scholar
  16. 16.
    Hewlett-Packard, Intel, Microsoft, Phoenix Technologies Ltd., and Toshiba: Advanced Configuration and Power Interface Specification (2009)Google Scholar
  17. 17.
    Intel Corporation, http://www.intel.com/design/iio/manuals/273411.htm: Intel 80200 Processor based on Intel XScale Microarchitecture
  18. 18.
    Intel Corporation, http://www.intel.com/design/intelxscale/273473.htm: Intel XScale(R) Core: Developer’s Manual
  19. 19.
    Ishihara, T., Yasuura, H.: Voltage scheduling problem for dynamically variable voltage processors. In: Proceedings of the 1998 International Symposium on Low Power Electronics and Design, 1998, Monterey, California, USA, August 10-12, 1998, pp. 197–202 (1998)Google Scholar
  20. 20.
    Jejurikar, R., Pereira, C., Gupta, R.K.: Leakage aware dynamic voltage scaling for real-time embedded systems. In: Proceedings of the 41th Design Automation Conference, DAC 2004, San Diego, CA, USA, June 7-11, 2004, pp. 275–280 (2004)Google Scholar
  21. 21.
    Jiang, H., Marek-Sadowska, M., Nassif, S.R.: Benefits and costs of power-gating technique. In: ICCD ’05: Proceedings of the 2005 International Conference on Computer Design. IEEE Computer Society, Washington, DC, USA (2005)Google Scholar
  22. 22.
    Kandemir, M., Son, S.W., Chen, G.: An evaluation of code and data optimizations in the context of disk power reduction. In: ISLPED ’05: Proceedings of the 2005 international symposium on Low power electronics and design, pp. 209–214. San Diego, CA, USA (2005)Google Scholar
  23. 23.
    Kandemir, M., Vijaykrishnan, N., Irwin, M.J., Ye, W.: Influence of compiler optimizations on system power. In: Proceedings of the 37th Design Automation Conference, pp. 304–307. Los Angeles, USA (2000)Google Scholar
  24. 24.
    Kim, C.H., Roy, K., Hsu, S., Krishnamurthy, R., Borkar, S.: A Process Variation Compensating Technique with an On-Die Leakage Current Sensor for nanometer Scale Dynamic Circuits. IEEE Transactions on VLSI 14(6), 646–649 (2006)CrossRefGoogle Scholar
  25. 25.
    Kim, T.: Application-driven low-power techniques using dynamic voltage scaling. In: 12th IEEE Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2006), 16-18 August 2006, Sydney, Australia, pp. 199–206 (2006)Google Scholar
  26. 26.
    Lee, C., Lee, J.K., Hwang, T., Tsai, S.C.: Compiler optimization on vliw instruction scheduling for low power. ACM Trans. Des. Autom. Electron. Syst. 8(2), 252–268 (2003)CrossRefGoogle Scholar
  27. 27.
    Liao, W., He, L., Lepak, K.: Ptscalar version 1.0 (2004). URL http://eda.ee.ucla.edu/PTscalar/
  28. 28.
    Liu, X., Shenoy, P., Corner, M.D.: Chameleon: Application-level power management. IEEE Transactions on Mobile Computing 7(8), 995–1010 (2008). DOI http://dx.doi.org/10.1109/TMC.2007.70767 Google Scholar
  29. 29.
    LSI LOGIC: TinyRISC LR4102 Microprocessor Technical ManualGoogle Scholar
  30. 30.
    Mahesri, A., Vardhan, V.: Power consumption breakdown on a modern laptop. In: Power-Aware Computer Systems, pp. 165–180 (2004)Google Scholar
  31. 31.
    Mehta, H., Owens, R.M., Irwin, M.J., Chen, R., Ghosh, D.: Techniques for low energy software. In: ISLPED ’97: Proceedings of the 1997 international symposium on Low power electronics and design, pp. 72–75. Monterey, USA (1997)Google Scholar
  32. 32.
    Muchnick, S.: Advanced Compiler Design and Implementation. Morgan Kaufman, San Francisco, CA (1997)Google Scholar
  33. 33.
    Petrov, P., Orailoglu, A.: Compiler-based register name adjustment for low-power embedded processors. In: ICCAD ’03: Proceedings of the 2003 IEEE/ACM international conference on Computer-aided design, p. 523 (2003)Google Scholar
  34. 34.
    Powell, M., Yang, S.H., Falsafi, B., Roy, K., Vijaykumar, T.N.: Gated-vdd: a circuit technique to reduce leakage in deep-submicron cache memories. In: ISLPED ’00: Proceedings of the 2000 international symposium on Low power electronics and design, pp. 90–95 (2000)Google Scholar
  35. 35.
    Sery, G., Borkar, S., De, V.: Life is cmos: why chase the life after? In: DAC ’02: Proceedings of the 39th annual Design Automation Conference, pp. 78–83. ACM, New York, NY, USA (2002). DOI http: //doi.acm.org/10.1145/513918.513941
  36. 36.
    Shao, Z., Xiao, B., Xue, C., Zhuge, Q., Sha, E.H.M.: Loop scheduling with timing and switching-activity minimization for vliw dsp. ACM Trans. Des. Autom. Electron. Syst. 11(1), 165–185 (2006)CrossRefGoogle Scholar
  37. 37.
    Shin, D., Kim, J., Lee, S.: Intra-task voltage scheduling for low-energy, hard real-time applications. IEEE Design & Test of Computers 18(2), 20–30 (2001)MathSciNetCrossRefGoogle Scholar
  38. 38.
    ST Microelectronics: ST100 Technical ManualGoogle Scholar
  39. 39.
    Su, C.L., Despain, A.M.: Cache design trade-offs for power and performance optimization: a case study. In: ISLPED ’95: Proceedings of the 1995 international symposium on Low power design, pp. 63–68. ACM Press, New York, NY, USA (1995)Google Scholar
  40. 40.
    Sun, F., Ravi, S., Raghunathan, A., Jha, N.K.: Synthesis of custom processors based on extensible platforms. In: ICCAD ’02: Proceedings of the 2002 IEEE/ACM international conference on Computer-aided design, pp. 641–648. ACM, New York, NY, USA (2002). DOI http: //doi.acm.org/10.1145/774572.774667
  41. 41.
    Tomiyama, H., Ishihara, T., Inoue, A., Yasuura, H.: Instruction scheduling for power reduction in processor-based system design. In: DATE ’98: Proceedings of the conference on Design, automation and test in Europe, pp. 855–860. Le Palais des Congrés de Paris, France (1998)Google Scholar
  42. 42.
    Tschanz, J.W., Narendra, S.G., Ye, Y., Bloechel, B.A., Borkar, S., De, V.: Dynamic sleep transistor and body bias for active leakage power control of microprocessors. IEEE Journal of Solid State Circuits 38 (2003)Google Scholar
  43. 43.
    Valluri, M., John, L., Hanson, H.: Exploiting compiler-generated schedules for energy savings in high-performance processors. In: ISLPED ’03: Proceedings of the 2003 international symposium on Low power electronics and design, pp. 414–419. ACM Press, New York, NY, USA (2003)Google Scholar
  44. 44.
    Venkatachalam, V., Franz, M.: Power reduction techniques for microprocessor systems. ACM Computing Surveys 37(3), 195–237 (2005)CrossRefGoogle Scholar
  45. 45.
    Weiser, M., Welch, B.B., Demers, A.J., Shenker, S.: Scheduling for reduced cpu energy. In: OSDI, pp. 13–23 (1994)Google Scholar
  46. 46.
    Yao, F.F., Demers, A.J., Shenker, S.: A scheduling model for reduced cpu energy. In: FOCS, pp. 374–382 (1995)Google Scholar
  47. 47.
    Yun, H.S., Kim, J.: Power-aware modulo scheduling for high-performance vliw processors. In: ISLPED ’01: Proceedings of the 2001 international symposium on Low power electronics and design, pp. 40–45. Huntington Beach, USA (2001)Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Preeti Ranjan Panda
    • 1
  • Aviral Shrivastava
    • 2
  • B. V. N. Silpa
    • 1
  • Krishnaiah Gummidipudi
    • 1
  1. 1.Department Computer Science and EngineeringIndian Institute of TechnologyNew DelhiIndia
  2. 2.Department of Computer Science and EngineeringArizona State UniversityTempeUSA

Personalised recommendations