Abstract
Real-time embedded systems are increasingly being implemented on heterogeneous multiprocessor platforms in which the same piece of software may require different amounts of time to execute on different processors. Computation of optimal schedules for such systems is non-trivial. Recently, Zhang et al. proposed linear and dynamic programming algorithms for real-time task scheduling for heterogeneous platforms. The authors have formulated a linear programming problem which is then iteratively solved by the linear programming algorithm (LPA) to produce a feasible schedule. Further, they compared the performance of LPA against their proposed dynamic programming algorithm (DPA) and claimed that LPA is superior to DPA, in terms of scalability. In this paper, we show that their linear programming problem does not correctly capture the execution requirement of real-time tasks on heterogeneous platforms. Consequently, LPA fails to produce valid execution schedules for most task sets presented to it. We first illustrate this flaw and strengthen our claim theoretically using a counterexample. Then, we present necessary modifications to their linear programming formulation to address the identified flaw. Finally, we show that our proposed algorithm can be used to find a feasible schedule for real-time task sets, using a real-world case study and experiments.
Similar content being viewed by others
Notes
We use the term published strategy to refer [26]. It used the notation m and M interchangeably to denote the number of processors in the system. For consistency purpose, we use the notation M. Similarly, it used the notation n and N interchangeably to denote the number of tasks in the system. To maintain consistency, we use the notation N.
The original example presented in [23] considers constrained-deadline for tasks. In order to match the system model considered in this work, we assume task deadlines to be implicit.
References
LP_Solve 5.5.2.5. [online]. Available: http://www.lpsolve.sourceforge.net/5.5/. Last accessed April 2018
Al-Omari R, Somani AK, Manimaran G (2004) Efficient overloading techniques for primary-backup scheduling in real-time systems. J Parallel Distrib Comput 64(5):629–648
Anderson JH, Srinivasan A (2000) Early-release fair scheduling. In: 12th Euromicro Conference on Real-Time Systems, 2000. Euromicro RTS 2000, pp 35–43 . https://doi.org/10.1109/EMRTS.2000.853990
Anderson JH, Srinivasan A (2000) Pfair scheduling: Beyond periodic task systems. In: Seventh International Conference on Real-Time Computing Systems and Applications, 2000. Proceedings, pp 297–306 . https://doi.org/10.1109/RTCSA.2000.896405
Baruah S, Bertogna M, Buttazzo G (2015) Multiprocessor scheduling for real-time systems. Springer, Berlin
Baruah SK, Bonifaci V, Bruni R, Marchetti-Spaccamela A (2016) ILP-based approaches to partitioning recurrent workloads upon heterogeneous multiprocessors. In: 2016 28th Euromicro Conference on Real-Time Systems (ECRTS). IEEE, pp 215–225
Buttazzo GC (2011) Hard real-time computing systems: predictable scheduling algorithms and applications, vol 24. Springer, Berlin
Chwa HS, Seo J, Lee J, Shin I (2015) Optimal real-time scheduling on two-type heterogeneous multicore platforms. In: 2015 IEEE Real-Time Systems Symposium. IEEE, pp 119–129
Davis RI, Burns A (2011) A survey of hard real-time scheduling for multiprocessor systems. ACM Comput Surv (CSUR) 43(4):35
Dobiáš P, Casseau E, Sinnen O (2018) Restricted scheduling windows for dynamic fault-tolerant primary/backup approach-based scheduling on embedded systems. In: Proceedings of the 21st International Workshop on Software and Compilers for Embedded Systems. ACM, pp 27–30
Ghosh S, Melhem R, Mossé D (1997) Fault-tolerance through scheduling of aperiodic tasks in hard real-time multiprocessor systems. IEEE Trans Parallel Distrib Syst 8(3):272–284
Haque MA, Aydin H, Zhu D (2011) Energy-aware standby-sparing technique for periodic real-time applications. In: 2011 IEEE 29th International Conference on Computer Design (ICCD). IEEE, pp 190–197
Haque MA, Aydin H, Zhu D (2016) On reliability management of energy-aware real-time systems through task replication. IEEE Trans Parallel Distrib Syst 28(3):813–825
Kopetz H (2004) From a federated to an integrated architecture for dependable embedded systems. Technical report, DTIC Document
Krishna C (2014) Fault-tolerant scheduling in homogeneous real-time systems. ACM Comput Surv (CSUR) 46(4):48
Lawler EL, Labetoulle J (1978) On preemptive scheduling of unrelated parallel processors by linear programming. J ACM (JACM) 25(4):612–619
Levin G, Funk S, Sadowski C, Pye I, Brandt S (2010) DP-FAIR: a simple model for understanding optimal multiprocessor scheduling. In: 2010 22nd Euromicro Conference on Real-Time Systems, pp 3–13 . https://doi.org/10.1109/ECRTS.2010.34
Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard-real-time environment. J ACM (JACM) 20(1):46–61
Manimaran G, Murthy CSR (1998) A fault-tolerant dynamic scheduling algorithm for multiprocessor real-time systems and its analysis. IEEE Trans Parallel Distrib Syst 9(11):1137–1152
Moulik S, Devaraj R, Sarkar A (2018) Hetero-sched: a low-overhead heterogeneous multi-core scheduler for real-time periodic tasks. In: 2018 IEEE 20th International Conference on High Performance Computing and Communications; IEEE 16th International Conference on Smart City; IEEE 4th International Conference on Data Science and Systems (HPCC/SmartCity/DSS). IEEE, pp 659–666
Nair PP, Devaraj R, Sarkar A (2018) FEST: fault-tolerant energy-aware scheduling on two-core heterogeneous platform. In: 2018 8th International Symposium on Embedded Computing and System Design (ISED). IEEE, pp 63–68
Oh Y, Son SH (1992) An algorithm for real-time fault-tolerant scheduling in multiprocessor systems. In: Fourth Euromicro Workshop on Real-Time Systems. IEEE, pp 190–195
Pathan RM (2017) Real-time scheduling algorithm for safety-critical systems on faulty multicore environments. Real Time Syst 53(1):45–81
Raravi G, Andersson B, Nélis V, Bletsas K (2014) Task assignment algorithms for two-type heterogeneous multiprocessors. Real Time Syst 50(1):87–141
Raravi G, Nélis V (2014) Task assignment algorithms for heterogeneous multiprocessors. ACM Trans Embed Comput Syst (TECS) 13(5s):159
Zhang W, Hu Y, He H, Liu Y, Chen A (2019) Linear and dynamic programming algorithms for real-time task scheduling with task duplication. J Supercomput 75(2):494–509
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Devaraj, R. A solution to drawbacks in capturing execution requirements on heterogeneous platforms. J Supercomput 76, 6901–6916 (2020). https://doi.org/10.1007/s11227-020-03145-w
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03145-w