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%.
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Furber, S. 1996. ARM System Architecture. Addison-Wesley. Reading, PA. Google Scholar
Digital Library
- Garey, M. R. and Johnson, D. S. 1979. Computers and Interactability: A Guide to Theory of NP-Completeness. Freeman, San Francisco, CA. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Krishnaswamy, A. and Gupta, R. 2002. Profile guided selection of ARM and Thumb instructions. In Proceedings of LCTES/SCOPES, Berlin, Germany. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- Muchnick, S. S. 1997. Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco, CA. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- SNU Real-Time Benchmark Suite. http://archi.snu.ac.kr/realtime/benchmark.Google Scholar
- Sutter, B. D. and Furhere, K. D. 2003. Software techniques for program compaction. Communications of the ACM 46, 8 (Aug.), 33--34. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
Index Terms
A design framework for real-time embedded systems with code size and energy constraints
Recommendations
Multi-version scheduling in rechargeable energy-aware real-time systems
Real-Time Systems (Euromicro RTS-03)In the context of battery-powered real-time systems, three constraints need to be addressed: energy, deadlines and task rewards. Many future real-time systems will count on different software versions, each with different rewards, time and energy ...
Quantifying Energy Consumption for Practical Fork-Join Parallelism on an Embedded Real-Time Operating System
RTNS '16: Proceedings of the 24th International Conference on Real-Time Networks and SystemsIn this work, we present the experimental assessment of a parallel framework that allows to reduce the energy consumption of MPSoC platforms running hard real-time systems. We use a power-aware Fork-Join task model based on primitives of the OpenMP ...
Energy efficient DVFS scheduling for mixed-criticality systems
EMSOFT '14: Proceedings of the 14th International Conference on Embedded SoftwareConsolidating functionalities with different safety requirements into a common platform gives rise to mixed-criticality systems. The state-of-the-art research has focused on providing heterogeneous timing guarantees for tasks of varying criticality ...






Comments