Abstract
The key challenge of scheduling in multi-core systems is to map highly irregular processes that require the inspection of thread behavior and efficiency of multi-core systems. The motive is to schedule multiple tasks on multiple cores. In this paper, a novel scheduling technique is proposed that works on execution technique for tree type tasks structures that are mapped on different multi-core systems designed using different multiprocessor systems. In particular, the performance is evaluated by applying the proposed technique to a particular class of multiprocessor system known as hybrid multiprocessor systems that are used as basic building blocks of a multi-core system. The scheduling algorithm is applied by dividing tasks in terms of computation efficiency of these systems. The key novelty of the proposed method is that tasks which are executed partially may be migrated on systems which are under-loaded and having good efficiency. In other words, the scheduling of tasks to cores must be automated to adapt to the changing program behavior and current load on the system. Before migration of remaining tasks, the efficiency of core on such systems is evaluated. A comparative study is carried out by applying other standard scheduling algorithms on the same multi-core systems. Simulation results show that the proposed algorithm gives better performance while executing tasks on various multi-core systems having different computational efficiency. In particular, the load imbalance is improved by 20–30% and execution time is reduced by 35–55% as compared to traditional algorithms. Further, we show that in many cases, our approach is able to deliver better performance by combining it with classical scheduling algorithms.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Owens, J.D., M. Houston, D. Luebke, S. Green, J.E. Stone, and J.C., Phillips. 2008. GPU computing, In IEEE proceedings, 879–899.
Aleem, M., R. Prodan, and T. Fahringer. 2011. Scheduling java symphony applications on many-core parallel computers. In Euro-Par 2011 parallel processing, 167–179. Springer.
Lösch, A., T. Beisel, T. Kenter, C. Plessl, and M. Platzner. 2016. Performance-centric scheduling with task migration for a heterogeneous compute node in the data center. In Proceedings of the 2016 conference on design, automation and test in Europe. EDA consortium, 912–917.
Wen, Y., Z. Wang, and M.E.P. O’boyle. 2014. Smart multi-task scheduling for OpenCL programs on CPU/GPU heterogeneous platforms. In 2014 21st International conference on high performance computing (HiPC). IEEE, 1–10.
Wen, Y., and M.F. O’Boyle. 2017. Merge or separate multi-job scheduling for OpenCL kernels on CPU/GPU platforms. In Proceedings of the general purpose GPUs, 22–31. ACM. https://doi.org/10.1145/3038228.3038235.
Khalid, Y.N., M. Aleem, R. Prodan, et al. 2018. E-OSched: a load balancing scheduler for heterogeneous multicores. Journal of Supercomputing 74: 5399. https://doi.org/10.1007/s11227-018-2435-1.
Prasad, N., P. Mukkherjee, S. Chattopadhyay, and I. Chakrabarti. 2008. Design and evaluation of ZMesh topology for on-chip interconnection networks. Journal of Parallel and Distributed Computing, 17–36.
Grewe, D., and M.F. O’Boyle. 2011. A static task partitioning approach for heterogeneous systems using OpenCL. In International conference on compiler construction, 286–305. Springer.
Ghose, A., S. Dey, P. Mitra, and M. Chaudhuri. 2016. Divergence aware automated partitioning of OpenCL workloads. In: Proceedings of the 9th India software engineering conference, 131–135. ACM. https://doi.org/10.1145/2856636.2856639.
Albayrak, O.E., I. Akturk, O. Ozturk. 2012. Effective kernel mapping for OpenCL applications in heterogeneous platforms. In Proceedings of international conference on parallel processing work, 81–88. https://doi.org/10.1109/ICPPW.2012.14.
Belviranli, M.E., L.N. Bhuyan, and R. Gupta. 2013. A dynamic self-scheduling scheme for heterogeneous multiprocessor architectures. ACM Transaction on Architecture Code Optimization 9: 1–20. https://doi.org/10.1145/2400682.2400716.
Boyer, M., K. Skadron, S. Che, and N. Jayasena. 2013. Load balancing in a changing world: dealing with heterogeneous and performance variability. In Proceedings of ACM international conference on computing frontiers, 21.
Samad, A., M.Q. Rafiq, and O. Farooq. 2012. Two round scheduling (TRS) scheme for linearly extensible multiprocessor systems. International Journal of Computer Applications 38 (10): 34–40.
Khan, Z.A., J. Siddiqui, and A. Samad. 2016. Properties and Performance of Cube-based Multiprocessor Architectures. International Journal of Applied Evolutionary Computation (IJCNIS) 7 (1): 67–82.
Mohammad, S.B., and I. Ababneh. 2018. Improving system performance in non-contiguous processor allocation for mesh interconnection networks. Journal of Simulation Modeling and Practice, 80, 19–31.
Manju, K., K. Raghvendra, N.D. Le., and M.C. Jyotir. 2017. Interconnect network on chip topology in multi-core processors: a comparative study. International Journal of Computer Network and Information Security, 11, 52–62.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Gautam, S., Samad, A. (2020). Workload Aware Dynamic Scheduling Algorithm for Multi-core Systems. In: Hu, YC., Tiwari, S., Trivedi, M., Mishra, K. (eds) Ambient Communications and Computer Systems. Advances in Intelligent Systems and Computing, vol 1097. Springer, Singapore. https://doi.org/10.1007/978-981-15-1518-7_14
Download citation
DOI: https://doi.org/10.1007/978-981-15-1518-7_14
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-15-1517-0
Online ISBN: 978-981-15-1518-7
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)