Maryam Houtinezhad received her M.Sc. degree in Artificial Intelligence from Science and Research branch of Islamic Azad University, Kerman, Iran in 2015. She has been teaching since 2011 and is currently teaching at Islamic Azad University. Her research interests lie in computational intelligence, metaheuristic algorithms, distributed systems, and cloud computing, especially in resource allocation and scheduling tasks.
Amid received his BSc degree in Computer Software Enginering from Shahid Bahonar University in Kerman, Iran in 2008, and his MSc degree in Software Engineering from Islamic Azad University in Tehran, Iran in 2010. He is currently undertaking his PhD in the Science and Research branch of Islamic Azad University, focusing on software service metrics and measurement. He has published about 30 research papers in international journals and conference proceedings. His areas of research include software systems engineering, software service development, software service metrics, SOA, and cloud computing.
Minimizing Response Time for Scheduled Tasks Using the Improved Particle Swarm Optimization Algorithm in a Cloud Computing Environment Published: July 20, 2015 • Service Technology Magazine Issue XCI PDF
Abstract: Distributed systems, like cloud and grid, offer their services in the form of a service to customers. Cloud computing is a developed model of distributed calculations based on Tcp/ip. This technology, which is an evolving phenomenon in the large and complex information platform, is recognized as an optimum and fast solution. Using optimum scheduling to allocate jobs to different virtual machines is one of the key problems in this environment. Scheduling is a part of management issues that has always drawn researchers' attention due to its effectiveness in the real world. Using effective strategies in scheduling significantly helps the system efficiency. The results of using the proposed scheduling strategy, based on improved particle swarm optimization algorithm, showed achieving minimum time in execution of tasks.
Cloud computing is a pattern of distributed calculations comprised of many virtual machines and requests aiming at sharing resources as a service on the Internet [REF-1] that is created to facilitate sharing large complex of computational calculations, such as networks, servers, storage systems and services. Low cost and cost effectiveness of cloud computing has made it an ideal platform for use in service-oriented architecture. Cloud computing is a developed model of distributed calculations which is significantly paid attention to [REF-2, REF-3].
Cloud computing provides a new and optimum platform to offer, consume and deliver IT services. The term cloud computing is defined by the National Institute of Standards and Technology (NIST) as follows: cloud computing is a model which performs an operation considering the users' information needs. Users can easily access huge complex of adjustable calculation resources such as networks, servers, storage systems, practical applications and services. This access happens quickly, easily, without server interruption and with the least amount of management and communication with the service provider. Scheduling tasks is one of the key issues in a distributed cloud environment [REF-4]. Data and calculation resources are stored on the user's personal computer in a normal calculation model, but calculation resources in cloud computing are vastly provided in abstract, organized infrastructure with smart servers. Users can easily access these resources [REF-5]. The cloud computing model facilitates the process of installation, operation and management of information systems, decreases costs, and also causes an increase in system reliability and efficiency. Different resources such as IT resources, software, hardware, operating system and storage management and their management can be virtualized in a cloud environment. Virtualization provides the possibility of operating multi-virtual machines on a physical hardware [REF-6].
The cloud environment uses virtualization technologies to better use resources on a virtual machine layer and perform users' applications; therefore, proper scheduling between practical applications and virtual machine resources is crucial. According to different works, we find out that each of the provided methods is only advantageous in its particular practical domain, and none of them can provide for several service needs for several workflows. This paper focuses on moving towards reaching the short response time, as well as other effective parameters such as resource utilization, system overall performance and minimization of the introduced cost function.
2. Cloud Environment Structure
A distributed cloud environment delivers everything as a service, and cloud services are divided into three layers [REF-7, REF-8]:
Cloud computing encourages organizations to use these services in order to carry out their activities, emphasizing on financial, technical and time saving [REF-9]. The aforementioned division would cause support of management of different levels of a cloud environment, as well as virtualization technology [REF-10].
3. Related Work
Scheduling policies in a cloud environment highly depend on the development model in the cloud. However, what causes improvement in the quality of service is optimization of time and cost in resource allocation to entering requests to the cloud environment.
Scheduling is considered part of NP-Complete problems for which there is no effective solution. Due to importance of scheduling in distributed cloud environment, there are attempts to create an optimum scheduling for execution of tasks and resource allocation. In fact, the priority is to determine a processing resource, out of the group of resources that a task needs for processing, in such a way that more tasks are processed in less time. On the other hand, sharing resources a lot causes a decrease in overall performance.
Buyya has introduced an economic framework in cloud environment in which the users pay the service providers in return for resources usage. This rule creates motivation in service providers. Buyya's economic cloud model reminds the importance of cost, time and economic benefit in users and resource owners' eye. Hence, it is necessary to create proper scheduling [REF-11].
Rotary Chaotic Particle Swarm Optimization (RCPSO) was used by Tao et al. for a scheduling problem in distributed grid environment in their study. This algorithm tries to keep the quality of service by focusing on time and cost optimization. The proposed method can do the scheduling in a polynomial and complex space [REF-12].
Figure 1 - workflow cycle with 15 tasks [REF-12]
In this study, position and velocity of each particle in each frequency is calculated as below:
Where xij(t) is the position of each particle and vij(y) is the velocity of each particle. The following equation is used for updating the velocity of each particle:
Where Pbestij(y) is the best position for particle I with dimension of j, and Gbestj(y) is the j best dimension of the best particle. Figure (2) shows searching and finding in different dimensions.
Figure 2 - search How in particles 3D space [REF-12]
In [REF-13], ant colony meta-heuristic algorithm and particle swarm optimization have been used in order to schedule resources in cloud computing. Since ant colony algorithm easily gets stuck in local optimization, particle swarm optimization algorithm was used in this study which leads to several groups of solutions with the use of ant colony algorithm, regarding the updated pheromones. Then, effective solutions carry out crossover and mutation operation with the use of particle swarm optimization. As a result, optimum response is achieved.
It is reported that not only this algorithm improves convergence rate/speed, but also prevents getting stuck in optimum local responses and also has been able to reach its goal of proper resource allocation in cloud computing and improve the resources efficiency [REF-13].
In another study, resource scheduling in service level agreements has been proposed. Scheduling is recognized as a problem for which there is no solution. In this study, a new method for solving the scheduling problem was provided, using Grobner's theory. Grobner's theory provides a solution in random integers for cloud computing. Scheduling is carried out in two steps in this method. The findings showed the proposed method was optimum, this method has been reported to be proper for multi-goal resource scheduling [REF-14].
4. The Proposed Algorithm
Scheduling problems with dynamic resources need optimization algorithms that in addition to finding the optimum, can also follow the changing optimums. In recent years, particle swarm optimization has drawn a lot of attention to itself among different optimization algorithms for dynamic environments. Most tasks in cloud computing are dynamic.
In other words, the existing optimums change over time, hence there is a need for algorithms in these environments that can find the changing optimum as well as properly following the changing optimum. Therefore, those algorithms are considered eligible in cloud computing in which the average error in solutions found is the least at any point in time.
4.1. Genetic Algorithm
As it's obvious by its name, this algorithm follows genetics. Genetics is a science that discusses heredity and transfer of biological features from one generation to another one. Chromosomes and genes are the main factor in biological feature transfer and they work in such a way those superior and stronger genes and chromosomes survive while weaker genes are eliminated. In other words, mutual operation of genes and chromosomes results in the survival of elite and superior creatures. Genetics work with bit strings; each bit string shows the whole variants while most methods treat special variants independently.
Figure 3 - Genetic algorithm pseudo code
The genetic algorithm selects the most proper strings out of organized random information. A new group of strings using the best parts of previous sequences and the new random part is comprised to reach a proper response [REF-17].
4.2. Particle Swarm Optimization Algorithm
Particle swarm optimization algorithm (PSO) is a simple technic based on stochastic rules that is increasingly common due to the ability to solve complex problems and different numerical functions. This algorithm is inspired by social behaviors of animals such as flocks of birds and shoals of fish, instead of being inspired by evolutionary mechanisms.
The PSO is randomly initialized with a population of particles. Then, the algorithm searches for optimum responses by frequently updating generations. In each generation, the position and velocity of particle i is updated using personal best and global best in the population.
Calculation process, personal best and global best are recorded. Finally, the best global position is considered as the final solution by holding stop conditions. It is worth mentioning that updating position and velocity is achieved using equation (4) and (5).
Where r1 and r2 are random numbers between (0, 1) and c1 and c2 are constant acceleration. Appropriation of responses among personal and global amounts shows variety in responses. Optimization policy forces particles to move toward particular areas in which the amount of target function is minimum, so in the end, all particles gather around the points with the highest target function [REF-15, REF-16].
Figure 4 - Particle swarm optimization algorithm pseudo code
3.4. Combining two meta-heuristic algorithms
Particle swarm optimization algorithm has some similarities and differences compared with genetic algorithm. Both particle swarm optimization and genetic method begin with an early random population. The evolution will repeat by investigating each component competency and sharing the information and production of new population until stop conditions are achieved. The difference is that the information division mechanism in particle swarm optimization is different to genetic algorithm; all chromosomes share information with each other in genetic algorithm. Therefore, the entire population moves towards the optimum area as a group. Unfortunately, particle swarm optimization algorithm suffers from early convergence. Hence, combining it with another algorithm is needed in order to solve early convergence problem. Combination of particle swarm optimization and genetic algorithm was used in this study to avoid getting stuck in local optimization. In the end, improved particle swarm optimization algorithm was used to solve scheduling problem in distributed cloud environment.
Figure 5 - Proposed algorithm pseudo code
4.3. Proposed Scheduling Policy
The main motivation to use cloud computing is decreasing resources costs. Calculation resources in cloud computing systems are recognized as virtual machines. Scheduling algorithms are of great importance, since the scheduling priority is to reduce response time and improve resource exploitation. Tasks are assigned to virtual machines considering the priority [REF-18].
Expected Time to Compute (ETC) matrix was used to estimate execution of tasks approximate time. Each row of the matrix shows the execution of tasks time on different resources and each column of the matrix shows the needed time for a resource to execute different tasks. This matrix is of T*M size in which T is number of tasks and M is number of resources. In this study, all three ETC matrices – consistent, inconsistent and semi-consistent – were used in order to create a distributed platform.
First, the initiation of task execution is shown by ST and execution finish time (task completion) is shown by FT. the following equation is used to calculate initiation and completion time for task i:
ST and FT for next tasks in each job is carried out recessively and in accordance with the first entry task initiation time.
Where pred(tj) is the set of predecessor task i. FT(tp) is completion time of predecessor task. Total task completion time can be calculated by using maximum completion time after completion of all tasks:
Here Cmax was considered equal to f1. This criterion was used to calculate final cost function with certain weight. Hence, f1 is considered the first criterion.
Another considerable criterion is deadlines and delivery time for each task which is shown by f2. If the user announces maximum time for task completion to the system but the scheduler cannot complete the task at hand in the designated time period, it will be subject to a penalty [REF-19]; total delay penalty for tasks can be calculated by equation (9).
FTi is the scheduler's completion time and di is the time period announced by the user for each task. The other goal is maximizing resources utilization. The expected utilization for each resource should be calculated based on its attribution in the work cycle in order to achieve this goal.
FTJout is completion time of tasks in each job and Cmax is completion time of all jobs. By increasing resources utilization, another one of our goals which is maintaining the quality of service is met[REF-20] . For resources utilization to be eligible enough, its average is calculated based on equation (7):
5. Simulation Results
In order to evaluate the proposed compound algorithm, we compared it with similar prevalent algorithms. The evaluation was carried out in comparison with Particle Swarm standard algorithm, Imperialist Competitive Algorithm and Differential Evolutionary algorithm. The implementation in three platforms; consistent, semi-consistent and inconsistent was evaluated with high heterogeneity and same proposed policy was applied for all algorithms. Finding in table (1_4) represent 4 important criteria including Cost Function, Overall Performance, Utilization and total completion time of tasks(Makespan).
Table 1 - Comparing The Cost Function Hybrid Method On Consistence, Inconsistence & Semi consistence Environment
Table 2 - Comparing The Overall Performance Hybrid Method On Consistence, Inconsistence & Semi consistence Environment
Table 3 - Comparing The Utilization Hybrid Method On Consistence, Inconsistence & Semi consistence Environment
Table 4 - Comparing The Makespan Hybrid Method On Consistence, Inconsistence & Semi consistence Environment
6. Conclusion and Future Work
In order to prevent early convergence, particle swarm optimization algorithm was combined with genetic algorithm operators in this paper. Also, to optimize tasks allocation to virtual machines in distributed cloud computing environment, a scheduling policy was provided which calculated important criteria in utilization, completion time, cost function and imposed penalty simultaneously. Most researches consider only minimization or maximization of a single criterion while in this study, different mentioned criteria were separately calculated and finally applied in cost function and scheduler's algorithm overall performance. Implementation results and their comparison with other meta-heuristic algorithms separately represent achieving better results in different criteria.
Combining three meta-heuristic algorithms to minimize response time and other arbitrary parameters in other distributed environments such as grid can be used as future solution.
[REF-1] Yu J , Buyya R, "Workflow Scheduling Algorithms for Grid Computing", Metaheuristics for Scheduling in Distributed Computing Environments, Springer, Vol 146, PP 173-214, 2008.
[REF-2] Zhang S, Chen X , Huo X, "Cloud Computing Research Development Trend", Proceedings of the second International Conference On Future Networks, IEEE Computer Society, PP 93-97, January 2010.
[REF-3] Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I, "Cloud Computing And Emerging IT Platforms: Vision, Hype, And Reality For Delivering Computing As The 5th Utility", Future Generation Computer Systems,Vol 25, No 6, PP 599-616, June 2009.
[REF-4] Kaur Sh, Verma A, "An Efficiant Approach to Genetic Algorithm for Task Scheduling in Cloud Computing Environment", Information Technology and Computer Science, Vol. 10, pp. 74-79, 2012.
[REF-5] Topcuouglu H, Hariri S, Wu M, "Performance-Effective And Low Complexity Task Scheduling For Heterogeneous Computing",IEEE Transactions on Parallel and Distribution Systems, Vol 13, No 3, PP 260-47, March 2002.
[REF-6] IBM " Point of View:Security and Cloud Computing", Cloud omputingWhite paperNovember 2009.
[REF-7] P. Mell, T. Grance, The NIST Definition of Cloud Computing, (Draft)- Recommendations of the National Institute of Standards and Technology,Special publication 800-145 (draft), Gaithersburg (MD).
[REF-8] R. Buyya, S. Pandey and C. Vecchiola, Cloudbus toolkit for marketoriented cloud computing, In CloudCom'09: Proceedings of the 1st International Conference on Cloud Computing, volume 5931 of LNCS, pp. 24-44, Springer, Germany, December 2009.
[REF-9] Chandra Misra S, Mondal A, "Identification Of A Company Suitability For The Adoption Of Cloud Computing And Modeling Its Corresponding Return On Investment", Mathematical and Computer Modeling, Vol 53, No 4, PP 504-521, February 2011.
[REF-10] Hayes B, "Cloud computing", Communications Of The ACM, 2008.
[REF-11] Buyya R, Krauter K, Maheswaran M," A Taxonomy And Survey Of Grid Resource Managment System For Distributed Computing", Journal Of Software Practice And Experience, Vol 32, No 2, PP 135-164, February 2002.
[REF-12] Tao Q, Chang HY, Yi Y, Gu C , Wen jie, Li WJ," A Rotary Chaotic PSO Algorithm For Trustworthy Scheduling Of A Grid Workflow ",Computers And Operations Research, Vol 38, No 5, PP 824-836, May 2011.
[REF-13] Xiaotang Wen, Minghe Huang, Jianhua Shi," Study on Resources Scheduling Based on ACO Algorithm and PSO Algorithm in Cloud Computing", Distributed Computing and Applications to Business, Engineering & Science (DCABES), 11th International Symposium, 2012.
[REF-14] Qiang Li, Yike Guo," Optimization of Resource Scheduling in Cloud Computing ", Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 12th International Symposium on , 10.1109/SYNASC.2010.8 , IEEE, pp 315 - 320 ,23-26 Sept. 2010.
[REF-15] Kennedy J, Eberhart R, "Particle swarm optimization", Proceedings Of IEEE International Conference On Neural Networks, Piscataway: IEEE, 1995.
[REF-16] Jones K.O, "Comparison Of Genetic Algorithm And Particle Swarm Optimisation", International Conference on Computer Systems and Technologies CompSysTech,2005.
[REF-17] Goldberg, D.E., Genetic Algorithms in Search. Optimization & Machine Learning. Addison-Wesley Reading,1989.
[REF-18] Lakshmi V, Prathibha S," ANovel Approach For Task Scheduling In Cloud", IEEE, 4 Th ICCCNT, 2013.
[REF-19] Zhao.C, Zhang. S, Liu.Q,." Independent Tasks Scheduling Based on Genetic Algorithm in Cloud Computing", Sponsored by the National Innovative Project, IEEE, 978-1-4244-3693-4/09/$25.00,2009.
[REF-20] Bessai.K , Youcef.s, Oulamara.A, Claude Godart, Nurcan.A, "Bicriteria workow tasks allocation and scheduling in Cloud computing environments", IEEE, International Conference on Cloud Computing, Hawaii, United States. IEEE, pp.638-645, IEEE Fifth International Conference on Cloud Computing. Jun 2012.