skip to main content
research-article

A design framework for real-time embedded systems with code size and energy constraints

Authors Info & Claims
Published:29 January 2008Publication History
Skip Abstract Section

Abstract

Real-time embedded systems are typically constrained in terms of three system performance criteria: space, time, and energy. The performance requirements are directly translated into constraints imposed on the system's resources, such as code size, execution time, and energy consumption. These resource constraints often interact or even conflict with each other in a complex manner, making it difficult for a system developer to apply a well-defined design methodology in developing a real-time embedded system. Motivated by this observation, we propose a design framework that can flexibly balance the tradeoff involving the system's code size, execution time, and energy consumption. Given a system specification and an optimization criteria, the proposed technique generates a set of design parameters in such a way that a system cost function is minimized while the given resource constraints are satisfied. Specifically, the technique derives code generation decision for each task so that a specific version of code is selected among a number of different ones that have distinct characteristics in terms of code size and execution time. In addition, the design framework determines the voltage/frequency setting for a variable voltage processor whose supply voltage can be adjusted at runtime in order to minimize the energy consumption while execution performance is degraded accordingly. The proposed technique formulates this design process as a constrained optimization problem. We show that this optimization problem is NP-hard and then provide a heuristic solution to it. We show that these seemingly conflicting design goals can be pursued by using a simple optimization algorithm that works with a single optimization criteria. Moreover, the optimization is driven by an abstract system specification given by the system developer, so that the system development process can be automated. The results from our simulation show that the proposed algorithm finds a solution that is close to the optimal one with the average error smaller than 1.0%.

References

  1. Chandrakasan, A. P., Sheng, S., and Brodersen, R. W. 1992. Low-power digital CMOS design. IEEE Journal of Solid State Circuits 27, 4 (Apr.), 473--484.Google ScholarGoogle ScholarCross RefCross Ref
  2. Chang, N., Kim, K., and Lee, H. G. 2002. Cycle-accurate energy measurement and characterization with a case study of the ARM7TDMI. IEEE Transactions on VLSI Systems 10, 146--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Cooper, K. D. and McIntosh, N. 1999. Enhanced code compression for embedded RISC processors. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). Atlanta, GA. 139--149. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Fraser, C. W., Myers, E. U., and Wendt, A. L. 1984. Analyzing and compressing assembly code. In Proceedings of the ACM SIGPLAN Symposium on Compiler Construction. Montreal, Canada. 117--121. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Furber, S. 1996. ARM System Architecture. Addison-Wesley. Reading, PA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Garey, M. R. and Johnson, D. S. 1979. Computers and Interactability: A Guide to Theory of NP-Completeness. Freeman, San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Gruian, F. 2001. Hard real-time scheduling using stochastic data and DVS processors. In Proceedings of the Internatinoal Symposium on Low-Power Electronics and Design (ISLPED), Huntington Beach, CA. 46--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Guthaus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. 2001. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the 4th IEEE Annual Workshop on Workload Characterization. Austin, TX. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ishihara, T. and Yasuura, H. 1998. Voltage scheduling problem for dynamically variable voltage processors. In Proceedings of the International Symposium on Low Power Electronics and Design. 197--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Kim, W., Kim, J., and Min, S. L. 2002. A dynamic voltage scaling algorithm for dynamic-priority hard real-time systems using slack time analysis. In Proceedings of the Design, Automation and Test in Europe (DATE), Paris, France, 788--794. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Kim, W., Kim, J., and Min, S. L. 2003. Dynamic voltage scaling algorithm for fixed-priority real-time systems using work-demand analysis. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED), Seoul, Korea, 396--401. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Krishnaswamy, A. and Gupta, R. 2002. Profile guided selection of ARM and Thumb instructions. In Proceedings of LCTES/SCOPES, Berlin, Germany. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Kwon, W. and Kim, T. 2003. Optimal voltage allocation techniques for dynamically variable voltage processors. In Proceedings of the IEEE/ACM Design Automation Conference (DAC). 125--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lee, C., Potkonjak, M., and Mangione-Smith, W. H. 1997. MediaBench: A tool for evaluating and synthesizing multimedia and communications systems. In Proceedings of the 30th Annual International Symposium on Microarchitecture. 330--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lee, S., Lee, J., Min, S. L., Hiser, J., and Davidson, J. W. 2003. Code generation for a dual instruction set processor based on selective code transformation. In Proceedings of the 7th International Workshop on Software and Compilers for Embedded Systems (SCOPES), Vienna, Austria, 33--48.Google ScholarGoogle Scholar
  16. Lee, S., Lee, J., Park, C. Y., and Min, S. L. 2004. A flexible tradeoff between code size and WCET using a dual instruction set processor. In Proceedings of the 8th International Workshop on Software and Compilers for Embedded Systems (SCOPES). Amsterdam, The Netherlands. 244--258.Google ScholarGoogle Scholar
  17. Liu, C. L. and Layland, J. W. 1973. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM 20, 1 (Jan.), 46--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Muchnick, S. S. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Pillai, P. and Shin, K. G. 2001. Real-time dynamic voltage scaling for low-power embedded operating systems. In Proceedings of 18th ACM Symposium on Operating Systems Principles (SOSP'01). Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Quan, G. and Hu, X. S. 2001. Energy efficient fixed-priority scheduling for real-time systems on variable voltage processors. In Proceedings of the Design Automation Conference (DAC), Las Vegas, NV. 828--833. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Rusu, C., Melhem, R., and Mosse, D. 2002. Maximizing the system value while satisfying time and energy constraints. In Proceedings of the 23rd IEEE Real-Time Systems Symposium (RTSS), Austin, TX. 246--255. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Rusu, C., Melhem, R., and Mosse, D. 2003. Multi-version scheduling in rechargeable energy-aware real-time systems. In Proceedings of the 15th Euromicro Conference on Real-Time Systems (ECRTS), Porto, Portugal. 95--104.Google ScholarGoogle Scholar
  23. Saewong, S. and Rajkumar, R. 2003. Pracitcal voltage-scaling for fixed-priority RT-systems. In Proceedings of the 9th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Toronto, Canada. 106--115. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Seth, K., Anantaraman, A., Mueller, F., and Rotenberg, E. 2003. FAST: Frequency-aware static timing analysis. In Proceedings of the 24th IEEE Real-Time Systems Symposium (RTSS), Cancun, Mexico. 40--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Shin, I., Lee, I., and Min, S. L. 2004. A design approach for real-time embedded systems with energy and code size constraints. In Proceedings of the 10th Real-time and Embedded Computing Systems and Applications Conference (RTCSA), Gothenburg, Sweden.Google ScholarGoogle Scholar
  26. Shin, Y., Choi, K., and Sakurai, T. 2000. Power optimization of real-time embedded systems on variable speed processors. In Proceedings of the International Conference on Computer-Aided Design (ICCAD). 365--368. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. SNU Real-Time Benchmark Suite. http://archi.snu.ac.kr/realtime/benchmark.Google ScholarGoogle Scholar
  28. Sutter, B. D. and Furhere, K. D. 2003. Software techniques for program compaction. Communications of the ACM 46, 8 (Aug.), 33--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Yao, F., Demers, A., and Shenker, A. 1995. A scheduling model for reduced CPU energy. In Proceedings of the IEEE Foundations of Computer Science. 374--382. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Zhao, W., Kulkarni, P., Whalley, D., Healy, C., Mueller, F., and Uh, G.-R. 2004. Tuning the WCET of embedded applications. In Proceedings of the 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), Toronto, Canada. 472--481. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A design framework for real-time embedded systems with code size and energy constraints

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!