Probabilistic Approach to Scheduling Divisible Load on Network of Processors

fi: The fraction of the load L assigned to data source i=1 ... N Li: The load assigned to data source i=1, ... N αij: The fraction of load assigned from site i to node j. Tcp: The time it takes the i th node to process the entire load when wi =1. The entire load can be processed on the i th processor in time wiTcp. Tcm: The time it takes to transmit the entire load over a link when zi=1. The entire load can be transmitted over the i th link in time ziTcm. Tij: Time to finish processing αij. Pj (t ): The probability of finding processor j is willing to contribute its whole computing power at time t during αijwjTcp , where (i=1...N) and (j=1...M).


Introduction
Geographically distributed heterogeneous systems become very powerful and popular in the past decade. Good examples of such systems are Clusters, Grids and Clouds. Grid can be viewed as a distributed large-scale cluster computing. From another perspective, it constitutes the major part of Cloud Computing Systems in addition to thin clients and utility computing [1][2][3][4]. Hence, Grid computing has attracted many researchers [5]. The interest in Grid computing has gone beyond the paradigm of traditional Grid computing to a Wireless Grid computing [6].
There are many attempts to find an analytical solution for scheduling load on the nodes (processors) on those systems. Queuing theory is a very famous tool participated to find analytical solution on such system [7,8]. Divisible Load Theory (DLT), deterministic in nature, was also used and proved that it is very much the same as Markov Chain Modeling [9]. However, DLT has shown that it is an excellent tool to schedule independent jobs on a Grid originated from multiple resources [7,[10][11][12][13][14].
As Scheduling plays an important role in determining the performance of Grids, there are many algorithms in literature that discuss the scheduling on Grids [15][16][17][18][19][20][21][22][23]. It was shown that finding an *Corresponding author: Sameer Bataineh, Faculty of Computer and Information Technology, Jordan University of Science and Technology, Jordan, Tel: +96227201000; E-mail: samir@just.edu.jo Page 2 of 5 analytical solution for general scheduling problem in a Grid is a very difficult task [24].
There are several attempts to use the DLT to model scheduling arbitrarily divisible load on the Grid [25][26][27]. However, communication time is rarely considered [11]. In [7], communication time is studied but not in dividing the load, so the transfer input time of the load was not part of the model. Though all parameters of the system were considered in [10], the paper did not provide a closed form analytical solution for the finish time.
In our previous work in [28], we managed to come up with closed form solution for the minimum finish time of executing an arbitrarily divisible application on the Grid taking into consideration the communication time and the computation time simultaneously. In [28], we assumed that the nodes are always available to execute the grid task. In distributed environments, this assumption is unrealistic. A node may not be willing to contribute its whole computing power during the time span of a grid task execution.
The objective of this paper is to develop an analytical model to distribute the grid load from multiple sites to all nodes in the Grid such that the load is executed in a minimum time. The model deals with the dynamic availability of each node to serve the Grid tasks. We will derive closed form solutions for the load fraction of each node, and the minimum expected finish time of the total load. The solution considers all system parameters such as the links' speed, number of processors, number of resources (sites), and availability of the processors and how much of their power they can contribute.
The rest of the paper is organized as follows: In section 5 we present the model of the system, in section 3 we present the notations used throughout the paper. The system equations are in section 6. The results and discussion are in section 7. Finally the concluding remarks are in section 8.

System Model
The system has three types of nodes: originating load node, N data sources (or sites) S The system works as shown in Figure 1. The originating node receives the total load L and distributes it to N available sites. The fraction of the load to be assigned to each site is f i , i=1 … N. It follows that the share of the load L to be assigned to data source i is given by L i =f i L, i=1…N. Then, each data source will distribute its load L i to the M available nodes for processing. The fraction of the load to be assigned to each node j from site i is In section 6, first we obtain the fraction of load that has to be assigned to each site from the load originating node. Each site will be assigned a fraction that depends on the speed of the links in the network. Second, we obtain the fraction of load that has to be assigned from each site to each of the available nodes in the network. The fractions depend on the speed of the links, the speed of the nodes and the dynamic availability of each node in the grid.
Our analytical model guarantees that the total load is executed in a minimum time. We derive closed form solution for the minimum expected finish time of the total load.

System Equations
Using the Equivalent Processor and Communication Link Concept, which was first introduced in [29], we can replace the set of M nodes in Figure 1 with a single node, which has an equivalent computing power. In other words, if the M nodes are all removed and replaced by the equivalent node, the performance of the system will be exactly the same. We can also replace the M links from each data source by one link which has an equivalent communication power C i , (i=1,2, … N ) as depicted in Figure 2. The value of C i is given by: The total communication power in the system is The distribution of the total load L from the originating node to the N sites depends on the links speed to the equivalent node. Each site S i will be assigned a fraction that depends on the equivalent communication power C i , (i=1,2, … N) and the total communication power in the system C T .Consequently, the fraction of the load to be . It follows that the share of the load L i to be assigned to each site i =1…N is given by:    Next, we obtain the fraction of load that has to be assigned from each site to each of the available nodes in the network. The assumption that computational resources at nodes are dedicated to Grid tasks is impractical. Each of the M nodes may not be willing to contribute its whole computing power during the time span of a grid task execution. Each node P j (j=1…M) will be assigned a load fraction that depends on the speed of the links, the speed of the nodes and the dynamic availability of each node in the grid. So it is not possible to take advantage of the equivalent power concept at this stage.
In Figure 3, each data source has the illusion as if it is the only data source that is distributing its load to the M available nodes. In other words, we can view the system as N multiples of a single data source as shown in Figure 4.
In Figure 4, each site will distribute its load to M available nodes such that the total load is executed in a minimum time. The solution is based on the optimality principle [30]. Optimality solution assumes that all processors finish at the same time. It is analytically proved that a minimal solution time is achieved when the computation by each node finishes at the same time [31]. Intuitively, this is because otherwise, the processing time could be reduced by transferring some fractions of load from busy nodes to idle nodes [32][33][34][35][36].
We now derive closed form solution for the load fraction of each node, and the minimum expected finish time of the total load. The solution is based on the optimality principle [37]. Optimality solution assumes that all processors finish at the same time.
In general, the time to complete execution of α ij on node j consists of the communication time c ij T and processing time p ij T divided by the probability of finding node j available during Let i=1, Then the system equations are: Applying the optimality criterion that all processors should stop computing at the same time [31,32]: Where T 1j= T 1(j+1) where j=1,2,….M-1 From equation (7), we obtain equations (8), (9), and (10) respectively.

P t Z T P t w T P t Z T P t w T
Now we can write all the above equations as a function of α 11 and the parameters of the Grid as follows:

P t Z T P t w T P t Z T P t w T
In general,

P t Z T P t w T P t Z T P t w T
Where j=1,2,…. ,M Obviously, the summation of all fractions of the load must equal 1.     (14) Using equations (13) and (14), we can find the exact value of α 11 as a function of grid parameter 11 11 1 1 Since α 11 is found, α 12 , α 13 … α 1M can be calculated using equation (13) and the minimum expected finish time can also be determined using equations (6) and (15):

Results and Discussion
In this section we demonstrate that the analytical model obtained is correct in that it produces results that are in agreement with intuitively expected results. The results are compared with the deterministic systems discussed in all previous work [7,[10][11][12][13][14]. The total load in the system is found in N load sources. Each load source will distribute its load fraction f k (k=1…N) to the M available nodes in the network. The availability of each node i (i=1…M) varies with time and is based on certain probability P j (t). If P j (t)=1, the total computing power of node j is available and if P j (t)= 0.5, half of the total computing power of node j can be lend to the newly arriving job. In general P j (t) of the computing power of node j can be devoted to a newly arriving jobs. The probability function can be derived from a certain realistic distribution. An estimate of P j (t) can be measured over a reasonable period of time. As an example let us think of each processor as an M/M/1 queue where the customers arrive according to independent Poisson processes with rate λ and the service times of all customers are exponentially distributed with mean 1/μ. We require that ρ =λ/μ<1, since, otherwise, the queue length will explode. The quantity ρ is the fraction of time the server is working. From the equilibrium probabilities we can derive expressions for the mean number of customers in the system E(l) , which is: If the power of a processor j is uniformly distributed among all jobs in the queue of processor j, then the speed of the processor j at an instant of time devoted to each job served by processors j is given by the following equation p t E l One can further consider an M/M/1 system serving different types of customers. As a simple example assume that there are two types of jobs only, type 1 and 2, but the analysis can easily be extended the situation with more types of customers. Type 1 and type 2 customers arrive according to independent Poisson processes with rate λ 1 , and λ 2 respectively. The service times of all customers are exponentially distributed with the same mean 1/μ. One can easily find a p j (t) even if a preemptive resume priority rule is applied.
In general an explicit solution for the probabilities p j (t) is Where p kj (t) is the probability that at time t there are k jobs in the system which can handle at most n jobs p kj (t) equation can be found in [38].
In the following we use the equations derived in the paper to study the effect of different parameters on the system performance. The results are compared with the deterministic case. Deterministic results are those obtained with (t)=1.
In Figures 5 and 6, we assume that the M available nodes in the network will have the same probability of availability to serve the grid loads (0< _ ≤ 1). Figure 5 relates the expected finish time to the estimate of probability, for M=25, 100, 150 and 200, assuming that z ij =1 and wj=1 (for i=1…N and j=1…M), and T cp =T cm =1. Figure 5 shows that as the number of available nodes in the grid increases, the expected finish time will decrease. For our parameters, there will be no significant improvement after M=150. The minimum expected finish time occurs when all the nodes are available to serve the grid loads. Comparing the results with thedeterministic case, when the nodes devoted all power to one job, in other words when the probability estimate =1, we notice that the expected finish time could be 5 times slower when the system has a large number of processors. Figure 6 relates the expected finish time to the estimate of probability for M=100 and z ij =0.1, 0.5, 1, 1.5 and 2 (for i=1…N and j=1…M), assuming that w j =1 (for j=1…M), and T cp =T cm =1. Figure 6 shows that as each link speed increases, the expected finish will decrease. Figure 7 relates the estimate of probability for node k, (k: may be any node 1…M), to its load fraction α ik assigned from load source i, for M=25, 50, 100, and 150. Assuming that the estimate of probability of each other available node is equal to one and that z ij =1and w j =1(for i=1…N and j=1…M), and T cp =T cm =1.
From Figure 7, nodes that are available for serving the grid loads  most of the time will be assigned larger load fractions. This is exactly what is expected because we assume that all processors must stop at the same time to abide with the optimality principle.

Conclusion
Unlike all previous work, which using DLT, in this paper we propose a model where the processors speeds is a function of number of jobs that a node in the distributed system is in charge at time 't'. We assumed that the availability of a node is based on certain probability and it varies with time. Of course, the probabilistic function should be derived from a certain realistic distribution.
The load is found in N sites and has to be distributed and assigned to M nodes such that total load is executed in a minimum time. We derived closed form solution for the load fraction of each node, and the minimum expected finish time of the total load. The result is shown and it measures the variation of execution time against the availability of processors for different system parameters. Our next step is to find a distribution function that can apt the system behavior. This will generate an accurate estimate for the probabilities to precisely reflect the availability of the processors in the system.