Workflow Scheduling in Cloud Computing ... - Semantic Scholar

8 downloads 77789 Views 677KB Size Report
processed on cloud [5]. PSO is a soft computing technique that is used as an optimization method for finding a global best solution by improving its local ...
Workflow Scheduling in Cloud Computing Environment Using Cat Swarm Optimization Saurabh Bilgaiyan, Santwana Sagnika, Madhabananda Das School of Computer Engineering Bhubaneswar, Odisha, India {saurabhbilgaiyan01, santu.hmm}@gmail.com, [email protected]

Abstract— Cloud computing is new era of network based computing, where resources are distributed over the network and shared among its users. Any user can use these resources through internet on the basis of Pay-As-Per-Use system. A service used by any user can produce a very large amount of data. So in this case, the data transfer cost between two dependent resources will be very high. In addition, a complex application can have a large number of tasks which may cause an increase in total cost of execution of that application, if not scheduled in an optimized way. So to overcome these problems, the authors present a Cat Swarm Optimization (CSO) - based heuristic scheduling algorithm to schedule the tasks of an application onto available resources. The CSO heuristic algorithm considers both data transmission cost between two dependent resources and execution cost of tasks on different resources. The authors experiment with the proposed CSO algorithm using a hypothetical workflow and compare the workflow scheduling results with the existing Particle Swarm Optimization (PSO) algorithm. The experimental results show - (1) CSO gives an optimal task-to-resource (TOR) scheduling scheme that minimizes the total cost, (2) CSO shows an improvement over existing PSO in terms of number of iterations, and (3) CSO ensures fair load distribution on the available resources. Keywords— cat swarm optimization (CSO), cloud computing, cost minimization, particle swarm optimization (PSO), workflow scheduling

I.

INTRODUCTION

Cloud computing is an emerging field of computing where a set of resources (i.e. hardware and software resources) are offered as a service to a user but not as a product. The best part about these services is that the users need not be aware of the physical locations of the resources and the configurations of these resources that are providing the required service [1]. Cloud computing is effective because it provides multilevel abstraction and a series of virtualization layers by which it becomes a more efficient network-based resource computing. Broadly, we can say that there are three types of services of cloud computing: (1) platform as a service (PaaS) (2) software as a service (SaaS), and (3) infrastructure as a service (IaaS) [2]. Cloud computing deployment models are divided into four groups - (1) public cloud (2) private cloud (3) community cloud (4) hybrid cloud. As per another definition, cloud computing is defined as a service outsourcing scheme where a customer can outsource his service from a third party. A

c 978-1-4799-2572-8/14/$31.00 2014 IEEE

service can be a database, storage, processing power, and network devices, etc. [3]. Cloud services have elastic scale-up and scale-down property under which a user can increase the number of services or release them at a particular time instance. The top cloud service providers in 2012 include Amazon Web Services, Gogrid, VMware, Microsoft, Bluelock, Citrix, Joyent, Verizon/ Terremark, Salesforce.com, CenturyLink/ Savvis, Rackspace [4]. For minimization of total cost and improved performance, the authors focused on PSO and CSO. The authors achieved the minimum cost as an optimized mapping scheme by using PSO and CSO both, but according to the authors’ objective, the result is achieved in minimum iterations by using CSO. Scientific workflows are typical examples which represent and manage huge and complex distributed computations and are used to contribute in emerging scientific technologies. Usually scientific workflows process a large amount of data which is difficult to manage and results in a large cost when processed on cloud [5]. PSO is a soft computing technique that is used as an optimization method for finding a global best solution by improving its local candidate solutions in each iteration with respect to fitness function. As a part of population in PSO, particles are used and each of them has some velocity and position in the solution space/search space. The position and velocity of each particle is influenced by each other under their social behavior towards the optimal solution in the search space [6]. PSO was first introduced by Dr. Eberhart and Dr. Kennedy in 1995 [7]. They have defined PSO as a population-based stochastic optimization heuristic algorithm which is used for optimization of non-linear functions. It was the result of simulation of several social models. Swarm is a large group of particles. It is quite similar to evolutionary Genetic Algorithm (GA), but there are some differences, like PSO does not have mutation and crossover operators. PSO is successfully applied in various optimization areas and has become quite popular because of low convergence rate and its nature of quickly achieving the local optimal solutions. As a result, less time is taken for reaching at a global best solution [7]. Cat swarm optimization is a newly proposed optimization heuristic algorithm based on social behavior of cats. CSO is

680

proposed by observing two behaviors of cats, i.e. seeking and tracing. So CSO consists of two modes - seeking mode and tracing mode. In general, PSO with weighting factor shows better performance over simple PSO, but the experiments and results obtained from them shows that CSO have better performance and results than PSO with weighting factor [8]. The main objectives of this paper are - (a) A CSO workflow scheduling that gives an optimal scheduling scheme is proposed. (b) The proposed algorithm is compared with an existing PSO algorithm for workflow scheduling. (c) The load balancing on resources is analyzed. II.

RELATED WORK

Usually a scientific work flow is considered as a data intensive application and includes a large number of tasks. This results in execution and transfer of a large amount of data between tasks. Such large computation results in a complex process on cloud with high cost [5, 9]. Task scheduling in a data intensive application, where a finite small set of cloud resources is allocated to a large number of tasks, is termed as a NP-complete (NPC) problem [10]. Several approaches are derived for the task scheduling problem in workflow and simple applications. A simple Genetic algorithm (GA) is proposed for optimization of QoS, deadline and budget which finds optimal solution in polynomial time. This algorithm is based on heterogeneous and reservation-based service-oriented setup for finding optimal solution [11]. A workflow task clustering method is proposed by Gurmeet Singh and his co-authors for optimizing the execution time of a workflow. It is done by reduction in time by ignoring some of queue wait time [12]. A planner guided method is proposed as another technique for scheduling multiple workflows dynamically. The proposed technique schedules each task in each workflow dynamically and results in better performance as the number of concurrent workflows goes high [13,14]. For task/job scheduling in simple applications a bee colony optimization (BCO) approach is proposed which is efficiently applied to the various NPC problems. This algorithm aims towards a fair load distribution over the distributed resources for reducing the completion time of job/task. The experimental results of this proposed method show that BCO is better than GA in terms of work completion time [15]. An optimized scheduling algorithm is proposed for tasks, that is based on the principle of activity based costing which takes into account a set of resources going to be used [16]. A multiple ant colony optimization algorithm (MACO) is proposed for workload distribution and scheduling of jobs. The concept here is that multiple ant colonies share their local best optimal values with each other to obtain the global best value in the search space. They work together so that a multi objective problem is solved in less time. The experimental results show better performance over FCFS and ACS techniques [17].

A particle swarm optimization algorithm is proposed for scientific workflow scheduling in cloud computing. The author aims towards minimization of total cost of workflow computation and a good load balancing among the available resources. The principle here is that a population (particles in PSO) starts searching in the solution space and each of them gets influenced by each other for moving to the best position in solution space. In each iteration, the velocity and state of particles get modified towards a local best solution in order to get to the global optimal point. The algorithm outperforms the existing best resources selection (BRS) algorithm and shows best results. Another variant of this simple PSO is a discrete PSO which outperforms the simple PSO in terms of makespan and cost optimization ratio [10, 18]. The GA, ACO, BCO, etc. algorithms do not perform well in terms of makespan than PSO, because PSO achieves the local optima much quicker than evolutionary algorithms and it has good convergence rate among swarm algorithms. But PSO and all other algorithms result in higher iterations for getting the best solutions, which is not desirable when the size of application is very large. So as a solution, the authors come up with application of CSO for scheduling tasks in workflow. CSO is almost the same as simple PSO but there are some differences which make it better than PSO. CSO individuals have two states i.e. seeking mode and tracing mode. In seeking mode, cats are not moving anywhere. They only seek for next best position. On the other hand, in tracing mode they move to the next best position with high speed. This means that not all cats are moving at the same time in solution space. The seeking mode helps them to find next best positions quickly, that is why the solution is obtained in less number of iterations [19]. III.

WORKFLOW SCHEDULING

A.

Model for workflow application Representation and scheduling of all the tasks in a data intensive application workflow is always a complex and critical job. The data produced by such intensive applications are large as already discussed earlier, so as a consequence, the cost will be high when such data gets processed and transferred between tasks. So the authors have focused on such large costs and have tried to minimize them, alongwith a better performance over existing PSO in terms of number of iterations. The workflow is represented in form of directed acyclic graph (DAG) G=(V,C), where V is defined as the set of tasks T={T1,T2,......,Tn} and C is set of edges that represents dependency between resources. It is assumed that a set of processing resources is represented by R= {R1, R2,......, Rn}. All processing resources are located at M different locations. The execution time and execution cost of each task on each resource and data transfer cost between a parent and its dependent child task are known. The costing policy is typically assumed hypothetical and bound to a range according to some pricing policies given by Amazon, Gogrid in 2010.

2014 IEEE International Advance Computing Conference (IACC)

681

Supposing each processing resource Ri haas its own storage, denoted by DR= { DR1, DR2, DR3 ,DR4.........., DRn} Fig. 1 represents a sample worrkflow taken for experimenting that consists of 17 tasks which are to be scheduled onto 5 available resources, which are assumed to be geographically distributed in different counntries, as shown in Fig. 2. di,j represents the data flow between Ti and Tj which is represents cost assumed to be constant in size for all tasks. cRi,Rj R per unit data transferred between two resourcces Ri and Rj.

For predetermination of coosting of services, a few pricing policies are given by differennt cloud service providers. For example Amazon, Gogrid haave certain price policies for different types of users. In Amaazon a user can estimate his total cost of service by using Amaazon Web Services (AWS) cost calculator [21, 22]. Let Tcost(Ri) be the total cost incurred by execution of task mission cost between a set of Ti to resource Ri and transm dependent tasks into cloud enviironment. Then, Tcost(Ri)=σ௃ሺܿ‫ݐݏ݋‬௝௜ ൅σ௄ ‫ݐݏ݋̴ܿݏ݊ܽݎݐ‬௝௞ ሻ(1)

‫ ׊‬Map(Ti) = Ri and a Map(Tk)  Ri, where ܿ‫ݐݏ݋‬௝௜ is cost incurrred in execution of each task Ti to each resource Ri and ‫ݐݏ݋̴ܿݏݏ݊ܽݎݐ‬௝௞ is the cost incurred in data transmission when a seet of tasks are dependent and executing on different resourcces. Map represents a mapping from tasks to resources, wheree Map(Ti) gives the resource to which task Ti is mapped. Maxc(Map) = Max(T Ma cost(Ri)), ‫ ׊‬Ri

(2)

where Maxc(Map) assures a fair load distribution over a set of resources. Minimize (Maxc(Map)) ‫ ׊‬Map

(3)

Equation 3 gives the minim mum cost for scheduling all tasks. IV.

Fig. 1. Sample workflow used for experiment

ALGORITHM L

A. Introduction to CSO A new swarm-based evolutionary algorithm named O) has been introduced by Chu Cat Swarm Optimization (CSO and Tsai in 2007. It is inspiredd by the social behavior of cats. Cats exhibit two modes of beehavior - 1) Seeking mode, in which cats do not move. They just j stay in a certain position and sense for the next best move, thus having only state and not velocity. 2) Tracing mode, in which cats move to their next best positions with some veloocity, representing how the cats chase their target [23]. CSO iss implemented by the following general steps: Step 1. Initialize the swarm with w N cats in D dimensions. Step 2. Assign random valuues as the velocity Vid to ith cat which is in current posittion Xid, where d represents dimension index. M percentage of cats from the Step 3. Randomly assign MR population to tracing mode and the rest to seeking mode, m ratio of cats in tracing where MR represents the mixture mode to seeking mode.

Fig. 2. Sample architecture of computing nodes with sttorage

B.

Mathematical model for task schedulingg objectives Basic objectives of task scheduling are to provide access t QoS will be over available resources in such a way that maintained as a higher priority. QoS consistss of minimum cost, minimum network latency, maximum throughput with reliability, etc [20]. Here, the authors havve targeted at: 1) minimization of total cost, 2) minimum itterations to obtain scheduling scheme, and 3) fair distribution off workload.

682

v of each cat and store the Step 4. Assess the fitness value location of the best cat in mem mory. Step 5. Update position of caats as per the mode they are in. Step 6. Check stopping criteeria, if true then exit, else goto step-3 By following these steps caats eliminate unnecessary use of energy, leading to efficient convvergence towards solution.

2014 IEEE International Advance Computing Conference (IACC)

B. Proposed CSO algorithm for scheduling In this paper the authors propose a customized algorithm based on CSO concept that aims to efficiently allocate resources to tasks in a cloud environment, focusing on minimizing the total cost incurred in execution of all tasks. The proposed algorithm uses an initial population of N cats among which some are in seeking mode while others are in tracing mode, according to MR. Each cat represents a task-resource mapping, which is updated as per the mode that the cat is in. Assessing the fitness value of the cats leads to finding the mapping having minimum cost. In each iteration, a new set of cats is chosen to be in tracing mode. The final solution, represented by the best position among the cats, gives the best mapping that has the minimum cost among all mappings. Figure 3 shows general steps for algorithm. 1) Seeking mode: This represents the majority of cats that search the global space while being in a resting state by intelligent position updating. Here the algorithm uses two basic factors - SMP and CDC. SMP (seeking memory pool) represents the number of copies to be made for each cat. CDC (count of dimension to change) defines how many of the allocations are to be altered in a single copy. The general steps are as follows:

Fig. 3. Flowchart of CSO algorithm

Step 1. Create j copies of the ith cat as represented by SMP. V.

Step 2. Modify CDC dimension of each copy randomly. Step 3. Evaluate fitness of every copy. Step 4. Find the best solutions among all copies that is the mappings having minimum cost. Step 5. Randomly choose a solution among them and replace it for the ith cat. 2) Tracing mode: This represents the cats that are in a fast moving mode and search the local space by moving towards the next best position with high energy. The general steps are as follows:

(4)

where w is the inertia weight, r1 is a random number such that 0”r1”1 and c1 is the acceleration constant. vit is the previous velocity, xbest is the best location and xit is the current location. Step 2. Update position of the cat as per xit+1 = xit + vit+1 where

xit is

A. Performance benchmarks For the evaluation and comparison of the authors’ proposed method, the following benchmarks have been taken: a) Total cost incurred by scheduling all the tasks of the workflow on the available resources. Total cost includes total execution cost of all tasks and total transmission cost incurred by flow of data between sets of dependent tasks. b) Number of iterations for obtaining the best optimal outcome from solution space. c) Distribution of load over available resources. B. Experimental data

Step 1. Find velocity vit+1 for the ith cat as per vit+1 = w.vit + r1.c1.(xbest - xit)

EXPERIMENTAL SETTINGS

(5)

the current position.

Step 3. Check if the position goes out of the defined range. If so, assign the boundary value to the position. Step 4. Assess the fitness value for the cats. Step 5. Update the solution set with the best positions of the current iteration.

TABLE I. T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 T13 T14 T15 T16 T17

PC1 1.23 1.17 1.13 1.26 1.19 1.23 1.13 1.26 1.11 1.26 1.17 1.26 1.23 1.26 1.26 1.11 1.17

COMPUTATION COST MATRIX (EM) PC2 1.12 1.17 1.11 1.12 1.14 1.12 1.11 1.12 1.11 1.12 1.17 1.12 1.12 1.12 1.12 1.11 1.17

PC3 1.15 1.28 1.11 1.14 1.22 1.15 1.11 1.14 1.13 1.14 1.28 1.14 1.15 1.14 1.14 1.13 1.28

PC4 1.13 1.14 1.13 1.15 1.15 1.13 1.13 1.15 1.15 1.15 1.14 1.15 1.13 1.15 1.15 1.15 1.14 a.

2014 IEEE International Advance Computing Conference (IACC)

PC5 1.16 1.17 1.16 1.15 1.15 1.15 1.11 1.12 1.13 1.17 1.17 1.15 1.14 1.17 1.15 1.13 1.17

EM[i,j]= Execution cost of Ti on PCi in cents

683

TABLE II. PC1 PC2 PC3 PC4 PC5

PC1 0 0.01 0.15 0.19 0.20

TRANSMISSION COST MATTRIX (TM) PC2 0.01 0 0.15 0.19 0.01

PC3 0.15 0.15 0 0.20 0.11 b.

VI.

PC4 0.19 0.19 0.20 0 0.15

PC C5 0.20 0.05 0.19 0.15 0

Data size= 256MB

Total Cost obtained (in Cents)

TM[i,j] = Transmission cosst from PCi to PCj in cents/MB

RESULTS AND DISCUSSSION

( (c) Data size= 512MB

Total Cost obtained (in Cents)

Fig. 4. Workload distribution on resources

(d) Daata size= 64MB Data size= 1024MB

Total Cost obtained (in Cents) Total Cost obtained (in Cents)

(a)

(e)

Dataa size= 128MB

b CSO and PSO for varying data Fig. 5. Comparison of convergence between sizes

Total Cost obtained (in Cents) Total Cost obtained (in Cents)

(b) Fig. 6. Optimal cost of scheduling of all tasks

684

2014 IEEE International Advance Computing Conference (IACC)

Table I represents the cost of execution of tasks on different resources in cents. Table II represents the cost of communication per unit data in cents/MB. The authors experimented by taking five different sizes of data processed by the workflow. For every size the number of iterations was varied from 50 to 400, and the optimized results were compared. The cat population size was set as 50 and the average of 15 executions was taken as the final value for each data size. Fig. 4 shows the workload distribution that is different for different data sizes. The results in Figure 5(a)-5(e) show a noticeable improvement in the number of iterations required to reach the best possible solutions by CSO over PSO. Fig. 6 represents the achievement of minimum cost by the application of CSO method, which is the ultimate objective. CSO has much faster convergence than PSO for all sizes of input data. The reason behind better performance is the technique of intelligent updating of cats’ positions instead of random updating, which helps the cats to reach the solution sooner than it takes for particles in PSO to reach the destination. VII. CONCLUSION In this paper the authors presented a scheduling technique based on a relatively new swarm-based approach known as Cat Swarm Optimization. This technique shows considerable improvement over PSO in terms of speed of convergence. By using two modes of operation, the algorithm reduces wastage of energy in random movement, and performs calculated updating of positions of cats, thereby attaining the optimal solutions in much lesser number of iterations. Hence it proves to be more efficient than PSO by showing faster convergence towards solutions. Future work in this area can include extension of CSO to include multiple objectives in scheduling like minimization of execution time, energy efficiency, etc. Newer and more efficient methods of optimization can also be implemented to solve the task-resource scheduling problem which is a major concern in large cloud computing systems. Efficient scheduling will help to exploit the high potential of cloud computing in a wide range of application areas.

[6] [7]

[8] [9]

[10]

[11]

[12]

[13]

[14]

[15] [16]

[17]

[18]

REFERENCES [1] [2]

[3]

[4]

[5]

Alex Comninos, "Emerging issues: cloud computing", Southern African Internet Governance Forum, Issue Papers No. 1 of 5, 2011, pp.1-7 Muhammad Baqer Mollah, Kazi Reazul Islam, Sikder Sunbeam Islam, "Next generation of computing through cloud computing technology", 25th IEEE Canadian Conference on Electrical and Computer Engineering (CCECE), 2012 Yashpalsinh Jadeja, Kirit Modi, "Cloud computing - concepts, architecture and challenges", International Conference on Computing, Electronics and Electrical Technologies [ICCEET], 2012, pp.877-880 Top 10 cloud computing providers of 2012, Available: http:// search cloudcomputing.techtarget.com/photostory/2240149049/Top-10-cloudprovi-ders-of-2012/11/1-Amazon-Web-Services#contentCompress Yolanda Gil, Ewa Deelman, Mark Ellisman, Thomas Fahringer, Geoffrey Fox, Dennis Gannon, Carole Goble, Miron Livny, Luc Moreau, Jim Myers, "Examining the challenges of scientific

[19]

[20]

[21]

[22] [23]

workflows", IEEE Computer Society, Volume 40, Issue 12, Decmber 2007, pp.24-32 Particle swarm optimization – Wikipedia, the free encyclopedia, Available: http://en.wikipedia.org/wiki/Particle_swarm_optimization James Kennedy and Russell Eberhart, "Particle Swarm Optimization", Proceedings of IEEE International Conference on Neural Networks IV, 1995, pp. 1942-1948 S. C. Chu, P. W. Tsai, and J. S. Pan, “Cat Swarm Optimization,” LNAI 4099, 3 (1), Berlin Heidelberg: Springer-Verlag, 2006, pp. 854–858. S. Pandey, W. Voorsluys, M. Rahman, R. Buyya, J. Dobson and K. Chiu, “A grid workflow environment for brain imaging analysis on distributed systems”, Concurrency and Computation: Practice & Experience, 21(16): pp.2118–2139, November 2009. Suraj Pandey, LinlinWu, Siddeswara Mayura Guru, Rajkumar Buyya, "A Particle Swarm Optimization-based heuristic for scheduling workflow applications in cloud computing environments", 24th IEEE International Conference on Advanced Information Networking and Applications, 2010, pp.400-407 Jia Yu and Rajkumar Buyya, "Scheduling scientific workflow applications with deadline and budget constraints using Genetic Algorithms", Grid Computing and Distributed Systems (GRIDS) Laboratory, Dept. of Computer Science and Software Engineering, The University of Melbourne, VIC 3010 Australia, pp.1-22 Gurmeet Singh, Mei-Hui Su, Karan Vahi, Ewa Deelman, Bruce Berriman, John Good, Daniel S. Katz, and Gaurang Mehta, "Workflow task clustering for best effort systems with Pegasus", ACM, MG'08, Baton Rouge, LA, USA, 2008 Zhifeng Yu, Weisong Shi, "A planner-guided scheduling strategy for multiple workflow applications", IEEE International Conference on Parallel Processing – Workshops, 2008, pp.1-8 Navjot Kaur, Taranjit Singh Aulakh, Rajbir Singh Cheema, "Comparison of workflow scheduling algorithms in cloud computing", (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 2, No. 10, 2011, pp.81-86 Salim Bitam, "Bees life algorithm for job scheduling in cloud computing", ICCIT 2012, pp.186-191 Qi Cao, Zhi-Bo Wei, Wen-Mao Gong, "An optimized algorithm for task scheduling based on activity based costing in cloud computing", IEEE 3rd International Conference on Bioinformatics and Biomedical Engineering, 2009, pp.1-3 Liang Bai, Yan-Li Hu, Song-Yang Lao, Wei-Ming Zhang, "Task scheduling with load balancing using multiple ant colonies optimization in grid computing", IEEE Sixth International Conference on Natural Computation (ICNC 2010), 2010, pp.2715-2719 Zhangjun Wu, Zhiwei Ni, Lichuan Gu, Xiao Liu, "A revised discrete particle swarm optimization for cloud workflow scheduling", IEEE International Conference on Computational Intelligence and Security, 2010, pp.184-188 Shu-Chuan Chu, Pei-Wei Tsai, "Computational intelligence based on the behavior of cats", International Journal of Innovative Computing, Information and Control, Volume 3, Number 1, February 2007, pp.163173 C T Lin, "Comparative based analysis of scheduling algorithms for resource management in cloud computing environment", International Journal of Computer Science and Engineering, Vol.-1(1), July 2013, pp.17-23 Ioannis A. Moschakis, Helen D. Karatza, "Evaluation of gang scheduling performance and cost in a cloud computing system", Springer Science+Business Media, LLC 2010 AWS Cost Calculator, Available: http://calculator.s3 .amazonaws.com/calc5.html Pyari Mohan Pradhan , Ganapati Panda, "Solving multiobjective problems using cat swarm optimization", Expert Systems with Applications, Elsevier Ltd, 2011, pp.2956-2964

2014 IEEE International Advance Computing Conference (IACC)

685