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.
Similar content being viewed by others
Availability of data and material
Data and materials are available from the corresponding author upon reasonable request.
References
Abdelzaher T, Shin K (2000) Period-based load partitioning and assignment for large real-time applications. IEEE Trans Comput 49(1):81–87
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
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
Arató P, Mann ZÁ, Orbán A (2005) Algorithmic aspects of hardware/software partitioning. ACM Trans Des Autom Electron Syst 10(1):136–156
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
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
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
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
Baruah S, Goossens J (2004) Scheduling real-time tasks: algorithms and complexity. Handbook of scheduling: algorithms, models, and performance analysis. Princeton, Citeseer
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
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
Bhardwaj P, Kumar V (2013) An effective load balancing task allocation algorithm using task clustering. Int J Comput Appl 77(7):32–39
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
Bokhari SH (1987) Assignment problems in parallel and distributed computing, vol 32. Kluwer Academic Publishers, Springer Science & Business Media
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
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
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
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
Dantzig GB, Thapa MN (2003) Linear programming: theory and extensions, vol 2. Springer, Berlin
Davis RI, Burns A (2011) A survey of hard real-time scheduling for multiprocessor systems. ACM Comput Surv CSUR 43(4):1–44
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
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
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
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
Fauberteau F, George L, Masson D, Midonnet S (2011) Ordonnancement multiprocesseur global basé sur la laxité avec migrations restreintes. In: ROADEF 2011, p 2
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
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
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
Gaska T, Watkin C, Chen Y (2015) Integrated modular avionics-past, present, and future. IEEE Aerosp Electron Syst Mag 30(9):12–23
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
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
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
Govil K (2011) A smart algorithm for dynamic task allocation for distributed processing environment. Int J Comput Appl 28(2):13–19
Govil N (2016) Algorithms for high performance hardware software partitioning. Ph.D. thesis, International Institute of Information Technology Hyderabad
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
Harvey DM, Kshirsagar SP, Hobson CA (2001) Low cost scaleable parallel image processing system. Microprocess Microsyst 25(3):143–157
Hsieh CC, Hsieh YC (2003) Reliability and cost optimization in distributed computing systems. Comput Oper Res 30(8):1103–1119
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
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
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
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
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
Joseph M, Pandya P (1986) Finding response times in a real-time system. Comput J 29(5):390–395
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
Karamti W, Mahfoudhi A (2014) Scheduling analysis based on model checking for multiprocessor real-time systems. J Supercomput 68:1604–1629
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
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
Khan Z, Singh R, Alam J (2012) Tasks allocation using fuzzy inference in parallel and distributed system. J Inf Oper Manag 3(2):322
Khardon R, Pinter SS (1996) Partitioning and scheduling to counteract overhead. Parallel Comput 22(4):555–593
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
Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM (JACM) 20:46–61
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
McNulty D, Olson L, Peloquin M (2010) A comparison of scheduling algorithms for multiprocessors. In: International conference on realtime and network systems
Michalak T, Rahwan T, Elkind E, Wooldridge M, Jennings NR (2016) A hybrid exact algorithm for complete set partitioning. Artif Intell 230:14–50
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
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
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
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
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
Ö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
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
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
Qamhieh M (2015) Scheduling of parallel real-time DAG tasks on multiprocessor systems. Ph.D. thesis, Paris Est
Queudet A, Abdallah N, Chetto M (2017) KTS: a real-time mapping algorithm for noc-based many-cores. J Supercomput 73(8):3635–3651
Sagar G, Sarje AK (1991) Task allocation model for distributed systems. Int J Syst Sci 22(9):1671–1678
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-
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
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
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
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
Simon B (2018) Scheduling task graphs on modern computing platforms. Theses, Université de Lyon. https://tel.archives-ouvertes.fr/tel-01843558
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
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
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
Varsamis D (2017) On the parallel implementation of best fit decreasing algorithm in matlab. Contemp Eng Sci 10:945–952
Varsamis D, Chanlioglou F (2018) A parallel approach of best fit decreasing algorithm. WSEAS Trans Comput 17:79–85
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
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
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
Yang T, Gerasoulis A (1994) Dsc: scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5(9):951–967
Funding
No funding received.
Author information
Authors and Affiliations
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
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.
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-023-01237-y
Keywords
- Real-time systems
- Dependent tasks
- Partitioned scheduling
- Clustering partitioning
- Scheduling analysis
- Partitioning correction
- Computational cost