skip to main content
announcement
Public Access

Automatic Parallelization of Multirate Block Diagrams of Control Systems on Multicore Platforms

Published:13 October 2016Publication History
Skip Abstract Section

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.

References

  1. Karl J. Åström and Björn Wittenmark. 1997. Computer-controlled Systems (3rd ed.). Prentice-Hall, Inc., Upper Saddle River, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Tobias Achterberg. 2009. SCIP: Solving constraint integer programs. Mathematical Programming Computation 1, 1, 1--41.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. AUTOSAR. 2015. AUTOSAR Specification.Retrieved September 7, 2016 from http://www.autosar.org.Google ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. Girish Rao Bulusu. 2014. Asymmetric Multiprocessing Real Time Operating System on Multicore Platforms. Master’s thesis. Arizona State University, Tempe, AZ.Google ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. CAST. 2014. Position Paper CAST-32 Multi-core Processors. Technical Report. Federal Aviation Administration.Google ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarCross RefCross Ref
  14. 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 ScholarGoogle Scholar
  15. Robert I. Davis and Alan Burns. 2011. A survey of hard real-time scheduling for multiprocessor systems. ACM Computing Surveys 43, 4, 35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. EASA. 2012. EASA/2011/6 Final Report. Technical Report. European Aviation Safety Agency.Google ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarCross RefCross Ref
  19. 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 ScholarGoogle ScholarCross RefCross Ref
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle Scholar
  23. Ronald L. Graham. 1969. Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics 17, 2, 416--429.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarCross RefCross Ref
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarCross RefCross Ref
  29. 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 ScholarGoogle Scholar
  30. Edward Ashford Lee and Sanjit Arunkumar Seshia. 2015. Introduction to Embedded Systems - A Cyber-Physical Systems Approach (2nd ed). LeeSeshia.org.Google ScholarGoogle Scholar
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarCross RefCross Ref
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automatic Parallelization of Multirate Block Diagrams of Control Systems on Multicore Platforms

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!