Workload Aware Dynamic Scheduling Algorithm for Multi-core Systems
- 24 Downloads
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.
KeywordsMulti-core systems Scheduling algorithm Computational capability Load imbalance Execution time Performance parameter Multiprocessor interconnection networks Packet size
- 1.Owens, J.D., M. Houston, D. Luebke, S. Green, J.E. Stone, and J.C., Phillips. 2008. GPU computing, In IEEE proceedings, 879–899.Google Scholar
- 2.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.Google Scholar
- 3.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.Google Scholar
- 4.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.Google Scholar
- 5.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.
- 6.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.
- 7.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.Google Scholar
- 8.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.Google Scholar
- 9.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.
- 10.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.
- 12.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.Google Scholar
- 14.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.Google Scholar
- 15.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.Google Scholar
- 16.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.Google Scholar