Abstract
This article addresses the problem of parallelizing model block diagrams for real-time embedded applications on multicore architectures. We describe a Mixed Integer Linear Programming formulation for finding a feasible mapping of the blocks to different CPU cores. For single-rate models, we use an objective function that minimizes the overall worst-case execution time. We introduce a set of heuristics to solve the problem for large models in a reasonable time. For multirate models, we solve the feasibility problem for finding a valid mapping. We study the scalability and efficiency of our approach with synthetic benchmarks and an engine controller from Toyota.
- Karl J. Åström and Björn Wittenmark. 1997. Computer-controlled Systems (3rd ed.). Prentice-Hall, Inc., Upper Saddle River, NJ. Google Scholar
Digital Library
- Tobias Achterberg. 2009. SCIP: Solving constraint integer programs. Mathematical Programming Computation 1, 1, 1--41.Google Scholar
- Ahmad Al Sheikh, Olivier Brun, Pierre-Emmanuel Hladik, and Balakrishna J. Prabhu. 2012. Strictly periodic scheduling in IMA-based architectures. Real-Time Systems 48, 4, 359--386. Google Scholar
Digital Library
- AUTOSAR. 2015. AUTOSAR Specification.Retrieved September 7, 2016 from http://www.autosar.org.Google Scholar
- Sanjoy Baruah. 2015. The federated scheduling of systems of conditional sporadic DAG tasks. In Proceedings of the 12th International Conference on Embedded Software (EMSOFT’15). IEEE Press, Piscataway, NJ, 1--10. http://dl.acm.org/citation.cfm?id=2830865.2830866 Google Scholar
Digital Library
- Armin Bender. 1996. Design of an optimal loosely coupled heterogeneous multiprocessor system. In European Design and Test Conference (ED8TC’96). Proceedings. IEEE, 275--281. Google Scholar
Digital Library
- Girish Rao Bulusu. 2014. Asymmetric Multiprocessing Real Time Operating System on Multicore Platforms. Master’s thesis. Arizona State University, Tempe, AZ.Google Scholar
- Arquimedes Canedo, Takeo Yoshizawa, and Hideaki Komatsu. 2010. Automatic parallelization of Simulink applications. In Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization. ACM, 151--159. Google Scholar
Digital Library
- Paul Caspi, Norman Scaife, Christos Sofronis, and Stavros Tripakis. 2008. Semantics-preserving multitask implementation of synchronous programs. ACM Transactions on Embedded Computing Systems 7, 2, 15. Google Scholar
Digital Library
- CAST. 2014. Position Paper CAST-32 Multi-core Processors. Technical Report. Federal Aviation Administration.Google Scholar
- Minji Cha, Kyong Hoon Kim, Chung Jae Lee, Dojun Ha, and Byoung Soo Kim. 2011. Deriving high-performance real-time multicore systems based on Simulink applications. In IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing (DASC’11). IEEE, 267--274. Google Scholar
Digital Library
- Jing Chen and Alan Burns. 1997. A three-slot asynchronous reader/writer mechanism for multiprocessor real-time systems. Report-University of York Department of Computer Science YCS.Google Scholar
- Scott Cotton, Oded Maler, Julien Legriel, and Selma Saidi. 2011. Multi-criteria optimization for mapping programs to multi-processors. In 6th IEEE International Symposium on Industrial Embedded Systems (SIES). IEEE, 9--17.Google Scholar
Cross Ref
- Jonathan Currie and David I. Wilson. 2012. OPTI: Lowering the barrier between open source optimizers and the industrial MATLAB user. Foundations of Computer-aided Process Operations. 8--11.Google Scholar
- Robert I. Davis and Alan Burns. 2011. A survey of hard real-time scheduling for multiprocessor systems. ACM Computing Surveys 43, 4, 35. Google Scholar
Digital Library
- Peng Deng, Fabio Cremona, Qi Zhu, Marco Di Natale, and Haibo Zeng. 2015. A model-based synthesis flow for automotive CPS. In Proceedings of the ACM/IEEE 6th International Conference on Cyber-Physical Systems. ACM, 198--207. Google Scholar
Digital Library
- EASA. 2012. EASA/2011/6 Final Report. Technical Report. European Aviation Safety Agency.Google Scholar
- Johan Eker, Jörn W. Janneck, Edward Lee, Jie Liu, Xiaojun Liu, Jozsef Ludvig, Stephen Neuendorffer, Sonia Sachs, Yuhong Xiong, and others. 2003. Taming heterogeneity-the Ptolemy approach. Proceedings of IEEE 91, 1, 127--144.Google Scholar
Cross Ref
- Ahmed Elhossini, John Huissman, Basil Debowski, Shawki Areibi, and Robert Dony. 2010. An efficient scheduling methodology for heterogeneous multi-core processor systems. In International Conference on Microelectronics (ICM’10). IEEE, 475--478.Google Scholar
Cross Ref
- Juraj Feljan and Jan Carlson. 2014. Task allocation optimization for multicore embedded systems. In 40th EUROMICRO Conference on Software Engineering and Advanced Applications. IEEE, 237--244. Google Scholar
Digital Library
- Julien Forget, Frédéric Boniol, David Lesens, and Claire Pagetti. 2010. A real-time architecture design language for multi-rate embedded control systems. In 25th ACM Symposium on Applied Computing. Sierre, Switzerland, 527--534. Retrieved September 7, 2016 from https://hal.archives-ouvertes.fr/hal-00688490 Google Scholar
Digital Library
- Raul Gorcitz, Emilien Kofman, Thomas Carle, Dumitru Potop-Butucaru, and Robert De Simone. 2015. On the scalability of constraint solving for static/off-line real-time scheduling. In Formal Modeling and Analysis of Timed Systems. Springer, 108--123.Google Scholar
- Ronald L. Graham. 1969. Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics 17, 2, 416--429.Google Scholar
Digital Library
- Frederik Gwinner. 2011. Transitive reduction of a DAG v1.2. (2011). Retrieved September 7, 2016 from http://www.mathworks.com/matlabcentral/fileexchange/32723-transitive-reduction-of-a-dag.Google Scholar
- Pierre-Emmanuel Hladik, Hadrien Cambazard, Anne-Marie Déplanche, and Narendra Jussien. 2008. Solving a real-time allocation problem with constraint programming. Journal of Systems and Software 81, 1, 132--149. Google Scholar
Digital Library
- Meng Huang, Hidemoto Nakada, Srinivas Polavarapu, Richard Choroszucha, Ken Butts, and Ilya Kolmanovsky. 2013. Towards combining nonlinear and predictive control of diesel engines. In American Control Conference (ACC’13). IEEE, 2846--2853.Google Scholar
Cross Ref
- BaekGyu Kim, Linh TX Phan, Oleg Sokolsky, and Lnsup Lee. 2013. Platform-dependent code generation for embedded real-time software. In International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES’13). IEEE, 1--10. Google Scholar
Digital Library
- Raimund Kirner, Roland Lang, Peter Puschner, and Christopher Temple. 2000. Integrating WCET analysis into a MATLAB/Simulink simulation model. In Proceedings of the 16th IFAC Workshop on Distributed Computer Control Systems. 79--84.Google Scholar
Cross Ref
- Takahiro Kumura, Yuichi Nakamura, Nagisa Ishiura, Yoshinori Takeuchi, and Masaharu Imai. 2012. Model based parallelization from the Simulink models and their sequential C code. In Proceedings of the 17th Workshop on Synthesis and System Integration of Mixed Information Technologies (SASIMI’12). 186--191.Google Scholar
- Edward Ashford Lee and Sanjit Arunkumar Seshia. 2015. Introduction to Embedded Systems - A Cyber-Physical Systems Approach (2nd ed). LeeSeshia.org.Google Scholar
- Haeseung Lee, Weijia Che, and Karam Chatha. 2012. Dynamic scheduling of stream programs on embedded multi-core processors. In Proceedings of the 8th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis. ACM, 93--102. Google Scholar
Digital Library
- Roberto Lublinerman, Christian Szegedy, and Stavros Tripakis. 2009. Modular code generation from synchronous block diagrams: Modularity vs. code size. SIGPLAN Not. 44, 1, 78--89. Google Scholar
Digital Library
- Roberto Lublinerman and Stavros Tripakis. 2008. Modular code generation from triggered and timed block diagrams. In Real-Time and Embedded Technology and Applications Symposium. IEEE, 147--158. Google Scholar
Digital Library
- Chris Ostler and Karam S. Chatha. 2007. An ILP formulation for system-level application mapping on network processor architectures. In Proceedings of the Conference on Design, Automation and Test in Europe. EDA Consortium, 99--104. Google Scholar
Digital Library
- Claire Pagetti, David Saussié, Romain Gratia, Eric Noulard, and Pierre Siron. 2014. The ROSACE case study: From Simulink specification to multi/many-core execution. In IEEE 20th Real-Time and Embedded Technology and Applications Symposium (RTAS’14). IEEE, 309--318.Google Scholar
Cross Ref
- Wolfgang Puffitsch, Eric Noulard, and Claire Pagetti. 2015. Off-line mapping of multi-rate dependent task sets to many-core platforms. Real-Time Systems 51, 5, 526--565. Google Scholar
Digital Library
- Pranav Tendulkar, Peter Poplavko, Ioannis Galanommatis, and Oded Maler. 2014. Many-core scheduling of data parallel applications using SMT solvers. In 17th Euromicro Conference on Digital System Design (DSD). IEEE, 615--622. Google Scholar
Digital Library
- Lothar Thiele and Pratyush Kumar. 2015. Can real-time systems be chaotic?. In Proceedings of the 12th International Conference on Embedded Software. IEEE Press, 21--30. Google Scholar
Digital Library
- Cumhur Erkan Tuncali, Georgios Fainekos, and Yann-Hang Lee. 2015. Automatic parallelization of Simulink models for multi-core architectures. In IEEE 12th International Conference on Embedded Software and Systems (ICESS). IEEE, 964--971. Google Scholar
Digital Library
- Dan Umeda, Takahiro Suzuki, Hiroki Mikami, Keiji Kimura, and Hironori Kasahara. 2015. Multigrain parallelization for model-based design applications using the OSCAR compiler. In Proceedings of the 28th International Workshop on Languages and Compilers for Parallel Computing. 151--165. Google Scholar
Digital Library
- Ying Yi, Wei Han, Xin Zhao, Ahmet T. Erdogan, and Tughrul Arslan. 2009. An ILP formulation for task mapping and scheduling on multi-core architectures. In Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’09). IEEE, 33--38. Google Scholar
Digital Library
Index Terms
Automatic Parallelization of Multirate Block Diagrams of Control Systems on Multicore Platforms
Recommendations
Automatic Parallelization of Simulink Models for Multi-core Architectures
HPCC-CSS-ICESS '15: Proceedings of the 2015 IEEE 17th International Conference on High Performance Computing and Communications, 2015 IEEE 7th International Symposium on Cyberspace Safety and Security, and 2015 IEEE 12th International Conf on Embedded Software and SystemsThis paper addresses the problem of parallelizing existing single-rate Simulink models for embedded control applications on multi-core architectures considering communication cost between blocks on different CPU cores. Utilizing the block diagram of the ...
Improving the performance of standard solvers for quadratic 0-1 programs by a tight convex reformulation: The QCR method
Let (QP) be a 0-1 quadratic program which consists in minimizing a quadratic function subject to linear equality constraints. In this paper, we present QCR, a general method to reformulate (QP) into an equivalent 0-1 program with a convex quadratic ...
Exact solution approaches for order acceptance and scheduling decisions in m-machine open shops
AbstractThis paper considers an order acceptance and scheduling (OAS) problem in open shops with m-machines and the objective of maximizing the total net revenue, which is defined as the difference between the sum of revenues and the total ...
Highlights- First work on order acceptance and m-machine open shop scheduling decisions.
- ...






Comments