A Review on Performance Evaluation of Multiprocessor Based System using Scheduling Algorithms and Simulation Tools

M. Sreenath*  P. A. Vijaya**
*-**Department of Electronics and Communication Engineering, BNMIT, Bangalore, Karnataka, India.

Abstract

The scheduling algorithm determines the process of execution by allocating the tasks to the available processors in a system. In an embedded system, real time control is essential for different applications like aircraft, manufacturing, information processing systems, etc. Multiprocessor based systems play a vital role to satisfy the real time performance constraints. In this aspect, different issues came to light when using scheduling algorithms for proper resource allocation and utilization. Many of the research scholars face difficulty in choosing the suitable platform for developing the new scheduling algorithms. For this concern, we acknowledge the performance parameters reviewed in the evaluation of multiprocessor based system using scheduling algorithms and simulation tools. Traditional real time scheduling algorithms are implemented using standard structure on suitable simulation tools for improved performance in terms of makespan, latency, flow time, utilization, success ratio, throughput and energy consumption. The main objective of this review is to find the optimum solution for multi-processor based system using scheduling algorithms in supported simulation tools.

Keywords:

Introduction

Embedded technology forms a humanless real time environment for getting efficient and effective results ( Strohbach et al., 2004). This environment supports closed loop system to get responses with high accuracy. The amalgamate of firmware and hardware defines the embedded system to perform a predefined task. The scheduling algorithm is a technique which determines how much time is allocated for threads and processes. Scheduler is a machine that organizes or maintains schedules. Real time scheduling algorithms are used for various applications and services (He et al., 2019). The main use of scheduling algorithms is to minimize the starvation and Non-deterministic Polynomial (NP) complete problems (Öztop et al., 2018). The scheduling algorithms are classified as static and dynamic. Dynamic scheduling algorithms are based on planning and best efforts. These algorithms are mainly utilized for the platform of multiprocessors to achieve better response than the normal conditions ( Abdelhafez et al., 2019). However, this platform provides optimum solutions to NP complete problem. The system performance can further be enhanced by selecting the appropriate scheduling algorithm ( Bhuiyan et al., 2018). Scheduling toolboxes are used to schedule the tasks on processors. Toolbox task parameters and optimization criterion offered appropriate resources for configuration and defines the scheduling problem using routines.

At any time, the energy consumption is dynamically managed by the Energy aware scheduling algorithm ( Zhang, 2019). In computing, multitasking is the hierarchy execution of various tasks over a span moment and hinders the execution of basic programming tasks ( Ji et al., 2019). This pre-emption technique works based on priority assigned to the tasks available in each segment by sharing common resources to all. In context switching, the current task address of the main program is saved in stack memory before it suspends temporarily the execution of main program when interrupt occurs. If more than one interrupt occurs at a time, interrupts are serviced by processor based on the priorities assigned to them. Remaining code of the main program will be executed by the processor after interrupt service routine program execution is done. This approach has been developed for multi core processors to cover all requirements like low power consumption, execution speed, tardiness task exemption, completion time, long battery life etc. Dynamic Power Management and Voltage Scaling techniques (DPM & DVS) are the two run-time techniques used to enhance the system performance and power consumption ( Bose et al., 2019; Chasapis et al., 2019; Qin et al., 2019). Nowadays, battery based system models are becoming a major important considerations in design. Amalgamate scheduling algorithms are used to allocate the processor time to available tasks in a system for minimizing the execution time of all tasks including tardy tasks etc ( Sreenath & Sukumar, 2013). This improves system's efficiency by calculating the relevant speed of resources, based on the time slots allocated with real time scheduling algorithms. The speed of processors or controllers is initially high and gradually decreases until the deadlines are met, which further helps in saving the power.

Actually, user expects low power consumption and high per formance from any type of system. Power consumption is a main design metric while using battery based systems and the performance of a system can be improved by utilizing the available processors or cores in a system effectively. However, on multicore or processors based system have some difficulties to satisfy the above parameters. If more energy is required to perform any task, it may degrade system performance. Energy consumption during execution of task depends on the number of processors and cores. Workload will be distributed to the available processors or cores in a system based on the types of tasks and precedence constraints. The behaviour of digital computer system is totally different from single processor based systems. The digital computer system requires work migration from one processor / center to another, once priority controls have been taken and communications between processors / cores have been established to share resources. These migrations may take several cycles compared to the single-processor based systems. Optimization and search problems like constrained and unconstrained may be solved using genetic algorithms ( Sahoo & Padhy, 2019).

1. NP-Complete

Programmers eventually faced NP-complete problems while executing the tasks with in a time. The time required to solve the problem increases as the size of the problem increases, which further helps to solve NP-complete problem. NP-complete problems refers "quickly", there is no possible way to find a solution quickly. The NPcomplete problem may be addressed by approximate and effective scheduling algorithms in polynomial time. Time constraint is the basic consideration while scheduling any type of tasks to achieve good performance by taking minimal computation time for tasks execution on multiprocessors. The NP-complete primarily focuses on the tasks flow of execution on multiprocessors / cores by providing interaction directly or indirectly between the tasks with algorithms and NP has drawback while programming the tasks on a digital computer system. Genetic algorithm overcomes the drawback by scheduling the additional tasks with viably and effectively giving high total throughput. The main aim of using scheduling algorithms is to execute the tasks within allocated time, it indicates that all tasks will execute within deadline. These steps will help for executing the tasks with minimal time period and minimizing the power consumption of the system on multiprocessors.

2. Literature Survey

Various scheduling algorithms reported in existing literature are summarized in Table 1.

Table 1. Summarized Report on Scheduling Algorithms

From the Table 1, different approaches for allocation of tasks, scheduling the tasks by fixed or dynamic approaches and reducing the energy consumption using simulators can be examined. The specific list scheduling algorithm allocates the specific tasks to the available processors, which increases the run time speed and improves the performance compared to existing techniques. Various scheduling algorithm simulators are reported in Table 2.

Table 2. Summarized Report on Scheduling Algorithm Simulators

3. Discussion

The scheduling algorithm determines the performance of the system by allocating tasks to available processors. Multiprocessor supported embedded systems provide the improved results in terms of real time scenario by real time control for real time applications. We found that many of the research scholars, academicians and students of under & post graduation are initially facing the difficulty while selecting the simulation tool and doing the research on scheduling algorithms. A suitable platform is essential for developing the new scheduling algorithms with the help of existed algorithms to some extent. Traditional real time scheduling algorithms are implemented using standard structure on suitable simulation tools for improved performance in terms of makespan, latency, flow time, utilization, success ratio, throughput and energy consumption. For this concern, we are focused and found that different objectives taken and the satisfied results are obtained in the different articles. We were planned to segregate all the data related to scheduling algorithms and simulation tools for reducing the complexity of selecting simulation tool along with the awareness of existed scheduling algorithms. This article will help to some extent for the new to do research. The main objective of this review is to find the optimum solution on multi-processor based system using scheduling algorithms in supported simulation tools.

Conclusion

This literature survey used for implementing the novel scheduling algorithms by amalgamate or modify the algorithms as per requirements with the help of existed scheduling algorithms and simulation tools. Finally, it executes the tasks faster and enhances the performance of a system by assigning time slots to available processors for the execution of tasks within a stipulated time period.

References

[1]. Abdelhafez, A., Alba, E., & Luque, G. (2019). Performance analysis of synchronous and asynchronous distributed genetic algorithms on multiprocessors. Swarm and Evolutionary Computation, 49, 147-157. https://doi. org/10.1016/j.swevo.2019.06.003
[2]. Albers, S., Bampis, E., Letsios, D., Lucarelli, G., & Stotz, R. (2017). Scheduling on power-heterogeneous processors. Information and Computation, 257, 22-33. https://doi.org/10.1016/j.ic.2017.09.013
[3]. Audsley, N. C., Burns, A., Richardson, M. F., & Wellings, A. J. (1994). STRESS: A simulator for hard real‐time systems. Software: Practice and Experience, 24(6), 543-564. https://doi.org/10.1002/spe.4380240603
[4]. Baek, H., Lee, J., & Shin, I. (2018). Multi-level contention-free policy for real-time multiprocessor scheduling. Journal of Systems and Software, 137, 36-49. https://doi.org/10.1016/j.jss.2017.11.027
[5]. Bhuiyan, A., Guo, Z., Saifullah, A., Guan, N., & Xiong, H. (2018). Energy-efficient real-time scheduling of DAG tasks. ACM Transactions on Embedded Computing Systems (TECS), 17(5), 1-25. https://doi.org/10.1145/3241049
[6]. Blumenthal, J., Hildebrandt, J., Golatowski, F., & Timmermann, D. (2003). YASA-A Framework for Validation, Test, and Analysis of Real-Time Scheduling Algorithms. In Proceedings of 5th Real-Time Linux Workshop (pp. 197-204).
[7]. Bose, A., Biswas, T., & Kuila, P. (2019). A novel genetic algorithm based scheduling for multi-core systems. In Smart Innovations in Communication and Computational Sciences (pp. 45-54). Springer, Singapore. https://doi.org/ 10.1007/978-981-13-2414-7_5
[8]. Chandarli, Y., Fauberteau, F., Masson, D., Midonnet, S., & Qamhieh, M. (2012, July). Yartiss: A tool to visualize, test, compare and evaluate real-time scheduling rd algorithms. Proceedings of the 3rd International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems, Pisa (Italy).
[9]. Chasapis, D., Moretó, M., Schulz, M., Rountree, B., Valero, M., & Casas, M. (2019, June). Power efficient job scheduling by predicting the impact of processor manufacturing variability. In Proceedings of the ACM International Conference on Supercomputing (pp. 296- 307). https://doi.org/10.1145/3330345.3330372
[10]. Chéramy, M., Hladik, P. E., & Déplanche, A. M. (2014, July). 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. 1-6).
[11]. Courbin, P., & George, L. (2011). Fortas: Framework for real-time analysis and simulation. Proceedings of the 2nd International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (pp. 21-26).
[12]. De Vroey, S., Goossens, J., & Hernalsteen, C. (1996, April). A generic simulator of real-time scheduling algorithms. In Proceedings of the 29th Annual Simulation Symposium (pp. 242-249). IEEE. https://doi.org/10.1109/ SIMSYM.1996.492172
[13]. Diaz, A., Batista, R., & Castro, O. (2007, September). Realtss: a real-time scheduling simulator. In 2007, 4th International Conference on Electrical and Electronics Engineering (pp. 165-168). IEEE. https://doi.org/10.11 09/ICEEE.2007.4344998
[14]. Díaz-Ramírez, A., Orduño, D. K., & Mejía-Alvarez, P. (2012, February). A multiprocessor real-time scheduling simulation tool. In CONIELECOMP 2012, 22nd International Conference on Electrical Communications and Computers (pp. 157-161). IEEE. https://doi.org/10.1109/ CONIELECOMP.2012.6189901
[15]. Edun, A., Vazquez, R., Gordon-Ross, A., & Stitt, G. (2019, March). Dynamic scheduling on heterogeneous multicores. In 2019, Design, Automation & Test in Europe Conference & Exhibition (DATE) (pp. 1685-1690). IEEE. https://doi.org/10.23919/DATE.2019.8714804
[16]. Hangan, A., & Sebestyen, G. (2012, July). RTMultiSim: A versatile simulator for multiprocessor real time systems. In Proceedings of the 3rd International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems, Pisa, Italy.
[17]. Harbour, M. G., García, J. G., Gutiérrez, J. P., & Moyano, J. D. (2001, June). Mast: Modeling and analysis suite for real time applications. In Proceedings 13th Euromicro Conference on Real-Time Systems (pp. 125- 134). IEEE.
[18]. He, Q., Guan, N., & Guo, Z. (2019). Intra-task priority assignment in real-time scheduling of dag tasks on multicores. IEEE Transactions on Parallel and Distributed Systems, 30(10), 2283-2295. https://doi.org/10.1080/00 207543.2018.1497312
[19]. Jakovljevic, G., Rakamaric, Z., & Babic, D. (2002, June). Java simulator of real-time scheduling algorithms. In ITI 2002 Proceedings of the 24th International Conference on Information Technology Interfaces (pp. 411-416). IEEE. https://doi.org/10.1109/ITI.2002.1024708
[20]. Ji, M., Zhang, W., Liao, L., Cheng, T. C. E., & Tan, Y. (2019). Multitasking parallel-machine scheduling with machine-dependent slack due-window assignment. International Journal of Production Research, 57(6), 1667-1684.
[21]. Jin, S., Schiavone, G., & Turgut, D. (2008). A performance study of multiprocessor task scheduling algorithms. The Journal of Supercomputing, 43(1), 77-97. https://doi.org/10.1007/s11227-007-0139-z
[22]. Juarez, F., Ejarque, J., & Badia, R. M. (2018). Dynamic energy-aware scheduling for parallel taskbased application in cloud computing. Future Generation Computer Systems, 78, 257-271. https://doi. org/10.1016/j.future.2016.06.029
[23]. Khalib, Z., Ahmad, B., & Bi, O. (2012, September). Performance analysis of a non-preemptive dynamic soft real time scheduler using discrete event simulator. In 2012 Fourth International Conference on Computational Intelligence, Modelling and Simulation (pp. 182-187). IEEE. https://doi.org/10.1109/CIMSim.2012.19
[24]. Leupers, R., Aguilar, M. A., Castrillon, J., & Sheng, W. (2019). Software compilation techniques for heterogeneous embedded multi-core systems. In Handbook of Signal Processing Systems (pp. 1021-1062). Springer, Cham. https://doi.org/10.1007/978-3-319-9173 4-4_28
[25]. Manacero, A., Miola, M. B., & Nabuco, V. A. (2001, October). Teaching real-time with a scheduler simulator. In 31st Annual Frontiers in Education Conference (Vol. 2, pp. T4D15-T4D19. IEEE. https://doi.org/10.1109/FIE.2001.9 63651
[26]. Nikolic, B., Awan, M. A., & Petters, S. M. (2011, November). SPARTS: Simulator for power aware and real time systems. In 2011, IEEE 10th International Conference on Trust, Security and Privacy in Computing and Communications (pp. 999-1004). IEEE. https://doi.org/ 10.1109/TrustCom.2011.137
[27]. Öztop, H., Tasgetiren, M. F., Eliiyi, D. T., & Pan, Q. K. (2018, August). Green permutation flowshop scheduling: A trade-off-between energy consumption and total flow time. In International Conference on Intelligent Computing (pp. 753-759). Springer, Cham. https://doi. org/10.1007/978-3-319-95957-3_79
[28]. Pillai, A. S., & Isha, T. B. (2013, December). ERTSim: An embedded real-time task simulator for scheduling. In 2013, IEEE International Conference on Computational Intelligence and Computing Research (pp. 1-4). IEEE. https://doi.org/10.1109/ICCIC.2013.6724195
[29]. Pillai, A. S., & Isha, T. B. (2014, March). Optimal task allocation and scheduling for power saving in multiprocessor systems. In 2014, Power and Energy Systems: Towards Sustainable Energy (pp. 1-5). IEEE. https://doi.org/10.1109/PESTSE.2014.6805324
[30]. Qin, Y., Zeng, G., Kurachi, R., Li, Y., Matsubara, Y., & Takada, H. (2019). Energy-efficient intra-task dvfs scheduling using linear programming formulation. IEEE Access, 7, 30536-30547. https://doi.org/10.1109/ACCESS .2019.2902353
[31]. Reddy, M. S., Ratnam, C., Rajyalakshmi, G., & Manupati, V. K. (2018). An effective hybrid multi objective evolutionary algorithm for solving real time event in flexible job shop scheduling problem. Measurement, 114, 78-90. https://doi.org/10.1016/j.measurement. 2017.09.022
[32]. Rivas Concepción, J. M., Gutiérrez García, J. J., & González Harbour, M. (2014). GEN4MAST: A tool for the evaluation of real-time techniques using a supercomputer. In Proceedings of 3rd International Workshop on Real Time and Distributed Computing in Emerging Applications Co-located with 34th IEEE Real Time Systems Symposium (pp. 41-47).
[33]. Sahoo, R. M., & Padhy, S. K. (2019, August). Improved crow search optimization for multiprocessor task scheduling: A novel approach. In International Conference on Application of Robotics in Industry using Advanced Mechanisms (pp. 1-13). Springer, Cham. https://doi.org/10.1007/978-3-030-30271-9_1
[34]. Salimi, S., Mawlana, M., & Hammad, A. (2018). Performance analysis of simulation-based optimization of construction projects using high per formance computing. Automation in Construction, 87, 158-172. https://doi.org/10.1016/j.autcon.2017.12.003
[35]. Sensini, F., Buttazzo, G., & Ancilotti, P. (1997, June). Ghost: A tool for simulation and analysis of real-time scheduling algorithms. In Proceedings of the IEEE Real- Time Educational Workshop (pp. 42-49). https://doi.org/10. 1109/EMRTS.2001.934015
[36]. Shin, D., Kim, W., Jeon, J., Kim, J., & Min, S. L. (2002, February). SimDVS: An integrated simulation environment for performance evaluation of dynamic voltage scaling algorithms. In International Workshop on Power-Aware Computer Systems (pp. 141-156). Springer: Berlin, Heidelberg. https://doi.org/10.1007/3-540-36612-1_10
[37]. Short, M. (2017). Timing analysis for embedded systems using non-preemptive EDF scheduling under bounded error arrivals. Applied Computing and Informatics, 13(2), 130-139. https://doi.org/10.1016/j.acI. 2016.07.001
[38]. Singhoff, F., Legrand, J., Nana, L., & Marcé, L. (2004, November). Cheddar: A flexible real time scheduling framework. In Proceedings of the 2004 Annual ACM SIGAda International Conference on Ada: The engineering of correct and reliable software for real-time & distributed systems using Ada and related technologies (pp. 1-8). https://doi.org/10.1145/1032297.1032298
[39]. Sreenath, M., & Sukumar, P. (2013). Amalgamate scheduling of real-time tasks and effective utilization on multiprocessors with work-stealing. The International Journal of Engineering and Science (IJES), 2(1), 293-298.
[40]. Strohbach, M., Gellersen, H. W., Kortuem, G., & Kray, C. (2004, September). Cooperative artefacts: Assessing real world situations with embedded technology. In International Conference on Ubiquitous Computing (pp. 250-267). Springer: Berlin, Heidelberg. https://doi.org/10. 1007/978-3-540-30119-6_15
[41]. Sucha, P., Kutil, M., Sojka, M., & Hanzálek, Z. (2006, October). Torsche scheduling toolbox for matlab. In 2006, IEEE Conference on Computer Aided Control System Design, (pp. 1181-1186). IEEE. https://doi.org/101109/ CACSD-CCA-ISIC.2006.4776810
[42]. T'kindt, V., & Billaut, J. C. (2002). Introduction to scheduling. In Multicriteria Scheduling (pp. 5-27). Springer: Berlin, Heidelberg.
[43]. Rupanetti, D., & Salamy, H. (2019). Task allocation, migration and scheduling for energy-efficient real-time multiprocessor architectures. Journal of Systems Architecture, 98, 17-26. https://doi.org/10.1016/j.sysarc. 2019.06.003
[44]. Urunuela, R., Déplanche, A. M., & Trinquet, Y. (2010, September). Storm a simulation tool for real-time multiprocessor scheduling evaluation. In 2010, IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010) (pp. 1-8). IEEE. https://doi.org/10. 1109/ETFA.2010.5641179
[45]. Wang, Z., Ranka, S., & Mishra, P. (2012, January). Temperature-aware task partitioning for real-time scheduling in embedded systems. In 2012, 25th International Conference on VLSI Design (pp. 161-166). IEEE. https://doi.org/10.1109/VLSID.2012.64
[46]. Xu, M., Phan, L. T. X., Choi, H. Y., & Lee, I. (2016, April). Analysis and implementation of global preemptive fixedpriority scheduling with dynamic cache allocation. In 2016, IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS) (pp. 1-12). IEEE. https:// doi.org/10.1109/RTAS.2016.7461322
[47]. Yun, Y., Hwang, E. J., & Kim, Y. H. (2019). Adaptive genetic algorithm for energy-efficient task scheduling on asymmetric multiprocessor system-on-chip. Microprocessors and Microsystems, 66, 19-30. https:// doi.org/10.1016/j.micpro.2019.01.011
[48]. Zhang, Y. W. (2019). Energy-aware mixed partitioning scheduling in standby-sparing systems. Computer Standards & Interfaces, 61, 129-136. https://doi.org/10. 1016/j.csi.2018.06.004
[49]. Zhou, J., Yan, J., Cao, K., Tan, Y., Wei, T., Chen, M., Zhang., G., Chen, X., & Hu, S. (2018). Thermal-aware correlated two-level scheduling of real-time tasks with reduced processor energy on heterogeneous MPSoCs. Journal of Systems Architecture, 82, 1-11. https://doi.org/ 10.1016/j.sysarc.2017.09.007