A Multi-Objective Task Scheduling Algorithm for ... - IEEE Xplore

6 downloads 21116 Views 215KB Size Report
of them are applicable to single-cloud environment. In this paper, we propose a multi-objective task scheduling algorithm for heterogeneous multi-cloud ...
A Multi-Objective Task Scheduling Algorithm for Heterogeneous Multi-Cloud Environment Sanjaya K. Panda1, IEEE Member, Prasanta K. Jana2, IEEE Senior Member 1

Department of Information Technology, Veer Surendra Sai University of Technology, Burla, India 2 Department of Computer Science and Engineering, Indian School of Mines, Dhanbad, India 1 [email protected], [email protected]

environment. The algorithm is a two phase scheduling process. There are two existing algorithms, namely Cloud Min-Min Scheduling (CMMS) [7] and Profit Based Task Scheduling (PBTS) which consider minimizing makespan and total cost respectively. However, none of them deals with minimizing both the makespan and total cost combinedly. To the best of our knowledge, this is the first paper to address multi-objective scheduling problem to minimize both these factors combinedly in heterogeneous multi-cloud environment. We assume that whenever an application is executing in high end server the total cost of execution is more than that of the normal server. The rigorous experimental studies on synthetic as well as benchmark data sets show that the proposed algorithm balances both makespan and total cost better than the CMMS and PBTS.

Abstract—Cloud Computing has become a popular computing paradigm which has gained enormous attention in delivering on-demand services. Task scheduling in cloud computing is an important issue that has been well researched and many algorithms have been developed for the same. However, the goal of most of these algorithms is to minimize the overall completion time (i.e., makespan) without looking into minimization of the overall cost of the service (referred as budget). Moreover, many of them are applicable to single-cloud environment. In this paper, we propose a multi-objective task scheduling algorithm for heterogeneous multi-cloud environment which takes care both these issues. We perform rigorous experiments on some synthetic and benchmark data sets. The experimental results show that the proposed algorithm balances both the makespan and total cost in contrast to two existing task scheduling algorithms in terms of various performance metrics including makespan, total cost and average cloud utilization. Keywords—Cloud Computing; Task Scheduling; Objective; Virtual Machines; Makespan; Total Cost

In the recent years, many works have been proposed for task scheduling in Cloud Computing. Most of these works are focused to minimize the makespan and/or maximize the cloud utilization [7-12]. However, minimizing the total cost in heterogeneous multi-cloud environment is not studied in task scheduling. Liu et al. [8] have proposed compromised-timecost scheduling algorithm. However, the algorithm does not consider the modes such as Advance Reservation (AR) or Best Effort (BE) as considered by [7]. Liu et al. [10] have extended Min-Min algorithm by adding three constraints, namely QoS, priority and cost. But traditional Min-Min maps the tasks and the machines without considering these constraints. Recently Li et al. [7] have proposed two algorithms, Cloud List Scheduling and Cloud Min-Min Scheduling for heterogeneous multi-cloud environment. However, these algorithms are the solution for single objective problem, i.e., minimization of makespan only. We summarize our contribution as follows. 1) Development of an algorithm to solve multi-objective task scheduling problem by considering minimization of makespan and the total cost in heterogeneous multi-cloud environment. 2) Extensive simulation of the proposed algorithm on synthetic as well as benchmark data sets and comparison of simulation results with existing and related algorithms. 3) Performance measurement through various metrics namely, makespan, total cost and average cloud utilization.

Multi-

I. INTRODUCTION The rapid growth of virtualization technology has made Cloud Computing an innovative platform to solve scientific and engineering problems [1]. These problems are simply solved through the Cloud Computing paradigm; without buying any part of the infrastructure (e.g. computational resource, network, storage). However, the end-users pay for whatever they use [2]. The services are consumed by the endusers on-demand basis through internet. But, the quality of the service is determined using multiple parameters like completion of the service (makespan), total cost of the service (budget) etc. These parameters are equi-important to deliver more flexible service. The cloud service provider must choose these parameters based on the Service Level Agreement (SLA) [3-4]. Moreover, the Virtual Machines (VMs) are selected for the application that consists of a set of dependent tasks based on these parameters. The mapping of VMs and the tasks is a well-known NP-Complete problem as the objective is to minimize both makespan and total cost [5-7]. The problem of minimizing both makespan and total cost of running application in a multi-cloud environment is very challenging and not well studied [7].

The rest of the paper is organized as follows. Section II introduces a cloud model and presents the problem statement of the multi-objective task scheduling. Section III proposes the proposed algorithm with an illustration. Section IV demonstrates the experimental results to verify the

In this paper, we address this multi-objective problem and propose a novel algorithm called Multi-Objective Task Scheduling (MOTS) for heterogeneous multi-cloud

82

effectiveness of our proposed algorithm. Finally, we conclude in Section V. II. MODEL AND PROBLEM STATEMENT A. Cloud Model A multi-cloud environment is a set of interconnected clouds to be allocated to schedule applications. In each cloud, it is assumed that the VMs are dynamically created and deployed in a data centers based on the application workloads. These VMs are of different types and characteristics. The capacity of a data center may not sufficient for scientific and engineering applications. So, it requires collaboration of multiple data centers to solve these applications. Hence we assume that each cloud has a manager server which keeps track of information about VMs. When an application arrives, the manager server communicates each other to divide the workloads. Note that, the proposed cloud system receives the application in two modes, AR or BE. An AR task can preempt the BE task as it has higher priority over BE. But, once it is preempted, it is rescheduled to the same cloud from where it was preempted. In each application, the cloud service provider earns some cost by providing the computation. So, the manager server also takes care of the cost while communicates with other manager server to distribute the tasks.

III. PROPOSED ALGORITHM The basic idea of the proposed algorithm is as follows. Let us denote the makespan by f1(x) and the total cost by f2(x). Since our objective is to minimize the makespan and the total cost, we need to minimize their linear combination f(x) defined as follows. (2) f(x) = Ȝ × f1(x) + (1 – Ȝ) × f2(x) where Ȝ is the weight value set by the cloud service provider, 0 ” Ȝ ” 1. subject to the following condition: 1) ‫׊‬i ‫ !׌‬j : Assign(Ti, Cj) (i.e., any task Ti is assigned to one and only one cloud Cj). 2) Precedence(Ti, Tj) ļ Schedule(Ti, Tj) (i.e. if task Ti has precedence over task Tj then task Ti must be scheduled before task Tj and vice-versa). The algorithm has two phases. In the first phase, the algorithm goes through the process of normalization to scale the values between 0 and 1. The normalization is performed by dividing the ETC matrix and CO matrix element by their corresponding maximum value. We call the resultant matrix of the above normalization as TEMP_ETC and TEMP_CO respectively. Then, we apply threshold value Ȝ to TEMP_ETC matrix element and (1 – Ȝ) to TEMP_CO matrix element to form a new matrix TEMP. It is mathematically defined as follows. TEMP(i, j) = Ȝ × TEMP_ETC(i, j) + (1 – Ȝ) × TEMP_CO(i, j) (3)

B. Problem Statement Consider a set of m clouds C = {C1, C2, C3,…, Cm} and a set of n applications A = {A1, A2, A3,…, An} in which each application Ai is represented in the form of a Directed Acyclic Graph (DAG) D = (Ti, Ei) where Ti = {Ti1, Ti2, Ti3,…, Tip i }

where 1 ” i ” n × pi, 1 ” j ” m, TEMP_ETC(i, j) ‫[ א‬0 ~ 1], TEMP_CO ‫[ א‬0 ~ 1] and Ȝ ‫[ א‬0 ~ 1]. This completes the first phase. Note that determining the threshold value depends on the cloud service provider.

denotes a set of pi tasks (nodes) and Ei denotes a set of links (edges). An edge Eijk = (Tij ĺ Tik) ‫ א‬Ei represents the dependency between the task Tij and task Tik. Note that, the total number of tasks in an application Ai (i.e., |Ai|) need not be equal to the total number of tasks in another application Aj (i.e., |Aj|). But {Ai} ŀ {Aj} = Ɏ. Each application Ai has different arrival time and can be submitted to the cloud provider with two modes (AR or BE). Let ETCij,k denotes the execution time of task j of application i on cloud k and COij,k denotes the cost of executing it on the same cloud. The ETC matrix and the CO matrix are presented in Equation 1.

Remark: Note that profit based task scheduling considers only minimization of total cost and in this case Ȝ = 0. Similarly when Ȝ = 1, we emphasis on the minimization of the makespan and this behaves like cloud min-min scheduling (termed here as execution time based task scheduling (ETBTS)) algorithm as proposed in [7]. Note that our proposed algorithm actually makes a tradeoff between these two parameters and hence more improved.

In the second phase, the TEMP matrix is processed using Min-Min algorithm [13-15]. Note that, the TEMP matrix is introduced to choose the best task-cloud pair iteratively. However, the accurate execution time and total cost are determined from ETC and CO matrix respectively.

Each task Tij can be scheduled to one and only one cloud by choosing an entry of ETC matrix and the corresponding entry of CO matrix. We assume that the cost of executing Tij on a cloud k is more than that on another cloud k ' iff the execution time of Tij on a cloud k is lesser than that on another cloud k ' . The problem is to map the tasks and the clouds such that the overall execution time (i.e., makespan) and the total cost incurred to execute all the tasks are minimized.

For the pseudo code of the proposed algorithm we use the following terminologies. Notation Q QAR QBE ETCAR ETCBE COAR COBE Ti Cj Ȝ

C. An Example

Let us consider two applications as shown in Fig. 1. The ETC and CO matrix for these applications are given in Table I and Table II respectively. Note that, due to proper space utilization we have modified the format of the ETC and CO matrix of Equation 1 by interchanging the rows (applications) and columns (clouds) in Table I and Table II respectively. The problem is to map all the tasks of both the applications to clouds with minimum makespan and total cost.

Description Queue of all the tasks Queue of advance reservation tasks Queue of best effort tasks Expected time to compute advance reservation tasks Expected time to compute best effort tasks Total cost to compute advance reservation tasks Total cost to compute best effort tasks ith task jth cloud Threshold value determined by the cloud service provider

The pseudo code of the proposed algorithm is given in Fig. 2.

83

C1

C2

"

C1

Cm

£¦ T11 ETC11,2 " ETC11,m ¦²¦ ¦¦ ¦¦ ¦¦ T12 ETC12,2 " ETC12,m ¦ ¦¦ A1 ¦¤ ¦¦ # # # ¦¦ # ¦¦ ¦¦ ETC1 p1 ,2 " ETC1 p1 ,m ¦ ¦¦¥T1 p1 ¦¦ ¦ # # # # » CO  ¦ ETCn1,2 " ETCn1,m ¦¦ £ ¦¦ Tn1 ¦¦ ¦¦ ETCn 2,2 " ETCn 2,m ¦¦ ¦ Tn 2 ¦¦ An ¦¤ ¦ # # # ¦¦ # ¦¦ ¦¦ ETCnpn ,2 " ETCnpn ,m ¦¦ ¦¦¥Tnpn ¦¼

£ £ ETC11,1 T11 ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ T ETC12,1 12 ¦ ¦ ¦ ¦ A1 ¤ ¦ # ¦ # ¦ ¦ ¦ ¦ ¦ ¦ ¦ T ETC1 p1 ,1 ¦ ¦ ¥ 1 p1 ¦ ¦ ¦ ¦ # ETC  # ¤ ¦ ¦ ETC £ ¦ Tn1 ¦ ¦ n1,1 ¦ ¦ ¦ ¦ ¦ ETC T ¦ n 2,1 ¦ n2 ¦ An ¦ ¦ ¤ ¦ # # ¦ ¦ ¦ ¦ ¦ ¦ ETCnpn ,1 Tnpn ¦ ¦ ¦ ¦ ¥ ¦ ¥ C

A

F

N

D

B

G

O

E

I

H

P

Application 1 Arrival Time: 0

"

C2

¦£¦ CO11,1 CO11,2 ¦¦ ¦¦ CO12,1 CO12,2 ¦¦ # # ¦¦ ¦¦ CO CO1 p1 ,2 ¦¦ 1 p1 ,1 ¦ # # ¤ ¦¦ ¦¦ COn1,1 COn1,2 ¦¦ ¦¦ COn 2,1 COn 2,2 ¦¦ # ¦¦ # ¦¦CO CO npn ,2 ¦¥ npn ,1

J

" CO11,m ¦²¦ ¦ " CO12,m ¦¦¦ ¦¦ # # ¦¦ " CO1 p1 ,m ¦¦¦ (1) ¦¦ # # » ¦ " COn1,m ¦¦¦ ¦ " COn 2,m ¦¦¦ ¦¦ # # ¦¦ " COnpn ,m ¦¦¦ ¼

L

K

Q

M

T

Cm

R

V

U

S

Application 2 Arrival Time: 10

Fig. 1. The DAG of two applications. TABLE I. AN ETC MATRIX WITH 22 TASKS AND 4 CLOUDS Application 1 Application 2 A B C D E F G H I J K L M N O P Q 8 3 8 9 10 4 2 4 6 4 7 2 8 3 6 5 Cloud 1 2 4 4 7 5 6 6 2 7 6 9 9 5 7 9 Cloud 2 5 10 8 9 5 10 5 2 8 7 2 4 5 10 4 3 8 8 2 Cloud 3 7 7 4 2 2 3 3 8 10 5 2 9 7 6 7 10 7 Cloud 4 4 TABLE II. A CO MATRIX WITH 22 TASKS AND 4 CLOUDS Application 1 Application 2 A B C D E F G H I J K L M N O P Q R 4 5 3 2 2 4 5 4 2 4 4 5 3 5 5 4 4 Cloud 1 5 2 2 4 4 3 3 4 3 5 2 5 2 2 4 4 2 2 Cloud 2 3 3 3 2 3 5 2 3 5 4 3 2 4 5 2 3 5 3 Cloud 3 2 5 4 5 5 4 5 2 2 3 5 3 3 4 3 2 3 5 Cloud 4 4 TABLE III. A TEMP MATRIX FOR APPLICATION 1 Application 1 A B C D E F G H I Cloud 1 0.60 0.80 0.65 0.70 0.65 0.70 0.60 0.60 0.60 Cloud 2 0.55 0.70 0.60 0.60 0.60 0.65 0.55 0.70 0.60 Cloud 3 0.55 0.75 0.55 0.70 0.55 0.60 0.60 0.65 0.60 Cloud 4 0.60 0.85 0.60 0.60 0.60 0.55 0.65 0.60 0.70 TABLE IV. A TEMP MATRIX FOR APPLICATION 2 Application 2 S T J K L M N O P Q R Cloud 1 0.50 0.60 0.75 0.60 0.70 0.65 0.80 0.65 0.60 0.65 0.55 Cloud 2 0.60 0.55 0.80 0.65 0.65 0.65 0.75 0.65 0.60 0.55 0.65 Cloud 3 0.60 0.55 0.70 0.60 0.65 0.60 0.70 0.60 0.65 0.55 0.60 Cloud 4 0.55 0.60 0.75 0.65 0.70 0.65 0.70 0.65 0.60 0.60 0.55 Tasks Clouds

A 2

B 2

C 1

D 2

E 3

F 4

TABLE V. G H I 2 1 4

TASK MAPPING IN MOTS J K L M N 1 2 3 1 2

84

O 3

P 4

R 4 8 7 2

Q 1

S 3 7 5 4

S 5 2 3 4

T 7 3 4 5

T 2 5 4 3

U 0.70 0.60 0.65 0.65 R 4

U 8 4 9 3

U 3 4 2 5

V 9 5 8 4

V 2 4 3 5

V 0.65 0.65 0.70 0.70 S 2

T 1

U 3

V 1

Time Cloud 1 Time Cloud 2 Time Cloud 3 Time Cloud 4

0~10 * 0~5 5~10 A(3) B(2) 0~10 *

TABLE VI. THE SCHEDULING SEQUENCE IN MOTS 10~16 16~20 20~22 22~29 29~34 35~43 43~46 46~48 J(2) * M(5) T(2) Q(4) V(2) C(5) H(5) 10~17 17~22 22~29 29~38 38~43 43~47 47~48 K(2) B S(2) N(2) G(3) D(4) * 10~20 20~22 22~30 30~39 39~44 44~48 L(2) * O(2) U(2) E(3) * 0~22 22~24 24~34 34~37 37~47 47~48 * R(5) P(2) F(4) I(2) *

O(l2m) time to schedule l tasks to m clouds (Line 24) [13-15]. So, the overall complexity of MOTS is O(kl2m) time as MOTS invokes SCHEDULE-TASKS-MOTS k times. B. An Illustration Let us consider the DAGs of Fig. 1 and the ETC and CO matrix as given in Table I and Table II respectively (refer Section II). The resultant TEMP matrix (i.e. formed using ETC and CO matrix) of application 1 and application 2 is given in Table III and Table IV respectively. The task-cloud mapping is shown in Table V. The Gantt chart using four clouds are shown in Table VI. The bracket indicates the total cost value of the task. In this scheduling, task K preempts the task B at 10 seconds as task K is an AR task. The cloud makespan, total cost and average cloud utilization are 48 time units, 65 cost units and 96.88% respectively. The average cloud execution time is 46.5 time units. In contrary, the ETBTS algorithm has cloud makespan of 35 time units and the PBTS algorithm has cloud makespan of 78 time units respectively. The average cloud utilization of these algorithms is 78.57% and 95.83% respectively. The total cost of these algorithms is 107 and 46 cost units respectively. The average cloud execution time of these algorithms is 27.5 and 74.75 time units respectively. The above illustration shows that the proposed algorithm balances both makespan and total cost than two existing algorithms, namely ETBTS [7] and PBTS respectively.

Algorithm 1: Multi-Objective Task Scheduling 1. while Q  NULL do 2. if QAR  NULL Call SCHEDULE-TASKS-MOTS 3. (ETCAR, COAR, l, m) 4. else 5. Call SCHEDULE-TASKS-MOTS (ETCBE, COBE, l, m) 6. end if 7. end while

Procedure 1: SCHEDULE-TASKS-MOTS (ETCXX, COXX, l, m) 1. Maximum_ETC = ETCXX(1, 1) 2. Maximum_CO = COXX(1, 1) 3. for i = 1, 2, 3, …, l 4. for j = 1, 2, 3, …, m 5. if Maximum_ETC < ETCXX(i, j) 6. Maximum_ETC = ETCXX(i, j) 7. end if if Maximum_CO < COXX(i, j) 8. 9. Maximum_CO = COXX(i, j) end if 10. end for 11. 12. end for 13. for i = 1, 2, 3, …, l 14. for j = 1, 2, 3, …, m 15. TEMP_ETC(i, j) = ETCXX(i, j) / Maximum_ETC 16. TEMP_CO(i, j) = COXX(i, j) / Maximum_CO 17. end for 18. end for 19. for i = 1, 2, 3, …, l 20. for j = 1, 2, 3, …, m TEMP(i, j) = ɉ × TEMP_ETC(i, j) + (1 – ɉ) × 21. TEMP_CO(i, j) 22. end for 23. end for 24. Apply Min-Min algorithm to TEMP(i, j)

IV. EXPERIMENTAL RESULTS We tested the proposed algorithm through simulation with synthetic and two benchmark data sets. The experiments were carried out using MATLAB R2012a on an Intel Core 2 Duo processor, 2.20 GHz CPU and 4 GB RAM running on Microsoft Windows 7 platform. We set threshold value Ȝ to 0.5. However, these values are set by cloud service provider based on the SLA. A. Evaluation Metrics For the performance evaluation, we used the following evaluation metrics. 1) Makespan (M): It is the overall completion time to assign all the tasks to the available clouds. It measures the efficiency of the clouds. It is mathematically defined as follows. m

m

M  max( œ ETC (i ,1)q F (i ,1), œ ETC (i , 2) q F (i , 2),...,

Fig. 2. Pseudocode for MOTS.

i 1

A. Time Complexity Let the total number of tasks be l (i.e. n × pi) and the total number of clouds be m. To find the maximum element in the ETCXX and CO matrix, it requires O(lm) time (Lines 1 to 12). Again, O(lm) time is required to normalize both ETCXX and CO matrix (Lines 13 to 18). To form the TEMP matrix requires O(lm) time (Lines 19 to 23). But, Min-Min takes

i 1

m

œ E TC ( i , m ) q F ( i , m )

(4)

i 1

£¦1 if Ti l C j where F (i , j )  ¦¤ ¦¦¥ 0 Otherwise Note that, Ti ĺ Cj denotes the task Ti is assigned to cloud Cj.

85

which are scheduled to 16 clouds. It denoted by 512 × 16. The second data set has 1024 tasks which are scheduled to 32 clouds (1024 × 32). In each data set, there are 12 different instances. The general form of these instances are u_x_yyzz where u denotes the uniform distribution is used to generate these instances, x denotes the type of consistency (i.e. consistent, inconsistent or semi-consistent), yy denotes the task heterogeneity followed by zz denotes the machine heterogeneity (i.e. high (hi) or low (lo)). So, we have four different types of instances in each type of consistency. These instances are specifically used in scheduling [17-20]. To incorporate the modes, we taken first 50% tasks were AR and next 50% tasks were BE. However, precedence among the tasks and arrival time of the tasks considered as negligible for simplicity of the experiments.

2) Total Cost (CO): It is the sum of the cost incurred by each cloud. Also it can used to estimate the budget. It is mathematically defined as follows. k

m

CO  œœ P (i, j ) q F (i, j )

(5)

j 1 i 1

n

where k =

œ| A | i

i 1

3) Average Cloud Utilization (U): It is the average of the sum of cloud utilization. However, the cloud utilization is the amount of time the cloud resources are busy. It is mathematically defined as follows. m M (Ci ) œ M (6) U  i 1 m where M(Ci) denotes the makespan of cloud Ci. Note that, U ‫[ א‬0 ~ 1]. Remark: If M(Ci) = M then U(Ci) = 1 where U(Ci) denotes the utilization of cloud Ci.

The comparison of makespan (M), total cost (CO) and average cloud utilization (U) for 512 × 16 and 1024 × 32 are jointly shown in Table VII and Table VIII respectively. The comparison results show that the proposed algorithm MOTS takes care of both M and CO simultaneously. C. Experimental Results with Synthetic Data Set In the experiments, we used one synthetic data set generated by MATLAB random function. The data set has ten different instances. In each instance, the first value denotes the number of tasks which is scheduled to the second value that represents the number of clouds. Like previous experiment, we incorporated both AR and BE modes of the tasks and some assumptions.

In order to evaluate the performance of the proposed algorithm we compare the experimental results with two cloud scheduling algorithms, namely ETBTS and PBTS. B. Experimental Results with Benchmark Data Set In the experiments, we used two benchmark data sets generated by Braun et al. [16]. The first data set has 512 tasks TABLE VII. Instance u_c_hihi u_c_hilo u_c_lohi u_c_lolo u_i_hihi u_i_hilo u_i_lohi u_i_lolo u_s_hihi u_s_hilo u_s_lohi u_s_lolo TABLE VIII. Instance u_c_hihi u_c_hilo u_c_lohi u_c_lolo u_i_hihi u_i_hilo u_i_lohi u_i_lolo u_s_hihi u_s_hilo u_s_lohi u_s_lolo

COMPARISON OF MAKESPAN, TOTAL COST AND AVERAGE CLOUD UTILIZATION USING 512 × 16 BENCHMARK DATA SET M 8.9960e+06 1.6383e+05 2.8832e+05 5.5095e+03 3.4773e+06 8.2294e+04 1.2324e+05 2.7496e+03 5.4016e+06 1.0413e+05 1.5230e+05 3.9246e+03

ETBTS CO 6324000 5611000 6396000 5607000 8031000 7998000 8053000 8035000 7356000 7247000 7508000 7220000

U 0.8788 0.9520 0.8817 0.9508 0.8927 0.9183 0.8706 0.9482 0.8222 0.9398 0.8137 0.9066

M 2.1372e+08 2.2300e+06 6.7434e+06 6.7005e+04 5.6272e+07 5.6881e+05 1.6958e+06 1.8007e+04 8.5559e+07 8.7001e+05 2.6254e+06 2.9985e+04

PBTS CO 2401000 2401000 2401000 2401000 559000 544000 540000 548000 929000 949000 942000 957000

U 0.1618 0.1640 0.1763 0.1790 0.8216 0.8005 0.8724 0.8552 0.4964 0.4857 0.5175 0.5194

M 5.2112e+07 5.7642e+05 1.8010e+06 1.9095e+04 4.0924e+07 4.4076e+05 1.3965e+06 1.4536e+04 4.4342e+07 4.5343e+05 1.3850e+06 1.6392e+04

MOTS CO 3676000 3663000 3655000 3713000 1267000 961000 1243000 1068000 1900000 1806000 1961000 1928000

U 0.4001 0.4215 0.3876 0.4287 0.9075 0.9292 0.8553 0.9196 0.7115 0.7506 0.7084 0.7374

COMPARISON OF MAKESPAN, TOTAL COST AND AVERAGE CLOUD UTILIZATION USING 1024 × 32 BENCHMARK DATA SET M 2.2290e+07 2.2742e+06 2.1990e+03 2.2688e+02 6.2904e+06 6.5330e+05 6.8456e+02 6.0490e+01 1.4317e+07 1.3961e+06 1.4373e+03 1.4663e+02

ETBTS CO 26472000 26359000 26231000 26124000 32446000 32439000 32348000 32475000 29929000 29912000 29955000 29898000

U 0.8945 0.8808 0.8551 0.8994 0.8380 0.7635 0.7841 0.8470 0.8172 0.7931 0.7804 0.7969

M 1.2348e+09 1.2632e+08 1.2905e+05 1.3137e+04 1.9993e+08 2.0795e+07 1.7944e+04 1.8572e+03 7.0821e+08 7.4311e+07 6.5674e+04 7.0023e+03

86

PBTS CO 7976000 7976000 7976000 7976000 1105000 1094000 1099000 1109000 4367000 4328000 4304000 4334000

U 0.0993 0.0954 0.0945 0.0939 0.7761 0.7196 0.8416 0.8265 0.2013 0.1929 0.2131 0.2039

M 1.8610e+08 1.8060e+07 1.8912e+04 1.9216e+03 1.4363e+08 1.3977e+07 1.4265e+04 1.4478e+03 1.6456e+08 1.6138e+07 1.5375e+04 1.6211e+03

MOTS CO 14168000 13988000 13980000 14123000 3452000 3532000 3671000 3606000 6477000 6144000 6185000 6524000

U 0.3852 0.3940 0.3761 0.3748 0.9160 0.9018 0.8833 0.8882 0.7014 0.7355 0.7426 0.7095

TABLE IX.

COMPARISON OF MAKESPAN, TOTAL COST AND AVERAGE CLOUD UTILIZATION USING SYNTHETIC DATA SET ETBTS PBTS MOTS M CO U M CO U M CO U 22107 355000 0.8414 27197 104000 0.7211 22537 108000 0.8695 100 × 4 21369 1477000 0.8037 28225 211000 0.6566 23105 236000 0.8008 200 × 8 21483 3391000 0.7885 42672 316000 0.4326 22454 365000 0.8207 300 × 12 21170 6153000 0.7752 28523 431000 0.6312 22239 494000 0.8088 400 × 16 21102 9612000 0.7703 37719 542000 0.4749 21247 592000 0.8425 500 × 20 21052 13875000 0.7675 48725 646000 0.3663 22199 752000 0.8032 600 × 24 21025 19023000 0.7647 28609 760000 0.6221 22993 875000 0.7734 700 × 28 20913 24994000 0.7656 37721 886000 0.4708 21943 1013000 0.8088 800 × 32 20908 31616000 0.7641 32505 1004000 0.5456 21908 1232000 0.8087 900 × 36 1000 × 40 20874 39088000 0.7636 32170 1093000 0.5506 20556 1340000 0.8610 Instance

The comparison of makespan (M), total cost (CO) and average cloud utilization (U) for the synthetic data set is jointly shown in Table IX. The comparison results show that the proposed algorithm MOTS takes care of both M and CO simultaneously.

[8]

[9]

V. CONCLUSION We have presented a multi-objective task scheduling algorithm for heterogeneous multi-cloud systems. The algorithm balances both execution time and the total cost as per the requirement by the end-user. It has been shown to require O(kl2m) time for k iterations. It was experimented rigorously on two benchmark data sets and one synthetic data set. The experimental results have been compared with two task scheduling algorithms by considering the execution time and the total cost. The comparison results show that the proposed algorithm outperforms both the algorithms in terms of three performance metrics, namely makespan, total cost and average cloud utilization. REFERENCE [1]

[2]

[3]

[4]

[5]

[6]

[7]

[10]

[11]

[12]

[13]

M. Mezmaz, N. Melab, Y. Kessaci, Y. C. Lee, E. G. Talbi, A. Y. Zomaya and D. Tuyttens, “A Parallel Bi-Objective Hybrid Metaheuristic for Energy-Aware Scheduling for Cloud Computing Systems”, Journal of Parallel Distributed Computing, Elsevier, Vol. 71, pp. 1497-1508, 2011. R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg and I. Brandic, “Cloud Computing and Emerging IT Platforms: Vision, Hype and Reality for Delivering Computing as the 5th Utility”, Future Generation Computer Systems, Elsevier, Vol. 25, pp. 599-616, 2009. R. Buyya, S. K. Garg and R. N. Calheiros, “SLA-Oriented Resource Provisioning for Cloud Computing: Challenges, Architecture and Solutions”, International Conference on Cloud and Service Computing, pp. 1-10, 2011. H. N. Van, F. D. Tran and J. M. Menaud, “SLA-aware Virtual Resource Management Cloud Infrastructures”, 9th International Conference on Computer and Information Technology, pp. 357-362, 2009. M. Maheswaran, S. Ali, H. J. Siegel, D. Hensgen and R. F. Freund, “Dynamic Mapping of a Class of Independent Tasks onto Heterogeneous Computing Systems”, Journal of Parallel and Distributed Computing, Vol. 59, pp. 107-131, 1999. T. D. Braun, H. J. Siegel, N. Beck, L. L. Boloni, M. Maheswaran, A. I. Reuther, J. P. Robertson, M. D. Theys, B. Yao, D. Hensgen and R. F. Freund, “A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems, Journal of Parallel and Distributed computing, Vol. 61, No. 6, pp. 810-837, 2001. J. Li, M. Qiu, Z. Ming, G. Quan, X. Qin and Z. Gu, “Online Optimization for Scheduling Preemptable Tasks on IaaS Cloud System”, Journal of Parallel Distributed Computing, Elsevier, Vol. 72, pp. 666-

[14]

[15]

[16]

[17]

[18]

[19]

[20]

87

677, 2012. K. Liu, H. Jin, J. Chen, X. Liu, D. Yuan and Y. Yang, “A CompromisedTime-Cost Scheduling Algorithm in SwinDeW-C for Instance-Intensive Cost-Constrained Workflows on a Cloud Computing Platform”, The International Journal of High Performance Computing Applications, Vol. 24, No. 4, pp. 445-456, 2010. S. K. Panda and P. K. Jana, “An Efficient Task Scheduling Algorithm for Heterogeneous Multi-cloud Environment”, 3rd IEEE International Conference on Advances in Computing, Communications and Informatics, pp. 1204-1209, 2014. G. Liu, J. Li and J. Xu, “An Improved Min-Min Algorithm in Cloud Computing”, International Conference of Modern Computer Science and Applications, Advances in Intelligent Systems and Computing, Springer, Vol. 191, pp. 47-52, 2013. G. Ming and H. Li, “An Improved Algorithm Based on Max-Min for Cloud Task Scheduling”, Recent Advances in Computer Science and Information Engineering, Lecture Notes in Electrical Engineering, Vol. 125, pp. 217-223, 2012. H. Chen, F. Wang, N. Helian and G. Akanmu, “User-Priority Guided Min-Min Scheduling Algorithm for Load Balancing in Cloud Computing”, National Conference on Parallel Computing Technologies, pp. 1-8, 2013. O. H. Ibarra and C. E. Kim, “Heuristic Algorithms for Scheduling Independent Tasks on Nonidentical Processors”, Journal of the Association for Computing Machinery, Vol. 24, No. 2, pp. 280-289, 1977. R. F. Freund, M. Gherrity, S. Ambrosius, M. Campbell, M. Halderman, D. Hensgen, E. Keith, T. Kidd, M. Kussow, J. D. Lima, F. Mirabile, L. Moore, B. Rust, H. J. Siegel, “Scheduling Resources in Multi-User, Heterogeneous, Computing Environments with SmartNet”, 7th Heterogeneous Computing Workshop, pp. 184-199, 1998. R. Armstrong, D. Hensgen and T. Kidd, “The Relative Performance of Various Mapping Algorithms is Independent of Sizable Variances in Run-time Predictions”, 7th IEEE Heterogeneous Computing Workshop, pp. 79-87, 1998. Braun et al., https://code.google.com/p/hcspchc/source/browse/trunk /AE/ ProblemInstances/HCSP/Braun_et_al /u_c_hihi.0?r=93, Accessed on 20th April 2014. F. Xhafa, L. Barolli and A. Durresi, “Batch Mode Scheduling in Grid Systems”, International Journal Web and Grid Services, Vol. 3, No. 1, pp. 19-37, 2007. F. Xhafa, J. Carretero, L. Barolli and A. Durresi, “Immediate Mode Scheduling in Grid Systems”, International Journal Web and Grid Services, Vol. 3, No. 2, pp. 219-236, 2007. S. K. Panda, P. M. Khilar and D. P. Mohapatra, “FTM2: Fault Tolerant Batch Mode Heuristics in Computational Grid”, 10th International Conference on Distributed Computing and Internet Technology, Lecture Notes in Computer Science, Springer, Vol. 8337, pp. 98-104, 2014. S. K. Panda, P. M. Khilar and D. P. Mohapatra, “FTMXT: Fault Tolerant Immediate Mode Heuristics in Computational Grid”, International Conference on Informatics and Communication Technologies for Societal Development, Springer, pp. 103-113, 2014.