Improving Scheduling Techniques in Heterogeneous Systems with Dynamic, On-Line Optimisations

Computational performance increasingly depends on parallelism, and many systems rely on heterogeneous resources such as GPUs and FPGAs to accelerate computationally intensive applications. However, implementations for such heterogeneous systems are often hand-crafted and optimised to one computation scenario, and it can be challenging to maintain high performance when application parameters change. In this paper, we demonstrate that machine learning can help to dynamically choose parameters for task scheduling and load-balancing based on changing characteristics of the incoming workload. We use a financial option pricing application as a case study. We propose a simulation of processing financial tasks on a heterogeneous system with GPUs and FPGAs, and show how dynamic, on-line optimisations could improve such a system. We compare on-line and batch processing algorithms, and we also consider cases with no dynamic optimisations.

[1]  Howard Jay Siegel,et al.  Task execution time modeling for heterogeneous computing systems , 2000, Proceedings 9th Heterogeneous Computing Workshop (HCW 2000) (Cat. No.PR00556).

[2]  Fatos Xhafa,et al.  Batch mode scheduling in grid systems , 2007, Int. J. Web Grid Serv..

[3]  Wayne Luk,et al.  Dynamic scheduling Monte-Carlo framework for multi-accelerator heterogeneous clusters , 2010, 2010 International Conference on Field-Programmable Technology.

[4]  Wayne Luk,et al.  Efficient reconfigurable design for pricing asian options , 2010, CARN.

[5]  Alberto Gómez,et al.  A review of machine learning in dynamic scheduling of flexible manufacturing systems , 2001, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[6]  Chunyan Miao,et al.  ELM-Based Intelligent Resource Selection for Grid Scheduling , 2009, 2009 International Conference on Machine Learning and Applications.

[7]  Fatos Xhafa,et al.  A Game-Theoretic and Hybrid Genetic Meta-Heuristics Model for Security-Assured Scheduling of Independent Jobs in Computational Grids , 2010, 2010 International Conference on Complex, Intelligent and Software Intensive Systems.

[8]  Bostjan Slivnik,et al.  Improving Job Scheduling in GRID Environments with Use of Simple Machine Learning Methods , 2009, 2009 Sixth International Conference on Information Technology: New Generations.

[9]  Fatos Xhafa,et al.  Computational models and heuristic methods for Grid scheduling problems , 2010, Future Gener. Comput. Syst..

[10]  Wayne Luk,et al.  FPGA Designs with Optimized Logarithmic Arithmetic , 2010, IEEE Transactions on Computers.

[11]  Fatos Xhafa,et al.  Hierarchic Genetic Scheduler Of Independent Jobs In Computational Grid Environment , 2009, ECMS.

[12]  Anjali Mahajan,et al.  Instruction scheduling using evolutionary programming , 2008 .

[13]  Siddhartha Bhattacharyya,et al.  A review of machine learning in scheduling , 1994 .

[14]  Fatos Xhafa,et al.  Requirements for an Event-Based Simulation Package for Grid Systems , 2007, J. Interconnect. Networks.

[15]  Fatos Xhafa,et al.  Tuning Struggle Strategy in Genetic Algorithms for Scheduling in Computational Grids , 2008, 2008 7th Computer Information Systems and Industrial Management Applications.

[16]  Fatos Xhafa,et al.  An Experimental Study on Genetic Algorithms for Resource Allocation on Grid Systems , 2007, J. Interconnect. Networks.

[17]  Zbigniew Michalewicz,et al.  Genetic Algorithms + Data Structures = Evolution Programs , 1996, Springer Berlin Heidelberg.