Sei sulla pagina 1di 31


introduce the basic concept of genetic algorithm present one of its applications, namely hardware-software partitioning of embedded systems



i ics the r cess f at ral ev l ti st ti izati a

It is se f r fi i g s l ti search r ble s

It ge erates s l ti s t r ble s b at ral ev l ti tech iq es fr hese tech iq es i cl e i herita ce, selecti a cr ss ver

si g

tati ,

Opti izati pr ble s eal with large s l ti s calle as population

Each solution can be a string of 0s and 1s or any other encoding Such strings are called chromosomes Performance of each string evaluated based on fitness function The best fit strings are selected for further manipulation for a better population


Creation of a population of strings Evaluation of each string Selection of the best string Genetic manipulation to create new population of strings

Initi liz ti n: Individual solutions selected for initial population Selecti n: Proportion of existing selected based on fitness function



Repr ucti n: Creates better population from selected samples. It includes cr ss ver and ut ti n Ter inati n: Generating process repeated until any of the termination conditions given below is reached
 A solution is

found that satisfies minimum criteria  Fixed number of generations reached  Allocated budget reached  The highest ranking solution's fitness has reached  Manual inspection  Combinations of the above

Embedded processors have size and power constraints So embedded processors generall rel on si ple algorit s that use less powerful processors Genetic algorit s are si ple to construct and do not require mass storage Used in decision making on a large amount of sensor data and such optimization problems

Processor and operating system Memory Power

Embedded system collection of hardware and software Separate design can improve performance of hardware or software But system performance is not optimized Concurrent design of both units with cooperation between designers is best suited Hardware-software improve quality co-design can effectively


Co-design involves partitioning, co-synthesis, coverification and co-simulation of h/w and s/w A balance of hardware and software is chosen for a particular specification Optimized distribution of functions to h/w and s/w required GAs can be very successful in solving this optimization problem

Initial co design models did not involve the integrated modeling substrate(IMS) It caused serious problems with h/w-s/w interface implementation and integration IMS allows incremental throughout the design process review

Hardware gets specified without knowing computational requirement of software Software development does not follow changes made to hardware Costly modifications will be required Results in schedule slippage

Unified unbiased h/w-s/w representation

 Supports  Permits  Allows

uniform design for h/w and s/w

system evaluation easy migration of tasks between h/w and


Iterative partitioning techniques

 Allows  Helps

different designs to be evaluated

in determining best implementation

 Integrated Modeling Substrate


evaluation at several stages of design process Supports stepwise development and integration of h/w and s/w
 Validation methodology


that implemented systems meets initial requirements

Individuals: Solutions of optimization problems are represented by bit vectors called individuals Population: individuals Collection of all possible

Initial Population: Consists mainly of randomly generated individuals, guarantees diversity of population


Function: Used to minimize overall cost removing invalid individuals Includes mutation, recombination and selection

 Genetic Operations:


Criteria: GA terminates after a number of steps depending upon the cost value

A. Optimization model: Model is presented as F= (si, ti) si-implementation cost of ith func: block ti-input-output cost of the same block Also si IiHS where IiHS = IiHU IiS IiH set of possible h/w implementation IiS set of possible s/w implementation

B. Fitness value function

The cost cum performance ratio shown above is used as fitness function for evaluating each block

Data encoding and fitness evaluation: {0,1} binary string is taken as variable value; 0 for s/w and 1 for h/w implementation Implementation scheme for system B=b1b2b3bm where bi can be 0 or 1 is

Selection operator: Excellent implementations are selected for creating more better ones

Selection probabilities computed by the relation

Process is terminated when optimum fitness solution is obtained

Genetic Algorithms are powerful and flexible GAs perform environment well in parallel processing

Requires less resources, so well suited for embedded systems

Hardware-Software co-design allows concurrent design of both h/w and s/w Thus it reduces performance design cost and improves

Genetic Algorithm inspired from the theory of biological evolution is used here This algorithm is well suited for optimizing the functionality between h/w and s/w

[1] Shijue Zheng,Yan Zhang and Tingting He ,The Application of Genetic Algorithm in Embedded System Hardware-software Partitioning, IEEE International Conference on Electronic Computer Technology, pp-219-223, 2009 [2] Ralf Niemann, Hardware software partitioning for data-flow dominated system,3rd ed., Chap 15, Springer International Edition,2009. [3] GUO Xiao-Dong, LIU Ji-Ren, WEN Hui, A Method for Hardware/Software Partitioning Using Genetic Algorithm, Journal of Computer Aided Design & Computer Graphics 2001, pp.24-27. [4] GR Harik, FG Lobo, and DE Goldberg. The compact genetic algorithm. IEEE Transactions on Evolutionary Computation, 3(4):287297, 1999. [5] Genetic Algorithms in Autonomous Embedded Systems. University of Virginia Technical Report CS-2009-08, Chris Gregg, ECE 687: Embedded Systems Spring 2009

[6] J.Harkin, T.M. McGinnity, L.P. Maguire, Genetic algorithm driven hardware-software partition for dynamically reconfigurable embedded systems, Microprocessors and Microsystems, 2001, pp.263-274. [7] Theerayod Wiangtong, Peter Y.K. Cheung, and Wayne Luk, Hardware/Software Co design systematic approach targeting dataintensive applications. IEEE signal processing magazine, pp-1422, May 2005. [8] R. P. Dick and N. K. Jha. MOGAC: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 17(10):920935, October 1998. [9] A. Kalavade and E.A. Lee, A hardware/software codesign methodology for DSP applications, IEEE Des. Test Comput., vol. 10, no. 3, pp. 1628, Sept. 1993. [10] M. Gen and R. Cheng, Genetic Algorithms and Engineering Design, John Wiley & Sons, Inc., New York, NY, 1997.