An Integrated Approach for Scheduling Divisible Load ... - Springer Link

7 downloads 22568 Views 538KB Size Report
Faculty of Computer Science and Information Technology. University Putra ... scheduling decisions involving allocating jobs to resources over multiple adminis-.
An Integrated Approach for Scheduling Divisible Load on Large Scale Data Grids M. Abdullah, M. Othman, H. Ibrahim, and S. Subramaniam Department of Communication Technology and Network, Faculty of Computer Science and Information Technology University Putra Malaysia, 43400 UPM Serdang, Selangor D.E., Malaysia [email protected], [email protected]

Abstract. In many data grid applications, data can be decomposed into multiple independent sub datasets and distributed for parallel execution and analysis. This property has been successfully exploited for scheduling divisible load on large scale data grids by Genetic Algorithm (GA). However, the main disadvantages of this approach are its large choromosome length and execution time required. In this paper, we concentrated on developing an Adaptive GA (AGA) approach by improving the choromosome representation and the initial population. A new chromosome representation scheme that reduces the chromosome length is proposed. The main idea of AGA approach is to integrate an Adaptive Divisible Load Theory (ADLT) model in GA to generate a good initial population in a minimal time. Experimental results show that the proposed AGA approach obtains better performance than Standard GA (SGA) approach in both total completion time and execution time required. Keywords: Scheduling, Divisible Load Theory, Data Grid.

1

Introduction

In data grid environments, many large-scale scientific experiments and simulations generate very large amounts of data in the distributed storages, spanning thousands of files and data sets [1]. Scheduling an application in such environments is significantly complicated and challenging because of the heterogeneous nature of a Grid system. Grid scheduling is defined as the process of making scheduling decisions involving allocating jobs to resources over multiple administrative domains [9]. Most of the scheduling strategies try to reduce the makespan or the Minimum Completion Time (MCT) of the task which is defined as the difference between the time when the job was submitted to a computational resource and the time it completed. Makespan also includes the time taken to transfer the data to the point of computation if that is allowed by the scheduling strategy [13]. Chameleon [3] is a scheduler for data grid environments that takes into account the computational load of transferring the data and executables to the point of computation. Also, Ray and Zhang [4] proposed a centralized scheduling scheme, O. Gervasi and M. Gavrilova (Eds.): ICCSA 2007, LNCS 4705, Part I, pp. 748–757, 2007. c Springer-Verlag Berlin Heidelberg 2007 

An Integrated Approach for Scheduling Divisible Load

749

which uses a scheduling heuristic called Maximum Residual Resource (MRR) that targets high throughput for data grid applications. They take into account both job completion time and processing power available at a site to guide the scheduling process. However most of these studies do not reflect a characteristic typical in many data intensive applications, that data can be decomposed into multiple independent sub datasets and distributed for parallel execution and analysis. High Energy Physics (HEP) experiments fall into this category [8]. HEP data are characterized by independent events, and therefore this characteristic can be exploited when parallelizing the analysis of data across multiple sites. An example of this direction is the work by Wong et al., [5] where the DLT is applied to model the Grid scheduling problem involving multiple sources to multiple sinks, and the DLT has emerged as a powerful tool for modeling data-intensive computational problems incorporating communication and computations issues. A very directly relevant material to the problem addressed in this paper is in [6][12] where GA based scheduler and ADLT model are proposed for decomposable data grid applications. GA is useful for optimization problems. It has been applied to many scheduling problems [7] which are, in general, NP-complete [7]. [6] stated that the scheduler targets an application model wherein a large dataset is split into multiple smaller datasets. These are then processed in parallel on multiple virtual sites, where a virtual site is considered to be a collection of computing resources and data servers. ADLT model is also proposed considering communication time [12] and, it provides a step-wise scheduling algorithm that will be used in our research for generating the initial population of AGA approach. The work described here exploits AGA approach for scheduling divisible data in data grid. The main contribution of this paper is the successful chromosome representation and generation of the feasible initial population by using ADLT model. The proposed approach significantly reduces the chromosome length, and consequently enhances the performance of AGA in terms of both makespan and execution time. The rest of the paper is organized as follows. Section 2 gives the outline of the scheduling model. A short discussion over the GA is made, followed by GA-based is presented in Section 3 and 4, respectively. In Section 5, our proposed model will be discussed. In Section 6, we present the experimental results. Finally, the conclusion and future work are drawn in the last section.

2

Scheduling Model

The target data intensive applications model can be decomposed into multiple independent sub tasks and executed in parallel across multiple sites without any interaction among sub tasks [6]. Lets consider job decomposition by decomposing input data objects into multiple smaller data objects of arbitrary size and processing them on multiple virtual sites. For example in theory, the High Energy Physic(HEP) jobs are arbitrarily divisible at event granularity and intermediate data product processing granularity [1]. Assume that a job requires a very

750

M. Abdullah et al.

large logical input data set D consists of N physical datasets and each physical dataset (of size Lk ) resides at a data source (DSk , for all k = 1, 2, . . . , N ) of a particular site. Fig. 1 shows how D is decomposed onto networks and their computing resources.

Fig. 1. Data Decomposition and their processing

The scheduling problem is to decompose D into datasets (Di for all i = 1, 2, . . . , M ) across M virtual sites in a Virtual Organization (VO) given its initial physical decomposition. Again, we assume that the decomposed data can be analyzed on any site. The notations and cost model are discussed in sections 2.1 and 2.2, respectively. 2.1

Notations and Definitions

We shall now introduce an index of definitions and notations that are used throughput this paper as shown in Table 1. 2.2

Cost Model

The execution time cost (Ti ) of a sub task allocated to the site i and the turn around time (TT urn Around T ime ) of a job J can be expressed as follows: Ti = Tinput

cm (i)

+ Tcp (i) + Toutput

cm (i, d)

and TT urn

M

Around T ime

= max{Ti }, i=1

An Integrated Approach for Scheduling Divisible Load

751

Table 1. Notations and Definitions M N Li Lij L αij αj wj Zij Tcp Ti

The The The The The The The The The The The

total number of nodes in the system total number of data files in the system loads in data file i loads that node j will receive from data file i  sum of loads in the system, where L = N i=1 Li amount of load that node j will receive from data file i fraction of L that node j will receive from all data files inverse of the computing speed of node j link between node i and data source j computing intensity constant processing time in node i

respectively. The input data transfer (Tinput cm (i)), computation (Tcp (i)), and output data transfer to the client at the destination site d (Toutput cm (i, d)) are 1 presented as a maxN k=1 {lki · Zki }, di · wi · ccRatio and f (di ) · Zid , respectively. The function f (di ) is an output data size and ccRatio is the non-zero ratio of computation and communication. The turn around time of an application is the maximum among all the execution times of the sub tasks. The problem of scheduling a divisible job onto M sites can be stated as deciding the portion of original workload D to be allocated to each site, that is, finding a distribution of lki which minimizes the turn around time of a job. The proposed model uses this cost model when evaluating solutions at each generation.

3

Genetic Algorithm

GA is a search procedure based on the principle of evolution and natural genetics. It combines the exploitation of past results with the exploration of new areas of the search space. In GA, we start with an initial population and then we use some GA( ) { Initialize population; Evaluate population; While (termination criterion not reached) { Select solutions for next population; Perform crossover and mutation; Evaluate population; } } Fig. 2. Simple Structure of the GA

752

M. Abdullah et al.

genetic operators on it for appropriate mixing of exploitation and exploration. A simple GA consists of an initial population followed by selection, crossover, and mutation [10]. Selection operation selects the best results among the chromosome through some fitness function. The idea of the crossover operation is to swap some information between a pair of chromosomes to obtain a new chromosome. In mutation, a chromosome is altered a little bit randomly to get a new chromosome. The simple structure of the GA is illustrated in Fig. 2.

4

GA-Based Scheduling Model

GA-based scheduler is introduced for reducing makespan of data grid applications decomposable into independent tasks. The scheduler targets an application model wherein a large dataset is split into multiple smaller datasets and these are then processed in parallel on multiple virtual sites, where a virtual site is considered to be a collection of compute resources and data servers. The solution to the scheduling problem is represented as a chromosome in which each gene represents a task allocated to a site. Each sub gene is associated with a value that represents the fraction of a dataset assigned to the site, and the whole gene is associated with a value denoting the capability of the site given the fraction of the datasets assigned, the time taken to transfer these fractions and the execution time. The chromosomes are mutated to form the next generation of chromosomes. In our research, uniform crossover and two-points mutation schemes are used. At the end of an iteration, the chromosomes are ranked according to makespan and the iteration stops at a predefined condition. Since the objective of the algorithm is to reduce the completion time, the iterations tend to favor those tasks in which the data is processed close to or at the point of computation, thereby exploiting the spatial locality of datasets. The chromosome that they adopt represents job ordering, assignments of jobs to compute nodes, and the assignment of data to replica locations. At the end of a specified number of iterations (100 in this case), the GA converges to a near-optimal solution that gives a job order queue, job assignments, and data assignments that minimize makespan. The drawbacks of this approach are the chromosome representation and initial population. They used the real number to represent the sub-gene. This approach is storage and time consuming. It needs 32 bits to represent the real number for each sub-gene. It needs also more time to convert the real to binary string and vise versa. Also the good initial population gives best results early.

5

Adaptive GA Scheduling Model

In the proposed AGA, the fitness function, the crossover and mutation has the same background of GA. The chromosome representation and initial population are that which makes the differences between AGA and GA. In the proposed algorithm, the integer numbers are used to represent the sub-gene. Also the DLT model is used to generate the feasible initial solution instead of GA Hint.

An Integrated Approach for Scheduling Divisible Load

5.1

753

Chromosome Representation

To apply the AGA approach to an optimization problem, a solution needs to be represented as a chromosome encoded as a set of strings. We designed a representation for our problem as Kim model with some changes as follows: Given n sites, a job is decomposed into n sub tasks and each task is allocated to one of n sites. The job may require multiple input files distributed among m data sources. A chromosome consists of n genes and each gene is composed of m sub-genes as in [6]. Each gene in a chromosome matches a task allocated to a site. That is, a gene gi corresponds to a task ti assigned to site Si for 1 ≤ i ≤ n. The differences between our approach and Kim approach is the subgene representation. [9] showed that, each sub-gene of a gene is associated with a real value, fki , in the range 0 to 1, where 1 ≤ k ≤ m and 1 ≤ i ≤ n. This value represents a portion of workload assigned to task ti from data source DSk , the required input data. Since fki is a portion of workload Li the Sk containing n in DSi , i=1 fki = 1, for each k from 1 to m [Gene-Value Constraint]. In this approach, each sub-gene contains a binary array string representation of a 32 bit floating point number. These bits for representing the sign, exponent and mantissa. Whereas, in our approach, we will need the mantissa part only. The other parts of the number are deleted. To represent the mantissa part we 1 that equal to need only 10 bits because the the minimum fraction will be 500 0.002. Thus, three digits are enough to represent this number. And these digits need only 10 bits. In SGA approach also, the mutation operator flips only bits from the mantissa part. The other parts were not used. The reduction in subgene size achieved is three times shorter than the one used in the SGA. The sub-gene representation and its processing in SGA and AGA is shown in Fig. 3 and 4, respectively.

Fig. 3. Sub-gene Representation and Processing in SGA Approach

Fig. 4. Sub-gene Representation and Processing in AGA Approach

754

M. Abdullah et al.

5.2

The Initial Population

It has been found that incorporating ADLT model in GA improves its performance. Initially, most of the jobs using DLT considered communication and computation as the main parameters of the system to find optimal divisible load to be processed and transmitted by each processor and link in a minimal amount of time. In DLT, it is assumed that computation and communication loads can be partitioned arbitrarily among a number of processors and links, respectively. So the initial population will be produced by ADLT model [12] by using the final form of the model: The load fraction αi,j of a sub task i allocated to the site j can be expressed as follows CMi,j αi,j = N M i=1

j=1

(1)

CMi,j

where CMi,j =

1 1 + N M 1 M wj (Σx=1 ) Zi,j x=1 y=1 wx

1 Zx,y

(2)

A good result will be acquired by using ADLT model as initial solution to the AGA approach. In other words, the result will be optimized before using GA. From this point the best result is taken (the minimum makespan) before entering the GA algorithm. Generally, it is better to start with a good solution that has been heuristically built.

6

Experimental Results

To measure the performance of the proposed AGA-based approach against SGA approach, randomly generated experimental configurations were used.We made the simulation program using Visual C++ language. The estimated expected execution time for processing a unit dataset on each site, the network bandwidth between sites, input data size, and the ratio of output data size to input data size were randomly generated with uniform probability over some predefined ranges. The network bandwidth between sites is uniformly distributed between 1Mbyte/sec and 10Mbyte/sec. The location of m data sources (DSk ) is randomly selected and each physical dataset size (Lk ) is randomly selected with a uniform distribution in the range of 1GB to 1TB. We assume that the computing time spent in a site i to process a unit dataset of size 1MB is uniformly distributed in the range 1/rcb to 10/rcb seconds, where rcb is the ratio of computation speed to communication speed. We performed an experiment with 20 nodes and 20 data files. To find out how the number of iterations affects the results of AGA and SGA, we test these models with different values of iterations from 1 to 10000. The ccRatio value was set at 1. The performance of the AGA and SGA is observed.

An Integrated Approach for Scheduling Divisible Load

755

Fig. 5. Comparison of Various Iterations

The decreasing line shows that the result becomes better with increasing iterations values. The results are shown in Fig. 5. From the above graph, it is evident that AGA outperforms SGA. The performance of AGA and SGA was compared in different data grid applications (different ccRatio). We can see that, due to the AGA starts with good starting value, it provides the smallest makespan. Also, the makespan is decreasing when the iterations values are getting larger. This is because, at the same parameters we iterate for some time to find the best solution. If this value is high then the chance of obtaining a good solution is high. The decreasing line shows that the result is getting better with the increasing values of the iterations. But as we see from the graph after a certain point even if the iterations is increased there is not much change or any change in the value of the makespan. The integrated approach gives better performance in early iterates. Thus, it could be terminated early. We examined the overall performance of each algorithm by running them under 100 randomly generated Grid configurations. We varied the parameters: ccRatio (0.001 to 100), and rcb (10 to 500). To show how these algorithms perform on different type of application (different ccRatio), we created graph in Fig. 6. Thus, from this series of test results, it can be concluded that the AGA gives better performance. Our proposed AGA approach is also better than SGA approach in terms of execution time due to intelligent initial population and chromosome representation. AGA approach reduced the execution time approximately more than 30% as compared to SGA approach. It is clearly demonstrated in Fig. 7.

756

M. Abdullah et al.

Fig. 6. Makespan of SGA and AGA Approaches

Fig. 7. Execution Time of SGA and AGA Approaches (CPU: Pentium 4 3.2 GHz dual processors, RAM: 1 GB, OS: Windows XP)

7

Conclusion

This paper presented an integrated approach called AGA for scheduling divisible data grid application that reduces the chromosome size and generates a good

An Integrated Approach for Scheduling Divisible Load

757

initial population. We integrated the ADLT model in AGA for generating a good initial population. The proposed approach was tested and compared with SGA approach. The comparison of results reveals that the AGA approach has an edge for minimizing choromosome representation length, total completion time and the execution time.

References 1. Jaechun, N., Hyoungwoo, P., GEDAS,: A Data Management System for Data Grid Environments. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J.J. (eds.) ICCS 2005. LNCS, vol. 3514, pp. 485–492. Springer, Heidelberg (2005) 2. Foster, I., Kesselman, C.: The GRID: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, San Francisco (1999) 3. Park, S.M., Kim, J.H.: Chameleon: A Resource Scheduler in A Data Grid Environment. In: Proceedings of the 3rd IEEE International Symposium on Cluster Computing and the Grid (CC-GRID 2003), IEEE, Los Alamitos (2003) 4. Souvik, R., Zhao, Z.: Heuristic-Based Scheduling to Maximize Throughput of DataIntensive Grid Applications: Computational Science. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J.J. (eds.) ICCS 2005. LNCS, vol. 3514, pp. 63–74. Springer, Heidelberg (2005) 5. Wong, H.M., Veeravalli, B., Dantong, Y., Robertazzi, T.G.: Data Intensive Grid Scheduling: Multiple Sources with Capacity Constraints. In: proceeding of the IASTED Conference on Parallel and Distributed Computing and Systems, Marina del Rey, USA, pp. 7–11 (2003) 6. Kim, S., Weissman, J.B.: A Genetic Algorithm Based Approach for Scheduling Decomposable Data Grid Applications. In: proceeding of the International Conference on Parallel Processing, vol. 1, pp. 406–413. IEEE Computer Society Press, Washington DC USA (2004) 7. Abraham, A., Buyya, R., Nath, B.: Nature’s Heuristics for Scheduling Jobs on Computational Grids. In: Proceedings of 8th IEEE International Conference on Advanced Computing and Communications, IEEE, Los Alamitos (2000) 8. Holtman, K., et al.: CMS Requirements for the Grid. In: proceeding of the International Conference on Computing in High Energy and Nuclear Physics, Science Press, Beijing China (2001) 9. Garey, M.R., Johnson, D.S.: Computers and Intractability, a Guide to the Theory of NP-Completeness. W.H. Freeman and Company, New York (1979) 10. Mitchell, M.: An Introduction to Genetic Algorithms. MIT Press, London (1999) 11. Srinivas, M., Patnaik, L.M.: Genetic Algorithms: A Survey. IEEE Computer 27, 617–626 (1994) 12. Othman, M., Abdullah, M., Ibrahim, H., Subramaniam, S.: Adaptive Divisible Load Model for Scheduling Data-Intensive Grid Applications. In: Computational Science. LNCS, vol. 4487, pp. 446–453. Springer, Heidelberg (2007) 13. Venugopal, S., Buyya, R., Ramamohanarao, K.: A Taxonomy of Data Grids for Distributed Data Sharing, Management and Processing. ACM Computing Surveys 38(1), 1–53 (2006)