skip to main content
10.1145/3575757.3593650acmotherconferencesArticle/Chapter ViewAbstractPublication PagesrtnsConference Proceedingsconference-collections
research-article
Open Access

Task and Memory Mapping of Large Size Embedded Applications over NUMA architecture✱

Published:07 June 2023Publication History

ABSTRACT

Multicore architectures provide the increased performance required by modern embedded real-time systems. Most platforms exhibit a non-uniform memory access (NUMA). In NUMA, memory banks with different access time can be explicitly addressed. Such an architecture, however, is challenging predictability given the significant impact of the allocation of variables on the execution times.

At software level, real-world embedded applications (e.g. automotive) are composed by thousands of functions often communicating through shared variables stored in memory, with a variable access time because of NUMA.

This paper addresses the mapping of complex embedded applications onto NUMA multicore architectures. The developed problem formulation offers a solution to the following problems: (i) allocating variables (called labels in the automotive context) over memories of different characteristics, (ii) mapping functionalities (called runnables) onto CPUs, (iii) creating OS tasks from runnables, and (iv) assigning priorities to tasks. Our developed implementation is capable to handle an application composed by 1K+ runnables, all sharing 10K+ labels and finds a solution in at most 3 minutes on a standard laptop, enabling interactive design space exploration.

References

  1. 2017. Eclipse APP4MC. Eclipse APP4MC Website, https://www.eclipse.org/app4mc/.Google ScholarGoogle Scholar
  2. Emile Aarts and Jan Korst. 1989. Simulated Annealing and Boltzmann Machines. Wiley & Sons.Google ScholarGoogle Scholar
  3. Adrian Alexandrescu, Ioan Agavriloaei, and Mitică Craus. 2011. A genetic algorithm for mapping tasks in heterogeneous computing systems. In 15th International Conference on System Theory, Control and Computing. IEEE, 1–6.Google ScholarGoogle Scholar
  4. Matthias Becker, Dakshina Dasari, Borislav Nicolic, Benny Akesson, Vincent Nélis, and Thomas Nolte. 2016. Contention-free execution of automotive applications on a clustered many-core platform. In 2016 28th Euromicro Conference on Real-Time Systems (ECRTS). IEEE, 14–24.Google ScholarGoogle ScholarCross RefCross Ref
  5. Dimitris Bertsimas and John Tsitsiklis. 1993. Simulated Annealing. Statist. Sci. 8, 1 (1993), 10–15. https://doi.org/10.1214/ss/1177011077Google ScholarGoogle ScholarCross RefCross Ref
  6. Enrico Bini, Marco Di Natale, and Giorgio Buttazzo. 2008. Sensitivity analysis for fixed-priority real-time systems. Real-Time Systems 39, 1–3 (2008), 5–30. https://doi.org/10.1007/s11241-006-9010-1Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Rahma Bouaziz, Laurent Lemarchand, Frank Singhoff, Bechir Zalila, and Mohamed Jmaiel. 2018. Multi-objective design exploration approach for ravenscar real-time systems. Real-Time Systems 54, 2 (2018), 424–483.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Daniel Casini, Paolo Pazzaglia, Alessandro Biondi, and Marco Di Natale. 2022. Optimized partitioning and priority assignment of real-time applications on heterogeneous platforms with hardware acceleration. Journal of Systems Architecture (2022), 102416.Google ScholarGoogle Scholar
  9. Travis S. Craig. 1993. Queuing spin lock algorithms to support timing predictability. 1993 Proceedings Real-Time Systems Symposium (1993), 148–157.Google ScholarGoogle ScholarCross RefCross Ref
  10. Pedro Cuadra, Lukas Krawczyk, Robert Höttger, Philipp Heisig, and Carsten Wolff. 2017. Automated scheduling for tightly-coupled embedded multi-core systems using hybrid genetic algorithms. In International Conference on Information and Software Technologies. Springer, 362–373.Google ScholarGoogle ScholarCross RefCross Ref
  11. George B. Dantzig. 1957. Discrete-variable extremum problems. Operations research 5, 2 (1957), 266–288.Google ScholarGoogle Scholar
  12. Robert I Davis and Alan Burns. 2007. Robust priority assignment for fixed priority real-time systems. In 28th IEEE International Real-Time Systems Symposium (RTSS 2007). IEEE, 3–14.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hamid Reza Faragardi, Björn Lisper, Kristian Sandström, and Thomas Nolte. 2014. An efficient scheduling of AUTOSAR runnables to minimize communication cost in multi-core systems. In 7’th International Symposium on Telecommunications (IST’2014). IEEE, 41–48.Google ScholarGoogle ScholarCross RefCross Ref
  14. Frédéric Fauberteau and Serge Midonnet. 2010. Robust Partitioned Scheduling for Static-Priority Real-Time Multiprocessor Systems with Shared Resources. In 18th International Conference on Real-Time and Network Systems. 217–225.Google ScholarGoogle Scholar
  15. Gabriel Fernandez, Jaume Abella, Eduardo Quinones, Luca Fossati, Marco Zulianello, Tullio Vardanega, and Francisco J Cazorla. 2015. Seeking time-composable partitions of tasks for cots multicore processors. In 2015 IEEE 18th International Symposium on Real-Time Distributed Computing. IEEE, 208–217.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Fabrizio Ferrandi, Pier Luca Lanzi, Christian Pilato, Donatella Sciuto, and Antonino Tumeo. 2010. Ant colony heuristic for mapping and scheduling tasks and communications on heterogeneous embedded systems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 29, 6 (2010), 911–924.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Simon Fürst, Jürgen Mössinger, Stefan Bunzel, Thomas Weber, Frank Kirschke-Biller, Peter Heitkämper, Gerulf Kinkelin, Kenji Nishikawa, and Klaus Lange. 2009. AUTOSAR — A Worldwide Standard is on the Road. In 14th International VDI Congress Electronic Systems for Vehicles, Baden-Baden, Vol. 62. 5.Google ScholarGoogle Scholar
  18. Mo Guan and Tong Tong. 2016. Ant colony algorithm based optimization method for real-time task scheduling of multi-core system.Google ScholarGoogle Scholar
  19. William E Hart, Jean-Paul Watson, and David L Woodruff. 2011. Pyomo: modeling and solving mathematical programs in Python. Mathematical Programming Computation 3, 3 (2011), 219–260.Google ScholarGoogle ScholarCross RefCross Ref
  20. Robert Höttger, Lukas Krawczyk, and Burkhard Igel. 2015. Model-based automotive partitioning and mapping for embedded multicore systems. In International Conference on Parallel, Distributed Systems and Software Engineering, Vol. 2. 888.Google ScholarGoogle Scholar
  21. Infineon [n. d.]. AURIX™TC3xx User’s Manual. Infineon. Available at https://www.infineon.com/cms/en/product/microcontroller/32-bit-tricore-microcontroller/32-bit-tricore-aurix-tc3xx/aurix-family-tc39xxx/.Google ScholarGoogle Scholar
  22. Yutaro Kobayashi, Kentaro Honda, Sasuga Kojima, Hiroshi Fujimoto, Masato Edahiro, and Takuya Azumi. 2022. Mapping Method Usable with Clustered Many-core Platforms for Simulink Model. Journal of Information Processing 30 (2022), 141–150.Google ScholarGoogle ScholarCross RefCross Ref
  23. Simon Kramer, Dirk Ziegenbein, and Arne Hamann. 2017. Automotive application model based on APP4MC (WATER17). available at https://www.ecrts.org/forum/viewtopic.php?f=31&t=108&sid=9e9dc98cfb2dac9e2606ef421789ceeb.Google ScholarGoogle Scholar
  24. John P. Lehoczky, Lui Sha, and Ye Ding. 1989. The Rate-Monotonic Scheduling Algorithm: Exact Characterization and Average Case Behavior. In Proceedings of the 10th IEEE Real-Time Systems Symposium. Santa Monica (CA), U.S.A., 166–171.Google ScholarGoogle ScholarCross RefCross Ref
  25. Liu Liping. 2017. CPU (Central Processing Unit) performance optimization method and device based on NUMA (Non-uniform Memory Access) architecture.Google ScholarGoogle Scholar
  26. Chung Laung Liu and James W. Layland. 1973. Scheduling Algorithms for Multiprogramming in a Hard real-Time Environment. Journal of the Association for Computing Machinery 20, 1 (Jan. 1973), 46–61.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Robin Lougee. 2003. The Common Optimization INterface for Operations Research: Promoting open-source software in the operations research community. IBM Journal of Research and Development 47 (02 2003), 57 – 66. https://doi.org/10.1147/rd.471.0057Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Matias Maspoli, Matthias Knauss, and Marcin Nowacki. 2017. Method and device for operating a many-core system.Google ScholarGoogle Scholar
  29. Shane D. McLean, Silviu S. Craciunas, Emil Alexander Juul Hansen, and Paul Pop. 2020. Mapping and Scheduling Automotive Applications on ADAS Platforms using Metaheuristics. In 2020 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Vol. 1. IEEE, 329–336.Google ScholarGoogle ScholarCross RefCross Ref
  30. Aloysius K. Mok and Deji Chen. 1997. A multiframe model for real-time tasks. IEEE Transactions on Software Engineering 23, 10 (Oct. 1997), 635–645.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Fionn Murtagh and Pedro Contreras. 2011. Methods of Hierarchical Clustering. Computing Research Repository - CORR (04 2011). https://doi.org/10.1007/978-3-642-04898-2_288Google ScholarGoogle Scholar
  32. Suzuki Noriaki, Edahiro Masato, and Sakai Junji. 2012. Real time system task configuration optimization system for multi-core processors, and method and program.Google ScholarGoogle Scholar
  33. Suraj Paul, Navonil Chatterjee, Prasun Ghosal, and Jean-Philippe Diguet. 2020. Adaptive Task Allocation and Scheduling on NoC-based Multicore Platforms with Multitasking Processors. ACM Transactions on Embedded Computing Systems (TECS) 20, 1 (2020), 1–26.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Paolo Pazzaglia, Alessandro Biondi, and Marco Di Natale. 2019. Optimizing the functional deployment on multicore platforms with logical execution time. In 2019 IEEE Real-Time Systems Symposium (RTSS). IEEE, 207–219.Google ScholarGoogle ScholarCross RefCross Ref
  35. Quentin Perret, Pascal Maurère, Éric Noulard, Claire Pagetti, Pascal Sainrat, and Benoît Triquet. 2016. Mapping hard real-time applications on many-core processors. In Proceedings of the 24th International Conference on Real-Time Networks and Systems. 235–244.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Salah Eddine Saidi, Sylvain Cotard, Khaled Chaaban, and Kevin Marteil. 2015. An ILP approach for mapping autosar runnables on multi-core architectures. In Proceedings of the 2015 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools. 1–8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. H. Takada and K. Sakamura. 1994. Predictable spin lock algorithms with preemption. In Proceedings of 11th IEEE Workshop on Real-Time Operating Systems and Software. 2–6. https://doi.org/10.1109/RTOSS.1994.292571Google ScholarGoogle ScholarCross RefCross Ref
  38. Guido Van Rossum and Fred L. Drake. 2009. Python 3 Reference Manual. CreateSpace, Scotts Valley, CA.Google ScholarGoogle Scholar
  39. A. Wieder and B. Brandenburg. 2013. On spin locks in AUTOSAR: Blocking analysis of FIFO, unordered, and priority-ordered spin locks. In Proceedings of the IEEE 34th Real-Time Systems Symposium. 45–56.Google ScholarGoogle Scholar
  40. Carsten Wolff, Lukas Krawczyk, Robert Höttger, Christopher Brink, Uwe Lauschner, Daniel Fruhner, Erik Kamsties, and Burkhard Igel. 2015. AMALTHEA — Tailoring tools to projects in automotive software development. In 2015 IEEE 8th International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS), Vol. 2. IEEE, 515–520.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. M. Yang, A. Wieder, and B. Brandenburg. 2015. Global real-time semaphore protocols: A survey, unified analysis, and comparison. In Proceedings of the IEEE 36th Real-Time Systems Symposium. 1–12.Google ScholarGoogle Scholar
  42. Yecheng Zhao and Haibo Zeng. 2018. The concept of unschedulability core for optimizing real-time systems with fixed-priority scheduling. IEEE Trans. Comput. 68, 6 (2018), 926–938.Google ScholarGoogle ScholarDigital LibraryDigital Library

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
  • Published in

    cover image ACM Other conferences
    RTNS '23: Proceedings of the 31st International Conference on Real-Time Networks and Systems
    June 2023
    242 pages
    ISBN:9781450399838
    DOI:10.1145/3575757

    Copyright © 2023 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 7 June 2023

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate119of255submissions,47%
  • Article Metrics

    • Downloads (Last 12 months)162
    • Downloads (Last 6 weeks)24

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format .

View HTML Format