Skip to main content
Log in

Scheduling analysis and correction for dependent real-time tasks upon heterogeneous multiprocessor architectures

  • Regular Paper
  • Published:
Computing Aims and scope Submit manuscript

Abstract

Current real-time systems applications are mostly large-scale, where tasks are intrinsically time-constrained and meaningfully dependent. Nevertheless, while the initial partitioning solution has a huge impact on scheduling results, most tasks-allocation problems are NP-complete and lack binding semantics. The scheduling analysis strategies are inevitably required to validate the system scheduling before its actual deployment. However, once the proposed scheduling is invalid, no possible corrections are provided, and a costing NP-complete partitioning regeneration is provoked as the only possible correction action. Whereas, sometimes nearby task re-allocations guarantee the scheduling correction. This paper proposes an approach to efficiently correct initial dependent task partitioning solutions while considering their allocation semantics. The ultimate objective is to conduct a correct schedule for multiprocessor real-time systems by means of a driven task re clustering and/or re-allocation without the need for extra complex partitioning regeneration. Simulation results show that our proposed approach is faster than classic partitioning regeneration, ameliorates the partitioning semantic results, and gives efficient scheduling results.

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

Access this article

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

Instant access to the full article PDF.

Fig. 1
Fig. 2
Algorithm 1
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Availability of data and material

Data and materials are available from the corresponding author upon reasonable request.

References

  1. Abdelzaher T, Shin K (2000) Period-based load partitioning and assignment for large real-time applications. IEEE Trans Comput 49(1):81–87

    Article  Google Scholar 

  2. Alamdari S, Mehrabian A (2012) On a dag partitioning problem. In: International workshop on algorithms and models for the web-graph. Springer, pp 17–28

  3. Anderson JH, Bud V, Devi U (2005) An edf-based scheduling algorithm for multiprocessor soft real-time systems. In: 17th Euromicro conference on real-time systems (ECRTS’05). IEEE, pp 199–208

  4. Arató P, Mann ZÁ, Orbán A (2005) Algorithmic aspects of hardware/software partitioning. ACM Trans Des Autom Electron Syst 10(1):136–156

    Article  Google Scholar 

  5. Arora K, Bansal S, Bansal RK (2019) Low-complexity mpn preemption policy for real-time task scheduling. In: Progress in advanced computing and intelligent engineering: proceedings of ICACIE 2017, vol 2. Springer, pp 547–556

  6. Atdelzater T, Atkins EM, Shin KG (2000) Qos negotiation in real-time systems and its application to automated flight control. IEEE Trans Comput 49(11):1170–1183

    Article  Google Scholar 

  7. Baek H, Chwa HS, Lee J (2017) Beyond implicit-deadline optimality: a multiprocessor scheduling framework for constrained-deadline tasks. In: 2017 IEEE real-time systems symposium (RTSS). IEEE, pp 331–342

  8. Baruah S, Bonifaci V, Marchetti-Spaccamela A, Stougie L, Wiese A (2012) A generalized parallel task model for recurrent real-time processes. In: 2012 IEEE 33rd real-time systems symposium. IEEE, pp 63–72

  9. Baruah S, Goossens J (2004) Scheduling real-time tasks: algorithms and complexity. Handbook of scheduling: algorithms, models, and performance analysis. Princeton, Citeseer

    Google Scholar 

  10. Ben-Amor S, Cucu-Grosjean L, Maxim D (2019) Worst-case response time analysis for partitioned fixed-priority dag tasks on identical processors. In: 2019 24th IEEE international conference on emerging technologies and factory automation (ETFA), pp 1423–1426

  11. Bertozzi S, Acquaviva A, Bertozzi D, Poggiali A (2006) Supporting task migration in multi-processor systems-on-chip: a feasibility study. In: Proceedings of the conference on design, automation and test in Europe: proceedings. DATE’06, vol 1. IEEE, European Design and Automation Association, Leuven, BEL, pp 15-20

  12. Bhardwaj P, Kumar V (2013) An effective load balancing task allocation algorithm using task clustering. Int J Comput Appl 77(7):32–39

    Google Scholar 

  13. Bletsas K, Andersson B (2009) Notional processors: an approach for multiprocessor scheduling. In: 2009 15th IEEE real-time and embedded technology and applications symposium. IEEE, pp 3–12

  14. Bokhari SH (1987) Assignment problems in parallel and distributed computing, vol 32. Kluwer Academic Publishers, Springer Science & Business Media

    Book  Google Scholar 

  15. Braun TD, Siegel HJ, Maciejewski AA, Hong Y (2008) Static resource allocation for heterogeneous computing environments with tasks having dependencies, priorities, deadlines, and multiple versions. J Parallel Distrib Comput 68(11):1504–1516

    Article  Google Scholar 

  16. Cambazard H, Hladik PE, Déplanche AM, Jussien N, Trinquet Y (2004) Decomposition and learning for a hard real time task allocation problem. In: CP. Lecture notes in computer science, vol 3258. Springer, pp 153–167

  17. Chéramy M, Hladik PE, Déplanche AM (2014) Simso: a simulation tool to evaluate real-time multiprocessor scheduling algorithms. In: 5th international workshop on analysis tools and methodologies for embedded and real-time systems (WATERS), pp 6–p

  18. Coffman EG, Csirik J, Galambos G, Martello S, Vigo D (2013) Bin packing approximation algorithms: survey and classification. Handbook of combinatorial optimization. Springer, Berlin, pp 455–531

    Chapter  Google Scholar 

  19. Dantzig GB, Thapa MN (2003) Linear programming: theory and extensions, vol 2. Springer, Berlin

    Google Scholar 

  20. Davis RI, Burns A (2011) A survey of hard real-time scheduling for multiprocessor systems. ACM Comput Surv CSUR 43(4):1–44

    Article  Google Scholar 

  21. Dorin F, Yomsi PM, Goossens J, Richard P (2010) Semi-partitioned hard real-time scheduling with restricted migrations upon identical multiprocessor platforms. CoRRarXiv:1006.2637

  22. Dorin F (2010) Contributions à l’ordonnancement et l’analyse des systèmes temps réel critiques. Ph.D. thesis, ISAE-ENSMA Ecole Nationale Supérieure de Mécanique et d’Aérotechique-Poitiers

  23. Dutertre B, Stavridou V (2000) Formal analysis for real-time scheduling. In: 19th DASC. 19th digital avionics systems conference. Proceedings (Cat. No. 00CH37126). vol 1. IEEE, pp 1–7

  24. Ekhtiyari Z, Moghaddas V, Beitollahi H (2019) A temperature-aware and energy-efficient fuzzy technique to schedule tasks in heterogeneous mpsoc systems. J Supercomput 75(8):5398–5419

    Article  Google Scholar 

  25. Fauberteau F, George L, Masson D, Midonnet S (2011) Ordonnancement multiprocesseur global basé sur la laxité avec migrations restreintes. In: ROADEF 2011, p 2

  26. Fonseca J, Nelissen G, Nelis V, Pinho LM (2016) Response time analysis of sporadic dag tasks under partitioned scheduling. In: 2016 11th IEEE symposium on industrial embedded systems (SIES). IEEE, pp 1–10

  27. Gabaldon E, Lerida JL, Guirado F, Planes J (2017) Blacklist muti-objective genetic algorithm for energy saving in heterogeneous environments. J Supercomput 73(1):354–369

    Article  Google Scholar 

  28. Gammoudi A, Chillet D, Khalgui M, Benzina A (Mar 2018) Mapping of Periodic Tasks in Reconfigurable Heterogeneous Multi-core Platforms. In: ENASE 2018—13th international conference on evaluation of novel approaches to software engineering. SCITEPRESS—Science and Technology Publications, Funchal, pp 99–110. https://hal.inria.fr/hal-01936163

  29. Gaska T, Watkin C, Chen Y (2015) Integrated modular avionics-past, present, and future. IEEE Aerosp Electron Syst Mag 30(9):12–23

    Article  Google Scholar 

  30. George L, Courbin P, Sorel Y (2011) Job vs. portioned partitioning for the earliest deadline first semi-partitioned scheduling. J Syst Archit 57(5):518–535

    Article  Google Scholar 

  31. Gerasoulis A, Venugopal S, Yang T (1990) Clustering task graphs for message passing architectures. In: Proceedings of the 4th international conference on supercomputing. ICS ’90, Association for Computing Machinery, New York, pp 447-456

  32. Gerasoulis A, Yang T (1992) A comparison of clustering heuristics for scheduling directed acyclic graphs on multiprocessors. J Parallel Distrib Comput 16(4):276–291

    Article  MathSciNet  Google Scholar 

  33. Govil K (2011) A smart algorithm for dynamic task allocation for distributed processing environment. Int J Comput Appl 28(2):13–19

    Google Scholar 

  34. Govil N (2016) Algorithms for high performance hardware software partitioning. Ph.D. thesis, International Institute of Information Technology Hyderabad

  35. Guan N, Stigge M, Yi W, Yu G (2010) Fixed-priority multiprocessor scheduling with liu and layland’s utilization bound. In: 2010 16th IEEE real-time and embedded technology and applications symposium. IEEE, pp 165–174

  36. Harvey DM, Kshirsagar SP, Hobson CA (2001) Low cost scaleable parallel image processing system. Microprocess Microsyst 25(3):143–157

    Article  Google Scholar 

  37. Hsieh CC, Hsieh YC (2003) Reliability and cost optimization in distributed computing systems. Comput Oper Res 30(8):1103–1119

    Article  MathSciNet  Google Scholar 

  38. Huang J, Buckl C, Raabe A, Knoll A (2011) Energy-aware task allocation for network-on-chip based heterogeneous multiprocessor systems. In: 2011 19th international Euromicro conference on parallel, distributed and network-based processing. IEEE, pp 447–454

  39. Huang J, Raabe A, Buckl C, Knoll A (2011) A workflow for runtime adaptive task allocation on heterogeneous mpsocs. In: 2011 design, automation & test in Europe. IEEE, pp 1–6

  40. Jadon S, Yadav RS (2018) Load balancing of multicore systems using heuristics. In: 2018 international conference on computing, power and communication technologies (GUCON). IEEE, pp 74–78

  41. Jiang Y, Zhang H, Jiao X, Song X, Hung WN, Gu M, Sun J (2012) Uncertain model and algorithm for hardware/software partitioning. In: 2012 IEEE computer society annual symposium on VLSI. IEEE, pp 243–248

  42. Johansson KH, Törngren M, Nielsen L (2005) Vehicle applications of controller area network. Handbook of networked and embedded control systems. Springer, Berlin, pp 741–765

    Chapter  Google Scholar 

  43. Joseph M, Pandya P (1986) Finding response times in a real-time system. Comput J 29(5):390–395

    Article  MathSciNet  Google Scholar 

  44. Júnior JAS, Lima G, Bletsas K, Kato S (2013) Multiprocessor real-time scheduling with a few migrating tasks. In: 2013 IEEE 34th real-time systems symposium. IEEE, pp 170–181

  45. Karamti W, Mahfoudhi A (2014) Scheduling analysis based on model checking for multiprocessor real-time systems. J Supercomput 68:1604–1629

    Article  Google Scholar 

  46. Kato S, Yamasaki N (2008) Portioned edf-based scheduling on multiprocessors. In: Proceedings of the 8th ACM international conference on Embedded software, pp 139–148

  47. Kato S, Yamasaki N, Ishikawa Y (2009) Semi-partitioned scheduling of sporadic task systems on multiprocessors. In: 2009 21st Euromicro conference on real-time systems. IEEE, pp. 249–258

  48. Khan Z, Singh R, Alam J (2012) Tasks allocation using fuzzy inference in parallel and distributed system. J Inf Oper Manag 3(2):322

    Google Scholar 

  49. Khardon R, Pinter SS (1996) Partitioning and scheduling to counteract overhead. Parallel Comput 22(4):555–593

    Article  MathSciNet  Google Scholar 

  50. Kim S, Browne J (1988) A general approach to mapping of parallel computations upon multiprocessor architectures. In: Proceedings of the international conference on parallel processing. vol 3. IEEE Computer Society, pp 1–8

  51. Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM (JACM) 20:46–61

    Article  MathSciNet  Google Scholar 

  52. March JL, Sahuquillo J, Hassan H, Petit S, Duato J (2011) A new energy-aware dynamic task set partitioning algorithm for soft and hard embedded real-time systems. Comput J 54(8):1282–1294

    Article  Google Scholar 

  53. McNulty D, Olson L, Peloquin M (2010) A comparison of scheduling algorithms for multiprocessors. In: International conference on realtime and network systems

  54. Michalak T, Rahwan T, Elkind E, Wooldridge M, Jennings NR (2016) A hybrid exact algorithm for complete set partitioning. Artif Intell 230:14–50

    Article  MathSciNet  Google Scholar 

  55. Mrabet F, Karamti W, Mahfoudhi A (2017) Scheduling analysis and correction of periodic real time systems with tasks migration. In: ISDA, intelligent systems design and applications: 17th international conference on intelligent systems design and applications (ISDA 2017) held in Delhi, India, 14–16 Dec, 2017. Advances in Intelligent Systems and Computing, vol 736. Springer, pp 712–723

  56. Mrabet F, Karamti W, Mahfoudhi A (2018) Sac-tool: a tool for scheduling analysis and correction of multiprocessor real time systems. In: 2018 IEEE/ACS 15th international conference on computer systems and applications (AICCSA). IEEE Computer Society, pp 1–7

  57. Mrabet F, Karamti W, Mahfoudhi A (2022) A clustering allocation and scheduling analysis approach for multiprocessor dependent real-time tasks. Int J Comput Appl Technol 70(1):48–71

    Article  Google Scholar 

  58. Mu P, Cousin JG, Nezan JF, Raulet M (2009) Heuristique statique améliorée d’ordonnancement de tâches: impact sur le tri des tâches et sur l’allocation de processeur. In: Gretsi. p. 4 pages. Dijon, France. https://hal.archives-ouvertes.fr/hal-00429748

  59. N’Takpé T (2009) Heuristiques d’ordonnancement en deux étapes de graphes de tâches parallèles. Revue des Sciences et Technologies de l’Information - Série TSI: Technique et Science Informatiques 28(1):75–99

    Google Scholar 

  60. Özkaya MY, Benoit A, Uçar B, Herrmann J, Çatalyürek ÜV (2019) A scalable clustering-based task scheduler for homogeneous processors using dag partitioning. In: 2019 IEEE international parallel and distributed processing symposium (IPDPS). IEEE, pp 155–165

  61. Palis MA, Liou JC, Wei DSL (1996) Task clustering and scheduling for distributed memory parallel architectures. IEEE Trans Parallel Distrib Syst 7(1):46–55

    Article  Google Scholar 

  62. Puchinger J, Raidl GR (2005) Combining metaheuristics and exact algorithms in combinatorial optimization: a survey and classification. In: Artificial intelligence and knowledge engineering applications: a bioinspired approach: first international work-conference on the interplay between natural and artificial computation, IWINAC 2005, Las Palmas, Canary Islands, Spain, 15–18 June, 2005, Proceedings, Part II 1. Springer, pp 41–53

  63. Qamhieh M (2015) Scheduling of parallel real-time DAG tasks on multiprocessor systems. Ph.D. thesis, Paris Est

  64. Queudet A, Abdallah N, Chetto M (2017) KTS: a real-time mapping algorithm for noc-based many-cores. J Supercomput 73(8):3635–3651

    Article  Google Scholar 

  65. Sagar G, Sarje AK (1991) Task allocation model for distributed systems. Int J Syst Sci 22(9):1671–1678

    Article  Google Scholar 

  66. Sapienza G (2016) Multiple criteria decision analysis-based HW/SW partitioning methodology for embedded applications. Ph.D. thesis, Mälardalen University. http://www.es.mdh.se/publications/4647-

  67. Sarje A, Sagar G (1991) Heuristic model for task allocation in distributed computer systems. In: IEE Proceedings E-computers and digital techniques, vol 138. IET, pp 313–318

  68. Sharma M, Kumar K, Garg D (2012) An optimal task allocation model through clustering with inter-processor distances in heterogeneous distributed computing systems. Int J Soft Comput Eng (IJSCE) 2(1):50–55

    Google Scholar 

  69. Shekhar M, Ramaprasad H, Sarkar A, Mueller F (2015) Architecture aware semi partitioned real-time scheduling on multicore platforms. Real Time Syst 51(3):274–313

    Article  Google Scholar 

  70. Simon B (2018) Ordonnancement de graphes de tâches sur des plates-formes de calcul modernes. Ph.D. thesis, Thèse de doctorat dirigée par Vivien, Frédéric Informatique Lyon. http://www.theses.fr/2018LYSEN022

  71. Simon B (2018) Scheduling task graphs on modern computing platforms. Theses, Université de Lyon. https://tel.archives-ouvertes.fr/tel-01843558

  72. Urriza JM, Schorb L, Orozco JD, Cayssials R (2009) Reduced computational cost in the calculation of worst case response time for real time systems. J Comput Sci Technol 9(02):72–81

    Google Scholar 

  73. Urunuela R, Déplanche AM, Trinquet Y (2010) Storm a simulation tool for real-time multiprocessor scheduling evaluation. In: 2010 IEEE 15th conference on emerging technologies & factory automation (ETFA 2010). IEEE, pp 1–8

  74. Vahid F, Gajski DD (1995) Clustering for improved system-level functional partitioning. In: Proceedings of the 8th international symposium on system synthesis. ISSS ’95, Association for Computing Machinery, New York, pp 28–35

  75. Varsamis D (2017) On the parallel implementation of best fit decreasing algorithm in matlab. Contemp Eng Sci 10:945–952

    Article  Google Scholar 

  76. Varsamis D, Chanlioglou F (2018) A parallel approach of best fit decreasing algorithm. WSEAS Trans Comput 17:79–85

    Google Scholar 

  77. Vidyarthi DP, Tripathi AK, Sarker B, Dhawan A (2004) Cluster-based multiple task allocation in distributed computing system. In: 18th international parallel and distributed processing symposium, 2004. proceedings. IEEE, p 239

  78. Wang X, Khemaissia I, Khalgui M, Li Z, Mosbahi O, Zhou M (2014) Dynamic low-power reconfiguration of real-time systems with periodic and probabilistic tasks. IEEE Trans Autom Sci Eng 12(1):258–271

    Article  Google Scholar 

  79. Yang B, Hu H, Guo S (2009) Cost-oriented task allocation and hardware redundancy policies in heterogeneous distributed computing systems considering software reliability. Comput Ind Eng 56(4):1687–1696

    Article  Google Scholar 

  80. Yang T, Gerasoulis A (1994) Dsc: scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5(9):951–967

    Article  Google Scholar 

Download references

Funding

No funding received.

Author information

Authors and Affiliations

Authors

Contributions

MF: Methodology; Writing-original draft; Writing—review and editing. WK: review and editing. AM and WK: Supervision. All authors have read and agreed to the published version of the manuscript.

Corresponding author

Correspondence to Faten Mrabet.

Ethics declarations

Conflict of interest

The authors declare no conflict of interest.

Ethical approval

Not applicable.

Additional information

Publisher's Note

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

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mrabet, F., Karamti, W. & Mahfoudhi, A. Scheduling analysis and correction for dependent real-time tasks upon heterogeneous multiprocessor architectures. Computing 106, 651–712 (2024). https://doi.org/10.1007/s00607-023-01237-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-023-01237-y

Keywords

Mathematics Subject Classification

Navigation