Skip to main content
Log in

Requirements-preserving design automation for multiprocessor embedded system applications

  • Original Research
  • Published:
Journal of Ambient Intelligence and Humanized Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • Shinichi N, Cuthill Innes C (2007) Effect size, confidence interval and statistical significance: a practical guide for biologists. Biol Rev 82(4):591–605

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

    Article  Google Scholar 

  • 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Md Al Maruf.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12652-020-02086-9

Keywords

Navigation