Multi-objective hardware-software partitioning of embedded systems: A case study of JPEG encoder

Embedded systems have become integral parts of today's technology-based life, starting from various home appliances to satellites. Such a wide range of applications encourages for their economic design using optimization-based tools. The JPEG encoder is an embedded system, which is applied for obtaining high quality output from continuous-tone images. It has emerged in recent years as a problem of optimum partitioning of its various processes into hardware and software components. Realizing pairing and conflicting nature among its various cost terms, for the first time the JPEG encoder is formulated and partitioned here as a multi-objective optimization problem. A multi-objective binary-coded genetic algorithm is proposed for this purpose, whose effectiveness is demonstrated through the application to a real case study and a number of large-size hypothetical instances.

[1]  Frank Vahid,et al.  Hardware/software partitioning of software binaries: a case study of H.264 decode , 2005, 2005 Third IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS'05).

[2]  M. F. Fuller,et al.  Practical Nonparametric Statistics; Nonparametric Statistical Inference , 1973 .

[3]  José Ignacio Hidalgo,et al.  Functional partitioning for hardware-software codesign using genetic algorithms , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[4]  Wen-Hsiung Chen,et al.  A Fast Computational Algorithm for the Discrete Cosine Transform , 1977, IEEE Trans. Commun..

[5]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[6]  Frank Vahid Partitioning sequential programs for CAD using a three-step approach , 2002, TODE.

[7]  M. C. Bhuvaneswari,et al.  Hardware/Software Partitioning for Embedded Systems , 2015 .

[8]  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..

[9]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[10]  Shijue Zheng,et al.  The Application of Genetic Algorithm in Embedded System Hardware-software Partitioning , 2009, 2009 International Conference on Electronic Computer Technology.

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

[12]  Ahmed Amine Jerraya,et al.  Hardware, software and mechanical cosimulation for automotive applications , 1998, Proceedings. Ninth International Workshop on Rapid System Prototyping (Cat. No.98TB100237).

[13]  Wu Jigang,et al.  Efficient Algorithms for Hardware/Software Partitioning to Minimize Hardware Area , 2006, APCCAS 2006 - 2006 IEEE Asia Pacific Conference on Circuits and Systems.

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

[15]  Gregory K. Wallace,et al.  The JPEG still picture compression standard , 1992 .

[16]  Gregory Ray Goslin,et al.  Guide to using field programmable gate arrays (FPGAs) for application-specific digital signal processing performance , 1996, Other Conferences.

[17]  Jinpyo Hong,et al.  Memory optimization techniques for embedded systems , 2002 .

[18]  Jörg Henkel,et al.  An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation techniques , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[19]  Rong-Guey Chang,et al.  Efficient Hardware/Software Partitioning Approach for Embedded Multiprocessor Systems , 2006, 2006 International Symposium on VLSI Design, Automation and Test.

[20]  Anne Elisabeth Haxthausen,et al.  LYCOS: the Lyngby Co-Synthesis System , 1997, Des. Autom. Embed. Syst..

[21]  José Rui Figueira,et al.  Some convergence-based M-ary cardinal metrics for comparing performances of multi-objective optimizers , 2012, Comput. Oper. Res..

[22]  Ranga Vemuri,et al.  Hardware software partitioning with integrated hardware design space exploration , 1998, Proceedings Design, Automation and Test in Europe.

[23]  José Rui Figueira,et al.  Graph partitioning by multi-objective real-valued metaheuristics: A comparative study , 2011, Appl. Soft Comput..

[24]  Kalyanmoy Deb,et al.  Multi-objective optimization using evolutionary algorithms , 2001, Wiley-Interscience series in systems and optimization.

[25]  J. R. Armstrong,et al.  2 Model and Synthesis Directed Task Assignment for Systems On A Chip , 2002 .

[26]  W. J. Conover,et al.  Practical Nonparametric Statistics , 1972 .

[27]  Amit Konar,et al.  Hardware Software Partitioning Problem in Embedded System Design Using Particle Swarm Optimization Algorithm , 2008, 2008 International Conference on Complex, Intelligent and Software Intensive Systems.

[28]  Jan Madsen,et al.  Hardware resource allocation for hardware/software partitioning in the LYCOS system , 1998, Proceedings Design, Automation and Test in Europe.

[29]  Yang-Hsin Fan,et al.  Enhancement of Hardware-Software Partition for Embedded Multiprocessor FPGA Systems , 2007 .

[30]  D L Mann,et al.  Introductory Statistics , 1991 .

[31]  Atef Allam,et al.  Power and memory optimization techniques in embedded systems design , 2005 .

[32]  Petru Eles,et al.  Hardware/software partitioning of VHDL system specifications , 1996, Proceedings EURO-DAC '96. European Design Automation Conference with EURO-VHDL '96 and Exhibition.

[33]  Jan Madsen,et al.  PACE: a dynamic programming algorithm for hardware/software partitioning , 1996, Proceedings of 4th International Workshop on Hardware/Software Co-Design. Codes/CASHE '96.

[34]  Mohamed B. Abdelhalim,et al.  Particle Swarm Optimization for HW/SW Partitioning , 2009 .

[35]  Daniel Esteve,et al.  Hardware/software co-design of an avionics communication protocol interface system: an industrial case study , 1999, Proceedings of the Seventh International Workshop on Hardware/Software Codesign (CODES'99) (IEEE Cat. No.99TH8450).

[36]  Peter Milligan,et al.  New Frontiers of Information Technology , 1997 .

[37]  Edward A. Lee,et al.  The Extended Partitioning Problem: Hardware/Software Mapping, Scheduling, and Implementation-bin Selection , 1997, Des. Autom. Embed. Syst..

[38]  Juan Carlos López,et al.  On the hardware-software partitioning problem: System modeling and partitioning techniques , 2003, TODE.

[39]  P. Arato,et al.  Hardware-software partitioning in embedded system design , 2003, IEEE International Symposium on Intelligent Signal Processing, 2003.