201O International Conference On Computer Design And Appliations (ICCDA 2010) Efficient Nash Equilibrium Based Cloud Resource Allocation by Using a Continuous Double Auction Dawei Sun, Guiran Chang, Chuan Wang, Yu Xiong, Xingwei Wang School of Information Science and Engineering Northeastern University Shenyang, P.R. China, 110004 E-mail: [email protected]@[email protected]@126.com [email protected] Abstract-To allocate cloud resources efficiently and obtain the maximum economic benefit are the major goals of the cloud resource providers and users. The objective of this paper is to present a novel cloud resource allocation algorithm named NECDA to overcome some of the shortcomings of the current mechanisms. A cloud resource allocation model of m*n type based on MlMIJ queuing system is established first. Then the Nash equilibrium mode is applied in the cloud computing among m*n allocation environment, the optimization objective of each allocation is performance-QoS and economic-QoS, and the Nash equilibrium is achieved by taking advantage of the continuous double auction in each step, each provider agent determines its requested value based on its workload, and each user agent determines its bid value based on the remaining time and resources. By simulations, we conclude that the NECDA is more suited to cloud computing environments and can better meet the QoS requirements of users. Keywords-cloud computing; resource allocation; continuous double auction; nash equilibrium; QoS I. INTRODUCTION As a new computational model, cloud computing [1] [2] [3] is a large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable, and managed computing power, storage, platforms, and services are delivered on demand to external customers over the Internet. In computational terms, cloud computing is a network of data centers and is described as a powerful, low-cost, and energy efficient approach to future computing. From a sociological standpoint on the other hand, in the cloud, applications are accessible anywhere, anytime, and storage becomes infinite for all intents and purposes. And the users can access to powerful applications, platforms, and services delivered over the Internet. Resource allocation is one of the core and challenging issue in the cloud computing system. Traditional resource allocation is not fit to the cloud computing environments as it differs from traditional ones in that [3] [4] [7]: (1) Broad network access, capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms; (2) Measured service, cloud systems automatically control and optimize resource use by leveraging a metering capability at some 978-1-4244-7164-5/$26.00 © 2010 IEEE level of abstraction appropriate to the type of service; (3) Rapid elasticity, the services should be dynamically configured (via virtualization or other approaches); (4) On demand self-service, a user can unilaterally provision computing capabilities, so the allocation algorithms should take execution cost of 'pay for use' as one key factor; and (5) Resource pooling, the provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand, and the mean execution time should be taken as another key factor. Today we can easily fmd many research works on resource allocation in grid system, while the systematic research work about resource allocation in cloud system is litter and more works need to do done. In this paper, considering the characteristics of cloud computing environments, a novel heuristic cloud resource allocation algorithm is proposed, named NECDA (Nash Equilibrium based Continuous Double Auction), by using a continuous double auction [5] with the feature of Nash equilibrium [6] for a cloud computing resource allocation mode of m*n type based on MlMI1 queuing [8] system, and the optimization objectives of the NECDA are performance QoS and economic-QoS. The former aims at achieving optimal execution performance, and the latter tries to allocate resources according to market factors. This novel algorithm not only more suits to cloud computing environments but also better meets the requirements of the users in cloud computing platform, and thus can improve the performance QoS and economic-QoS of the cloud system. The remainder of this paper is organized as follows. In section 2 we analyze the related works in cloud resource allocation. In Section 3, a cloud computing resource allocation model of m*n type is established. Section 4 presents the mechanism of continuous double auction with the feature of Nash equilibrium. Section 5 describes our NECDA algorithm in detail. Section 6 addresses the simulation experiments and evaluation of the proposed algorithm. Finally, conclusions are made in section 7. II. RELATED WORKS Resource allocation is a hot research area both in cloud and grid computing and plays a similar role in cloud and grid computing environments. While there is little work on efficient resource allocation in cloud computing, most VI-94 Volume 1 2010 International Conference On Computer Design And Appliations (ICCDA 2010) research works in grid computing have great reference value and can be used in cloud computing. Yang et al. [4] gave the two major types of workflow scheduling in cloud computing environment: market-driven and performance-driven. Li [9] gave a brief description of a non-preemptive priority MlOIl queuing model for jobs in cloud computing. Malik et al. [10] proposed a mechanism termed the Time Warp Straggler Message Identification Protocol (TW-SMIP) to address optimistic synchronization and performance issues associated with executing parallel discrete event simulation in cloud computing environments. Cao et al. [11] gave the disadvantages of the traditional way of task scheduling in cloud computing and introduced an optimized algorithm for task scheduling based on ABC (Activity Based Costing) in cloud computing. As we can see from the above, most research papers did not give a systematic analysis about the resource allocation problem in cloud environments. In addition, very few papers consider the problem about how to achieve the Nash equilibrium and to make the social utility maXImum. III. The cloud resource allocation problems we intend to address as a game, there are n resources and m users, and compose of an m*n type in our cloud environment, the specific features of the resources and users are described as follow: Let R = {� , r; , . .. , ':,} be a resource set composed of n resources and 1"; = {�"�" . . . , lJ ' where Ijk (0::; k::; t) is the kth feature of the ith resource. The features of a resource set . .. A.xt = [1J:i 1Jt 1 rn1 • • • rnt Assume the service time of each resource follows a normal distribution at a certain service cycle, let sr = { s�,sr;,...,s':,} be the mean of the service rate of resource set R , where slj (0::; i::; ) n is the service rate of the ith resource Ij . U={u"u,,···,um} be a user set composed of m users, tr ={t�,tr" ... ,trm} is a task vector of a user set U , where trj (1::; j::; m) is the task rate of the jth user uj Let submitted to the cloud computing environments according to Poisson distribution [12] and independent of the other users. The resource allocation probability matrix IS P:' l :: : P m ; ' where Pij = P"xm Pnl ... Pnm [ uj 1 submitting a task to resource In order to keep resource � is the probability of user �, Pij � 0 , and I, Pij =1. i=O in the serviceability state, m LPij ·trj::; slj (1) j=O n m n ij ·trj::; L SIj LLP i=O � (2) ;=0 j=O Each service of resource 1"; is Si (0::; i::; ) , it is characterized by a five-tuple Si = (sidp cpui' sti,lPi' hpi ) , in which sidi is the unique identification of service Si , cpui is n the computing speed of resource 1"; which is expressed terms of millions of instruction per second (MIPS), workload of resources 1"; and means that A MODEL FOR CLOUD RESOURCE ALLOCATION can be represented as a resource matrix should meet the constraint which is defined by (1) , and the resource set R should meet the constraint which is defined by (2) , so that tasks will not be generated exceed the rate at which tasks can be processed. sti sti is the seconds are required for executing the tasks that already are accepted, refers to the reserve price, and hpi in lpi is the maximum price for the service of using resources 1";, which can be set by the resource owner or can be set by the resource agents through collaboration with other agents. j is tj (0::; j::; m) , it is characterized by a four-tuple tj = (tidj,lj' bj, dj) , in which tidj is the unique identification of task tj , lj is the length of the task tj and is specified by millions of instructions (Ml), bj represents the budget allocated to task tj , and dj determines Each task of user U the task deadline by which the user desires the task to be finished. In order to obtain a resource allocation with the feature of social utility maximization in the cloud environment, we need to solve the above game problem. The most commonly used solution concept for such games is that of Nash equilibrium [12] , which we consider here. Definition 1 Nash Equilibrium. In the standard game mode O(g) ={g"g" ...,gJ, where there are participants, if the strategy combination {g;,g:" ..,g:} satisfy that any participant, g; is the best strategy when the others choose the strategy {g;,...,g; g; . ..,g:} , then the strategy combination {g;,g: ' ...,g:} is a Nash equilibrium of this n _" +" game. As the player acts independently of the other players, a Nash equilibrium can be reached in the following process: Each player periodically calculates a strategy 0i (g) that results in maximum profit, and this strategy is the best response given the current state of the system, and then each VI-95 Volume I 2010 International Conference On Computer Design And Appliations (ICCDA 2010) player updates its strategy until the Nash equilibrium is reached, and no player wants to change its strategy. The system will then remain in equilibrium until there are changes in the systems states. IV. T HE CONTINUOUS DOUBLE AUCTION MECHANISM We give a pricing strategy for user agent and resource agent at each time unit of continuous double auction, users and resources submit bids and requests to the auctioneer. An auctioneer maintains a list of the current bids and requests and matches the two offers when the highest bid is higher than or equal to the lowest request. The purpose of the auctioneer is to meet the performance-QoS and economic Qos of the users and resources to achieve Nash equilibrium in cloud computing and to the maximum the social utility. User Agent Bid Value The user agent determines a bid value in each time unit based on two parameters: the remaining resources and the average remaining time [5] . A task tj can bid for a resource 'i if the resource can accomplish the task within its deadline (see (3» and the reserve price of the resource is less than or equal to the maximum value the job can pay (see (4». where Og is the constraint of price. If rtg(t) < ° , it means that resource 'i cannot complete task tj within the deadline. The average remaining time for bid can be obtained by (8). n if rtg(t) � 0 rt .(t)= I rt..(t)·j.I.. n ,j.I= J J 0, otherwise ;=0 lj lj f max Y {I, (8) The bid values based on the mean remaining time can be obtained using (9). A. (3) (4) In each time unit T, the bid value of task tj based on the remaining resources can be determined using (5) . where lp is the mean reserve price among the remaining resources (see (6», n� is the numbers of the remaining resources at time t for task tj , n;ax is the maximum number of resources, and different shapes of curves can be obtained by changing the value of a(O.Ol::; a::; 100). - 1 n lp=-L)p; n ; In each time unit T, (6) the remaining time that the task tj of user uj bid to resource 'i can be determined by (7). ifb/l � lp. I rt; (t)= d-st; -J_ .8;.,8;= J J. ' cpu; Y Y Y 0, otherwise J ( ) {I, where rt;ax is the maximum remaining time for biding, and P is similar to a in (5) , which is used for controlling the convexity degrees of the curve. The final bid value consists of the remaining resources and the average remaining time, and can be obtained by (10). bidj (t)= ao . bid;'s (t) + Po . bidyme (t), °::; ao' Po ::; 1 (10) where parameters ao and Po are the weights giving relative importance to the remaining resources and the average remaining time, and ao + Po =1, ao=1 means that only the remaining resource constraint is considered in the final bid value, Po=1 means that only the remaining time constraint is considered, and ao' Po E (0,1) means that both constraints are taken into account. B. Resource Agent Requet Value A resource 'i aims at obtaining more profit, so at the moment of joining the cloud computing system, the start time st; of resource 1j is zero and sets the price to reserve price lp; for accepting a task. After accepting a task, it updates its start time st; and sets its price to the maximum price hpj . Gradually, the start time st; of resource 'i is decreased and gets to zero. By decreasing the start time st; , the resource decreases its resource price and when the start time st; is equal to zero, it sets the price to the reserve price lp; . Alternatively by accepting each task, the maximum price hpj is determined by the resource owner or collaborating with others while using (11) and requests it from the auctioneer [5] . (11) (7) VI-96 Volume 1 2010 International Conference On Computer Design And Appliations (ICCDA 2010) askj(t) t, wlj(t) where is the request value of the ith resource 1j at stj(t) is the start time of the new task if it is accepted at time t, and r is the same with a in (5) and P in (9) . time C. is the workload of resource 1j, Aile (allep alle2, .. allen) = • Uti(Alle) Auctioneer Determines Auction Price In each time unit, the user agents and resource agents determine their bid and request values and send them to the auctioneer. The auctioneer sorts the bid values in increasing order and request values in decreasing order. If the highest bid is more than or equal to the lowest request, then the auction price is determined by (12). pieij(t) .!. = ( 2 . max (bid/t»+ \tje[O,m] (aSkj(t» min \tie[O,n] (12) As a non-cooperative game, the objective of cloud computing resources allocation is to reach the Nash equilibrium and each player tries to maximize its own average performance-QoS and economic-QoS independently. There exists a pure Nash equilibrium for the game because the optimization functions (see (16» are continuous, convex, and incremental [12]. Some concepts are defmed as follows. Definition 2 Social Utility. Let the utility of resource 1j be defined by (13), and be composed of the cost utility (economic-QoS) and the time utility (performance-QoS). uj is defined by (14) and is similar with resource utility. The social utility of the resource set R and the user set U is defined by (15) . pie.. (t)-lp. d -st Utirj(t)=al• , O � ap PI �1 (13) + PI 1 dj pleij(t) ' Y . . al and PI where parameters _ ' __ are the weights giving relative importance to cost utility and time utility, and al+ PI max (13), and a2+ P2 = a2 and = 1. P2 are similar to al and fJ.. m 1. where the constraint jth user T in each time unit (15) 1=0 T, parameter s1j is the service rate of 1j , and parameter trj is the task rate of user uj Definition 3 Social Efficient Allocation. Let Q denote resource will uj (16) n L Pij i=O i=O i=O j=O = 1 is to make sure the task of the can be completed by the resource set R . Nash Equilibrium in Cloud Computing. An Aile' (aile;, aile;, ·..aile:) is = aile; , then for all j(O � j � n) strategy will meet (17). Uti(alle;, ..., alle;_p aile; , alle;+1 ...aile:) � (17) Uti(aile;, ..., alle;_I' allej, alle;+1 ...aile:) Our goal is to find the social efficient allocation for maximum performance-QoS and economic-QoS, and an allocation strategy profile Aile' is said to be supported in Nash equilibrium if and only if Aile' is a social efficient allocation. V. THE ALGORITHM DESIGN In an m *n type cloud resource allocation system, each resource can therefore be modeled as an MIMI] queue. Note that we assume that the task distribution of the applications, once chosen, is consistent throughout the system. According to the analysis above, the core part of the NECDA algorithm is described as follows. 1. Input: resource set R , user set U , and probability matrix P"xm . 2. Output: allocation strategy profile with Nash Aile' (aile;, aile;, ··.aile:) . Initialize R , U , P"xm . for each i such that 0 � i < n do Update Sj (uidpepupstplpphpj) in real = 3. 4. = time on auctioneer. T 1=0 which j=O j=O allocation strategy profile 5. Uti(t) L S1j . UtirJt)+ L trj . Utiu/t) = bidders ft Pij ·Uti(t), i=O equilibrium where parameters all Nash equilibrium if no deviation from it by any single player i is profitable. That means if a strategy allej replaces the D. Nash Equilibrium based Resource Allocation The utility of user = i=O Definition 4 ) to maximize the social utility. • the set of all possible allocation strategy profiles, a social efficient allocation profile is the allocation profile 6. 7. end for for all j such that 0 � j < m do t j (uidj , l j'b j , d j ) 8. Submit 9. end for while not all for each 10. 11. 12. 13. VI-97 = to auctioneer. auction price updated do such that 0 � i < n do Calculate askj(t) by (11). i end for Volume 1 2010 International Conference On Computer Design And Appliations (ICCDA 2010) 14. for 15. bidj(t) Calculate m do bj =Ij . random ( 0.9· mean{lp ) ,1.1. mean ( hp)) by (10). end for 16. 17. into (askJ (t), askz (t),"' , askn(t») (ask;(t), ask; (t),"' , ask� (t») by decreasing ordering, Quicksort (bidJ (t), bidz (t),"' , bidn(t) ) into (bid;(I), bid; (t),"' , bid� (t») by increasing ordering. while min(ask;(t)) � max(bid;<t» do Calculate picij(t) by (12). Quicksort 18. 19. 20. 21. 22. 23. each j such that 0 � j < end while end while while not Nash equilibrium do Allc =(allcJ , allcz ,'" allcn) do Calculate Uti(Allc) by (16). if max (Uti(Allc») < Uli(Allc) then max (Uti(Allc»)=Uti(Allc) . for 24. 25. 26. each end if 27. end for 28. 29. end while 30. Update R , U , and P.xm . The inputs of the NECDA algorithm are the resource set R , the user set U , and the probability matrix P.xm during one period of auction, the output is the allocation strategy profile with Nash equilibrium Allc' . The user and resource agents determine their bid and request values and submit them to the auctioneer from step 4 to step 9, and then the auction preprocess the bid and request values from step 10 to step 21. From step 22 to step 29, all the possible solutions are compared to make sure which one is the optimum social efficient allocation, and the comparison is a process of depth first search so as to improve the performance of the proposed algorithm. VI. deadline mean (lp) and mean (hp) are the mean values of the resources' Ip and hp , respectively. where d. =st. + random J where J stj dj of task tj ( I J I) , J (19) 1.1max ( pe) 0.9 min ( pe) tj , is the time of submitting the task and pe is the processing ability (MIPS) of the resources. The Max-min algorithm [14], Min-min algorithm [14], and CDA (Continuous Double Auction) algorithm [15] are used to compare with NECDA algorithm with the features of successful execution rate and fairness deviation [16]. 1) Successful Execution Rate: The successful execution task is the task that completely accomplished within its deadline at the first time. The successful execution rate can be obtained by (20). ru _ �� 1 -_. n _ L..J L.. r;ij,r;ij j=O j=O {I, 0, if uj success to 1j otherwise . (20) As showed in Figure 1, NECDA has a higher successful execution rate with the increase of the users. 1 00 "# or i§ ,---���-�-�--�---, 80 .2 :5 c: <.> � (I) 60 '" 40 :a '" § Min-min Max-min COA NECOA (/) :0 200 1 00 SIMULAnON AND PERFORMANCE EVALUAnON In order to evaluate the performance of the algorithm presented in this paper, we implement this algorithm by the CloudSim toolkit [13]. In the simulation, resources and users are modeled as two kinds of agents, and CIS (Cloud Information Service) acts as the auctioneer. We created 4 datacenters in the simulated system, the number of machines in each datacenter is 10, and the number of PEs (Process Elements) in each machine is within the range [1, 6], the system architecture of each machine is x86, and the operating system is Linux. We set 150 virtual machines and the PE number of each virtual machine is 1 or 2. Moreover, we submitted 600 tasks to the 4 datacenters, some tasks may be waiting in an MlMI1 queue of resources. Each task is submitted according to Poisson distribution after its previous tasks, the length of each task is considered as a random number within the range of [10000, 20000] MI, the budget bj of task tj is set according to (18), and the (18) ---e--- ----.0.- 300 500 400 600 User number(m) Figure I. Successful execution rate. 2) Fairness Deviation: Fairness means that each resource has an equal opportunity to offer its resource and it can obtain a fair profit according to its capability. A resource allocation algorithm is fair if the fairness deviation of resources is minimized. The fairness deviation of the system can be obtained by (21). (j where fdj = 1 _. n-l n l: ( Jdj - fd ) Z (21) j=O is defined by (22). (22) is set according to (19). VI-98 Volume 1 2010 International Conference On Computer Design And Appliations (ICCDA 2010) In (22), Pi is the profit of resource fj . Figure 2 shows a comparison of fairness deviation between NECDA and other methods. As shown in Figure 2, by increasing the number of users, the fairness deviation of NECDA algorithm is better than the other algorithms' . 0.6 .--����--�--_ Min-min Max-min COA NECOA 0.5 c: g co "S: Q) � 0.4 Ul Ul Q) 0.3 "iii u. 0.2 E ----l<----e-- REFERENCES [I] J. Dean and S. Ghernawat, "MapReduce: Simplified data processing on large clusters," Conununications of the ACM, ACM, vol. 51(1), Jan. 2008,pp. 107-113. [2] A. Weiss, "Computing in the clouds," Networker, ACM, vol. 11(4), Dec. 2007,pp. 16-25. [3] I. Foster, Y. Zhao, I. Raicu, and S. Y. Lu, "Cloud Computing and Grid Computing 360-degree compared," Proc. Grid Computing Environments Workshop, GeE 2008, IEEE Press, Nov. 2008, pp. 110 [4] Y. Yang, K. Liu, J. J Chen, X. Liu, D. Yuan, and H. Jin, "An algorithm in SwinDeW-C for scheduling transaction-intensive cost constrained cloud workflows," Proc. 2008 IEEE Fourth International Conference on eScience,IEEE Press,Dec. 2008,pp. 374-375. [5] H. Izakian, B.T. Ladani, K. Zamanifar, A. Abraham, and V. Snasel, "A continuous double auction method for resource allocation in computational grids," Proc. 2009 IEEE Symposium on Computational Intelligence in Scheduling (CI-Sched), IEEE Press, Mar. 2009, pp. 295-299. [6] R. Subrata, A.Y. Zomaya, B. Landfeldt, "Game-theoretic approach for load balancing in computational grids," IEEE Transactions on Parallel and Distributed Systems,vol 19(1),Jan. 2008,pp. 66-76. [7] P. Mell, T. Grance. "Presentation on effective and secure use of cloud computing paradigm," National Institute of Standards and Information Technology Laboratory Technology, http://csrc.nist.gov/groups/SNS/cloud-computing /index.html, Oct. 2009. [8] N. Antuues, C. Fricker, F. Guillemin, P. Robert, "Perturbation analysis of a variable MIMII queue: a probabilistic approach," Advances in Applied Probability,vol 38(1),Mar. 2006,pp. 263-283. [9] L. Li, "An optimistic differentiated service job scheduling system for cloud computing service users and providers," Proc. Proceedings of the 2009 Third International Conference on Multimedia and Ubiquitous Engineering (MUE),IEEE Press,Jun. 2009,pp. 295-299. ----+------ 0.1 0 100 200 300 400 500 600 User number(m) Figure 2. VII. Fairness deviation. CONCLUSIONS AND FUTURE WORK An important criterion of cloud computing is that it is driven by economies of scale. So the allocation algorithms should take execution cost of 'pay for use' as one key factor, and the mean execution time of user tasks should be taken as another key factor. So we built a cloud resource allocation model of m*n type based on MlMII queue system, and then proposed an efficient Nash equilibrium based cloud resource allocation algorithm by using a continuous double auction method. A resource determines its bid value based on its workload and each user determines its bid value based on two facts: the remaining resources for bidding and remaining time for bidding. Experimental results clearly illustrate that the NECDA algorithm is efficient and fair for both resources and users, and greatly improves the performance-QoS and economic-QoS. In addition, this new algorithm is more suited to cloud computing environments. In the future, the NECDA algorithm will be deployed and tested on cloud computing platform of the Sun & Mars Information Open Source Center of Excellence. ACKNOWLEDGMENT The authors gratefully thank Junling Hu for her help and comments. This work is supported by the National Natural Science Foundation of China under Grant No. 70671020, No. 70931001 and No.60673159; the National Science & Technology Pillar Program under Grant No. 2008BAH37B03 and No. 2008BAH37B07; the Specialized Research Fund for the Doctoral Program of Higher Education under Grant 20070145017; the Fundamental Research Funds for the Central Universities under Grant No. N090504003 and No. N090504006; the Oracle Sun & Mars Information Open Source Center of Excellence. [10] A. W. Malik, A. Park, and R. M. Fujimoto, "Optimistic synchronization of parallel simulations in cloud computing environments," Proc. 2009 IEEE International Conference on Cloud Computing (CLOUD) ,IEEE Press,Sept. 2009,pp. 49-56. [ I I ] Q. Cao, Z. B. Wei, and W. M. Gong, "An optimized algorithm for task scheduling based on activity based costing in cloud computing," Proc. 2009 3rd International Conference on Bioinformatics and Biomedical Engineering (iCBBE 2009),IEEE Press,Jun. 2009,pp. 13. [12] D. Grosu and A. T. Chronopoulos,"Noncooperative load balancing in distributed systems," Journal of Parallel and Distributed Computing, vol 65(9), Sept.2005, pp. 1022-1034. [13] R. Buyya, R. Ranjan, R. N.Calheiros, "Modeling and simulation of scalable cloud computing environments and the CloudSim toolkit: challenges and opportunities," 2009 International Conference on High Performance Computing & Simulation (HPCS),Jun. 2009,pp. I- I I. [14] K. Etminani, M. Naghibzadeh, "A min-min max-min selective algorithm for grid task scheduling," 2007 Third IEEE/IFIP International Conference in Central Asia on Internet, Sept. 2007, pp. 138-144. [15] C. Satayapiwat, R. Egawa, H. Takizawa, H. Kobayashi, "A utility based double auction mechanism for efficient grid resource allocation," 2008 IEEE International Symposium on Parallel and Distributed Processing with Applications,Dec. 2008,pp. 252-260. [16] L. J. Xiao, Y. M Zhu, L. M. Ni, Z. W Xu, "Incentive-based scheduling for market-like computational grids," IEEE Transactions on Parallel and Distributed Systems,vol 19(7),Jul. 2008,pp. 903-913. VI-99 Volume 1
© Copyright 2026 Paperzz