Improving Scheduling Decisions by Using Knowledge About Parallel Applications Resource Usage

This paper presents a process scheduling algorithm that uses information about the capacity of the processing elements over the communication network and parallel applications in order to allocate resources on heterogeneous and distributed environments. The information about the applications is composed by the resources usage behavior (percentage values related to CPU’s utilization, network send and network receive) and by the prediction of the execution time of tasks that make up a parallel distribution. The knowledge about the resources usage is obtained by means of the Art2A self-organizing artificial neural network and by a specific labeling algorithm; the knowledge about the execution time is obtained through the learning techniques based on instances. The knowledge about the application execution features, combined with the information about the computing capacity of the resources available in the environment, are used as an entry to improve the decisions of the proposed scheduling algorithm. Such algorithm uses genetic algorithm techniques to find out the most appropriate computing resources subset to support the applications. The proposed algorithm is evaluated through simulation by using a model parameterized with the features obtained from a real distributed scenario. The results obtained by the evaluation show that the scheduling that uses the genetic search allows a better allocation of computing resources on environments composed of tens of computers on which the parallel applications are composed by tens of tasks.

[1]  Laurence T. Yang,et al.  An On‐Line Approach for Classifying and Extracting Application Behavior on Linux , 2006 .

[2]  Luciano José Senger,et al.  A new migration model based on the evaluation of processes load and lifetime on heterogeneous computing environments , 2004 .

[3]  Dror G. Feitelson,et al.  Metrics for Parallel Job Scheduling and Their Convergence , 2001, JSSPP.

[4]  David W. Aha,et al.  Instance-Based Learning Algorithms , 1991, Machine Learning.

[5]  Laurence T. Yang,et al.  Comparative study of the server-initiated lowest algorithm using a load balancing index based on the process behavior for heterogeneous environment , 2006, Cluster Computing.

[6]  Marcos José Santana,et al.  Using Runtime Measurements and Historical Traces for Acquiring Knowledge in Parallel Applications , 2004, International Conference on Computational Science.

[7]  Richard Gibbons,et al.  A Historical Application Profiler for Use by Parallel Schedulers , 1997, JSSPP.

[8]  Domenico Ferrari,et al.  An Experimental Study of Load Balancing Performance , 1987 .

[9]  David E. Culler,et al.  A case for NOW (networks of workstation) , 1995, PODC '95.

[10]  Rodrigo Fernandes de Mello,et al.  Proposal and performance evaluation of a load balancing algorithm for heterogeneous scalable distributed environments (Proposta e avaliação de desempenho de um algoritmo de balanceamento de carga para ambientes distribuídos heterogêneos escaláveis) , 2003 .

[11]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[12]  Larry Rudolph,et al.  Job Scheduling Strategies for Parallel Processing: 7th International Workshop, JSSPP 2001, Cambridge, MA, USA, June 16, 2001, Revised Papers , 2001 .

[13]  Tim Brecht,et al.  Using Parallel Program Characteristics in Dynamic Processor Allocation Policies , 1996, Perform. Evaluation.

[14]  David A. McAllester The rise of nonlinear mathematical programming , 1996, CSUR.

[15]  Michael J. Flynn,et al.  Parallel architectures , 1996, CSUR.

[16]  Kenneth C. Sevcik Characterizations of parallelism in applications and their use in scheduling , 1989, SIGMETRICS '89.

[17]  Minyi Guo,et al.  High-Performance Computing : Paradigm and Infrastructure , 2005 .

[18]  Mark S. Squillante,et al.  Processor Allocation in Multiprogrammed Distributed-Memory Parallel Computer Systems , 1997, J. Parallel Distributed Comput..

[19]  Andrea C. Arpaci-Dusseau,et al.  Implicit coscheduling: coordinated scheduling with implicit information in distributed systems , 2001, TOCS.

[20]  Warren Smith,et al.  Predicting Application Run Times Using Historical Information , 1998, JSSPP.

[21]  Dror G. Feitelson,et al.  Utilization, Predictability, Workloads, and User Runtime Estimates in Scheduling the IBM SP2 with Backfilling , 2001, IEEE Trans. Parallel Distributed Syst..

[22]  Stephen Gilmore,et al.  Evaluating the Performance of Skeleton-Based High Level Parallel Programs , 2004, International Conference on Computational Science.