Synthesizing Energy-Efficient Embedded Systems with LOPOCOS

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.

[1]  Michael de la Maza,et al.  Book review: Genetic Algorithms + Data Structures = Evolution Programs by Zbigniew Michalewicz (Springer-Verlag, 1992) , 1993 .

[2]  Thomas D. Burd,et al.  The simulation and evaluation of dynamic voltage scaling algorithms , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[3]  T. Sakurai,et al.  Run-time voltage hopping for low-power real-time systems , 2000, Proceedings 37th Design Automation Conference.

[4]  Michael Pinedo,et al.  Scheduling: Theory, Algorithms, and Systems , 1994 .

[5]  Petru Eles,et al.  Scheduling with bus access optimization for distributed embedded systems , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[6]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[7]  Petru Eles,et al.  Energy-efficient mapping and scheduling for DVS enabled distributed embedded systems , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[8]  Sharad Malik,et al.  Performance estimation of embedded software with instruction cache modeling , 1999, TODE.

[9]  Edward A. Lee,et al.  A global criticality/local phase driven algorithm for the constrained hardware/software partitioning problem , 1994, CODES.

[10]  Jan Madsen,et al.  Integrating communication protocol selection with hardware/software codesign , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  Zbigniew Michalewicz,et al.  Genetic Algorithms + Data Structures = Evolution Programs , 1992, Artificial Intelligence.

[12]  Scott Shenker,et al.  Scheduling for reduced CPU energy , 1994, OSDI '94.

[13]  Luca Benini,et al.  Symbolic synthesis of clock-gating logic for power optimization of synchronous controllers , 1999, TODE.

[14]  Niraj K. Jha,et al.  MOGAC: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Petru Eles,et al.  Co-Synthesis with Energy Minimisation for Heterogeneous Distributed Systems containing Power Managed Processing Elements , 2001 .

[16]  Miodrag Potkonjak,et al.  Power optimization of variable-voltage core-based systems , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[17]  D. E. Goldberg,et al.  Genetic Algorithms in Search, Optimization & Machine Learning , 1989 .

[18]  Krzysztof Kuchcinski,et al.  LEneS: task scheduling for low-energy systems using variable supply voltage processors , 2001, ASP-DAC '01.

[19]  Sharad Malik,et al.  Power analysis of embedded software: a first step towards software power minimization , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[20]  Bashir M. Al-Hashimi,et al.  Considering power variations of DVS processing elements for energy minimisation in distributed systems , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[21]  Alice C. Parker,et al.  SOS: Synthesis of application-specific heterogeneous multiprocessor systems , 2001, J. Parallel Distributed Comput..

[22]  Jürgen Teich,et al.  Hybrid global/local search strategies for dynamic voltage scaling in embedded multiprocessors , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[23]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[24]  Donatella Sciuto,et al.  Energy estimation for 32-bit microprocessors , 2000, CODES '00.

[25]  Jörg Henkel,et al.  Hardware-software cosynthesis for microcontrollers , 1993, IEEE Design & Test of Computers.

[26]  Robert H. Storer,et al.  SHEMUS: synthesis of heterogeneous multiprocessor systems , 1995, Microprocess. Microsystems.

[27]  Niraj K. Jha,et al.  Power-conscious joint scheduling of periodic task graphs and aperiodic tasks in distributed real-time embedded systems , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[28]  Marilyn Wolf,et al.  An architectural co-synthesis algorithm for distributed, embedded computing systems , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[29]  R.W. Brodersen,et al.  A dynamic voltage scaled microprocessor system , 2000, IEEE Journal of Solid-State Circuits.

[30]  Wayne H. Wolf,et al.  Process Partitioning for Distributed Embedded Systems , 1996, CODES.

[31]  Youngsoo Shin,et al.  Power conscious fixed priority scheduling for hard real-time systems , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[32]  Niraj K. Jha,et al.  Battery-aware static scheduling for distributed real-time embedded systems , 2001, DAC '01.

[33]  Hiroto Yasuura,et al.  Voltage scheduling problem for dynamically variable voltage processors , 1998, Proceedings. 1998 International Symposium on Low Power Electronics and Design (IEEE Cat. No.98TH8379).

[34]  Niraj K. Jha,et al.  COSYN: hardware-software co-synthesis of embedded systems , 1997, DAC.

[35]  Niraj K. Jha,et al.  MOCSYN: multiobjective core-based single-chip system synthesis , 1999, DATE '99.

[36]  Wayne H. Wolf,et al.  TGFF: task graphs for free , 1998, Proceedings of the Sixth International Workshop on Hardware/Software Codesign. (CODES/CASHE'98).

[37]  Martin Grajcar Genetic list scheduling algorithm for scheduling and allocation on a loosely coupled heterogeneous multiprocessor system , 1999, DAC '99.

[38]  D. Kirovski,et al.  System-level Synthesis Of Low-power Hard Real-time Systems , 1997, Proceedings of the 34th Design Automation Conference.

[39]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..