J. Parallel Dstrb. Comput. 71 (2011) 62 76 Contents lsts avalable at ScenceDrect J. Parallel Dstrb. Comput. journal homepage: www.elsever.com/locate/jpdc Optmzng server placement n dstrbuted systems n the presence of competton Jan-Jan Wu a,b,, Shu-Fan Shh a,c, Pangfeng Lu c, Y-Mn Chung c a Insttute of Informaton Scence, Academa Snca, Tape, Tawan, ROC b Research Center for Informaton Technology Innovaton, Academa Snca, Tape, Tawan, ROC c Department of Computer Scence and Informaton Engneerng, Natonal Tawan Unversty, Tape, Tawan, ROC a r t c l e n f o a b s t r a c t Artcle hstory: Receved 17 February 2010 Receved n revsed form 30 July 2010 Accepted 18 August 2010 Avalable onlne 16 September 2010 Keywords: Competton-aware server placement Resource allocaton Dstrbuted system Grd and Cloud Maxmzng beneft Mnmzng constructon cost Optmal algorthms Heurstc algorthms Although the problem of data server placement n parallel and dstrbuted systems has been studed extensvely, most of the exstng work assumes there s no competton between servers. Hence, ther goal s to mnmze read, update and storage cost. In ths paper, we study the server placement problem n whch a new server has to compete wth exstng servers for user requests. Therefore, n addton to mnmzng cost, we also need to maxmze the beneft of buldng a new server. Our major results nclude three parts. Frst, for tree-structured systems, we propose an O( V 3 k) tme dynamc programmng algorthm to fnd the optmal placement of k extra servers that maxmzes the beneft n a tree wth V nodes. We also propose an O( V 3 ) tme dynamc programmng algorthm to fnd the optmal placement of extra servers that maxmzes the beneft, wthout any constrant on the number of extra servers. Second, for general connected graphs, we prove that the server placement problems are NP-complete, and present three greedy heurstc algorthms, called Greedy Add, Greedy Remove and Greedy Add-Remove, to solve them. Thrd, we show that f the number of requests a server can handle (.e., server capacty) s bounded, the server placement problem s NP-complete even for tree networks. We then derve a varaton of the same set of greedy heurstc algorthms, wth consderaton of server capacty constrant, to solve the problem. Our experment results demonstrate that the greedy algorthms acheve good results, when compared wth the upper bounds found by a lnear programmng algorthm. Greedy Add performs best n the unconstraned model, yeldng a beneft wthn 12% dfference from the theoretcal upper bound n average. For the constraned model, Greedy Remove performs best for smaller network szes, whle Greedy Add-Remove performs best for larger network szes. On average, the heurstc algorthms yeld a beneft wthn 13% dfference from the theoretcal upper bound n the constraned model. 2010 Elsever Inc. All rghts reserved. 1. Introducton Although the problem of data server placement n parallel and dstrbuted systems has been studed extensvely, most of the exstng work assumes there s no competton between servers. Hence, ther goal s to mnmze read, update and storage cost. In ths paper, we study the server placement problem n whch a new server has to compete wth exstng servers for user requests. Such competton-aware resource placement s mportant n many areas of applcatons, such as plannng of constructng new busness servce stes and allocatng resources n Grd and Cloud computng Correspondng author at: Insttute of Informaton Scence, Academa Snca, Tape, Tawan, ROC. E-mal addresses: wuj@s.snca.edu.tw (J.-J. Wu), ssf0924@s.snca.edu.tw (S.-F. Shh). envronments, whch nvolve purchasng and consumng between provders and users. Therefore, n addton to mnmzng cost, competton-aware server placement also needs to maxmze the beneft of buldng a new server. For example, we assume that there s a number of McDonald s restaurants n a cty, but no Kentucky Fred Chcken (KFC) outlets. Now, f we decde to set up a number of KFC restaurants n the same cty, where should we place them? We need to determne the locatons for the KFC outlets so that they can compete wth McDonald s and maxmze ther profts. We denote the servers to be set up as extra servers, and the exstng (compettor) servers as orgnal servers. Thus, n the above example, KFC restaurants are the extra servers and McDonald s restaurants are the orgnal servers. We use a graph to model the locatons of the servers and users. A node n the graph represents a geographc locaton, and an edge represents a path between two locatons. Buldng servers n these locatons enables users at a node to request servces from 0743-7315/$ see front matter 2010 Elsever Inc. All rghts reserved. do:10.1016/j.jpdc.2010.08.008
J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 63 the servers. Each edge has a communcaton cost. The dstance between two nodes s the length of the shortest path that connects them. For effcency of locatng the server, and lack of global knowledge, we assume that requests from users are always sent to the nearest server. A node can easly compute ts nearest server by tself, and we assume no global knowledge so each ste chooses ts server ndependently. For smplcty we also assume that the dstances from a node to all the other nodes are dfferent, so the nearest server s unquely defned. After extra servers have been establshed, users that prevously went to McDonald s may now choose to go to KFC. We defne the beneft of an extra server placement to be the proft derved from user requests made to the server, mnus the cost of settng up the server. The cost may vary, dependng on the locaton of the extra server. Ths paper consders the followng two placement problems, whch relate to the placement of extra server n the presence of competton from orgnal servers. 1. Gven the network layout and a number k, where should we locate k extra servers such that they wll earn the most proft? 2. Gven the network layout, where should we locate extra servers such that they wll earn the most proft, wthout any constrant on the number of extra servers? We also use data center locaton selecton to motvate our work. Cloud computng servce provders are buldng data centers globally and the locatons of these servers are mportant. For example, users of Amazon s Elastc Compute Cloud (EC2) [1] can choose servers ether n Europe or n the Unted States. Ths ndcates that users of cloud computng do care about dstance to servers, whch drectly relates to servce qualty. When buldng new data centers, the servce provder must buld them n strategc locatons so that users, whle choosng closer servers for better network performance, wll choose the new data centers nstead of exstng ones. Consequently, locatons of exstng data centers are crucal to the plannng for new ones. In the frst part of the paper, we consder the two placement problems for dstrbuted systems n whch a server can servce an unlmted number of requests. We call such a model the Unconstraned model. We consder two network topologes: tree network and general graph. For tree networks, we develop a dynamc programmng technque to solve these two problems wth a tree graph n O( V 3 k) and O( V 3 ) tme, respectvely. For general graphs, we show that the two problems are ntractable (NP-complete) and propose a greedy heurstc to solve them. We also run experments and compare our results of the heurstc wth theoretcal upper bounds. Our experment results demonstrate that the greedy heurstc acheves good results, even when compared wth the upper bounds found by a lnear programmng algorthm. It yelds performances wthn 12% dfference from the theoretcal upper bound n average. In the second part of the paper, we address the same problem under the Constraned model, n whch the number of user requests a server can handle s bounded. We show that, wth bounded server capacty, the server placement problem s NP-complete even for tree networks. We propose three effectve heurstc algorthms to approxmate the optmal soluton. Our experment results ndcate that the heurstc algorthms are promsng. Smlar server placement ssues, such as I/O or vdeo server placement problems [6,9,8,12,17,25,30,34,37,40,41], data replca placement problems [13,20,19,22,26,38], p-medans [3,21], k- Medans [4,31,39], and resource locaton problems [2,28,33], have been studed n the lterature. Our extra server model and solutons dffer from these prevous efforts n that we ntroduce the concept of competton. In other words, to maxmze ther profts, the extra servers must compete wth the orgnal servers for user requests. The number of extra servers establshed s controlled by the buldng costs, whch dffer accordng to the locaton. The remander of ths paper s organzed as follows. Secton 2 dscusses related works. Secton 3 descrbes the unconstraned model and defne two server placement problems. For trees we ntroduce dynamc programmng methods for fndng the optmal extra server placement for both placement problems. For general graphs we provde proofs that the two placement problems are both NP-complete, present heurstc algorthms to solve them, and report experment results from the heurstcs. Secton 4 studes the server placement problem under the constraned model, presents three effectve heurstcs, and reports the experment results for the constraned model. Secton 5 contans our conclusons. 2. Related works 2.1. Server/replca placement The models for the server/replca placement problem can be classfed nto two categores. The frst set of models allow the request to go up and down the tree for the nearest replca. For example, Wolfson and Mlo [43] suggested a model n whch no lmt s set for the server capacty. The read cost s the number of hops from a request to ts server. The update cost s proportonal to the sze of the subtree that spans all replcas. The goal s to mnmze the sum of read and update cost. Kalpaks et al. [20] suggested a model n whch each server has a capacty lmt and each ste has dfferent ste buldng costs. The read cost s defned as the product of the amount of data transfer and the path length. The goal s to mnmze the sum of read, update and ste buldng costs. Unger and Cdon [38] suggested a smlar model but wthout a server capacty lmt. Guha et al. [16] suggested a model n whch there s a known number of servers n the tree, each wth equal capacty. There s no read, wrte, or ste buldng costs, and the goal s to assgn the request to a server (not necessarly the nearest one), so that the maxmum dstance from a clent to ts assgned server s mnmzed. The second set of models only allows the request to search for the replca towards the root of the tree. For example, Ja et al. [19] suggested a model n whch no server capacty or ste buldng cost s set. The read cost s defned as the product of access path length and the amount of data. The update cost s defned as the sum of the lnk cost of the sze of the subtree from root to all replcas. The goal s to mnmze the sum of read and update costs. Cdon et al. [11] suggested a smlar model n whch a replca s assocated wth a ste buldng cost, but there s no update cost. The goal s to mnmze the sum of read cost and storage cost. Tang and Xu [36] later proposed a model n whch there s a range lmt on the number of hops between a request and ts assgned replca. Ther goal s to mnmze the sum of update and storage costs. 2.2. p-medans and k-medans The p-medans (or k-medans) problem s defned as follows. Gven a connected graph wth non-negatve weghts assocated wth the nodes and lengths assocated wth the edges, compute locatons of p facltes n the graph n order to mnmze the sum of each node s weght multpled by the shortest dstance between t and the p ponts. The general case s known to be NP-hard. The case when the graph s a tree has been also extensvely studed. Karv and Hakm [21] presented a dynamc programmng algorthm for ths problem that runs n tme O(k 2 n 2 ). Hsu [18] proposed an algorthm wth runnng tme O(kn 3 ). Benkocz et al. [4] proposed an algorthm based on a combnaton of dvde-and-conquer and dynamc
64 J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 programmng technques. They show that the runnng tme of ther algorthm s bounded by O(npolylog(n)). The dfference between these efforts and our work s that these p-medan problems do not take the buldng costs nto account, and they am at mnmzng the access costs, nstead of maxmzng the profts. In 1996, Tamr [35] descrbed a dynamc programmng model that solves p-medan problems n trees that ncorporates buldng and access costs. The algorthm assumes that the cost for a clent to request a servce s an ncreasng functon of the dstance between the clent and the server. If the beneft functon n our model s a decreasng functon of the dstance between the clent and the server, our placement problem can be addressed by transformng t nto a p-medan problem, and solvng t by the dynamc programmng method descrbed n [35]. However, our method has the advantage that t can deal wth any arbtrary beneft functons, and stll obtan the optmal soluton for trees. Our dynamc programmng technque on tree networks s smlar to that proposed by Kalpaks, et al. [20]. They suggested a model n whch each server has a capacty lmt and each ste has dfferent ste buldng costs. Each node wll request data from the nearest server, so the data cost s defned as the product of the amount of data transfer and the path length. As a result the data cost of a node s proportonal to ts dstance to the nearest server. The goal s to mnmze the sum of data cost and ste buldng cost. If we consder the data cost as a negatve proft, then the goal s to maxmze the dfference between proft (mnuend) and buldng cost (subtrahend), whch s the same objectve functon as n our model. Nevertheless n our model we emphasze the mportance of competton, and ths demands dfferent proof technques. In addton, our method must deal wth arbtrary beneft functons, not necessarly a functon of the dstance to the nearest server, and stll obtan the optmal soluton. Ths paper also addresses the ssues of server capacty. To the best of our knowledge, the only works that take the bounded server capacty nto consderaton are by Lee et al. [24] whch focuses on server selecton for on-lne games, and by Kalpaks et al. [20], whch focuses on data access n tree networks. Nether work consders the nfluence of competton. In a prevous work by ourselves [10], we address the same problem for the unconstraned model. However, we have made substantal extensons to that work, ncludng (1) proof of optmalty and tme complexty analyss of the dynamc programmng soluton, (2) dynamc programmng soluton for the extra-server problem n tree networks, n whch there s no constrant on the number of extra servers. The dynamc programmng method, the proof of optmalty and tme complexty analyss are descrbed n detal, (3) detaled proof of the NP-Completeness of the k-extraserver and the extra-server problems for general graph networks, greedy heurstc algorthms for solvng the problems, and new experment results, (4) the study of the extra-server problem under the constraned model, n whch the server capacty s bounded (Secton 4). The NP-Completeness proof, three greedy heurstc algorthms for solvng the problem and new experment results are presented. 3. Extra-server problem wthout server capacty constrant We formulate the problem usng a connected graph G = (V, E), where V s the set of nodes and E s the set of edges. Each edge (u, v) E has a postve nteger dstance denoted by d(u, v). For any two nodes u, v V, d(u, v) denotes the length of the shortest path between them. For ease of representaton, we also let d(v, S) = mn u S d(v, u) be the length of the shortest path between v and any node n S, where S V. We consder servers that provde a servce to nodes n the graph. Every node v must go to the nearest server u for servce. Hence, f Fg. 1. An nstance of the extra-server problem wth nne nodes and two orgnal servers. A shaded node ndcates an orgnal server. a server s located at node v, then v wll be servced by that server. To smplfy the concept of the nearest server, we assume that, for every node v, the dstances to all other nodes are dfferent,.e., d(v, u) d(v, w) for u w. As a result the nearest server for every node s unquely defned. We assume there are several orgnal servers O V n G, and we would lke to add a number of extra servers, X V where X O =, to G such that we can maxmze ther net profts. By servng a clent v, a server node u X makes a proft of b(v, u). Note that the functon b can be arbtrary. For example, unlke [35], we do not assume that, for the same clent node v, the functon value must be monotonc wth respect to the dstance between v and the server node u. Let c(v) be the cost of buldng a server at node v V, and X be the set of new servers we would lke to add to the system. A node v V can go to ether O or X for servce t goes to X for servce when d(v, X) < d(v, O); otherwse, when d(v, X) > d(v, O), t goes to O. Let V X denote the set of nodes that goes to X for servce, and V O = V V X be the set of nodes that goes to O. We assume that a newly placed extra server cannot be at the same locaton as an orgnal server because n many cases the space for placng servce s exclusve. For example two restaurants cannot possbly share the same space. Our model dscretzed the avalable locatons so that servers can be placed nto nodes that are next to each other, but not the same node. We denote the nearest server that v uses as NS(v). Consequently NS(v) O f v V O, and NS(v) X f v V X. We can now defne the beneft functon of addng the servers X as follows: B(X) = v V X b(v, NS(v)) v X c(v). (1) Next, we defne the problems. k-extra-server. Gven a graph G, a set of orgnal servers O, and an nteger k, 1 k V O, our objectve s to fnd the optmal placement of k extra servers X (V O) such that the followng beneft functon wll be maxmzed. max B(X) (2) X (VO), X =k Extra-server. Gven a graph G and a set of orgnal servers O, our objectve s to fnd the optmal placement of extra servers X (V O) such that the followng beneft functon wll be maxmzed. max B(X). (3) X (VO) Fg. 1 shows an nstance of the problem. There are nne nodes and two orgnal servers n the graph. The number next to a lnk s the dstance between two nodes, and the number wthn a node s the constructon cost of that node. Fg. 2 shows the placement of extra servers for the problem n Fg. 1; the extra servers are placed at nodes u and v,.e., X = {u, v}. Accordng to our model, nodes z, u, and w wll go to extra server u for servce, whle nodes v and y wll go to node v. All the other nodes wll go to the orgnal servers x and t for servce. The beneft of ths assgnment s B(X) = b(u, u) + b(z, u) + b(w, u) + b(v, v)+b(y, v)c(u)c(v). Note that node w wll go to the extra
Fg. 2. The placement of extra server for the problem llustrated n Fg. 1. The extra servers are placed at nodes u and v. J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 65 B v,u = max X w T v (),NS(w) X b(w, NS(w)) c(s), u O. s X The defnton ndcates that the beneft ncludes those nodes that wll ether go to the extra servers X or to u (when u O) for servce, mnus the constructon cost of the extra server set X. For the case where u s not n O, u s an extra server because, by defnton, u s v s nearest server. However, snce u can be a node outsde T v () (), t cannot be n X because X s a subset of T v. We stll need to add the beneft from T v () to u because we assume that an extra server s placed n u. To derve the beneft functon B, we need the followng solaton lemma, whch gudes the search for the nearest server n an solated area so that dynamc programmng s possble. Lemma 1. For every node v V and every chld v of v, f u T v s the nearest server to v, then u s also the nearest server to v. Fg. 3. An llustraton of T v (), the subtree consstng of v and the frst subtrees of v. server u for servce, even when the beneft of gong to v s greater,.e., b(w, v) > b(w, u). Ths s because a node always goes to the nearest server; however, n our model, that s not necessarly the server that would yeld the maxmum beneft. We do not assume that the beneft s a monotonc functon of the dstance between a clent and a server; nstead, we assume that the beneft s an arbtrary functon of a clent and ts server. 3.1. Fndng extra server locatons n tree networks Ths secton descrbes our dynamc programmng methods used to solve the k-extra-server problem and the extra-server problem. We deal wth the k-extra-server problem frst. We focus on the case where the graph G = (V, E) s a tree. Let T be the tree and r be the root of T. For each node v V, let T v be the subtree of T rooted at v. If v s an nternal node, then we use chld(v) = {v 1, v 2,..., v chld(v) } to denote the chldren of v. Followng the notatons used n [20], let T v () be the subtree of T that conssts of v and the subtrees rooted at the frst chldren of v,.e., T v () = {v} j=1 T v j, as shown n Fg. 3. 3.1.1. k-extra-server soluton We frst defne a key functon of our dynamc programmng method. Defnton 1 (Beneft Functon, B). For nodes v, u V, an nteger k, and an nteger between 0 and chld(v), we defne B v,u to be the maxmum beneft derved by placng k extra servers n T v (), under the condton that u = NS(v). Consequently u can be ether an orgnal server or an extra server. We now consder the beneft functon B v,u by placng X n T v (). We defne X as the set of k extra servers that maxmzes the followng beneft functon (recall that O s the set of orgnal servers). B v,u = max X w T v (),NS(w) X u b(w, NS(w)) c(s), u O, s X Proof. We prove ths lemma by contradcton and assume that the nearest server for v s u, not u. Snce u s the nearest server to v, the dstance d(v, u ) must be strctly smaller than d(v, u). The length of the shortest path between v and u s d(v, u ) d(v, v )+ d(v, u ) < d(v, v ) + d(v, u) = d(v, u), whch suggests that u s closer to v than u; however, ths contradcts the assumpton that u s v s nearest server. For ease of dscusson of the followng lemma, we defne a node set V v,u,. The set contans those nodes n T v that could be the nearest server to v, under the condton that u s the nearest server to v, but not to v,.e., NS(v) = u and NS(v ) u. Intutvely, the set V v,u, represents those nodes n T v that are far enough from v so that none of them could be the nearest server to v (when compared wth u), but close enough to v so that one of them s the nearest server to v. Defnton 2 (V v,u, ). Let u be the nearest server to v and be an nteger between 1 and chld(v). V v,u, s the subset of those u n T v such that one of u s the nearest server to v, but t s not the nearest server to v. That s, V v,u, = {u u T v, d(v, u ) < d(v, u), d(v, u) < d(v, u )}. Lemma 2. For every node v V and every chld v of v, f u T v s the nearest server to v, then ether u s the nearest server to v or there exsts a node u V v,u, that s the nearest server to v. Proof. If u s the nearest server to v, the lemma follows. Otherwse, we conclude that the nearest server to v must be n T v, snce the path from v to nodes not n T v must pass through v, whch already has u as ts nearest server. The lemma then follows by the defnton of V v,u,. We now derve a key property requred to locate the nearest server. Theorem 1. For every node v V and an nteger between 0 and chld(v), f u s the nearest server to v, then for every node w n T v, we can fnd the nearest server to w n T v {u}. Proof. A shortest path from a node w n T v to any node outsde T v must pass through the edge (v, v). However, such a path would end at node u, snce u s the nearest server to v; otherwse, we would be able to fnd a closer server than u, but that would contradct the fact that NS(v) = u. Termnal condtons We frst derve two termnal condtons for the recurson of B, the beneft functon.
66 J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 k = 0. When k equals 0, we do not place any extra servers n T v () (). If u s an orgnal server n O, every node n T v wll go to O for servce, so the beneft s 0. If u s not n O, we consder two cases. Frst f u s not n T v (), every node n T v () wll ether go to an orgnal server or to u for servce; thus, the beneft can be determned by Eq. (4). B = b(w, u). (4) w T () v,d(w,u)<d(w,o) In the second case, u s not an orgnal server, but t s n T v (), whch means that there s at least one extra server n T v (). Ths contradcts the assumpton that k s 0. For the purpose of dynamc programmng, we defne the beneft to be. k = 1, u O, u T v () (). When k equals 1, u s n T v, so t s not an orgnal server; however t s defntely the only extra server n T v () (). Every node n T v wll ether go to O or u for servce; thus, the beneft can be calculated n the same way as B c(u). Note that, snce u s now n the X that maxmzes the beneft of T v (), c(u) should be deducted from the beneft. Recurson. Next, we derve the recurson functon for B v,u. For ease of explanaton, we defne E v,u n Defnton 3 when we dscuss the case where u T v. 0, f k = 0 and u O B, f k = 0, u O, and u T v () B v,u B = c(u), f k = 1, u O, and u T v () B (5), f u T v max{b, B }, f u T v, otherwse, where B = max B v,u + kj,1 Bv,u j, chld(v 0 j k ), (6) and B v,u = max B + kj,1 Ev,u j,. (7) 0 j k The frst three cases were dscussed under the termnal condtons so we only need to consder the rest. u T v. If u T v, by Lemma 1, u wll also be the nearest server to v, snce u s the nearest server to v. Then, by Theorem 1, every node n T v wll go to ether T v or u for servce. In addton, u s the nearest server to v. By Theorem 1, all nodes n T v (1) obtan servce from u or T v (1), as shown n Fg. 4. Assume that there are j extra servers n T v ; then there wll be k j extra servers n T (1), where 0 j k. To obtan v the X that maxmzes the beneft, we need to consder all possble values of j, as formulated n Eq. (6). The recurson follows. u T v. If u s not n T v, we need to consder two sub-cases. Case 1. If u s the nearest server of v, the value of B v,u s defned by Eq. (6) because we can solate two subtrees, as we dd n the case where u T v. Case 2. If the nearest server to v s not u, then by Lemma 2, we can fnd the nearest server u for v n T v. We formulate the beneft as B n Eq. (7), and llustrate t n Fg. 5. Consder these two sub-cases f u T v, B v,u s formulated as max{b, B }. Now, the only element needed to fnsh the recurson s the new cost functon E v,u. Fg. 4. An llustraton of B when j extra servers are placed n T v. Fg. 5. An llustraton of B when j extra servers are placed n T v. Defnton 3 (E v,u ). For nodes v, u V, an nteger k, and the -th chld of node v (denoted by v ), we defne E v,u as the maxmum beneft derved by placng k extra servers n the subtree T v, where u T v s the nearest server to v, but t s not the nearest server to v. Instead, the nearest server to v s a u n T v. The beneft s smlarly defned n Eq. (8): E v,u = max X b(w, NS(w)) c(s). (8) w Tv,NS(w) X s X Based on the above dscusson, the maxmum beneft E v,u can be derved by Eq. (9). That s, we need to enumerate all possble nstances of u and use the one that maxmzes B v,u k, chld(v ). Ths s exactly the defnton of V v,u,. E v,u = max u Vv,u, B v,u k, chld(v ). (9) The fnal soluton. Fnally, the maxmum beneft of locatng k extra servers n the tree T can be calculated by Eq. (10): B r,u k, chld(r). (10) max u T The possble canddates for u are subject to the followng constrants: (1) f u s an orgnal server d(r, u) must be d(r, O),.e., u s the nearest orgnal server to the root; and (2) f u s not an orgnal server, the dstance d(r, u) must be smaller than d(r, O) to ensure that u s the nearest extra server to the root. Proof of optmalty. Next, we show that the formulaton of B v,u n Eq. (5) can compute the optmum placement correctly. Let B v,u X, be the beneft of placng an extra server set X n T v (), where u s a nearest server to v and X s a subset of T v (). We want to show that B v,u = B v,u X opt, when X opt s an optmal placement of k extra servers n T v ().
J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 67 Theorem 2. Let X opt be an optmal placement of k extra servers n T v () ; then, Bv,u = B v,u X opt,. Proof. The frst three cases of the B v,u recurson n Eq. (5) are termnal cases, so we only consder Eqs. (6) and (7). In both cases, we prove the theorem by nducton on the number of nodes n T v. The assumpton s that B v,u = B v,u X opt, s true when the number of nodes n T v s at most n1. Our objectve s to show that the clam s true for all n. Frst, we consder the case where u s n T v (Eq. (6)). By Lemma 1, u s the nearest server to v, so t also the nearest server to v. The beneft B v,u X opt, can be separated nto two ndependent parts by Theorem 1. B v,u X opt, = Bv,u + X opt T v (1) Bv,u,1 X opt Tv, chld(v ). (11) Snce X opt s only an optmal soluton for T v, X opt T (1) may not be an optmal soluton for T v1. Smlarly, X opt T v may not be an optmal soluton for T v ether. If X opt T v (1) s k j and X opt T v s j, then from the nducton hypothess, the optmal solutons for T v1 and T v wll accrue benefts B v,u kj,1 and Bv,u j, chld(v ) respectvely, and we have the followng result: B v,u X opt, Bv,u kj,1 + Bv,u j, chld(v ). (12) By defnton, B maxmzes the beneft by adjustng the number of extra servers n T v1 and T v,.e., B = max 0 j k {B v,u kj,1 + B v,u j, chld(v ) }. We therefore conclude that Bv,u X opt, s ndeed Bv,u the theorem follows. and B v,u X opt, B = B v,u. (13) The proof for the case where u s n not T v (Eq. (7)) s smlar. We can separate T v1 and T v by Theorem 1, and argue that E v,u correctly computes the maxmum beneft by the defnton of V v,u,. Tme complexty analyss. We now analyze the tme complexty of our soluton. Theorem 3. Gven a tree T = (V, E) and a set O V as the orgnal servers, the k-extra-server problem for T can be solved n O( V 3 k) tme, where 0 k V O s an nteger. Proof. The problem can be solved by Eqs. (4) (10). The tme requred for dynamc programmng s derved by calculatng all the entres n B v,u and E v,u. Consder each par of v and, so that there are n total v V chld(v) = V 1 pars. Thus, the number of entres n B v,u s (k+1) V ( V 1) = O( V 2 k), and t takes O( V ) tme to calculate each entry; hence, the tme requred to calculate all the entres n B v,u s bounded by O( V 3 k). Smlarly, there are O( V 2 k) entres n E v,u, and t takes O( V ) tme to calculate each entry; therefore, the tme requred to calculate all the entres n E v,u s O( V 3 k). The total tme requred s therefore O( V 3 k). Table 1 shows the executon tme of the dynamc programmng under dfferent tree network szes when the numbers of extra servers and orgnal servers are both set to 0.3 V. The processng tme does not growth rapdly wth the number of node ncreases. 3.1.2. Extra-server soluton We now consder the extra-server problem. Obvously, the larger the number of extra servers we use, the more the total beneft wll ncrease. However, the beneft may not ncrease because of the cost of constructng the extra servers. For ths reason, we do not know how many extra servers we should locate n order to maxmze the beneft. Table 1 Average processng tme of the dynamc programmng for tree networks. V 100 0.0072 150 0.0225 200 0.0540 250 0.1091 300 0.1813 350 0.2769 Average executon tme (s) A smple approach s to search the parameter k n Eq. (10) by usng the dynamc programmng of the k-extra server problem. To do ths, we compute the followng equaton: max u T,0 k VO B r,u k, chld(r), (14) where the node u s the nearest server to the root. The tme complexty of ths nave approach s O( V 5 ), whch s too expensve for large cases. In the followng, we formulate a much more effcent dynamc programmng approach wth a tme complexty of O( V 3 ). We begn by defnng a key functon of our dynamc programmng technque. Defnton 4 (Beneft Functon). For nodes v, u V, and an nteger between 0 and chld(v), we defne B v,u as the maxmum beneft derved by placng extra servers n T v () wthout any constrant on the number of the extra servers, subject to the condton that u s the nearest server for node v,.e., u = NS(v). Consequently, u s ether an orgnal server or an extra server. The beneft functon B v,u s smlar to B v,u defned n Secton 3.1.1, except that there s no constrant on the number of extra servers. Termnal condtons. We frst derve two termnal condtons for the recurson of the B functon. = 0, u O: When equals 0, there s only one node (.e., v) n T v (). If u O, the beneft s obvously 0. = 0, u O: Snce there s only one node v n T v (), the beneft s b(v, u). At the same tme, snce u s v,.e., v s an extra server, c(v) should be deducted from the beneft. The beneft s derved by Eq. (14): B = b(v, u), v u, B = b(v, u) c(v), v = u. (15) Recurson. Now, we can derve the recurson for B v,u. The maxmum beneft B v,u s gven by the followng: 0, f = 0 and u O B v,u B, f = 0 and u O = B, (16) f u T v max B, B, f u T v, where B = B v,u 1 + Bv,u chld(v ), (17) and B = B v,u 1 + Ev,u. (18) The frst two cases were dscussed as termnal condtons. The cases where u s n or not n T v are smlar to the dscusson n Eq. (5). Now, to fnsh the recurson, we only need the new cost functon E v,u. Defnton 5 (E v,u ). For nodes v, u V and the -th chld of node v (denoted by v ), we defne E v,u as the maxmum beneft derved
68 J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 by placng extra servers n the subtree T v wthout any constrant on the number of extra servers, where u T v s the nearest server to v; however, u s not the nearest server to v. Instead, the nearest server to v s a u n T v. E v,u v The maxmum beneft E v,u = max B v,u u chld(v ) Vv,u, s gven by the followng:. (19) The fnal soluton. Fnally, the maxmum beneft of locatng extra servers n the tree T s calculated by Eq. (20): B r,u chld(r). (20) max u T The possble canddates for u are subject to the followng constrants: (1) f u s an orgnal server, d(r, u) must be d(r, O),.e., u s the nearest orgnal server to the root; and (2) f u s not an orgnal server, the dstance d(r, u) must be smaller than d(r, O) to ensure that u s the nearest extra server to the root. Proof of optmalty. We now show that the formulaton of B v,u n Eq. (16) can compute the optmum placement correctly. Let B v,u X, be the beneft of placng an extra server set X n T v (), where u s the nearest server to v and X s a subset of T v (). Our objectve s to show that B v,u = B v,u X opt, when X opt s an optmal placement of extra servers n T v (). Theorem 4. Let X opt be an optmal placement of extra servers n T v (), then B v,u = B v,u X opt,. Proof. The proof s smlar to the proof of Theorem 2. Tme complexty analyss. Theorem 5. Gven a tree graph T = (V, E) n whch O V are the orgnal servers of T, the extra-server problem for T can be solved n O( V 3 ) tme. Proof. The proof s smlar to that of Theorem 3. There are O( V 2 ) entres n B v,u, O( V 2 ) entres n E v,u, and the calculaton of each entry requres at most O( V ) computng tme. Hence, the problem can be solved n O( V 3 ) tme. 3.2. Fndng extra server locatons n general graphs In ths secton, we show that the k-extra-server and extraserver problems are NP-complete when the network topology s a general graph, and then propose a heurstc soluton. 3.2.1. NP-completeness The NP-complete proof s derved from the domnatng set problem [15]. A subset V V s a domnatng set f for all u VV, there s a v V such that the edge (u, v) s n E. The decson problem of the domnatng set can be formulated as follows: Gven a graph G = (V, E) and a postve nteger K V, s there a domnatng set of sze K or less? k-extra-server. We now consder the k-extra-server problem and defne the correspondng decson problem as follows: In an nstance of a k-extra-server problem, s there a placement of k extra servers such that the beneft s at least B? Extra-server. Smlarly, we defne the extra-server decson problem as follows: In an nstance of an extra-server problem, s there a placement of extra servers such that the beneft s at least B? Theorem 6. The k-extra-server problem s NP-complete. Proof. The k-extra-server problem s n NP because a non-determnstc Turng machne can non-nondetermnstcally place the k servers and verfy that the total beneft s at least B n polynomal tme wth respect to the nput sze. We frst defne an at-most-k-extra-server problem, and show that the domnatng set problem s a specal case of the at-most-kextra-server problem. The latter problem s smlar to the k-extraserver problem, except that we can place no more than k servers. Gven a domnatng set problem, we construct an at-most-kextra-server problem as follows. We use the graph G = (V, E) from the domnatng set problem. For each node v V, we set c(v) = 0. For each edge (u, v) E, we set d(u, v) = 1 and b(v, u) = 1. If (v, u) s not n E, we set b(v, u) to 0. We also set b(v, v) to 1 for all v. Fnally we set the orgnal server set of O to be empty, B to V, and k to K. The constructon can be done n polynomal tme snce the sze of constructed graph s as same as the orgnal graph G, and the beneft functon, the dstance functon, and the parameters can be computed drectly from G. In ths at-most-k-extra-server problem nstance, the optmal beneft s at most B = V, whch can only be acheved when every node s ether an extra server or adjacent to an extra server. Consequently, the extra server set can acheve B beneft f and only f t s a domnatng set. The sze of the graph s domnatng set wll be at most K f and only f we can fnd a set of at most K extra servers whose beneft B = V. It s obvous that the at-most-k-extraserver problem s n NP. As a result, the problem s NP-complete. Now, let us consder the at-most-k-extra-server and k-extraserver problems under the restrcton that the constructon cost of every node s 0. Clearly, there s no dstncton between these two decson problems, snce the more servers we buld, the greater the probablty that we wll acheve the beneft of V. Therefore, both problems are NP-complete. Now, snce the k-extra-server problem wthout constructon costs s already NP-complete, ts general form, the k-extra-server problem wth constructon costs, s also NP-complete. Theorem 7. The extra-server problem s NP-complete. Proof. The proof s smlar to that of Theorem 6. The extra-server problem s n NP because a non-determnstc Turng machne can non-nondetermnstcally place servers and verfy that the total beneft s at least B n polynomal tme wth respect to the nput sze. Now gven a domnatng set problem, we translate t nto an extra-server problem as follows. The graph G = (V, E) remans the same. The beneft functon b(v, u) s set to 2 V f the edge (v, u) s n E, or v = u; otherwse, b(v, u) s set to 0. The cost of constructng at each node s set to 1, and the beneft goal B s set to 2 V 2 K. The constructon could be done n polynomal tme snce the sze of constructed graph s as same as the orgnal graph G, and the beneft functon, the constructon cost functon, and the parameters can be computed drectly from G. We argue that the domnatng set problem nstance has a soluton f and only f the constructed extra-server problem nstance has a soluton. Snce b(v, u) s set to a very large value, every node must be next to a server or have a server so that t can derve the beneft of 2 V 2 K. If any node s not adjacent to a server, the loss n benefts cannot be compensated for by the savng n constructon costs, whch are at most V. Therefore, a server placement can acheve at least 2 V 2 K f and only f there s a domnatng set of sze K at most. The theorem follows. 3.2.2. Greedy heurstcs for the unconstraned model Snce the k-extra-server problem and the extra-server problem are both NP-complete, we propose three greedy heurstcs, called Greedy Add, Greedy Remove, and Greedy Add-Remove for these
J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 69 problems. Here, we only descrbe heurstcs for the k-extra-server problem because the method for the extra-server problem s very smlar, snce we can record the results from the ntermedate stages of these heurstcs and select the best k value. Greedy Add. The heurstc Greedy Add works n teratons. In each teraton, t allocates an extra server that maxmzes ts beneft, whle consderng all orgnal servers and prevously added extra server as compettors. The selected extra server s added to the extra server set. The process repeatedly adds an extra server untl k extra servers have been located. Greedy Remove. The algorthm Greedy Remove starts wth placng an extra server on every node that s not an orgnal server. Then, Greedy Remove removes unnecessary extra servers teratvely. In each teraton, t removes the extra server whch has the hghest cost. The process s repeated untl the number of extra server equals to k. Greedy Add-Remove. The heurstc Greedy Add-Remove works n two phases: Greedy Add and then Greedy Remove. The frst phase, Greedy Add adds an extra server wthout concernng about a lmtaton of the number of extra servers k untl no more beneft can be earned. The second phase, Greedy Remove takes the extra server set determned by the frst phase as nput and repeatedly remove extra servers untl the number of extra servers equals to k. 3.3. Expermental results for the unconstraned model We conduct smulatons to compare the performance of the greedy heurstcs wth the lnear programmng solutons derved by usng GLPK (GNU Lnear Programmng Kt) [27] for the k-extraserver problem. GLPK s a set of routnes desgned for solvng large-scale lnear programmng (LP) problems, mxed nteger programmng (MIP) problems, and other related problems. We now derve the lnear programmng for the k-extra-server problem. For ease of explanaton, we frst derve nteger programmng for the problem, and then translate t nto a lnear programmng problem by relaxng two of ts constrants. Let the 0 1 varable X u denote whether there s an extra server on u V O, and let the 0 1 varable Z uv, u V O, and v V denote whether v s a clent of u. The nteger programmng for the k-extra-server problem s formulated as follows: maxmze Z uv b(v, u) X u c(u), (21) u V subject to u (VX) v V X u {0, 1}, for u V, (22a) Z uv {0, 1}, for u V, v V, (22b) X u = 0, for u O, (22c) X u = k, (22d) u V Z uv = 1, for v V, (22e) u V X u Z uv 0, for u (V O), each v V, (22f) Z uv = 0, for u V, v V, and d(v, u) > d(v, O). (22g) Z uv Z wv 0, for u, w, v V, and d(v, u) < d(v, w). (22h) Constrant (22c) prohbts the placement of an extra server on O, constrant (22d) ensures that there are exactly k extra servers placed on V, and constrant (22e) ensures that each node v V s a clent of at least one server (ether an extra server or an orgnal server). Constrant (22f) requres that there must be an extra server placed on u f v s a clent of u, where u (V O), and v V. Constrant (22g) ensures that every node v V cannot be a clent of a server u f d(v, u) > d(v, O). In addton, constrant (22h) ensures that each node v V cannot be a clent of a server w f d(v, u) < d(v, w), where u and w V. Consder the 0 1 varables X u and Z uv n constrants (22a) and (22b) respectvely. We replace them wth constrants (23a) and (23b) respectvely, so that we have a lnear programmng formulaton: 0 X u 1, for each u V, (23a) 0 Z uv 1, for each u V, v V. (23b) Ths allows us to place a fractonal number of an extra server on a node u V. Moreover, v can go to u for servce wth b(v, u) beneft. Consequently, ths lnear programmng method can obtan an optmal soluton. The optmal beneft ganed from lnear programmng only serves as an upper bound, snce t allows a fractonal number of an extra server to be placed on a node. However, n our experments, we fnd that, n most cases, lnear programmng produces nteger solutons,.e., X u and Z uv are n the range {0, 1}. 3.3.1. Experment settng In the experments, we use the GT-ITM generator [5] to generate random graphs based on the Waxman s model [42]. GT-ITM and Waxman s model are wdely used for generatng random graph topologes, such as Internet topologes, for a broad class of optmzaton problems, such as measurement and dssemnaton of dstance nformaton on the global Internet [7,14], dynamc network routng schemes [32], provsonng of VPNs [23], and load balanced vrtual crcuts [29]. In the Waxman model, each of the graphs s connected, and nodes are added randomly n a s s square. The probablty of an edge between u and v s gven by p(u, v) = αe d/βl, where 0 < α, β 1. The dstance d between u and u s the Eucldean dstance between u and v, and L = 2s s the largest possble dstance between any two nodes. In our experments, we set s to 100, α to 0.5, and β to 0.5. The default number of nodes V s set to 196, the number of orgnal servers O and the number of the extra servers k are set to 0.3V. The orgnal servers are placed randomly n the graph. For each v, we set a value r(v) and the buldng cost c(v) as a unform dstrbuton overt the range [0, 2q r ] and [0, 2q c ]. The beneft functon b(v, u) s defned as r(v) dvded by the dstance between v and u and the default q r and q c are set to 30,000 and 10,000 respectvely. Snce the soluton of the lnear program s a upper bound for ths problem, ths super optmal soluton s used as a performance measurement crtera. We compare the soluton from our heurstcs wth ths super optmal soluton. For ease of presentaton, we compare the normalzed beneft, whch s defned as the rato of the beneft generated by the super optmal soluton to the beneft generated by the heurstc algorthm. 3.3.2. Effect of α We evaluate the performance of all heurstcs by comparng ther normalzed benefts under dfferent values of α. In these experments, we set the value of α from 0.1 to 0.5, and each data pont s the average of 100 smulatons. Fg. 6 shows the normalzed beneft results under varous value of α. The performance of Greedy Add and Greedy Add- Remove become stable when α s greater than 0.3 and the dfference between ther normalzed benefts becomes smaller. Greedy Add-Remove s the worst among the three heurstcs, and ts normalzed beneft decreases as α ncreases.
70 J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 Fg. 6. Comparson of normalzed beneft under dfferent values of α when the value of β s 0.5. Fg. 8. Comparson of normalzed beneft under dfferent numbers of extra servers. Fg. 7. Comparson of normalzed beneft under dfferent network szes. 3.3.3. Effect of network sze We compare the normalzed benefts of all heurstcs under dfferent network szes from 100 to 900 nodes. The data for each network sze s the average of 100 smulaton runs. Fg. 7 shows that the performance of Greedy Add and Greedy Add-Remove are smlar and scalable wth network sze when t s less than 400 nodes. However, Greedy Remove, s not scalable and t s the worst among three heurstcs. We also use a standard greedy algorthm to place servers wthout consderng the locatons of the orgnal servers, and compare the results wth our heurstcs. Fg. 7 shows that the Greedy Add and Greedy Add-Remove outperforms the standard greedy algorthm by 30%. 3.3.4. Effect of k We compare the normalzed benefts of all heurstcs under dfferent numbers of extra servers k. In ths experment, we vary the number of extra servers k from 10% to 60% of the number of nodes n the network. Fg. 8 shows that the performance of Greedy Add and Greedy Add-Remove decreases when the percentage of extra servers k s greater than 0.3. The reason s that these two heurstcs places an extra server to maxmze the beneft at each step and t cannot consder the overall stuaton; thus, the dfference accumulates at each step more servers means a larger dfference between heurstcs and the upper bound. Fg. 9. Comparson of normalzed beneft under dfferent numbers of orgnal servers. 3.3.5. Effect of the number of orgnal servers Next, we compare the normalzed benefts of all heurstcs under dfferent numbers of orgnal servers. In ths experment, we vary the number of orgnal servers O from 10% to 50% of the number of nodes n the network. Fg. 9 shows that the normalzed benefts of all heurstcs ncrease as the number of orgnal servers ncreases. The reason s that when the number of orgnal servers ncreases, the number of locatons for placng extra servers decreases, therefore t s more lkely that the heurstc can fnd good locatons to place extra servers. 3.3.6. Effect of orgnal server placement We now observe the normalzed benefts of all heurstcs under a new orgnal servers placement method. Instead of randomly placng orgnal servers, we place orgnal servers usng Greedy Add heurstc. Fg. 10 llustrates normalzed benefts of all heurstcs under the new orgnal server placement. We observe that the behavors of heurstcs are smlar to those n Fg. 7. For example, the normalzed benefts of Greedy Add and Greedy Add- Remove are very stable as the sze of network ncreases from 100 to 400. These smlar behavors ndcate that the placement of orgnal servers has lttle effect on the heurstcs. 3.3.7. Effect of buldng cost In ths experment, we compare the normalzed beneft of the heurstcs under dfferent value of buldng cost c(v), whch s
J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 71 Table 2 The average dfference (as a percentage) between varous heurstcs and the upper bound under dfferent number of nodes n the unconstraned model. O Greedy Remove Greedy Add Greedy Add-Remove Random Std. Dev. Std. Dev. Std. Dev. Std. Dev. 100 26.08 0.14 11.09 0.04 12.10 0.11 61.51 0.10 144 25.87 0.13 11.11 0.03 11.67 0.09 62.88 0.09 196 29.27 0.12 11.25 0.02 11.47 0.08 61.28 0.08 256 34.05 0.12 10.44 0.02 10.88 0.08 58.57 0.07 324 36.91 0.11 10.98 0.01 11.46 0.07 59.31 0.06 400 40.67 0.11 11.96 0.01 12.60 0.07 59.98 0.06 Fg. 10. Comparson of normalzed beneft under dfferent numbers of network szes n the unconstraned model when usng Greedy Add heurstc to determne the orgnal servers. Fg. 11. Comparson of normalzed beneft under dfferent mean of buldng cost. taken from an unform dstrbuton over [0, 2q c ], and we vary the mean q c from 10,000 to 20,000. Fg. 11 shows that the results of Greedy Add and Greedy Add- Remove are almost the same and are stable when the means of the buldng cost c(v) vares. Greedy Remove performs the worst among the three heurstcs. 3.3.8. Combned effect of all parameters We consder the combned effects of all parameters on the average beneft of all the heurstcs under dfferent network szes. In ths experment, the network szes are set to 100, 144, 196, 256, 324, 400, respectvely. We vary the number of orgnal servers from 0.1 to 0.5 of V, the mean of buldng cost q c from 10 k to 14 k, and the number of extra servers from 0.1 to 0.3 of V. Table 2 shows that Greedy Add performs well t yelds beneft wthn 12% dfference from the theoretcal upper bounds. Greedy Add- Remove s worse than Greedy Add, and Greedy Remove s the worst among the three heurstcs. 4. Extra-server problem wth server capacty constrant In the second part of the paper, we address the same server placement problem for dstrbuted systems where the number of requests a data server can handle (.e. server capacty) s bounded. We call ths model the constraned model. We formulate the problem under the constraned model usng a connected graph G = (V, E), where V s the set of nodes and E s the set of edges. A node v ssues r v requests to a server and a server u can process up to W u requests. Also there s a constructon cost c(v) f we wsh to buld a server at v. Normally, the cost of buldng a server s proportonal to ts capacty, so we assume the cost of buldng a server to be a lnear functon of W u. The values of r v, W u, and c v for dfferent nodes may be dfferent. We defne the server capacty as a functon of locaton because n many cases the locaton of the server determnes the maxmum servce the server can provde. For example, the physcal layout of a restaurant wll determne the number of customers t can serve smultaneously. Also n grd system the avalable network bandwdth of a ste s determned by the ste admnstrator, and ths bandwdth wll determne the amount of requests ths ste can servce. We assume that every node v wll go to the nearest server u for servce. Each edge (u, v) E has a postve nteger dstance denoted by d(u, v). For any two nodes u, v V, d(u, v) denotes the length of the shortest path between them. We use NS(v) to denote the nearest server from node v, therefore all the requests from v wll go to NS(v) for servces. Smlar to the settng n the constraned model, we assume there are several orgnal servers O V n G, and we would lke to add a number of extra servers, X, to G. The nodes n G wll be parttoned nto two subsets accordng to ther nearest servers V X s the set of nodes that go to X for servce, and V O = V V X be the set of nodes that go to O. The extra-server problem wth server capacty constrant. Gven a graph G = (V, E), the number of requests, the capacty, and the buldng cost of each node, the length of edges, and a set of orgnal servers O, fnd a an extra server set X that mnmzes the total buldng cost v X c(v), subject to the followng constrant. r v W u, u X. (24) {v NS(v)=u} 4.1. NP-completeness Theorem 8. The extra-server problem wth server capacty constrant s NP-complete, even for tree networks. Proof. The extra-server problem server capacty constrant s n NP because a non-determnstc Turng machne can nondetermnstcally place the servers and verfy that the total buldng cost s at most C, and all servers wll not receve requests more than ther capacty. Ths verfcaton takes polynomal tme wth respect to the nput sze. We prove the NP-completeness by reducng the 2-Partton problem to an nstance of the extra-server problem. The 2-partton problem, whch s known to be NP-complete, s defned as follows. Gven a set A of n numbers {a 1, a 2,..., a n }, partton A nto two
72 J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 4.2. Greedy heurstcs for the constraned model Fg. 12. The nstance used n the reducton for Theorem 8. dsjont sets, A 1 and A 2, such that both the sum of the values n set A 1 and the sum of the values n set A 2 are half of S = 1 n a. We now construct an nstance of extra-server based on the 2-Partton problem nstance. Fg. 12 llustrates ths constructon. There are no orgnal servers. We set the buldng cost and the capacty of the root node v to be c(v) = W v = S/2 + 1, and set the number of requests at v to be r v = 1. The remanng n nodes, v, 1 n, have buldng costs, capacty, and the number of requests all set to a respectvely. That s, c(v ) = W = r = a, for 1 n. The constructon can be done n polynomal tme snce the sze of the constructed graph s proportonal to the number of values n the 2-Partton problem. We now construct a decson verson of the extra-server problem: Does there exst an extra-server soluton wth a total buldng cost S + 1? We wll show that the 2-Partton problem has a soluton f and only f ths problem does. Suppose frst that the 2-partton problem nstance has a soluton P so that P a = S/2. We assgn an extra server to each node v, P, and one n the root v. Node v s served by tself f P, and by root v f P. The total buldng cost s ( P W )+W v = S+1, because n W v = S/2+1 = ( P r )+r v, the root v does not exceed ts capacty. Suppose now that the extra-server problem nstance has a soluton S. There must be an extra server located at root v, otherwse nodes v, 1 n would not be able to process the request from the root because when node v s placed an extra server t can only process ts own requests. Let I be the ndex set of nodes v, 1 n, whch have been allocated an extra server n the soluton S. For I, there s no extra server n node v, hence all requests of node v are processed by root v, whose capacty s S/2 + 1. We derve v I S/2. Snce the total allowed capacty s S + 1, the total capacty of nodes n I s at S/2. All requests from node v are served by tself, hence v I S/2. Snce I r + v I = S, we derve v I = v I = S/2, hence a soluton to the 2-partton nstance. We can formulate another server placement problem that focuses on beneft. Gven a total buldng budget, we want to place servers to collect the most number of requests wthout exceedng the capacty of any server. Formally, gven a graph G = (V, E), the number of requests, the capacty, and the buldng cost of each node, the length of edges, a bound C on the total buldng cost, and a set of orgnal servers O, fnd an extra server set X that maxmzes the total beneft B(X) = v V X R v,ns(v), subject to the followng constrants. c(v) C (25) v X {v NS(v)=u} r v W u, u X. (26) It s easy to see that ths maxmum beneft problem wth server capacty constrant s also NP-complete even for tree networks. Ths s a drect result from Theorem 8 snce the capacty and the number of requests are the same n the proof. In ths secton, we propose three greedy heurstcs, called Greedy Add, Greedy Remove, and Greedy Add-Remove, to solve the k-extra-server problem wth a server capacty constrant. Also note that we only descrbe heurstcs for the k-extra-server problem because the method for the extra-server problem s very smlar, snce we can record the results from the ntermedate stages of these heurstcs and select the best k value. Greedy Add. The heurstc Greedy Add works n teratons. In each teraton, the algorthm allocates an extra server that maxmzes the beneft of the added server, whle consderng all orgnal servers and prevously added extra servers as compettors. Note that the algorthm does not consder server capacty whle selectng extra server locaton. The process s repeated untl no more beneft can be earned, and no servers exceed ther capacty constrants. Addtonally, f no beneft can be generated but some servers are stll overloaded, the algorthm wll add an extra server that satsfy the most unsatsfed requests. Greedy Remove. The algorthm Greedy Remove frst places an extra server on every node that does not have an orgnal server, then removes unnecessary extra servers teratvely. Intally all requests are satsfed because every node s a server. In each teraton, the algorthm removes an unnecessary extra server that has the hghest buldng cost, and ts removal wll not cause any server to exceed ts capacty. The process s repeated untl the total cost cannot be reduced. Greedy Add-Remove. The algorthm Greedy Add-Remove works n two phases: a Greedy Add phase and then a Greedy Remove phase. The Greedy Add phase frst produces a set of extra servers, whch are then gven to the Greedy Remove phase as nput, so that unnecessary extra servers could be removed. The fnal result s a feasble soluton because t s generated by Greedy Remove. 4.3. Integer programmng for the constraned model We formulate an nteger program for solvng the extra-server problem n the constraned model. In addton to the nteger programmng constrants for the unconstraned model lsted n Secton 3.3 (nequalty (23a) (22h)), we need to add the followng constrant so that no server wll be overloaded, and f u s the server of v, then there must be a server located n node u. r v,u W u X u, for v V. (27a) v V 4.4. Expermental results for the constraned model Smlar to the unconstraned model, we conduct smulatons to compare the performance of the three greedy algorthms wth the optmal lnear programmng solutons derved by usng GLPK [27] for the extra-server problem. The dervaton of the lnear programmng s the same as that for the unconstraned model except wth an addtonal constrant to ensure that the processng capacty of any server must be bounded. 4.4.1. Experment settng In the constraned model experments, we use the same graphs and parameters as n the unconstraned model. Both values of α and β are set to 0.5, the default number of nodes V s set to 196, the number of orgnal servers O s set to 0.3V. The orgnal servers are placed randomly n the graph. For each v, we set a value r(v) and the buldng cost c(v) as a unform dstrbuton overt the range [0, 2q r ] and [0, 2q c ]. The beneft functon b(v, u) s defned
J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 73 Fg. 13. Comparson of normalzed beneft under dfferent values of α, when the value of β s 0.5. Fg. 14. szes. Comparson of normalzed beneft under dfferent numbers of network Table 3 The average degree of a node and average number of extra servers under dfferent value of α. α Ave. degree Greedy Remove Greedy Add Greedy Add-Remove Random 0.1 8.42 105.93 82.56 76.49 131.86 0.3 25.23 115.33 86.91 83.09 132.16 0.5 42.07 117.56 89.25 85.12 132.92 0.7 58.96 114.50 85.46 82.07 130.91 0.9 75.86 110.87 89.38 84.82 132.32 Table 4 Average number of extra servers under dfferent network sze. O Greedy Remove Greedy Add Greedy Add-Remove Random 100 57.32 44.16 41.50 65.27 144 86.32 60.32 58.75 94.57 196 117.56 89.25 85.12 132.47 256 137.57 110.92 104.10 172.79 324 178.65 139.17 131.11 221.41 400 229.13 175.06 166.72 273.64 as r(v) dvded by the dstance between v and u and the default q r and q c are set to 30,000 and 10,000 respectvely. To avod the sngular pont of the beneft functon we defne d(u, u) to be 1, so that the beneft b(u, u) wll be r(u). The server capacty W s equal to the buldng cost. Fnally, the default requests, r formed from each node s taken from a unform dstrbuton over the range [0, 2q c 30%]. 4.4.2. Effect of α Smlar to the experment settng n the unconstraned model, we evaluate the performance of all heurstcs by comparng ther normalzed benefts under dfferent values of α. In these experments, we set the value of α and from 0.1 to 0.5, and each data pont s the average of 100 smulaton. Fg. 13 shows the normalzed beneft results under varous value of α. Greedy Remove performs well when α s small, but the normalzed benefts degrades when α ncreases. Greedy Remove performs better than n the unconstraned model. Table 3 shows the average number of extra servers determned by each heurstc under dfferent values of α. The average number of extra servers s not affected sgnfcantly by α. We compare the average number of extra servers wth Greedy Add and Greedy Add-Remove, and conclude that Greedy Add-Remove does not remove too many extra servers placed by Greedy Add. 4.4.3. Effect of network sze We compare the normalzed benefts of all heurstcs under dfferent network szes from 100 to 900 nodes. Each data pont s the average of 100 smulaton runs. Fg. 14 shows smlar results as n the unconstraned model; that s, all heurstcs except Greedy Remove are scalable wth network sze when the network sze s less than 400. However, Greedy Remove performs better than n the unconstraned model. Table 4 shows the average number of extra servers determned by each heurstc under dfferent network szes. The average number of extra servers ncreases wth the network sze. Fg. 15. Comparson of normalzed beneft under dfferent numbers of orgnal servers. 4.4.4. Effect of the number of orgnal servers Next, we compare the normalzed benefts of all heurstcs under a dfferent number of orgnal servers. We vary the number of orgnal servers O from 10% to 90% of the number of nodes n the network. Fg. 15 shows that the normalzed beneft of all heurstcs s smlar when the percentage of orgnal servers s greater than 30% and t s scalable wth the number of orgnal servers. Table 5 shows the average number of extra servers determned by each heurstc under dfferent number of orgnal servers. We found that the average numbers of extra servers determned by all Greedy heurstcs and Random are smlar when the number of orgnal server s 0.9 V. However, the normalzed beneft of all Greedy heurstcs outperforms Random and s very close to the upper bound.
74 J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 Table 5 Average number of extra servers under dfferent percentage of orgnal servers. O Greedy Remove Greedy Add Greedy Add-Remove Random 0.1 151.70 100.59 95.11 171.36 0.3 117.56 89.25 85.12 132.48 0.5 82.36 70.55 67.35 93.88 0.7 49.10 46.39 44.35 55.11 0.9 17.00 17.20 16.54 16.55 Fg. 17. Comparson of normalzed beneft under dfferent percentage of requests n the constraned model. Table 7 Average number of extra servers under dfferent percentage of requests. r/ W Greedy Remove Greedy Add Greedy Add-Remove Random Fg. 16. Comparson of normalzed beneft under dfferent means of capacty. Table 6 Average number of replcas under dfferent means of capacty. q w Greedy Remove Greedy Add Greedy Add-Remove Random 10(k) 117.56 89.25 85.12 132.22 12(k) 105.50 82.41 76.92 131.67 14(k) 100.96 79.21 73.75 130.73 16(k) 104.08 83.49 76.98 132.12 18(k) 90.58 81.03 70.32 132.92 20(k) 88.32 78.80 69.13 132.41 4.4.5. Effect of the capacty constrant In ths experment, we compare the normalzed beneft of the heurstcs under dfferent server capacty constrants, whch are equal to the buldng cost, and are taken from an unform dstrbuton over [0, 2q c ]. We vary the mean q c from 10,000 to 20,000. Fg. 16 shows that all Greedy heurstcs gve smlar results when the mean of capacty s less than 12,000, but the normalzed beneft slghtly decreases as the mean of capacty ncreases. Table 6 shows that the average number of extra servers determned by each heurstc under dfferent means of capacty. The average number of extra servers decreases as the mean of capacty ncreases. A server can receve more requests as ts capacty ncreases. Consequently the network does not need many extra servers. 4.4.6. Effect of the number of requests We compare the normalzed beneft of all heurstcs under dfferent number of requests. In ths experment, we vary the number of requests r from 10% to 90% of the default capacty constrant. Fg. 17 and Table 7 show the normalzed benefts and the average number of extra servers determned by each heurstc under dfferent numbers of requests. In Fg. 17 both Greedy Add-Remove and Greedy Remove are scalable wth dfferent percentages of requests. The beneft of Greedy Add slghtly decreases as the percentage of requests ncreases. In Table 7, the number of extra servers ncreases as the percentage of request ncreases, snce more extra servers are needed to support an ncreased number of requests. 0.1 109.62 73.91 72.74 113.59 0.3 117.56 89.25 85.12 132.05 0.5 112.86 100.41 90.86 135.06 0.7 106.47 105.60 90.19 135.49 0.9 101.40 109.66 89.81 136.23 Table 8 The average and maxmum dfference (as a percentage) between varous heurstcs and the upper bound under dfferent values number of nodes n the constraned model. O Greedy Remove Greedy add Greedy Add-Remove Random Std. Dev. Std. Dev. Std. Dev. Std. Dev. 100 7.05 0.07 17.63 0.09 17.19 0.09 61.98 0.12 144 8.44 0.07 15.13 0.08 13.67 0.08 56.82 0.10 196 12.79 0.07 13.76 0.07 12.95 0.07 52.91 0.09 256 13.03 0.06 12.24 0.07 11.49 0.07 46.01 0.08 324 14.60 0.06 11.40 0.06 10.53 0.06 41.88 0.07 400 15.78 0.06 10.65 0.06 10.14 0.06 38.07 0.07 4.4.7. Combned effect of all parameters We consder the combned effects of all parameters on the average beneft of all the heurstcs under dfferent network szes. In ths experment, the network szes are set to 100, 144, 196, 256, 324, 400 respectvely. We vary the number of orgnal servers from 0.1 to 0.5 of V, the mean of capacty q c from 10k to 14k, the request r from 0.1 to 0.5 of q c. Table 8 shows that Greedy Add and Greedy Add-Remove are better than Greedy Remove when the number of nodes s larger than 256. Comparng Tables 8 and 2, we found that Greedy Add and Greedy Add-Remove perform better n the unconstraned model than n the constraned model, but Greedy Remove exhbts the opposte behavor. 4.4.8. Executon tme Table 9 gves the total executon tme of all heurstcs under dfferent numbers of nodes n the constraned model. The executon tme of the nteger programmng ncreases rapdly wth the number of nodes and s much larger than those of the heurstcs. Table 10 llustrates the executon tme of varous heurstcs and nteger lnear programmng under dfferent numbers of orgnal
J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 75 Table 9 Total executon tme under dfferent numbers of nodes n the constraned model. V Greedy Remove Greedy Add Greedy Add-Remove Random ILP 100 0.08s 0.13s 0.15s 0.00s 4.25s 144 0.21s 0.34s 0.36s 0.00s 18.66s 196 0.58s 1.02s 1.03 0.03s 30888.96s 256 1.85s 2.26s 2.31 0.08s N/A Table 10 Total executon tme under dfferent numbers of orgnal servers n the constraned model when the network sze s 144. O / V Greedy Remove Greedy Add Greedy add-remove Random ILP 0.1 0.40s 0.49s 0.44s 0.04s 245.15s 0.5 0.22s 0.22s 0.20s 0.01s 11.37s 0.9 0.00s 0.00s 0.00s 0.00s 2.03s servers when the network sze s fxed to 144. The executon tme decreases as the number of orgnal servers ncreases because more extra servers are requred when there are fewer orgnal servers. 5. Concluson We have formulated two optmzaton problems related to the placement of extra servers: the k-extra-server problem and the extra-server problem. We consder the potental proft and the constructon cost at each locaton, and then place extra servers so that ther benefts wll be maxmzed n the presence of competton from the orgnal servers. To our knowledge, our work s the frst that takes competton nto consderaton. For tree networks, we propose dynamc programmng algorthms to solve the k-extra-server problem and the extra-server problem n O( V 3 k) tme and O( V 3 ) tme respectvely. For general graphs, we prove that the problems are NP-complete and propose three greedy heurstc algorthms, Greedy Add, Greedy Remove and Greedy Add-Remove to solve them. The expermental results demonstrate that for the unconstraned model, the Greedy Add heurstc performs best, yeldng beneft wthn 12% dfference from the theoretcal upper bound n average. We also show that when the server capacty s bounded, the same problem s NP-complete even for tree networks. We derve a varaton of the same set of greedy heurstc algorthms, wth the consderaton of server capacty constrant, to approxmate the optmal soluton. Expermental results show that Greedy Add-Remove acheves the hghest beneft n all cases, yeldng a beneft wthn a 13% dfference from the theoretcal upper bound n average. Greedy Add-Remove also requres fewer extra servers to satsfy all data requests than Random and Greedy Add. Our experment results show that the greedy algorthms perform well on general graphs, so t s possble that we could show that the algorthms can delver a performance guaranteed to be wthn a constant factor of the optmum. It s also possble that we could generalze our dynamc programmng based optmal solutons to other network topologes, such as planar graphs. References [1] Amazon Elastc Compute Cloud. http://aws.amazon.com/ec2/. [2] M. Bae, B. Bose, Resource placement n torus-based networks, IEEE Trans. Comput. 46 (10) (1997) 1083 1092. [3] R. Benkocz, B.K. Bhattacharya, A new template for solvng p-medan problems for trees n sub-quadratc tme, n: Proc. 13th Annual European Symposum on Algorthms, n: LNCS, vol. 3669, 2005, pp. 271 282. [4] R. Benkocz, B. Bhattacharya, M. Chrobak, L. Larmore, W. Rytter, Faster algorthms for k-medans n trees, n: Proc. 28th Internatonal Symposum on Mathematcal Foundatons of Comuter Scence, n: LNCS, vol. 2724, 2003, pp. 218 227. [5] K. Calvert, E. Zegura, Gt-tm: Georga tech nternetwork topology models. http://www-statc.cc.gatech.edu/projects/gttm/. [6] C.W. Cameron, S.H. Low, D.X. We, Hgh-densty model for server allocaton and placement, ACM Sgmetrcs Perform. Eval. Rev. 30 (1) (2002) 152 159. [7] Sugh Jamn Cheng, Cheng Jn, Yxn Jn, Danny Raz, Yuval Shavtt, Lxa Zhang, On the placement of nternet nstrumentaton, n: In IEEE INFOCOM 2000, Tel Avv, 2000, pp. 295 304. [8] Y.E. Cho, M. Wnslett, S.-W. Kuo, J. Lee, Y. Chen, Parallel /o for scentfc applcatons on heterogeneous clusters: a resource-utlzaton approach, n: Proc. the Internatonal Conference on Supercomputng, 1999. [9] Y. Cho, M. Wnslett, M. Subramanam, Y. Chen, S.W. Kuo, K.E. Seamons, Explotng local data n parallel array /o on a practcal network of workstatons, n: Proc. ffth Workshop on I/O n Parallel and Dstrbuted Systems, IOPADS, 1997, pp. 1 13. [10] Y-Mn Chung, Pangfeng Lu, Jan-Jan Wu, Server placement n the presence of competton, n: Internatonal Conference on Grd and Pervasve Computng, May 2007. [11] I. Cdon, S. Kutten, R. Soffer, Optmal allocaton of electronc content, Comput. Netw. 40 (2) (2002) 205 218. [12] A. Dan, D. Staram, An on-lne vdeo placement polcy based on bandwdth to space rato, n: ACM SIGMOD Internatonal Conf. Management of Data, 1995, pp. 376 385. [13] J. Dukes, J. Jones, Dynamc replcaton of content n the hammerhead multmeda server, Techncal Report, Department of Computer Scence, Trnty College Dubln, Ireland, 2003. [14] Paul Francs, Sugh Jamn, Cheng Jn, Yxn Jn, Danny Raz, Yuval Shavtt, Lxa Zhang, Idmaps: a global nternet host dstance estmaton servce, IEEE/ACM Trans. Netw. 9 (5) (2001) 525 540. [15] M.R. Garey, D.S. Johnson, Computers and Intractablty: A Gude to the Theory of NP-Completeness, W.H. Freeman & Co., New York, NY, USA, 1979. [16] S. Guha, R. Hassn, S. Khuller, E. Or, Capactated vertex coverng, J. Algorthms 48 (1) (2003) 257 270. [17] X.-J. He, H. Tang, J.-Y. You, Supplyng nstantaneous vdeo-on-demand servces based on grd computng, n: Second Internatonal Workshop on Grd and Cooperatve Computng, n: LNCS, vol. 3033, 2004. [18] W.L. Hsu, The dstance-domnaton numbers of trees, Oper. Res. Lett. 1 (1982) 96 100. [19] X. Ja, D. L, X. Hu, W. Wu, D. Du, Placement of web-server proxes wth consderaton of read and update operatons on the nternet, Comput. J. 46 (4) (2003) 378 390. [20] K. Kalpaks, K. Dasgupta, O. Wolfson, Optmal placement of replcas n trees wth read, wrte, and storage costs, IEEE Trans. Parallel Dstrb. Syst. 12 (6) (2001) 628 637. [21] O. Karv, S.L. Hakm, An algorthmc approach to network locaton problems. : the p-medans, SIAM J. Appl. Math. 37 (3) (1979) 539 560. [22] B.-J. Ko, D. Rubensten, A greedy approach to replcated content placement usng graph colorng, n: SPIE ITCom Conference on Scalablty and Traffc Control n IP Networks II, Boston, MA, July 2002. [23] Amt Kumar, Rajeev Rastog, Av Slberschatz, Bulent Yener, Algorthms for provsonng vrtual prvate networks n the hose model, n: SIGCOMM 01: Proceedngs of the 2001 Conference on Applcatons, Technologes, Archtectures, and Protocols for Computer Communcatons, ACM, New York, NY, USA, 2001, pp. 135 146. [24] Kang-Won Lee, Gong-Jun Ko, Seraphn Calo, Adaptve server selecton for large scale nteractve onlne games, Int. J. Comput. Telecomm. Netw. 49 (1) (2005) 84 102. [25] Y.-F. Ln, C.-M. Wang, J.-J. Wu, Optmzng /o server placement for parallel /o n swtch-based rregular networks, J. Supercomput. 36 (3) (2006) 201 217. [26] P. Lu, J.-J. Wu, Optmal replca placement strategy for herarchcal data grd systems, n: Internatonal Conference on Cluster Computng and the Grd, CCGrd, May 2006. [27] A. Makhorn, http://www.gnu.org/software/glpk/glpk.html. [28] P. Ramananthan, S. Chalasan, Resource placement wth multple adjacency constrants n k-ary n-cubes, IEEE Trans. Parallel Dstrb. Syst. 6 (5) (1995) 511 519. [29] Maurco G.C. Resende, Celso C. Rbero, A grasp wth path-relnkng for prvate vrtual crcut routng, Networks 21 (2) (2003) 104 114. [30] D.N. Serpanos, L. Georgads, T. Bouloutas, MMPackng: a load and storage balancng algorthm for dstrbuted multmeda servers, IEEE Trans. Crcuts Syst. Vdeo Technol. 8 (1) (1998) 13 17. [31] R. Shah, M. Farach-Colton, Undscretzed dynamc programmng: faster algorthms for faclty locaton and related problems n trees, n: Proc. 13th Annual Symposum on Dscrete Algorthms, SODA, 2002, pp. 108 115. [32] Anees Shakh, Jennfer Rexford, Kang G. Shn, Load-senstve routng of long-lved p flows, n: SIGCOMM 99: Proceedngs of the conference on Applcatons, Technologes, Archtectures, and Protocols for Computer Communcaton, ACM, New York, NY, USA, 1999, pp. 215 226. [33] D.B. Shmoys, E. Tardos, K. Aardal, Approxmaton algorthms for faclty locaton problems (extended abstract), n: Proc. 29th ACM STOC, 1997, pp. 265 274. [34] S.R. Subramanya, R. Smha, B. Narahar, I/o performance of x y routng n 2-d meshes under varous dsk load balancng schemes, n: Internatonal Conference on Parallel and Dstrbuted Computng Systems, August 1999. [35] A. Tamr, An o(pn 2 ) algorthm for the p-medan and related problems on tree graphs, Oper. Res. Lett. 19 (2) (1996) 59 64. [36] X. Tang, J. Xu, Qos-aware replca placement for content dstrbuton, IEEE Trans. Parallel Dstrb. Syst. 16 (10) (2005).
76 J.-J. Wu et al. / J. Parallel Dstrb. Comput. 71 (2011) 62 76 [37] N.F. Tseng, G.L. Feng, Resource allocaton n cube network systems based on the coverng radus, IEEE Trans. Parallel Dstrb. Syst. 7 (4) (1996) 323 342. [38] O. Unger, I. Cdon, Optmal content locaton n multcast based overlay networks wth content updates, World Wde Web 7 (3) (2004) 315 336. [39] A. Vgneron, L. Gao, M. Goln, G. Italano, B. L, An algorthm for fndng a k- medan n a drected tree, Inform. Process. Lett. 27 (2000) 81 88. [40] C.-M. Wang, C.-C. Hsu, P. Lu, H.-M. Chen, J.-J. Wu, Optmzng server placement n herarchcal grd envronments, The J. Supercomput. 42 (3) (2007) 267 282. [41] Y. Wang, J. Ln, D. Du, J. Hseh, Effcent vdeo allocaton for vdeo-on-demand servces, n: IEEE Multmeda Conference, 1996. [42] B.M. Waxman, Routng of Multpont Connectons, IEEE Computer Socety Press, Los Alamtos, CA, USA, 1991. [43] O. Wolfson, A. Mlo, The multcast polcy and ts relatonshp to replcated data placement, ACM Trans. Database Syst. 16 (1) (1991) 181 205. Jan-Jan Wu receved the B.S. degree and the M.S. degree n Computer Scence from Natonal Tawan Unversty n 1985 and 1987 respectvely, and the Ph.D. n Computer Scence from Yale Unversty n 1995. Snce November 1995, she joned the Insttute of Informaton Scence as an assstant research fellow, and has been an assocate research fellow snce Oct. 2000. Her research nterests nclude parallel and dstrbuted computng, cluster, Grd and Cloud computng. She s a member of ACM and IEEE. Shu-Fan Shh receved the M.S. degree n Computer Scence from Natonal Ch-Nan Unversty n 2007. He s now a Ph.D. student n the Department of Computer Scence and Informaton Engneerng, Natonal Tawan Unversty. Hs research nterests nclude parallel and dstrbuted computng, cluster and Grd computng, and vrtualzaton on mult-cores. Pangfeng Lu receved hs S.B. from Natonal Tawan Unversty n 1985, and Ph.D. n computer scence from Yale Unversty n 1994. Hs research nterest ncludes desgn and analyss of algorthms, parallel and dstrbuted computng, and Grd and Cloud computng. Dr. Lu s now a professor n the Department of Computer Scence and Informaton Engneerng, Natonal Tawan Unversty. He s a member of ACM and IEEE. Y-Mn Chung receved the M.S. degree n Computer Scence from Natonal Tawan Unversty n 2007. Hs research nterests nclude parallel and dstrbuted computng, and Grd computng.