IJRIT International Journal of Research in Information Technology, Volume 2, Issue 5, May 2014, Pg: 633-638
International Journal of Research in Information Technology (IJRIT) www.ijrit.com
ISSN 2001-5569
Resource Scheduling Algorithms used in Cloud: A Comparative Study Rajaprabha M N, P Jayalakshmi School of Information Technology & Engineering, VIT University, Vellore, Tamilnadu, India
[email protected],
[email protected]
Abstract Cloud Computing hosts applications which provides resources or services of various types for business and users. While allocating resources or services to the user, a scheduling mechanism is needed to efficiently allocate among the users. Scheduling mechanism in cloud computing environment concerns more about the needs of users due to the commercial purpose of cloud computing. In this paper we have identified some major resource scheduling algorithms that are currently used. Keywords: Cloud Computing, Cloud Resource Allocation, Cloud Scheduling, Cloud Resource Scheduling.
1. Introduction Cloud computing is a type of computing that relies on sharing computing resources rather than having local servers or personal devices to handle the applications. In cloud computing, the word cloud is used as a metaphor for "the Internet," so the phrase cloud computing means "a type of Internet-Based computing," where different services — such as platform, infrastructure, storage and various applications are delivered to the users computers through the Internet. Cloud Computing provides dynamic and scalable virtual resources through the Internet to the users on demand. The main advantage [5] is that it reduces the hardware costs and increase computational power and storage capacity; users can access high quality of service in a low cost. Also it reduces the unnecessary need to purchase expensive hardware equipment, their up gradation and maintenance. In Cloud Computing, Resource Scheduling is an important task, which is a mechanism that allocates the cloud resources to demanding users. So its efficiency will directly affect the performance of the whole environment. However, based on the current methods, all the resources allocated to the users normally contains lot of records and most of them are not quite relative to the real purpose of users, with the result that users cannot get the desired or expected resource quickly. Therefore, the way to allocate the required resources among the pool of resources in an efficient, fast and accurate way, resource scheduling becomes an urgent problem to be solved. 2. Related Works In cloud computing, resource scheduling is a very promising topic and extensive researches are being made in this area. As the resource scheduling is a NP-complete problem, most of the solutions construct the final schemes by adopting either traditional algorithms or heuristic intelligent algorithms. Traditional resource scheduling algorithms mainly includes Greedy algorithm, Round Robin or Weighted Round Robin algorithm, Minimum Connection Degrees algorithm, Destination Hashing scheduling algorithm, Source Hashing scheduling algorithm and so on. In open cloud platform such as Eucalyptus [6], OpenNebula[7] and Nimbus[8] Greedy and Round Robin algorithms have been adopted and implemented but these algorithms are simply looking for physical nodes to meet computing, storage demands of users, without considering the overall resource utilization and quality of services. Rajaprabha M N,IJRIT
633
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 5, May 2014, Pg: 633-638
Heuristic intelligent algorithm is another type of scheduling strategy used in cloud computing. This type of algorithm tries to find the optimal or approximate optimal solution. Using this algorithm in a cloud computing environment can, to some extent, improves the performance of scheduling and the resource utilization of system. At present, most widely used heuristic intelligent algorithms include the algorithms based on genetic algorithm, simulated annealing algorithm, ant colony algorithm and their improved successors[9,10,11]. However, although the algorithm has the advantage of being able to find the optimal or approximate optimal solution according to certain rules, the algorithm itself and the corresponding modeling process are often complicated and the convergence of algorithm varies for different problems. Apart from these, there are other algorithms like economy models [12] based scheduling algorithms and Agent based [13] scheduling algorithms which are not widely used in cloud computing due to the changes of application environment. Some algorithms consider the behavior of the users and thus understand the user’s needs and schedules the cloud resources. 3. Scheduling Algorithms 3.1 User Behaviour Feedback based Scheduling Mechanism [14] Normally users will have different requirements based on their own needs. Therefore, which information should be selected to describe the requirements of cloud users and how to model this information is the premise and foundation of research and should be discussed first. As both the objective demand and the subjective preference do significant influence on the requirements of users, this model uses two corresponding matrixes to present the demands as well as the preference of users respectively, which are called User Demand Matrix (UD) reflects the various resources requirements desired by cloud users and concentrates on parameters of resource attributes
User Preference Matrix (UP) indicates the degree of user’s preference on each resource attribute, which is essentially the extent of attention to different attributes.
Here m is the number of total users and d is the dimension of user requirements. The algorithm is explained in the following steps Step 1: A similarity matching between the features of resource required by user, which is only the minimum demands for resources in user submitted requests at the beginning of the scheduling and then also includes feedback demand information collected from feedback network, and the feature of each resource in cloud system. Step 2: If there is more than one resource in the set of available resources, then the resource with maximum utility will be selected and allocated to the current user to avoid the waste of resources by eliminating the occupation of a user with low demands on the resource with high capabilities. Step 3: By introducing the relevance feedback mechanism, relevant information of this selected resource is used as a positive feedback to make corresponding tuning and optimization in the scheduling process
Rajaprabha M N,IJRIT
634
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 5, May 2014, Pg: 633-638
Fig 3.1 Resource Scheduling Framework based on User Behaviour Feedback 3.2 Time-Cost-Trust Model [15] This is a manifestation of the characteristics of user-centered economic configuration model-based scheduling algorithm. The framework is shown below.
Figure 3.2 the Scheduling decision framework based on time-cost-trust model The goal of the scheduling algorithm is to find an optimal scheduling to meet the demand from all solutions. So the solution space is a subset tree. To find the solution of the problem is equivalent to traverse a subset tree. We can use two strategies to avoid invalid search. This can reduce the time complexity and improve search efficiency. (i) To use constraint functions to cut the sub-tree which don’t satisfy the constraints. (ii) To use boundaries function to cut the sub-tree from which we cannot get the optimal solution. These two functions are called pruning functions. We can define several pruning functions according to some constraints. After cutting the branches which do not meet the requirements, we can get the optimal solution finally. We can use a decision function to filter the solutions which we get from the previous step before finding the optimal solution. The purpose of doing so is to join the trust factor to meet the demand of users for the cost of risk. 3.3ACO and PSO Algorithm [16] Ant colony algorithm (ACO), also known as ant algorithm, is a bionic optimization algorithm which used to find an optimal path in a directed graph. The ants will leave a pheromone on the way of foraging, they communicate with others using pheromone to find a shorter path. The amount of pheromone on each path will reflect probability the other ants choose the path. Ants of a place is more, the strength of pheromone is greater. Ultimately, all ants will choose the shortest path. Ant colony algorithm is well suited for resources scheduling in cloud computing because of its concurrency and expandability. ACO uses of pheromones to transmit information, and particle swarm optimization algorithm uses own information, individual extremum information and global extremum information to guide the particles to select next iteration position. Ant colony algorithm combines positive feedback principle organically with some kind of heuristic algorithm, but it is prone to premature convergence and falling into local Rajaprabha M N,IJRIT
635
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 5, May 2014, Pg: 633-638
optimal solution. Hybrid algorithm, the idea is to let the ants also have the characteristics of the "particles". First of all, ants are in accordance with the ant colony algorithm to complete a traverse, and then they adjust solutions according to the local optimal solutions and global optimal solutions. Adjustment is as follows: to resource scheduling, its current position is behalf of the basic path node set. If it uses particle swarm algorithm to solve the problem, the speed is hard to express, so here the idea of genetic algorithm is adopted. The algorithm steps of resources scheduling based on ACO algorithm and PSO algorithm in cloud computing are as follows: • Step1: Initialize nc=0(nc is iterations), use ACO algorithm to complete the first traverse (form m path node set ); • Step2:Calculate the fitness value based on the current path node set(the expected execution time), set the current fitness value to individual extremum called ptbest, and set the current path nodes set to individual extreme nodes set called pcbest, then find out the global extremum called gtbest and the global extreme nodes set called gcbest; • Step3:Put m ants randomly on n nodes, put initial staring node of each ant in the current path node set, to each ant k, move to the next node j according to the probability pij, put node j in the current path node set, compute task expected execution time. • Step4: Operate as follows for each ant, the path node set of ant j termed N0 (j) is crossed by gcbest which gets N1’ (j), and N1’ (j) is crossed by pcbest which gets N1’’ (j), N1’’ (j) variants with a specified probability which gets N1 (j). accept the new value if the new objective function gets better, otherwise refuse and N1(j) remains N0(j), then, rediscover individual extremum ptbest and extremal node set pcbest for each ant, find out global extremum gtbest and global extremal node set gcbest; • Step5: Calculate task expected execution time for each ant node set, record the current best solution; • Step6: Update the pheromone concentration and modify the node task expected execution time; • Step7: nc=nc+1; • Step8: If nc
Figure 3.3 Buffer Pool Structure The model has the function that, on one side, builds unified management mechanism of all process tasks of SaaS platform, on the other hand, provides pre-selected pool for all process results. As the result can’t meet the requirement, it adopts Undo algorithm to schedule resource again, and takes the intermediate set of historical step from pre-selected pool, and selects process method again. By this way, it avoids re-executing task from the beginning because the final result can’t meet requirement, so as to decrease energy loss during operation of SaaS platform and improve the process efficiency Rajaprabha M N,IJRIT
636
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 5, May 2014, Pg: 633-638
3.5 Reducing Tardiness by Heuristic Techniques [18] Two subproblems are identified for Allocation process. (i) Based on the availability of the server resources, all the VM reservation requests are served. VM’s are allocated on the data center resources. Three VM reservation requests are used for evaluation of this subproblem. • In the Equal Time Distribution Technique, the total time reserved by connection requests from the virtual machine, the share of one server is calcualted by dividing the total time units of all the VMs have requested by the number of servers. • In the Node Distance Technique, initially two nodes which are far away from each other are taken. After that maximum number of VMs allocated on the servers of these nodes, Later the node which is having the maximum average distance to the previous two nodes are chosen. This process is repeated for all the VMs until they are scheduled. • In the Resourse Based Distribution Technique, three types of VMs are used. First type has high memory configuration – High Memory Extra Large(MXL) Second type has high computing power – High CPU Extra Large(CXL) Third type has large storage space – Standard Extra Large(SXL) Based on the request from the client, heuristic chooses the server which has large amount of resources. Then VM allocates the resources on that server. Thus a balanced distribution is done in this technique. (ii) Based on the availability of network paths, connection requests are scheduled. Two heuristics techniques are used for this. • In the Duration Priority Technique, Short Duration Connections are given higher priority. Initially connection requests are sorted based on the duration which is requested. Later, select the connection which is having short duration and schedule it on the available shortest path. • Based on the connection Requested Start Time (RST) scheduling is done using the Greedy Algorithm. Without considering the path length factor, requests with earlier RST are scheduled on the available first path. 4. Conclusions In this paper we have discussed about various scheduling algorithms used in the cloud computing environment. Each algorithm is having some unique advantage over other algorithms. So selection of scheduling algorithm fully depends on the type and purpose of the cloud. References [1] I. Foster, Y. Zhao, I. Raicu, S. Y. Lu. Cloud computing and grid computing 360-degree compared[C]. In: Proc of the Grid Computing Environments Workshop (GCE’08). New York: IEEE Press, 2008:1-10. [2] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski, et al. A view of cloud computing [J].Communications of the ACM, 2010, 53(4):50-58. [3] P.Mell, T.Grance. The NIST Definition of Cloud Computing, Version 15[R]. White Paper, V15. 2009. [4] R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, I. Brandic. Cloud computing and emerging IT Platforms: vision, hype, and reality for delivering computing as the 5th utility[J]. Future Generation Computer Systems, 2009, 25(6):599-616. [5] K. Chen, W. M. Zheng. Cloud computing: system instances and current research[J]: Journal of Software, 2009, 20(5): 1337-1348.(in chinese). [6] OpenNebula Project[EB/OL]. http://www.opennebula.org. 2008. [7] Nimbus[EB/OL]. http://www.nimbusproject.org. 2008. [8] Eucalyptus[EB/OL].httPs://www.eucalyptus.com. 2008. [9] C. H. Zhao, S. S. Zhang, Q. F. Liu, J. Xie, J. C. Hu. Independent tasks scheduling based on genetic algorithm in cloud computing[C]. In: Proc of the 5th International Conference on Wireless Communications, Networking and Mobile Computing(WiCom’09). 2009:1-4. [10] J. H. Gu, J. H. Hu, T. H. Zhao, G. F. Sun. A new resource scheduling strategy based on genetic algorithm in cloud computing environment[J]. Journal of Computers, 2012, 7(1): 42-52. Rajaprabha M N,IJRIT
637
IJRIT International Journal of Research in Information Technology, Volume 2, Issue 5, May 2014, Pg: 633-638
[11] Z .H. Zhang, X. J. Zhang. A load balancing mechanism based on ant colony and complex network theory in open cloud computing federation[C]. In: Proc of the 2nd International Conference on Industrial Mechatronics and Automation (ICIMA’10). 2010:240-243. [12] R. Buyya, C. S. Yeo, S. Venugopal. Market-Oriented Cloud Computing: Vision, Hype, and Reality for Delivering IT Services as Computing Utilities[C]. In Proc. of the 10th IEEE International Conference on High Performance Computing and Communications(HPCC’08), IEEE 2008 hpcc, 2008:5-13. [13] Z. H. Zhang, X. J. Zhang. Realization of open cloud computing federation based on mobile agent[C]. In Proc. Of the IEEE International Conference on Intelligent Computing and Intelligent Systems(ICIS '09), 2009:642-646. [14]Ding Ding, Yidong Li, Lihua Ai, Siwei Luo, An Adaptive Resource Scheduling Mechanism based on User Behavior Feedback in Cloud Computing, 2012 13th International Conference on Parallel and Distributed Computing, Applications and Technologies, 2012 pp 543 -548. [15] GAO Zhong-wen, ZHANG Kai, The Research on Cloud Computing Resource Scheduling Method Based on Time-Cost-Trust Model, 2012 2nd International Conference on Computer Science and Network Technology, 2012, pp 939- 943 [16] Xiaotang Wen, Minghe Huang, Jianhua Shi, Study on Resources Scheduling Based on ACO Algorithm and PSO Algorithm in Cloud Computing, 2012 11th International Symposium on Distributed Computing and Applications to Business, Engineering & Science, pp 219 – 222. [17] Chen Ming, Li Mengkun,Cai Fuqin, A model of scheduling optimizing for cloud computing resource sevices based on Buffer-pool Agent, 2010 IEEE International Conference on Granular Computing, pp 107 110 [18] Mohamed Abu Sharkh, Abdelkader Ouda, Abdallah Shami, A Resource Scheduling Model for Cloud Computing Data centers, pp 213- 219
Rajaprabha M N,IJRIT
638