optimizing server placement in distributed systems in the presence of competition
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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• Extra-server problem without server capacity constraint
Tree topology : dynamic programmingGeneral graph: NP-Complete
• Extra-server problem with server capacity constraintNP-Complete
• Conclusion
Three greedy heuristicsGreedy Add, Greedy Remove, and Greedy Add-Remove
2
3
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?
4
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.
5
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 locations so that users, while choosing closer servers for better network performance, will choose the new data centers instead of existing ones.
6
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.
7
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
VX: Users go to new servers
NS(v): The nearest server of v
8
Extra-server problem without server capacity constraint
• General graph : NP-Complete• Tree topology
Tv(i): the subtree consisting of v and the first i
subtrees of v.
u
9
Extra-server problem without server capacity constraint (cont’d)
10
Extra-server problem without server capacity constraint (cont’d)
11
Extra-server problem without server 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|.
12
Extra-server problem without server capacity constraint (cont’d)• Extra-server solution
•
13
Extra-server problem without server 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.
14
Extra-server problem without server 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.
15
Extra-server problem without server 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
16
Experiment results
• Effect of
17
Experiment results (cont’d)
• Effect of network size
18
Experiment results (cont’d)
• Effect of k
19
Experiment results (cont’d)
• Effect of the number of original servers
20
Experiment results (cont’d)
• Effect of building cost
21
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
22
Experiment results
• Effect of
23
Experiment results (cont’d)
• Effect of the network size
24
Experiment results (cont’d)
• Effect of server capacity
25
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 programming algorithms 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.
26
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.