Abstract
In electronic design automation, hardware/software co-design significantly reduces the time-to-market and improves the performance of embedded systems. With the increasing scale of applications and complexity of hardware architecture of embedded systems, hardware/software co-design is still a research hotspot. As hardware/software co-design is a wide topic, this paper focuses on major developments of three important aspects related to hardware/software partitioning, which has great effects on the performance of embedded systems. Firstly, various partitioning models including hardware architectures and abstract models are surveyed. Secondly, classical and new algorithms for hardware/software partitioning are classified and analyzed. Thirdly, existing parallel algorithms for hardware/software co-design are discussed in details. Finally, possible research directions are pointed out in conclusion.
Similar content being viewed by others
References
De Michell G, Gupta RK (1997) Hardware/software co-design. Proc IEEE 5(3):349–365
Wolf W (2003) A decade of hardware/software co-design. Computer 6(4):8–43
Teich J (2012) Hardware/software co-design: the past, the present, and predicting the future. Proc IEEE 100:1411–1430
Prakash S, Parker AC (1992) Synthesis of application-specific heterogeneous multiprocessor systems. In: Proceedings of the 19th annual international symposium on computer architecture, IEEE, p 434
Gupta RK, De Micheli G (1993) Hardware–software co-synthesis for digital systems. IEEE Des Test Comput 10(3):29–41
Ernst R, Henkel J, Benner T (1993) Hardware–software co-synthesis for micro-controllers. IEEE Des Test Comput 10(4):64–75
Buck J, Ha S, Lee EA, Messerschmitt DG (1994) Ptolemy: a framework for simulating and prototyping heterogeneous systems. Int J Comput Sim 4:155–182
Li YTS, Malik S, Wolfe A (1999) Performance estimation of embedded software with instruction cache modeling. ACM Trans Des Autom Electron Syst 4(3):257–279
Thiele L, Chakraborty S, Naedele M (2000) Real-time calculus for scheduling hard real-time systems. In: Proceedings of the 2000 IEEE international symposium on Geneva, IEEE, pp. 101–104
Blickle T, Teich J, Thiele L (1998) System-level synthesis using evolutionary algorithms. Des Autom Embed Syst 3(1):23–58
Ernst R (1998) Codesign of embedded systems: status and trends. IEEE Des Test Comput 15(2):45–54
Keinertn J, Streubuhr M, Schlichter T, Falk J, Gladigau J, Haubelt C, Teich J, Meredith M (2009) SystemCoDesigner—an automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM Trans Des Autom Electron Syst 14(1):1–23
Gerstlauer A, Haubelt C, Pimentel AD, Stefanov TP, Gajski DD, Teich J (2009) Electronic system-level synthesis methodologies. IEEE Trans Comput Aid Des Int 28(10):1517–1530
Park HW, Oh H, Ha S (2009) Multiprocessor SoC design methods and tools. IEEE Signal Process Mag 26(6):72–79
Hannig F, Teich J (2001) Design space exploration for massively parallel processor arrays. In: International conference on parallel computing technologies. Springer, Berlin, pp 51–65
Erbas C, Cerav-Erbas S, Pimentel AD (2006) Multiobjective optimization and evolutionary algorithms for the application mapping problem in multiprocessor system-on-chip design. IEEE Trans Evol Comput 10(3):358–374
Deb K, Pratap A, Agarwal S, Meyarivan T (2002) A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans Evol Comput 6(2):182–197
Lukasiewycz M, Glab M, Haubelt C, Teich J (2008) Efficient symbolic multi-objective design space exploration. In: Proceedings of the 2008 Asia and South Pacific design automation conference. IEEE Computer Society Press, pp 691–696
Zebelein C, Falk J, Haubelt C, Teich J (2008) Classification of general data flow actors into known models of computation. In: Proceedings of sixth ACM and IEEE international conference on formal methods and models for co-design, IEEE, pp. 119–128
Wolff FG, Knieser MJ, Weyer DJ, Papachristou CA (1999) Using codesign techniques to support analog functionality. In: Proceedings of the seventh international workshop on Hardware/software codesign, ACM, pp. 79–84
Dubach C, Jones TM, O’Boyle MFP (2008) Exploring and predicting the architecture optimising compiler co-design space. In: Proceedings of the 2008 international conference on compilers, architectures and synthesis for embedded systems, ACM, pp. 31–40
Samii S, Cervin A, Eles P, Peng Z (2009) Integrated scheduling and synthesis of control applications on distributed embedded systems. In: Proceedings of the conference on design, automation and test in Europe. European Design and Automation Association, pp. 57–62
Engel M, Schmoll F, Heinig A, Marwedel P (2011) Unreliable yet useful-reliability annotations for data in cyber-physical systems. In: Proceedings of the workshop on software language engineering for cyber-physical systems, Berlin, Germany
Haubelt C, Koch D, Reimann F, Streichert T, Teich J (2010) ReCoNetsVDesign methodology for embedded systems consisting of small networks of reconfigurable nodes and connections. Dynamically reconfigurable systems. Springer, Dordrecht, pp 223–243
Zhang Y, Luo W, Zhang Z, Li B, Wang X (2008) A hardware/software partitioning algorithm based on artificial immune principles. Appl Soft Comput 8(1):383–391
Wu JG, Sun QQ, Srikanthan T (2012) Algorithmic aspects for multiple-choice hardware/software partitioning. Comput Oper Res 39(12):3281–3292
Sha E, Wang L, Zhuge Q, Zhang J, Liu J (2015) Power efficiency for hardware/software partitioning with time and area constraints on MPSoC. Int J Parallel Program 43(3):381–402
Ouyang A, Peng X, Liu J, Sallam A (2017) Hardware/software partitioning for heterogeneous MPSoC considering communication overhead. Int J Parallel Program 45(4):1–24
Jemai M, Ouni B (2015) Hardware software partitioning of control data flow graph on system on programmable chip. Microprocess Microsyst 39(4–5):259–270
Santos R, Venkataraman S, Kumar A (2017) Scrubbing mechanism for heterogeneous applications in reconfigurable devices. ACM Trans Des Autom Electron Syst 22(2):33
Das AK, Kumar A, Veeravalli B, Catthoor F (2018) Reliability and energy-aware co-design of multiprocessor systems. Reliable and energy efficient streaming multiprocessor systems. Springer, Cham, pp 75–101
Cardoso J, Hubner M (eds) (2011) Reconfigurable computing: from FPGAs to hardware/software co-design. Springer, Berlin
Ha S, Teich J (eds) (2017) Handbook of hardware/software co-design. Springer, Dordrecht
Zhao X, Zhang T, An X, Fan L (2018) An improved blind optimization algorithm for hardware/software partitioning and scheduling. In: International conference on sensing and imaging. Springer, Cham, pp 225–234
Ghribi I, Abdallah RB, Khalgui M, Li Z, Alnowibet K, Platzner M (2018) R-Codesign: codesign methodology for real-time reconfigurable embedded systems under energy constraints. IEEE Access 6:14078–14092
Ali AAS, Farhat A, Mohamad S, Amira A, Bensaali F, Benammar M, Bermak A (2018) Embedded platform for gas applications using hardware/software co-design and RFID. IEEE Sens J 18(11):4633–4642
Resano J, Mozos D, Catthoor F (2005) A hybrid prefetch scheduling heuristic to minimize at run-time the reconfiguration overhead of dynamically reconfigurable hardware. In: Proceedings of the conference on design, automation and test in Europe. IEEE Computer Society, pp 106–111
Jerraya AA, Wolf W (2005) Hardware/software interface co-design for embedded system. Computer 38(2):63–69
Patterson DA, Hennessy JL (2013) Computer organization and design MIPS edition: the hardware/software interface. Morgan Kaufmann, Waltham
Villarraga C, Schmidt B, Bao B, Raman R, Bartsch C, Fehmel T, Stoffel D, Kunz W (2014) Software in a hardware view: new models for HW-dependent software in SoC verification and test. In: 2014 IEEE international test conference (ITC), IEEE, pp 1–9
Purandare M (2018) Method for verifying hardware/software co-designs. U.S. Patent, No. 9,996,637
Jerraya AA, Bouchhima A, Petrot F (2006) Programming models and HW–SW interfaces abstraction for multi-processor SoC. In: Proceedings of the 43rd annual design automation conference, ACM, pp 280–285
Hut S (2015) A clustering-based MPSoC design flow for data flow-oriented applications. Ph.D. Dissertation, Friedrich-Alexander-Universitat Erlangen-Nurnberg
Rigge P, Nikolic B (2018) Designing digital signal processors with RocketChip. In: Second workshop on computer architecture research with RISC-V (CARRV 2018)
Dick RP, Jha NK (1998) MOGAC: a multi-objective genetic algorithm for hardware–software co-synthesis of distributed embedded systems. IEEE Trans Comput Aid Des Int 17(10):920–935
Erbas C, Cerav-Erbas S, Pimentel AD (2006) Multi-objective optimization and evolutionary algorithms for the application mapping problem in multiprocessor system-on-chip design. IEEE Trans Evol Comput 10(3):358–374
Govil N, Shrestha R, Chowdhury SR (2017) PGMA: an algorithmic approach for multi-objective hardware software partitioning. Microprocess Microsyst 54:83–96
Nath PK, Datta D (2014) Multi-objective hardware–software partitioning of embedded systems: a case study of JPEG encoder. Appl Soft Comput 15(2):30–41
Shi W, Wu J, Lam S, Srikanthan T (2016) Algorithms for bi-objective multiple-choice hardware/software partitioning. Comput Electr Eng 50:127–142
Henkel J, Ernst R (2001) An approach to automated hardware/software partitioning using a flexible granularity that is driven by high-level estimation techniques. IEEE Trans Very Large Scale Integr 9(2):273–289
Schaumont PR (2012) A practical introduction to hardware/software co-design. Springer, Berlin
Dick R, Rhodes D, Wolf W (1998) TGFF: task graphs for free. In: Proceedings of the 6th international workshop on Hardware/software codesign. IEEE Computer Society, pp 97–101
Jiang G, Wu J, Lam SK, Srikanthan T, Sun J (2015) Algorithmic aspects of graph reduction for hardware/software partitioning. J Supercomput 71(6):2251–2274
Madsen J, Grode J, Knudsen PV, Petersen ME, Haxthausen A (1997) LYCOS: the Lyngby co-synthesis system. Des Autom Embed Syst 2(2):195–235
Jigang W, Srikanthan T (2006) Low-complex dynamic programming algorithm for hardware/software partitioning. Inf Process Lett 98(2):41–46
Wu J, Srikanthan T, Yan C (2008) Algorithmic aspects for area-efficient hardware/software partitioning. J Supercomput 79(4):1204–1215
Wu JG, Srikanthan T, Zou GW (2008) New model and algorithm for hardware/software partitioning. J Comput Sci Technol 23(4):644–651
Wu J, Srikanthan T, Lei T (2010) Efficient heuristic algorithms for path-based hardware/software partitioning. Math Comput Model 51(7):974–984
Arat P, Juhasz S, Mann Z, Orban A, Papp D (2003) Hardware–software partitioning in embedded system design. In: 2003 IEEE international symposium on intelligent signal processing, pp 197–202
Arat P, Mann Z, Orban A (2005) Algorithmic aspects of hardware/software partitioning. ACM Trans Des Autom Electron Syst 10(1):136–156
Tahaee S, Jahangir A (2010) A polynomial algorithm for partitioning problems. ACM Trans Embed Comput Syst 9(4):34
Jiang Y, Zhang H, Jiao X, Song X, Hung WN, Gu M, Sun J (2012) Uncertain model and algorithm for hardware/software partitioning. In: 2012 IEEE computer society annual symposium on VLSI, IEEE, pp 243–248
Wang R, Hung WN, Yang G, Song X (2016) Uncertainty model for configurable hardware/software and resource partitioning. IEEE Trans Comput 66(10):3217–3223
Zuo W, Pouchet LN, Ayupov A, Kim T, Lin CW, Shiraishi S, Chen D (2017) Accurate high-level modeling and automated hardware/software co-design for effective SoC design space exploration. In: Design automation conference. ACM, p 78
Kalavade AP (1995) System-level co-design of mixed hardware–software systems. Ph.D. dissertation. University of California, Berkeley. AAI9621207
Niemann R, Marwedel P (1997) An algorithm for hardware/software partitioning using mixed integer linear programming. Des Autom Embed Syst 2(2):165–193
Banerjee S, Bozorgzadeh E, Dutt N (2006) Integrating physical constraints in HW/SW partitioning for architectures with partial dynamic reconfiguration. IEEE Trans Very Large Scale Integr 14(11):1189–1202
Ma Y, Liu J, Zhang C, Luk W (2014) HW/SW partitioning for region-based dynamic partial reconfigurable FPGAs. In: 32nd IEEE international conference on computer design, IEEE, pp 470–476
Trindade A, Cordeiro L (2016) Applying SMT-based verification to hardware/software partitioning in embedded systems. Des Autom Embed Syst 20(1):1–19
Chatha K, Vemuri R (2002) Hardware-software partitioning and pipelined scheduling of transformative applications. IEEE Trans Very Large Scale Integr 10(3):193–208
Mann Z, Orban A, Arato P (2007) Finding optimal hardware/software partitions. Form Method Syst Des 31(3):241–263
Wu J, Chang B, Srikanthan T (2009) A hybrid branch-and-bound strategy for hardware/software partitioning. In: 8th IEEE/ACIS international conference on computer and information science, IEEE, pp 641–644
Yuan M, Gu Z, He X, Liu X, Jiang L (2010) Hardware/software partitioning and pipelined scheduling on runtime reconfigurable FPGAs. ACM Trans Des Autom Electron Syst 15(2):13
Gupta PK, De Micheli G (1993) Hardware–software co-synthesis for digital systems. IEEE Des Test Comput 10(3):29–41
Kalavade A, Lee E (1997) The extended partitioning problem: hardware/software mapping, scheduling, and implementation-bin selection. Des Autom Embed Syst 2(2):125–163
Kalavade A, Subrahmanyam P (1998) Hardware/software partitioning for multi-function systems. IEEE Trans Comput Aid Des Int 17(9):819–837
Wolf W (1997) An architectural co-synthesis algorithm for distributed, embedded computing systems. IEEE Trans Very Large Scale Integr 5(2):218–229
Boussaid I, Lepagnot J, Siarry P (2013) A survey on optimization metaheuristics. Inform Sci 237(237):82–117
Zhang T, Zhao X, An X, Quan H, Lei Z (2017) Using blind optimization algorithm for hardware/software partitioning. IEEE Access 5:1353–1362
Saha D, Basu A, Mitra RS (1997) Hardware software partitioning using genetic algorithm. In: Proceedings of 10th international conference on VLSI design, IEEE, pp 155–160
Srinivasan V, Radhakrishnan S, Vemuri R (1998) Hardware software partitioning with integrated hardware design space exploration. In: Proceedings of design, automation and test in Europe, IEEE, pp 28–35
Zou Y, Zhuang Z, Chen H (2004) HW–SW partitioning based on genetic algorithm. In: 2004 IEEE congress on evolutionary computation. IEEE, pp 628–633
Eles P, Peng Z, Kuchcinski K, Doboli A (1997) System level hardware/software partitioning based on simulated annealing and tabu search. Des Autom Embed Syst 2(1):5–32
Lopez-Vallejo M, Lopez JC (2003) On the hardware–software partitioning problem: system modeling and partitioning techniques. Acm Trans Des Autom Electron Syst 8(3):269–297
Banerjee S, Dutt N (2004) Efficient search space exploration for HW–SW partitioning. In: Proceedings of the 2nd IEEE/ACM/IFIP international conference on hardware/software codesign and system synthesis. ACM, pp 122–127
Garg K, Aung YL, Lam SK, Srikanthan T (2015) KnapSim-run-time efficient hardware–software partitioning technique for FPGAs. In: 28th IEEE international conference on system-on-chip, IEEE, pp 64–69
Jemai M, Dimassi S, Ouni B, Mtibaa A (2017) A metaheuristic based on tabu search for hardware/software partitioning. Turk J Electr Eng Comput Sci 25(2):901–912
Wiangtong T, Cheung PYK, Luk W (2002) Comparing three heuristic search methods for functional partitioning in hardware–software codesign. Des Autom Embed Syst 6(4):425–449
Wu J, Srikanthan T, Jiao T (2008) Algorithmic aspects for functional partitioning and scheduling in hardware/software co-design. Des Autom Embed Syst 12(4):345
Ashraf I, Ostadzadeh SA, Meeuws R, Bertels K (2013) Evaluation methodology for data communication-aware application partitioning. In: European conference on parallel processing. Springer, Berlin, pp 739–748
Li L, Shi M (2008) Software–hardware partitioning strategy using hybrid genetic and tabu search. In: 2008 international conference on computer science and software engineering. IEEE, pp 83–86
Li G, Feng J, Wang C, Wang J (2014) Hardware/software partitioning algorithm based on the combination of genetic algorithm and tabu search. Eng Rev 34(2):151–160
Wang G, Gong W, Kastner R (2006) Application partitioning on programmable platforms using the ant colony optimization. J Embed Comput 2(1):119–136
Ferrandi F, Lanzi PL, Pilato C, Sciuto D, Tumeo A (2013) Ant colony optimization for mapping, scheduling and placing in reconfigurable systems. In: IEEE NASA/ESA conference on adaptive hardware and systems, IEEE, pp 47–54
Koudil M, Benatchba K, Tarabet A, Sahraoui EB (2007) Using artificial bees to solve partitioning and scheduling problems in co-design. Appl Math Comput 186(2):1710–1722
Abdelhalim M, Habib S (2011) An integrated high-level hardware/software partitioning methodology. Des Autom Embed Syst 15(1):19–50
Guoshuai L (2014) Improved hardware/software partitioning algorithm based on combination of PSO and TS. J Comput Inform Syst 10(14):5975–5985
Wu JG, Srikanthan T, Chen G (2010) Algorithmic aspects of hardware/software partitioning: 1D search algorithms. IEEE Trans Comput 59(4):532–544
Wu JG, Wang P, Lam SK, Srikanthan T (2013) Efficient heuristic and tabu search for hardware/software partitioning. J Supercomput 66(1):118–134
Quan H, Zhang T, Liu Q, Guo J, Wang X, Hu R (2014) Comments on algorithmic aspects of hardware/software partitioning: 1D search algorithms. IEEE Trans Comput 63(4):1055–1056
Mann Z, Orban A, Farkas A (2007) Evaluating the Kernighan–Lin heuristic for hardware/software partitioning. Int J Appl Math Comput Sci 17(2):249–267
Abdelzaher TF, Kang GS (2000) Period-based load partitioning and assignment for large real-time applications. IEEE Trans Comput 49(1):81–87
Guo B, Wang D, Shen Y, Liu Z (2006) Hardware–software partitioning of real-time operating systems using Hopfield neural networks. Neurocomputing 69(16):2379–2384
Shen H, Sun C (2011) Achieving data consistency by contextualization in web-based collaborative applications. ACM Trans Internet Technol 10(4):13
Zhu H (2015) Role-based collaboration and E-CARGO: revisiting the developments of the last decade role-based collaboration (RBC). IEEE Syst Man Cybern Mag 1(3):27–36
Alba E, Luque G, Nesmachnow S (2013) Parallel metaheuristics: recent advances and new trends. Int Trans Oper Res 20(1):1–48
Farahani A, Kamal M, Salmani-Jelodar M (2006) Parallel genetic algorithm based HW/SW partitioning. In: International symposium on parallel computing in electrical engineering, pp 337–342
Wu Y, Zhang H, Yang H (2009) Research on parallel HW/SW partitioning based on hybrid PSO algorithm. In: International conference on algorithms and architectures for parallel processing, pp 449–459
Kromer P, Platos J, Snasel V (2014) Nature-inspired meta-heuristics on modern GPUs: state of the art and brief survey of selected algorithms. Int J Parallel Program 42(5):681–709
Tan Y, Ding K (2015) A survey on GPU-based implementation of swarm intelligence algorithms. IEEE Trans Cybern 46(9):2028–2041
Zhou Y, He F, Hou N, Qiu Y (2018) Parallel ant colony optimization on multi-core SIMD CPUs. Future Gener Comput Syst 79:473–487
Gepner P, Kowalik MF (2006) Multi-core processors: new way to achieve high system performance. In: International symposium on parallel computing in electrical engineering. IEEE, pp 9–13
Fernando R (2004) GPGPU: general general-purpose purpose computation on GPUs. NVIDIA Developer Technology Group, Santa Clara
Goodnight N, Wang R, Humphreys G (2005) Computation on programmable graphics hardware. IEEE Comput Graph Appl 25(5):12–15
Manocha D (2005) General-purpose computations using graphics processors. Computer 38(8):85–88
Owens JD, Luebke D, Govindaraju N, Harris M, Kruger J, Lefohn AE, Purcell TJ (2007) A survey of general-purpose computation on graphics hardware. Comput Graph Forum 26(1):80–113
Owens JD, Houston M, Luebke D, Green S, Stone JE, Phillips JC (2008) GPU computing. Proc IEEE 96(5):879–899
Dagum L, Menon R (1998) OpenMP: an industry standard API for shared-memory programming. IEEE Comput Sci Eng 5(1):46–55
Sato M (2002) OpenMP: parallel programming API for shared memory multiprocessors and on-chip multiprocessors. In: Proceedings of the 15th international symposium on system synthesis. ACM, pp 109–111
Bordoloi UD, Chakraborty S (2010) GPU-based acceleration of system-level design tasks. Int J Parallel Program 38(3–4):225–253
Nunna S, Bordoloi UD, Chakraborty S, Eles P, Peng Z (2011) Exploiting GPU on-chip shared memory for accelerating schedulability analysis. In: International symposium on electronic system design. IEEE, pp 147–152
Yan X, He F, Chen Y (2017) A novel hardware/software partitioning method based on position disturbed particle swarm optimization with invasive weed optimization. J Comput Sci Technol 32(2):340–355
Yan XH, He FZ, Hou N, Ai H (2018) An efficient particle swarm optimization for large-scale hardware/software co-design system. Int J Coop Inf Syst 27(01):1741001
Hou N, He F, Chen Y, Zhou Y (2016) An adaptive neighborhood taboo search on GPU for hardware/software co-design. In: IEEE 2016 international conference on computer supported cooperative work in design, IEEE, pp 239–244
Hou N, He F, Zhou Y, Ai H (2017) A GPU-based tabu search for very large hardware/software partitioning with limited resource usage. J Adv Mech Des Syst Manuf 11(5):JAMDSM0060
Hou N, He F, Zhou Y, Chen Y (2019) An efficient GPU-based parallel tabu search algorithm for hardware/software co-design. Front Comput Sci 19:1–22
Hou N, He F, Zhou Y, Chen Y, Yan X (2018) A parallel genetic algorithm with dispersion correction for HW/SW partitioning on multi-core CPU and many-core GPU. IEEE Access 6:883–898
LeCun Y, Bengio Y, Hinton G (2015) Deep learning. Nature 521(7553):436
Zhang S, He F, Ren W, Yao J (2018) Joint learning of image detail and transmission map for single image dehazing. Visual Comput. https://doi.org/10.1007/s00371-018-1612-9
Kahng AB (2018) Machine learning applications in physical design: recent results and directions. In: Proceedings of the 2018 international symposium on physical design. ACM, pp 68–73
Danglade F, Pernot JP, Veron P (2014) On the use of machine learning to defeature CAD models for simulation. Comput Aid Des Appl 11(3):358–368
McMahon C (2017) Open issues in design informatics. Mach Dyn Res 41(2):141–151
Wang K, Savva M, Chang AX, Ritchie D (2018) Deep convolutional priors for indoor scene synthesis. ACM Trans Graph 37(4):70
Tanaka M, Takamiya Y, Tsubota N, Asanuma S, Iwama K (2017) Reconstruction of solid models from sketches including curves with inductive learning technique. Comput Aid Des Appl 14(5):632–641
Zhou Y, He F, Qiu Y (2016) Optimization of parallel iterated local search algorithms on graphics processing unit. J Supercomput 72(6):2394–2416
Zhou Y, He F, Qiu Y (2017) Dynamic strategy based parallel ant colony optimization on GPUs for TSP. Sci China Inf Sci 60(6):068102
Rios E, Ochi LS, Boeres C, Coelho VN, Coelho IM, Farias R (2018) Exploring parallel multi-GPU local search strategies in a metaheuristic framework. J Parallel Distrib Comput 111:39–55
Ferreiro AM, Garcia JA, Lopez-Salas JG, Vazquez C (2013) An efficient implementation of parallel simulated annealing algorithm in GPUs. J Glob Optim 57(3):863–890
Chen Z, Yeo CK, Lee BS, Lau CT, Jin Y (2018) Evolutionary multi-objective optimization based ensemble autoencoders for image outlier detection. Neurocomputing 309:192–200
Li HR, He FZ, Yan XH (2019) IBEA-SVM: an indicator-based evolutionary algorithm based on pre-selection with classification guided by SVM. Appl Math J Chin Univ Ser B 34(1):1–26
Wang H, Jin Y, Sun C, Doherty J (2018) Offline data-driven evolutionary optimization using selective surrogate ensembles. IEEE Trans Cybern. https://doi.org/10.1109/TEVC.2018.2834881
Jin Y, Wang H, Chugh T, Guo D, Miettinen K (2018) Data-driven evolutionary optimization: an overview and case studies. IEEE Trans Cybern. https://doi.org/10.1109/TEVC.2018.2869001
Wang H, Jin Y (2018) A random forest-assisted evolutionary algorithm for data-driven constrained multiobjective combinatorial optimization of trauma systems. IEEE Trans Cybern. https://doi.org/10.1109/TCYB.2018.2869674
Acknowledgements
Funding was provided by National Natural Science Foundation of China (Grant No. 61472289) and National Key Research and Development Project (Grant No. 2016YFC0106305).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Hou, N., Yan, X. & He, F. A survey on partitioning models, solution algorithms and algorithm parallelization for hardware/software co-design. Des Autom Embed Syst 23, 57–77 (2019). https://doi.org/10.1007/s10617-019-09220-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10617-019-09220-7