Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Memory-processor co-scheduling of AECR-DAG real-time tasks on partitioned multicore platforms with scratchpads

Published: 09 July 2024 Publication History

Abstract

Multicore systems with core-level scratchpad memories offer appealing architectures for constructing efficient and predictable real-time systems. In this work, we aim to improve the usability of scratchpad memories and exploit their predictability to hide access latency to shared resources. We use a genetic algorithm to derive scheduling parameters for a set of directed acyclic task-graphs (DAGs). DAGs consist of dependent subtasks and their respective communications, following the Acquisition Execution Restitution (AER) model. Subtasks are partitioned onto the multicore platform while scheduling their memory requests and relative communications onto the shared buses, in order to prevent interference and ensure predictability. Specifically, all subtasks and communications are assigned appropriate intermediate offsets and deadlines to guarantee that they comply with the system’s timing constraints. We conducted a large set of synthetic experiments to demonstrate the effectiveness of the proposed technique.

References

[1]
Pellizzoni R., Betti E., Bak S., Yao G., Criswell J., Caccamo M., Kegley R., A predictable execution model for COTS-based embedded systems, in: 2011 17th IEEE Real-Time and Embedded Technology and Applications Symposium, IEEE, 2011, pp. 269–279.
[2]
G. Durrieu, M. Faugère, S. Girbal, D.G. Pérez, C. Pagetti, W. Puffitsch, Predictable flight management system implementation on a multicore processor, in: Embedded Real Time Software, ERTS’14, 2014.
[3]
S. Udayakumaran, R. Barua, Compiler-decided dynamic memory allocation for scratch-pad based embedded systems, in: Proceedings of the 2003 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, 2003, pp. 276–286.
[4]
Suhendra V., Roychoudhury A., Mitra T., Scratchpad allocation for concurrent embedded software, ACM Trans. Program. Lang. Syst. 32 (4) (2010) 1–47.
[5]
Yang Y., Wang M., Yan H., Shao Z., Guo M., Dynamic scratch-pad memory management with data pipelining for embedded systems, Concurr. Comput.: Pract. Exper. 22 (13) (2010) 1874–1892.
[6]
M. Kandemir, J. Ramanujam, J. Irwin, N. Vijaykrishnan, I. Kadayif, A. Parikh, Dynamic management of scratch-pad memory space, in: Proceedings of the 38th Annual Design Automation Conference, 2001, pp. 690–695.
[7]
Martello S., Toth P., Knapsack Problems: Algorithms and Computer Implementations, John Wiley & Sons, Inc., 1990.
[8]
Chekuri C., Khanna S., A polynomial time approximation scheme for the multiple knapsack problem, SIAM J. Comput. 35 (3) (2005) 713–728.
[9]
Yao G., Pellizzoni R., Bak S., Betti E., Caccamo M., Memory-centric scheduling for multicore hard real-time systems, Real-Time Syst. 48 (6) (2012) 681–715.
[10]
Alhammad A., Pellizzoni R., Time-predictable execution of multithreaded applications on multicore systems, in: 2014 Design, Automation & Test in Europe Conference & Exhibition, DATE, IEEE, 2014, pp. 1–6.
[11]
Maia C., Nelissen G., Nogueira L., Pinho L.M., Pérez D.G., Schedulability analysis for global fixed-priority scheduling of the 3-phase task model, in: 2017 IEEE 23rd International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA, IEEE, 2017, pp. 1–10.
[12]
Rosen J., Andrei A., Eles P., Peng Z., Bus access optimization for predictable implementation of real-time applications on multiprocessor systems-on-chip, in: 28th IEEE International Real-Time Systems Symposium, RTSS 2007, IEEE, 2007, pp. 49–60.
[13]
Tabish R., Mancuso R., Wasly S., Pellizzoni R., Caccamo M., A real-time scratchpad-centric OS with predictable inter/intra-core communication for multi-core embedded systems, Real-Time Syst. 55 (4) (2019) 850–888.
[14]
Hoogeveen J.A., Lenstra J.K., Veltman B., Preemptive scheduling in a two-stage multiprocessor flow shop is NP-hard, European J. Oper. Res. 89 (1) (1996) 172–175.
[15]
Senoussaoui I., Zahaf H.E., Lipari G., Benhaoua K.M., Contention-free scheduling of PREM tasks on partitioned multicore platforms, in: 2022 IEEE 27th International Conference on Emerging Technologies and Factory Automation, ETFA, IEEE, 2022, pp. 1–8.
[16]
Baruah S., Bonifaci V., Marchetti-Spaccamela A., Stougie L., Wiese A., A generalized parallel task model for recurrent real-time processes, in: 2012 IEEE 33rd Real-Time Systems Symposium, IEEE, 2012, pp. 63–72.
[17]
Melani A., Bertogna M., Bonifaci V., Marchetti-Spaccamela A., Buttazzo G., Schedulability analysis of conditional parallel task graphs in multicore systems, IEEE Trans. Comput. 66 (2) (2016) 339–353.
[18]
H.E. Zahaf, A.E.H. Benyamina, G. Lipari, R. Olejnik, P. Boulet, Modeling parallel real-time tasks with di-graphs, in: Proceedings of the 24th International Conference on Real-Time Networks and Systems, 2016, pp. 339–348.
[19]
Zahaf H.E., Capodieci N., Cavicchioli R., Bertogna M., Lipari G., A C-DAG task model for scheduling complex real-time tasks on heterogeneous platforms: preemption matters, 2019, arXiv preprint arXiv:1901.02450.
[20]
Ben-Amor S., Cucu-Grosjean L., Graph reductions and partitioning heuristics for multicore DAG scheduling, J. Syst. Archit. 124 (2022).
[21]
Slim B.A., Liliana C.-G., Mezouak M., Sorel Y., Probabilistic schedulability analysis for real-time tasks with precedence constraints on partitioned multi-core, in: 2020 IEEE 23rd International Symposium on Real-Time Distributed Computing, ISORC, IEEE, 2020, pp. 142–143.
[22]
Houssam-Eddine Z., Capodieci N., Cavicchioli R., Lipari G., Bertogna M., The HPC-DAG task model for heterogeneous real-time systems, IEEE Trans. Comput. 70 (10) (2020) 1747–1761.
[23]
Zahaf H.E., Lipari G., Niar S., et al., Preemption-aware allocation, deadline assignment for conditional dags on partitioned EDF, in: 2020 IEEE 26th International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA, IEEE, 2020, pp. 1–10.
[24]
M. Qamhieh, F. Fauberteau, L. George, S. Midonnet, Global EDF scheduling of directed acyclic graphs on multiprocessor systems, in: Proceedings of the 21st International Conference on Real-Time Networks and Systems, 2013, pp. 287–296.
[25]
Marinca D., Minet P., George L., Analysis of deadline assignment methods in distributed real-time systems, Comput. Commun. 27 (15) (2004) 1412–1423.
[26]
Wu Y., Gao Z., Dai G., Deadline and activation time assignment for partitioned real-time application on multiprocessor reservations, J. Syst. Archit. 60 (3) (2014) 247–257.
[27]
McLean S.D., Craciunas S.S., Hansen E.A.J., Pop P., Mapping and scheduling automotive applications on ADAS platforms using metaheuristics, in: 2020 25th IEEE International Conference on Emerging Technologies and Factory Automation, Vol. 1, ETFA, IEEE, 2020, pp. 329–336.
[28]
A. Druetto, E. Bini, A. Grosso, S. Puri, S. Bacci, M. Di Natale, F. Paladino, Task and Memory Mapping of Large Size Embedded Applications over NUMA architecture, in: Proceedings of the 31st International Conference on Real-Time Networks and Systems, 2023, pp. 166–176.
[29]
Mitra H., Ramanathan P., A genetic approach for scheduling non-preemptive tasks with precedence and deadline constraints, in: [1993] Proceedings of the Twenty-Sixth Hawaii International Conference on System Sciences, Vol. 2, IEEE, 1993, pp. 556–564.
[30]
Ramamritham K., Allocation and scheduling of complex periodic tasks, in: Proceedings., 10th International Conference on Distributed Computing Systems, IEEE Computer Society, 1990, pp. 108–109.
[31]
Monnier Y., Beauvais J.-P., Deplanche A.-M., A genetic algorithm for scheduling tasks in a real-time distributed system, in: Proceedings. 24th EUROMICRO Conference (Cat. No. 98EX204), Vol. 2, IEEE, 1998, pp. 708–714.
[32]
Oh J., Wu C., Genetic-algorithm-based real-time task scheduling with multiple goals, J. Syst. Softw. 71 (3) (2004) 245–258.
[33]
Madureira A., Ramos C., do Carmo Silva S., A coordination mechanism for real world scheduling problems using genetic algorithms, in: Proceedings of the 2002 Congress on Evolutionary Computation. CEC’02 (Cat. No. 02TH8600), Vol. 1, IEEE, 2002, pp. 175–180.
[34]
IT A., AURIX 32-bit Microcontrollers for Automotive and Industrial Applications, Infineon Technologies AG 1, 2020.
[35]
IBM A., CPLEX User’s Manual. Vol. 12, 1987, pp. 1987–2018.
[36]
Zitzler E., Deb K., Thiele L., Comparison of multiobjective evolutionary algorithms: Empirical results, Evol. Comput. 8 (2) (2000) 173–195.
[37]
Diaz-Gomez P.A., Hougen D.F., Initial population for genetic algorithms: A metric approach, in: Gem, Citeseer, 2007, pp. 43–49.
[38]
Burke E.K., Gustafson S., Kendall G., Diversity in genetic programming: An analysis of measures and correlation with fitness, IEEE Trans. Evol. Comput. 8 (1) (2004) 47–62.
[39]
Baruah S.K., Mok A.K., Rosier L.E., Preemptively scheduling hard-real-time sporadic tasks on one processor, in: [1990] Proceedings 11th Real-Time Systems Symposium, IEEE, 1990, pp. 182–190.
[40]
Pellizzoni R., Lipari G., Feasibility analysis of real-time periodic tasks with offsets, Real-Time Syst. 30 (1–2) (2005) 105–128.
[41]
Shukla A., Pandey H.M., Mehrotra D., Comparative review of selection techniques in genetic algorithm, in: 2015 International Conference on Futuristic Trends on Computational Analysis and Knowledge Management, ABLAZE, 2015, pp. 515–519,.
[42]
T. Starkweather, S. McDaniel, K.E. Mathias, L.D. Whitley, C. Whitley, A Comparison of Genetic Sequencing Operators, in: ICGA, 1991, pp. 69–76.
[43]
Wang L., Zheng D.-Z., An effective hybrid optimization strategy for job-shop scheduling problems, Comput. Oper. Res. 28 (6) (2001) 585–596.
[44]
Koonce D., Tsai S.C., Using data mining to find patterns in genetic algorithm solutions to a job shop schedule, Comput. Ind. Eng. 38 (3) (2000) 361–374.
[45]
P. Emberson, R. Stafford, R.I. Davis, Techniques for the synthesis of multiprocessor tasksets, in: WATERS, 2010.
[46]
Cordeiro D., Mounié G., Perarnau S., Trystram D., Vincent J.M., Wagner F., Random graph generation for scheduling simulations, in: 3rd International ICST Conference on Simulation Tools and Techniques, SIMUTools 2010, ICST, 2010, p. 10.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Journal of Systems Architecture: the EUROMICRO Journal
Journal of Systems Architecture: the EUROMICRO Journal  Volume 150, Issue C
May 2024
261 pages

Publisher

Elsevier North-Holland, Inc.

United States

Publication History

Published: 09 July 2024

Author Tags

  1. Real-time systems
  2. Genetic-algorithm
  3. Scratchpad
  4. Multicore architecture
  5. Memory-processor co-scheduling
  6. DAG task

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Nov 2024

Other Metrics

Citations

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media