Abstract
The number of processors is increasing, but the usefulness of parallel computation is not better leveraged due to the inflexibility of design and implementation for multiprocessor embedded system applications. A higher level abstraction (i.e., a parallel programming framework) can ease the programmers to define parallelism for tasks in an application but designers still face the complexity of mapping high-level requirements to the syntax and semantics of a parallel programming interface. Nevertheless, embedded system applications execute various periodic tasks that are carried out repeatedly within a certain time interval and these tasks may be able to run in parallel to utilize the system efficiently. Therefore, in this paper, we propose a parallel loop-based task construct approach to automate the design process of embedded system applications from AADL models for a parallel programming framework. To illustrate the applicability of our mechanism, we use a well-known parallel programming interface called OpenMP to demonstrate the automation process in mapping tasks over multiple processor cores. To ensure meeting high-level requirements of embedded system applications, we analyze the existing OpenMP scheduling mechanisms and propose a layer of adaptation. We show that our proposed adaptation layer facilitates a tighter execution time bound for time-sensitive tasks or a better throughput for tasks that require higher quality of service. Thus, the proposed design automation framework is applicable for a variety of applications with different quality of service (QoS) requirements preserved at the lower level.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Agathos Spiros N, Dimakopoulos Vassilios V (2018) Adaptive openmp runtime system for embedded multicores. In: 2018 IEEE 16th international conference on embedded and ubiquitous computing (EUC), IEEE, pp 174–181
Akram N, Zhang Y Ali S, Amjad HM (2019) Efficient task allocation for real-time partitioned scheduling on multi-core systems. In: 2019 16th International Bhurban conference on applied sciences and technology (IBCAST), IEEE, pp 492–499
Al Maruf M, Azim A (2020) Extending resources for avoiding overloads of mixed-criticality tasks in cyber-physical systems. IET Cyber-Phys Syst Theory Appl 5(1):60–70
Ayguadé E, Blainey B, Duran A, Labarta J, Martínez F, Martorell, X, Silvera R (2003) Is the schedule clause really necessary in openmp? OpenMP Shared Memory Parallel Programming, pp 147–159
Bergan T, Anderson O, Devietti J, Ceze L, Grossman D (2010) Coredet: a compiler and runtime system for deterministic multithreaded execution. In: ACM SIGARCH Computer Architecture News, volume 38, ACM, pp 53–64
Broquedis , Diakhaté F, Thibault S, Aumage O, Namyst R, Wacrenier P-A (2008) Scheduling dynamic openmp applications over multicore architectures. In: International Workshop on OpenMP, Springer, pp 170–180.
Brun M, Delatour J, Trinquet Y (2008) Code generation from aadl to a real-time operating system: An experimentation feedback on the use of model transformation. In: 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008), IEEE, pp 257–262
Ceng J, Castrillón J, Sheng W, Scharwächter H, Leupers R, Ascheid G, Meyr H, Isshiki T, Kunieda H (2008) Maps: an integrated framework for mpsoc application parallelization. In: Proceedings of the 45th annual Design Automation Conference, ACM, pp 754–759
Chapman B, Jost G, Van Der Pas R (2008) Using OpenMP: portable shared memory parallel programming, vol 10, MIT Press, USA
Ciorba Florina M, Iwainsky C, Buder P (2018) Openmp loop scheduling revisited: making a case for more schedules. In: International Workshop on OpenMP, Springer, pp 21–36
Cordes DA (2013) Automatic parallelization for embedded multi-core systems using high-level cost models. Doctoral dissertation, TU Dortmund University, Germany
Höttger R, Krawczyk L, Igel B (2015) Model-based automotive partitioning and mapping for embedded multicore systems. In: International Conference on Parallel, Distributed Systems and Software Engineering, volume 2, p 888
Hsu Fan-Hau, Shen Chung-An (2018) The design and implementation of an embedded real-time automated ic marking inspection system. IEEE Transactions on Semiconductor Manufacturing 32(1):112–120
Islam N, Azim A (2020) A situation-aware task model for adaptive real-time systems. J Ambient Intell Human Comput. https://doi.org/10.1007/s12652-020-01705-9
Johnson Richard A, Bhattacharyya Gouri K (2019) Statistics: principles and methods. Wiley, USA
Kohútka L, Stopjaková V (2018) A novel hardware-accelerated real-time task scheduler based on robust earliest deadline algorithm. In: 2018 13th International Conference on Design & Technology of Integrated Systems In Nanoscale Era (DTIS), IEEE, pp 1–2
Kumar PP, Satyanarayana C, Rao AA, Raju PR (2019) Empirical evaluation of a real-time task priority procedure on small/medium-scale multi-core systems. In: Integrated Intelligent Computing, Communication and Security, Springer, Berlin, pp 385–391
Markatos Evangelos P, LeBlanc Thomas J (1994) Using processor affinity in loop scheduling on shared-memory multiprocessors. IEEE Trans Parallel Distrib Syst 5(4):379–400
Melani A, Serrano Maria A, Bertogna M, Cerutti I, Quinones E, Buttazzo G(2017) A static scheduling approach to enable safety-critical openmp applications. In: Design Automation Conference (ASP-DAC), 2017 22nd Asia and South Pacific, IEEE, pp 659–665
Mittal A, Parkash K, Mittal H (2010) Software cost estimation using fuzzy logic. ACM SIGSOFT Softw Eng Notes 35(1):1–7
Shinichi N, Cuthill Innes C (2007) Effect size, confidence interval and statistical significance: a practical guide for biologists. Biol Rev 82(4):591–605
Pascarella D, Venticinque S, Aversa R, Mattei M, Blasi L (2015) Parallel and distributed computing for uavs trajectory planning. J Ambient Intell Hum Comput 6(6):773–782
Patil H, Pereira C, Stallcup M, Lueck G, Cownie J (2010) Pinplay: a framework for deterministic replay and reproducible analysis of parallel programs. In: Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, ACM, pp 2–11
Perez Josep M, Beltran V, Labarta J, Ayguadé E (2017) Improving the integration of task nesting and dependencies in openmp. In: Parallel and Distributed Processing Symposium (IPDPS), 2017 IEEE International, IEEE, pp 809–818
Ren J, Phan LTX (2015) Mixed-criticality scheduling on multiprocessors using task grouping. In: 2015 27th Euromicro Conference on Real-Time Systems (ECRTS), IEEE, pp 25–34
Robati T, Gherbi A, El Kouhen A, Mullins J (2017) Design and simulation of distributed ima architectures using ttethernet: a model-driven approach. J Ambient Intell Hum Comput 8(3):345–355
Singh AK, Shafique M, Kumar A, Henkel J (2013) Mapping on multi/many-core systems: survey of current and emerging trends. In: Proceedings of the 50th Annual Design Automation Conference, ACM, p 1
Sun J, Guan N, Wang Y, He Q, Yi W (2017) Scheduling and analysis of realtime openmp task systems with tied tasks. In: Proceedings of Real-Time Systems Symposium
Tagliavini G, Cesarini D, Marongiu A (2018) Unleashing fine-grained parallelism on embedded many-core accelerators with lightweight openmp tasking. IEEE Trans Parallel Distrib Syst 29(9):2150–2163
Thirumalai C, Shridharshan RR, Reynold LR (2017) An assessment of halstead and cocomo model for effort estimation. In: 2017 Innovations in Power and Advanced Computing Technologies (i-PACT), IEEE, pp 1–4
Wang Y, Guan N, Sun J, Lv M, He Q, He T, Yi W (2017) Benchmarking openmp programs for real-time scheduling. In: Embedded and Real-Time Computing Systems and Applications (RTCSA), 2017 IEEE 23rd International Conference on, IEEE, pp 1–10
Yin J, Foran A, Zhang X, Wang J (2014) Scalscheduling: a scalable scheduling architecture for mpi-based interactive analysis programs. In: Computer Communication and Networks (ICCCN), 2014 23rd International Conference on, IEEE, pp 1–8
Zhang C, Niu X, Yu B (2018) A method of automatic code generation based on aadl model. In: Proceedings of the 2018 2nd International Conference on Computer Science and Artificial Intelligence, ACM, pp 180–184
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
Maruf, M.A., Azim, A. Requirements-preserving design automation for multiprocessor embedded system applications. J Ambient Intell Human Comput 12, 821–833 (2021). https://doi.org/10.1007/s12652-020-02086-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12652-020-02086-9