260 likes | 370 Views
Optimizing server placement in distributed systems in the presence of competition. Jan-Jan Wu( 吳真貞 ), Shu -Fan Shih ( 施書帆 ), Pangfeng Liu ( 劉邦鋒 ), Yi-Min Chung ( 鐘逸民 ). in Elsevier Journal of Parallel and Distributed Computing, 2011 台灣 雲端計算學會 2011 年最佳論文獎. Outline. Introduction
E N D
Optimizing server placement in distributed systems in the presence of competition Jan-Jan Wu(吳真貞), Shu-Fan Shih (施書帆), PangfengLiu (劉邦鋒), Yi-Min Chung (鐘逸民) in Elsevier Journal of Parallel and Distributed Computing, 2011 台灣雲端計算學會2011年最佳論文獎
Outline • Introduction • Extra-server problem without server capacity constraint • Tree topology : dynamic programming • General graph: NP-Complete • Extra-server problem with server capacity constraint • NP-Complete • Conclusion • Three greedy heuristics • Greedy Add, Greedy Remove, and Greedy Add-Remove
Introduction • This paper considers the following two placement problems • Given the network layout and a number k, where should we locate k extra servers such that they will earn the most profit? • Given the network layout, where should we locate extra servers such that they will earn the most profit, without any constraint on the number of extra servers?
Introduction (cont’d) • We define the benefit of an extra server placement to be the profit derived from user requests made to the server, minus the cost of setting up the server. • The cost may vary, depending on the location of the extra server. • For example • We assume that there is a number of McDonald’s restaurants in a city, but no Kentucky Fried Chicken (KFC) outlets. • Now, if we decide to set up a number of KFC restaurants in the same city, where should we place them? • We need to determine the locations for the KFC outlets so that they can compete with McDonald’s and maximize their profits.
Motivation • Cloud computing service providers are building data centers globally and the locations of these servers are important. • For example, users of Amazon’s Elastic Compute Cloud (EC2) can choose servers either in Europe or in the United States. • This indicates that users of cloud computing do care about distance to servers, which directly relates to service quality. • When building new data centers, the service provider must build them in strategic locationsso that users, while choosing closer servers for better network performance, will choose the new data centers instead of existing ones.
Notations and Definitions • V: the set of nodes, E: the set of edges • Each edge (u,v) has a distance denoted by d(u,v) • d(v,S)=minuSd(v,u), where SV. • Every node v must go to the nearest u for service. • Original servers O V, we would linke to add a number of extra servers, X V where XO= to G such that we can maximize their net profit.
Notations and Definitions (cont’d) • By serving a client v, a server node u makes a profit of b(v, u). • Benefit function of adding the servers X • Problem definition • k-extra-server: Given a k, find the optimal placement of k extra servers X ⊆ (V −O) such that the following benefit function will be maximized. • Extra-server: Find the optimal placement of extra servers X ⊆(V−O) such that the following benefit function will be maximized NS(v): The nearest server of v VX: Users go to new servers
Extra-server problem withoutserver capacity constraint • General graph : NP-Complete • Tree topology u Tv(i): the subtree consisting of v and the first i subtrees of v.
Extra-server problem withoutserver capacity constraint (cont’d)
Extra-server problem withoutserver capacity constraint (cont’d)
Extra-server problem withoutserver capacity constraint (cont’d) • The execution time of the dynamic programming under different tree network sizes when the numbers of extra servers and original servers are both set to 0.3|V|.
Extra-server problem withoutserver capacity constraint (cont’d) • Extra-server solution
Extra-server problem withoutserver capacity constraint • General graph: NP-Complete • Three greedy heuristics • Greedy Add • In each iteration, it allocates an extra server that maximizes its benefit, while considering all original servers and previously added extra server as competitors. • Greedy Remove • start with placing an extra server on every node that is not an original server. In each iteration, it removes the extra server which has the highest cost.
Extra-server problem withoutserver capacity constraint (cont’d) • Three greedy heuristics (cont’d) • Greedy Add-Remove • The heuristic Greedy Add-Remove works in two phases: Greedy Add and then Greedy Remove. • The first phase, Greedy Add adds an extra server without concerning about a limitation of the number of extra servers k until no more benefit can be earned. • The second phase, Greedy Remove takes the extra server set determined by the first phase as input and repeatedly remove extra servers until the number of extra servers equals to k.
Extra-server problem withoutserver capacity constraint (cont’d) • Experiment results • Setting • use the GT-ITM generator to generate random graphs • each of the graphs is connected, and nodes are added randomly in a 100 × 100 square • The probability of an edge between u and v is given by
Experiment results • Effect of
Experiment results (cont’d) • Effect of network size
Experiment results (cont’d) • Effect of k
Experiment results (cont’d) • Effect of the number of original servers
Experiment results (cont’d) • Effect of building cost
Extra-server problem with server capacity constraint • Tree topology and General graph : NP-Complete • Apply the proposed three heuristic algorithm • Greedy Add • Greedy Remove • Greedy Add-Remove
Experiment results • Effect of
Experiment results (cont’d) • Effect of the network size
Experiment results (cont’d) • Effect of server capacity
Conclusion • This paper formulated two optimization problems related to the placement of extra servers • the k-extra-server problem • the extra-server problem. • For tree networks, the author proposed dynamic programmingalgorithms to solve the problem. • For general graphs, this paper proved that the problems are NP-complete • Three greedy heuristic algorithms, Greedy Add, Greedy Remove and Greedy Add-Remove.
My comments • A complete problem definition and analysis. • Is the behavior of “competition” realistic ? • Why do not consider the benefit of original server ? • Although three heuristic algorithms are proposed, but the authors did not explain or discuss why the Greedy Remove performs worse than others. • We can modify some configuration of this paper to fit more realistic problem. • e.g., consider the network transmission delay, server performance… • Consider the technique of virtualization, the problem of serer placement must also consider the resource allocation. It will be a more complex problem.