Model-Based Parallelizer for Embedded Control Systems on Single-ISA Heterogeneous Multicore
This paper presents a model-based parallelization approach to parallelize embedded systems on single-ISA heterogeneous multicore processors, especially processors with the ARM big.LITTLE architecture, wherein the core assignment of the Simulink blocks is determined based on the control design constraints and characteristics of the big.LITTLE architecture. The proposed approach uses a hierarchical clustering method on Simulink blocks to reduce the problem scale, and an integer linear programming (ILP) formulation to determine the core assignment solution, considering load balancing and minimization of inter-core communication across cores with different performances. Finally, we generate the parallel code of the model based on the core assignment solution for execution on the processors. We evaluate the proposed approach by comparing it with existing methods and generating the parallel code on a single-board computer with the big.LITTLE architecture to determine its effectiveness.
MathWorks, Inc. "Simulation and Model-Based Design."https://jp.mathworks.com/products/simulink.
Kumar, Rakesh, et al. "Single-ISA heterogeneous multi-core architectures: The potential for processor power reduction." Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society, 2003.
Chung, Hongsuk, Munsik Kang, and Hyun-Duk Cho. "Heterogeneous Multi-Processing Solution of Exynos 5 Octa with ARM® big. LITTLE™ Technology." Samsung White Paper (2012).
Gondo, Masaki, Fumio Arakawa, and Masato Edahiro. "Establishing a standard interface between multi-manycore and software tools-SHIM." COOL Chips XVII, 2014 IEEE. IEEE, 2014.
MathWorks, Inc."MATLAB CoderGenerate C and C++ code from MATLAB code." https://jp.mathworks.com/products/matlab-coder.html, The MathWorks, Inc, 2012.
Dan, Umeda, Youhei, Kanehagi,et al. "Automatic Parallelization of Designed Engine Control C Codes by MATLAB/Simulink. " Journal of Information Processing, Vol.55, No.8, pp 1817-1829, 2014.
Cha, Minji, et al. "Deriving high-performance real-time multicore systems based on simulink applications." Dependable, Autonomic and Secure Computing (DASC), 2011 IEEE Ninth International Conference on. IEEE, 2011.
Kumura, Takahiro, et al. "Model based parallelization from the simulink models and their sequential C code." Proceedings of the 17th Workshop on Synthesis And System Integration of Mixed Information Technologies (SASIMI 2012). 2012.
Höttger, Robert, Lukas Krawczyk, and BurkhardIgel. "Model-based automotive partitioning and mapping for embedded multicore systems." International Conference on Parallel, Distributed Systems and Software Engineering. Vol. 2. No. 1. 2015.
Yi, Ying, et al. "An ILP formulation for task mapping and scheduling on multi-core architectures." Proceedings of the conference on design, automation and test in Europe. European Design and Automation Association, 2009.
Tuncali, CumhurErkan, Georgios Fainekos, and Yann-Hang Lee. "Automatic Parallelization of Simulink Models for Multi-core Architectures." High Performance Computing and Communications (HPCC), 2015 IEEE 7th International Symposium on Cyberspace Safety and Security (CSS), 2015 IEEE 12th International Conferen on Embedded Software and Systems (ICESS), 2015 IEEE 17th International Conference on. IEEE, 2015.
Sou, Aburadani, and Masato, Edahiro. "Task Mapping Method for Hierarchical Many-core Processor Architectures." Journal of Information Processing, Vol.56, No.8, pp 1568-1581, 2015.
Edahiro, Masato, and Takeshi, Yoshimura. "New placement and global routing algorithms for standard cell layouts." Design Automation Conference, 1990. Proceedings., 27th ACM/IEEE. IEEE, 1990.
Multicore Association. "SHIM - Multicore Association." https://www.multicore-association.org/workgroup/ shim.php, 2018.
Embedded Multicore Consortium. Discussion at Embedded Multicore Consortium, 2015.
Hoare, Charles Antony Richard. "Communicating sequential processes." Communications of the ACM 21.8 (1978): 666-677.
Hardkernel. ”ODROID-XU4 User Manual.”http://www.hardkernel.com, 2017.
Franklin, D. "NVIDIA Jetson TX2 Delivers Twice the Intelligence to the Edge." NVIDIA Accelerated Computing| Parallel Forall (2017).
CPLEX, IBM ILOG. "12.7, User’s Manual for CPLEX." CPLEX division, 2016.
Karypis, George, and Vipin Kumar. "Multilevelk-way partitioning scheme for irregular graphs." Journal of Parallel and Distributed computing 48.1 (1998): 96-129.
Karypis, George. "hMETIS 1.5: A hypergraph partitioning package." http://www.cs.umn.edu/~metis, 1998.
Copyright (c) 2019 ZHAOQIAN ZHONG
This work is licensed under a Creative Commons Attribution 4.0 International License.
The author warrants that the article is original, written by stated author(s), has not been published before, contains no unlawful statements, does not infringe the rights of others, is subject to copyright that is vested exclusively in the author and free of any third party rights, and that any necessary written permissions to quote from other sources have been obtained by the author(s).