Model-Based Parallelizer for Embedded Control Systems on Single-ISA Heterogeneous Multicore
DOI:
https://doi.org/10.24297/ijct.v19i0.8123Abstract
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.
Downloads
References
MathWorks, Inc. "Simulation and Model-Based Design."https://jp.mathworks.com/products/simulink.
html, 2015.
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.