Abstract
In this paper, we introduce the LOPOCOS (Low Power Co-synthesis) system, a prototype CAD tool for system level co-design. LOPOCOS targets the design of energy-efficient embedded systems implemented as heterogeneous distributed architectures. In particular, it is designed to solve the specific problems involved in architectures that include dynamic voltage scalable (DVS) processors. The aim of this paper is to demonstrate how LOPOCOS can support the system designer in identifying energy-efficient hardware/software implementations for the desired embedded systems. Hence, highlighting the necessary optimization steps during design space exploration for DVS enable architectures. The optimization steps carried out in LOPOCOS involve component allocation and task/communication mapping as well as scheduling and dynamic voltage scaling. LOPOCOS has the following key features, which contribute to this energy efficiency. During the voltage scaling valuable power profile information of task execution is taken into account, hence, the accuracy of the energy estimation is improved. A combined optimization for scheduling and communication mapping based on genetic algorithm, optimizes simultaneously execution order and communication mapping towards the utilization of the DVS processors and timing behaviour. Furthermore, a separation of task and communication mapping allows a more effective implementation of both task and communication mapping optimizationsteps. Extensive experiments are conducted to demonstrate the efficiency of LOPOCOS. We report up to 38% higher energy reductions compared to previous co-synthesis techniques for DVS systems. The investigations include a real-life example of an optical flow detection algorithm.
Similar content being viewed by others
References
WITAS: The Wallenberg Laboratory for Research on Information Technology and Autonomous System. http://www.ida.liu.se/ext/witas/.
Intel® XScale™ Core, Developer's Manual, December 2000. Order Number 273473-001.
Mobile AMD Athlon™ 4, Processor Model 6 CPGA Data Sheet, November 2000. Publication No 24319 Rev E.
Adam, T., K. Chandy, and J. Dickson. A Comparison of List Scheduling for Parallel Processing Systems. J. Communications of the ACM, vol. 17,no. 12, pp. 685-690, December 1974.
Bambha, N., S. Bhattacharyya, J. Teich, and E. Zitzler. Hybrid Global/Local Search Strategies for Dynamic Voltage Scaling in Embedded Multiprocessors. In Proc. 1st Int. Symp. Hardware/Software Co-Design (CODES'01), April 2001, pp. 243-248.
Benini, L., G. De Micheli, E. Macii, M. Poncino, and R. Scarsi. Symbolic Synthesis of Clock-Gating Logic for Power Optimization of Synchronous Controllers. ACM Trans. on Design Automation of Electronic Systems, vol. 4,no. 4, pp. 351-375, 1999.
Brandolese, C., W. Fornaciari, F. Salice, and D. Sciuto. Energy Estimation for 32 bit Microprocessors. In Proc. 8th Int. Workshop Hardware/Software Co-Design (CODES'00), May 2000, pp. 24-28.
Burd, T. D., T. A. Pering, A. J. Stratakos, and R. W. Brodersen. A Dynamic Voltage Scaled Microprocessor System. IEEE J. Solid-State Circuits, vol. 35,no. 11, pp. 1571-1580, November 2000.
Dave, B. P., G. Lakshminarayana, and N. K. Jha. COSYN: Hardware-Software Co-Synthesis of Embedded Systems. In Proc. DAC, 1997, pp. 703-708.
Dhodhi, M. K., I. Ahmad, and R. Storer. SHEMUS: Synthesis of Heterogeneous Multiprocessor Systems. J. Microprocessors and Microsystems, vol. 19,no. 6, pp. 311-319, August 1995.
Dick, R., and N. K. Jha. MOCSYN: Multiobjective core-based single-chip system synthesis. In Proc. Design, Automation and Test in Europe Conf. (DATE99), March 1999, pp. 263-270.
Dick, R., D. Rhodes, and W. Wolf. TGFF: Task Graphs for free. In Proc. 5th Int. Workshop Hardware/Software Co-Design (Codes/CASHE'97), March 1998, pp. 97-101.
Dick, R. P., and N. K. Jha. MOGAC: A Multiobjective Genetic Algorithm for Hardware-Software CoSynthesis of Distributed Embedded Systems. IEEE Trans. Computer-Aided Design, vol. 17,no. 10, pp. 920-935, Oct. 1998.
Elcs, P., A. Doboli, P. Pop, and Z. Peng. Scheduling with Bus Access Optimization for Distributed Embedded Systems. IEEE Trans. VLSI Systems, vol. 8,no. 5, pp. 472-491, Oct. 2000.
Ernst, R., J. Henkel, and Th. Brenner. Hardware-Software Co-Synthesis for Micro-Controllers. IEEE Design & Test of Comp., vol. 10,no. 4, pp. 64-75, Dec. 1993.
Goldberg, D. E. Genetic Algorithms in Search, Optimization & Machine Learning. Addison-Wesley Publishing Company, 1989.
Grajcar, M. Genetic List Scheduling Algorithm for Scheduling and Allocation on a Loosely Coupled Heterogeneous Multiprocessor System. In Proc. IEEE 36th Design Automation Conf. (DAC99), 1999, pp. 280-285.
Gruian, F., and K. Kuchcinski. LEneS: Task Scheduling for Low-Energy Systems Using Variable Supply Voltage Processors. In Proc. Asia South Pacific-Design Automation Conf. (ASP-DAC'01), Jan. 2001, pp. 449-455.
Gupta, R. K., Co-Synthesis of Hardware and Software for Digital Embedded Systems. Ph.D. thesis, Stanford University, December 1993.
Hong, I., D. Kirovski, G. Qu, M. Potkonjak, and M. B. Srivastava. Power Optimization of Variable-Voltage Core-Based Systems. IEEE Trans. Computer-Aided Design, vol. 18,no. 12, pp. 1702-1714, Dec. 1999.
Hou, J., and W. Wolf. Process Partitioning for Distributed Embedded Systems. In Proc. CODES, March 1996, pp. 70-76.
Ishihara, T., and H. Yasuura. Voltage Scheduling Problem for Dynamically Variable Voltage Processors. In Proc. Int. Symp. Low Power Electronics and Design (ISLPED'98), 1998, pp. 197-202.
Kalavade, A., and E. A. Lee. A Global Criticality/Local Phase Driven Algorithm for the Constrained Hardware/Software Partitioning Problem. In Proc. CODES, Sept. 1994, pp. 42-48.
Kirovski, D., and M. Potkonjak. System-Level Synthesis of Low-Power Hard Real-Time Systems. In Proc. IEEE 34th Design Automation Conf. (DAC97), 1997, pp. 697-702.
Klaiber, A. The Technology Behind Crusoe Processors. Transmeta, Jan. 2000.
Knudsen, P. V., and J. Madsen. Integrating Communication Protocol Selection with Hardware/Software Codesign. IEEE Trans. Computer-Aided Design, vol. 18,no. 9, pp. 1077-1095, Aug. 1999.
Lee, S., and T. Sakurai. Run-Time Voltage Hopping for Low-Power Real-Time Systems. In Proc. IEEE 37th Design Automation Conf. (DA000), 2000, pp. 806-809.
Li, Y.-T. S., S. Malik, and A. Wolfe. Performance Estimation of Embedded Software with Instruction Cache Modeling. In Proc. IEEE/ACM Int. Conf. Computer-Aided Design (ICCAD-95), November 1995, pp. 380-387.
Luo, J., and N. K. Jha. Power-Conscious Joint Scheduling of Periodic Task Graphs and Aperiodic Tasks in Distributed Real-Time Embedded Systems. In Proc. IEEE/ACM Int. Conf. Computer-Aided Design (ICCAD-00), Nov. 2000, pp. 357-364.
Luo, J., and N. K. Jha. Battery-Aware Static Scheduling for Distributed Real-Time Embedded Systems. In Proc. IEEE 38th Design Automation Conf. (DAC01), 2001, pp. 444-449.
Michalewicz, Z. Genetic Algorithms + Data Structures = Evolution Programs. Springer Verlag, 1996.
Pering, T., T. D. Burd, and R. B. Brodersen. The Simulation and Evaluation for Dynamic Voltage Scaling Algorithms. In Proc. Int. Symp. Low Power Electronics and Design (ISLPED'98), August 1998, pp. 76-81.
Pinedo, M. Scheduling: Theory, Algorithms and Systems. Prentice Hall, 1995.
Prakash, S., and A. Parker. SOS:Synthesis of Application-Specific Heterogeneous Multiprocessor Systems. J. Parallel & Distributed Computing, Dec. 1992, pp. 338-351.
Schmitz, M. T., and B. M. Al-Hashimi. Considering Power Variations of DVS Processing Elements for Energy Minimisation in Distributed Systems. In Proc. Int. Symp. System Synthesis (ISSS'01), October 2001, pp. 250-255.
Schmitz, M. T., B. M. Al-Hashimi, and P. Eles. Co-Synthesis with Energy Minimisation for Heterogeneous Distributed Systems containing Power Managed Processing Elements. Technical Report UOSTR-MTSO1, University of Southampton, UK, Department of Electronics and Computer Science, September 2001.
Schmitz, M. T., B. M. Al-Hashimi, and P. Eles. Energy-Efficient Mapping and Scheduling for DVS Enabled Distributed Embedded Systems. In Proc. Design, Automation and Test in Europe Conf. (DATE2002), March 2002.
Shin, Y., and K. Choi. Power Conscious Fixed Priority Scheduling for Hard Real-Time Systems. In Proc. IEEE 36th Design Automation Conf. (DAC99), 1999, pp. 134-139.
Sib, G. C., and E. A. Lee. A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures. IEEE Trans. Parallel and Distributed Systems, vol. 4,no. 2, pp. 175-187, February 1993.
Tiwari, V., S. Malik, and A. Wolfe. Power Analysis of Embedded Software: A First Step Towards Software Power Minimization. IEEE Trans. VLSI Systems, Dec. 1994.
Weiser, M., B. Welch, A. Demers, and S. Shenker. Scheduling for Reduced CPU Energy. In Proc. USENIX Symposium on Operating Systems Design and Implementation (OSDI), 1994, pp. 13-23.
Wolf, W. H., An Architectural Co-Synthesis Algorithm for Distributed, Embedded Computing Systems. IEEE Trans. VLSI Systems, vol. 5,no. 2, pp. 218-229, June 1997.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Schmitz, M.T., Al-Hashimi, B.M. & Eles, P. Synthesizing Energy-Efficient Embedded Systems with LOPOCOS. Design Automation for Embedded Systems 6, 401–424 (2002). https://doi.org/10.1023/A:1016511712014
Issue Date:
DOI: https://doi.org/10.1023/A:1016511712014