Abstract
In heterogeneous computing systems consisting of a multitude of autonomous computers, a mechanism that can harness the computing resources efficiently is essential to maximizing system performance. The general problem of mapping tasks onto machines is known to be NP-complete, as such, many good heuristics have been developed. However, the performance of most heuristics is susceptible to the dynamic environment, and affected by various system variables. Such susceptibility makes it difficult to choose an appropriate heuristic. Furthermore, an adaptable scheduler has been elusive to researchers. In this research, we show that using a support vector machine (SVM), an elegant meta-scheduler can be constructed which is capable of making heuristic selections dynamically and which adapts to the environment as well. To the best of our knowledge, this research is the first use of SVM to perform schedule selections in heterogeneous computing. We call the novel meta-scheduler, support vector scheduler (SVS). Once trained, the SVS can perform the schedule selections in O(n) complexity, where n is the number of tasks. Using simulations, we evaluated the effectiveness of SVS in making the best heuristic selection. We find that the average improvement of SVS over random selection is 29 %, and over worst selection is 49 %. Indeed, SVS is only 5 % worse than the theoretical best selection. Since SVS contains a structural generalization of the system, the heuristic selections are adaptive to the dynamic environment in terms of task heterogeneity and machine heterogeneity. Furthermore, our simulations show that the SVS is scalable with number of tasks as well as number of machines.
Similar content being viewed by others
References
Arbelaez A, Hamadi Y, Sebag M (2009) Online heuristic selection in constraint programming. In: Symposiumon of Combinatorial Search (SoCS)
Augonnet C, Clet-Ortega J, Thibault S, Namyst R (2010) Data-aware task scheduling on multi-accelerator based platforms. In: IEEE 16th International Conference on Parallel and Distributed Systems (ICPADS), pp 291–298
Benkner S, Pllana S, Traff JL, Tsigas P, Dolinsky U, Augonnet C, Bachmayer B, Kessler C, Moloney D, Osipov V (2011) Peppher: efficient and productive usage of hybrid computing systems. IEEE Micro 31(5):28–41
Braun TD, Siegel HJ, Beck N, Bni L, Maheswaran M, Reuther AI, Robertson JP, Theys MD, Yao B (1998) A taxonomy for describing matching and scheduling heuristics for mixed-machine heterogeneous computing systems. In: Symposium on Reliable Distributed Systems, pp 330–335
Burges CJ (1998) A tutorial on support vector machines for pattern recognition. Data Min Knowl Discov 2:121–167
Burke EK, Petrovic S, Qu R (2006) Case-based heuristic selection for timetabling problems. J Sched 9(2):115–132. doi:10.1007/s10951-006-6775-y
Chang C, Lin CJ (2013) Libsvm: a library for support vector machines. ACM Trans Intell Syst Technol 26(8):1–27. https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/multilabel
Cho SY, Park KH (1994) Dynamic task assignment in heterogeneous linear array networks for metacomputing. In: Proceedings of Heterogeneous Computing Workshop, pp 66–71. doi:10.1109/HCW.1994.324960
Freund, R, Gherrity M, Ambrosius S, Campbell M, Halderman M, Hensgen D, Keith E, Kidd T, Kussow M, Lima J, Mirabile F, Moore L, Rust B, Siegel H (1998) Scheduling resources in multi-user, heterogeneous, computing environments with smartnet. In: 7th IEEE Heterogeneous Computing Workshop (HCW ’98), pp 184–199. doi:10.1109/HCW.1998.666558
Uludag G, Etaner-Uyar AS, Kiraz B, Ozcan E (2012) Heuristic selection in a multi-phase hybrid approach for dynamic environments. In: 12th IEEE UK Workshop on Computational Intelligence
Hong B, Prasanna V (2004) Distributed adaptive task allocation in heterogeneous computing environments to maximize throughput. In: Proceedings of 18th Parallel and Distributed Processing Symposium, p 52. doi:10.1109/IPDPS.2004.1302974
Ibarra OH, Kim CE (1977) Heuristic algorithms for scheduling independent tasks on nonidentical processors. J ACM 24(2):280–289. doi:10.1145/322003.322011
Joachims T (1998) Text categorization with support vector machines: learning with many relevant features. In: Proceedings of the European Conference on Machine Learning. Springer, Heidelberg
Kennedy J, Eberhart R (1995) Particle swarm optimization. In: IEEE International Conference Proceedings on Neural Networks vol 4, pp 1942–1948
Kiraz B, Topcuoglu HR (2010) Hyper-heuristic approaches for the dynamic generalized assignment problems. In: 10th International Conference on Intelligent Systems Design and Applications, Cairo, pp 1487–1492
Li X, Guo Y (2013) Active learning with multi-label svm classification. In: Proceedings of the International Joint Conference on Artificial Intelligence
Linderman MD, Collins JD, Wang H, Meng TH (2008) Merge: a programming model for heterogeneous multi-core systems. In: Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems, pp 287–296
Liu YH, Huang HP, Lin YS (2005) Dynamic scheduling of flexible manufacturing system using support vector machines. In: IEEE International Conference on Automation Science and Engineering, pp 387–392. doi:10.1109/COASE.2005.1506800
Luk CK, Hong S, Kim H (2009) Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping. In: 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), pp 45–55
Maheswaran SAM, Siegel HJ, Hensgen DA, Freund RF (1999) Dynamic mapping of a class of independent tasks onto heterogeneous computing systems. J Parallel Distrib Comput 59:107–131
Page A, Naughton T (2005) Dynamic task scheduling using genetic algorithms for heterogeneous distributed computing. In: the Proceedings of 19th IEEE International Parallel and Distributed Processing Symposium, pp 189a–189a. doi:10.1109/IPDPS.2005.184
Park Y, Baskiyar S, Casey K (2010) A novel adaptive support vector machine based task scheduling. In: Proc. the 9th International Conference on Parallel and Distributed Computing and Networks (Austria)
Park YW (2011) Adaptive scheduling using support vector machine on heterogeneous distributed systems. Ph.D. thesis, Auburn University
Ravikumar CP, Vedi N (1995) Heuristic and neural algorithms for mapping tasks to a reconfigurable array. Microprocess Microprogr 41(2):137–151. doi:10.1016/0165-6074(95)00007-B
Taylor JS, Cristianini N (2004) Kernel methods for pattern analysis. Cambridge University Press, Cambridge
Vapnik V (1995) The nature of statistical learning theory. Springer, New York
Zhang M, Zhou Z (2013) A review on multi-label learning algorithms. IEEE Trans Knowl Data Eng 26(8):1819–1837
Acknowledgments
Part of this research was supported by National Science Foundation Grant # 0408136. The authors thank NSF for the support. We gratefully acknowledge the anonymous reviewers for their suggestions. We thank Jeff Nolen for running experiments to provide data for analyzing the complexity.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Park, Y., Baskiyar, S. Adaptive scheduling on heterogeneous systems using support vector machine. Computing 99, 405–425 (2017). https://doi.org/10.1007/s00607-016-0513-x
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-016-0513-x