Optimizing server placement in distributed systems in the presence of competition

https://doi.org/10.1016/j.jpdc.2010.08.008Get rights and content

Abstract

Although the problem of data server placement in parallel and distributed systems has been studied extensively, most of the existing work assumes there is no competition between servers. Hence, their goal is to minimize read, update and storage cost. In this paper, we study the server placement problem in which a new server has to compete with existing servers for user requests. Therefore, in addition to minimizing cost, we also need to maximize the benefit of building a new server.

Our major results include three parts. First, for tree-structured systems, we propose an O(|V|3k) time dynamic programming algorithm to find the optimal placement of k extra servers that maximizes the benefit in a tree with |V| nodes. We also propose an O(|V|3) time dynamic programming algorithm to find the optimal placement of extra servers that maximizes the benefit, without any constraint 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 heuristic algorithms, called Greedy Add, Greedy Remove and Greedy Add-Remove, to solve them. Third, we show that if the number of requests a server can handle (i.e., server capacity) is bounded, the server placement problem is NP-complete even for tree networks. We then derive a variation of the same set of greedy heuristic algorithms, with consideration of server capacity constraint, to solve the problem.

Our experiment results demonstrate that the greedy algorithms achieve good results, when compared with the upper bounds found by a linear programming algorithm. Greedy Add performs best in the unconstrained model, yielding a benefit within 12% difference from the theoretical upper bound in average. For the constrained model, Greedy Remove performs best for smaller network sizes, while Greedy Add-Remove performs best for larger network sizes. On average, the heuristic algorithms yield a benefit within 13% difference from the theoretical upper bound in the constrained model.

Research highlights

► Although the problem of data server placement in parallel and distributed systems has been studied extensively, most of the existing work assumes there is no competition between servers. Hence, their goal is to minimize read, update and storage cost. In this paper, we study the server placement problem in which a new server has to compete with existing servers for user requests. Therefore, in addition to minimizing cost, we also need to maximize the benefit of building a new server. ► Our major results include three parts. First, for tree-structured systems, we propose an O(|V|3k) time dynamic programming algorithm to find the optimal placement of k extra servers that maximizes the benefit in a tree with |V| nodes. We also propose an O(|V|3) time dynamic programming algorithm to find the optimal placement of extra servers that maximizes the benefit, without any constraint 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 heuristic algorithms, called Greedy Add, Greedy Remove and Greedy Add-Remove, to solve them. Third, we show that if the number of requests a server can handle (i.e., server capacity) is bounded, the server placement problem is NP-complete even for tree networks. We then derive variation of the same set of greedy heuristic algorithms, with consideration of server capacity constraint, to solve the problem. ► Our experiment results demonstrate that the greedy algorithms achieve good results, when compared with the upper bounds found by a linear programming algorithm. Greedy Add performs best in the unconstrained model, yielding benefit within 12% difference from the theoretical upper bound in average. For the constrained model, Greedy Remove performs best for smaller network sizes, while Greedy Add-Remove performs best for larger network sizes. In average, the heuristic algorithms yield benefit within 13% difference from the theoretical upper bound in the constrained model.

Introduction

Although the problem of data server placement in parallel and distributed systems has been studied extensively, most of the existing work assumes there is no competition between servers. Hence, their goal is to minimize read, update and storage cost. In this paper, we study the server placement problem in which a new server has to compete with existing servers for user requests. Such competition-aware resource placement is important in many areas of applications, such as planning of constructing new business service sites and allocating resources in Grid and Cloud computing environments, which involve purchasing and consuming between providers and users. Therefore, in addition to minimizing cost, competition-aware server placement also needs to maximize the benefit of building a new 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.

We denote the servers to be set up as extra servers, and the existing (competitor) servers as original servers. Thus, in the above example, KFC restaurants are the extra servers and McDonald’s restaurants are the original servers.

We use a graph to model the locations of the servers and users. A node in the graph represents a geographic location, and an edge represents a path between two locations. Building servers in these locations enables users at a node to request services from the servers. Each edge has a communication cost. The distance between two nodes is the length of the shortest path that connects them.

For efficiency of locating the server, and lack of global knowledge, we assume that requests from users are always sent to the nearest server. A node can easily compute its nearest server by itself, and we assume no global knowledge so each site chooses its server independently. For simplicity we also assume that the distances from a node to all the other nodes are different, so the nearest server is uniquely defined.

After extra servers have been established, users that previously went to McDonald’s may now choose to go to KFC. 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. This paper considers the following two placement problems, which relate to the placement of extra server in the presence of competition from original servers.

  • 1.

    Given the network layout and a number k, where should we locate k extra servers such that they will earn the most profit?

  • 2.

    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?

We also use data center location selection to motivate our work. 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) [1] 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. Consequently, locations of existing data centers are crucial to the planning for new ones.

In the first part of the paper, we consider the two placement problems for distributed systems in which a server can service an unlimited number of requests. We call such a model the “Unconstrained model”. We consider two network topologies: tree network and general graph. For tree networks, we develop a dynamic programming technique to solve these two problems with a tree graph in O(|V|3k) and O(|V|3) time, respectively. For general graphs, we show that the two problems are intractable (NP-complete) and propose a greedy heuristic to solve them. We also run experiments and compare our results of the heuristic with theoretical upper bounds. Our experiment results demonstrate that the greedy heuristic achieves good results, even when compared with the upper bounds found by a linear programming algorithm. It yields performances within 12% difference from the theoretical upper bound in average.

In the second part of the paper, we address the same problem under the “Constrained model”, in which the number of user requests a server can handle is bounded. We show that, with bounded server capacity, the server placement problem is NP-complete even for tree networks. We propose three effective heuristic algorithms to approximate the optimal solution. Our experiment results indicate that the heuristic algorithms are promising.

Similar server placement issues, such as I/O or video server placement problems [6], [9], [8], [12], [17], [25], [30], [34], [37], [40], [41], data replica placement problems [13], [20], [19], [22], [26], [38], p-Medians [3], [21], k-Medians [4], [31], [39], and resource location problems [2], [28], [33], have been studied in the literature. Our extra server model and solutions differ from these previous efforts in that we introduce the concept of competition. In other words, to maximize their profits, the extra servers must compete with the original servers for user requests. The number of extra servers established is controlled by the building costs, which differ according to the location.

The remainder of this paper is organized as follows. Section 2 discusses related works. Section 3 describes the unconstrained model and define two server placement problems. For trees we introduce dynamic programming methods for finding the optimal extra server placement for both placement problems. For general graphs we provide proofs that the two placement problems are both NP-complete, present heuristic algorithms to solve them, and report experiment results from the heuristics. Section 4 studies the server placement problem under the constrained model, presents three effective heuristics, and reports the experiment results for the constrained model. Section 5 contains our conclusions.

Section snippets

Server/replica placement

The models for the server/replica placement problem can be classified into two categories. The first set of models allow the request to go up and down the tree for the nearest replica. For example, Wolfson and Milo [43] suggested a model in which no limit is set for the server capacity. The read cost is the number of hops from a request to its server. The update cost is proportional to the size of the subtree that spans all replicas. The goal is to minimize the sum of read and update cost.

Extra-server problem without server capacity constraint

We formulate the problem using a connected graph G=(V,E), where V is the set of nodes and E is the set of edges. Each edge (u,v)E has a positive integer distance denoted by d(u,v). For any two nodes u,vV, d(u,v) denotes the length of the shortest path between them. For ease of representation, we also let d(v,S)=minuSd(v,u) be the length of the shortest path between v and any node in S, where SV.

We consider servers that provide a service to nodes in the graph. Every node v must go to the

Extra-server problem with server capacity constraint

In the second part of the paper, we address the same server placement problem for distributed systems where the number of requests a data server can handle (i.e. server capacity) is bounded. We call this model the constrained model.

We formulate the problem under the constrained model using a connected graph G=(V,E), where V is the set of nodes and E is the set of edges. A node v issues rv requests to a server and a server u can process up to Wu requests. Also there is a construction cost c(v)

Conclusion

We have formulated two optimization problems related to the placement of extra servers: the k-extra-server problem and the extra-server problem. We consider the potential profit and the construction cost at each location, and then place extra servers so that their benefits will be maximized in the presence of competition from the original servers. To our knowledge, our work is the first that takes competition into consideration.

For tree networks, we propose dynamic programming algorithms to

Jan-Jan Wu received the B.S. degree and the M.S. degree in Computer Science from National Taiwan University in 1985 and 1987 respectively, and the Ph.D. in Computer Science from Yale University in 1995. Since November 1995, she joined the Institute of Information Science as an assistant research fellow, and has been an associate research fellow since Oct. 2000. Her research interests include parallel and distributed computing, cluster, Grid and Cloud computing. She is a member of ACM and IEEE.

References (43)

  • K. Calvert, E. Zegura, Gt-itm: Georgia tech internetwork topology models....
  • C.W. Cameron et al.

    High-density model for server allocation and placement

    ACM Sigmetrics Perform. Eval. Rev.

    (2002)
  • Sugih Jamin Cheng, Cheng Jin, Yixin Jin, Danny Raz, Yuval Shavitt, Lixia Zhang, On the placement of internet...
  • Y.E. Cho, M. Winslett, S.-W. Kuo, J. Lee, Y. Chen, Parallel i/o for scientific applications on heterogeneous clusters:...
  • Y. Cho, M. Winslett, M. Subramaniam, Y. Chen, S.W. Kuo, K.E. Seamons, Exploiting local data in parallel array i/o on a...
  • Yi-Min Chung, Pangfeng Liu, Jan-Jan Wu, Server placement in the presence of competition, in: International Conference...
  • A. Dan, D. Sitaram, An on-line video placement policy based on bandwidth to space ratio, in: ACM SIGMOD International...
  • J. Dukes, J. Jones, Dynamic replication of content in the hammerhead multimedia server, Technical Report, Department of...
  • Paul Francis et al.

    Idmaps: a global internet host distance estimation service

    IEEE/ACM Trans. Netw.

    (2001)
  • M.R. Garey et al.

    Computers and Intractability: A Guide to the Theory of NP-Completeness

    (1979)
  • X.-J. He et al.

    Supplying instantaneous video-on-demand services based on grid computing

  • Cited by (9)

    • An integrated prefetching/caching scheme in multimedia servers

      2017, Journal of Network and Computer Applications
      Citation Excerpt :

      To provide such high-quality services, storage system design is particularly important since the storage systems should support sufficient I/O bandwidth for retrieving multimedia data and delivering to the network on time. To exploit the performance of the storage systems, many efficient techniques have been developed, including data placement (Berson et al., 1994, D. Kim et al., 2010; S. Kim et al., 2010; Wu et al., 2011), data replication (Lie et al., 2000; Choe and Pai, 2007; Vinay et al., 2011; Zhou et al., 2015; Zhou and Xu, 2007; Huang et al., 2012), batching (Dan et al., 1996; Cho et al., 2009; Poon and Loc, 2001; Sujatha et al., 2006), piggybacking (Golubachik et al., 1996; Feganha and Fonseca, 2000), and data buffering (Triantafillou and Harizopoulos, 1999; Kim and Liu, 2006; Du et al., 2015; Wang et al., 2011; Song et al., 2008, 2013; Dan and Sitaram, 1996; Sarhan and Das, 2004; Wujuan et al., 2006; Kwon et al., 2008, 2010; Kim and Das, 2007). The data buffering techniques have addressed the trend that, while memory price has been decreasing at a fast rate, it has been not easy to improve disk access time significantly due to the mechanical access time components of disk I/O such as seek time and rotational latency.

    • Considering User Distribution and Cost Awareness to Optimize Server Deployment

      2019, Communications in Computer and Information Science
    • Distributed object recognition in Visual Sensor Networks

      2015, IEEE International Conference on Communications
    View all citing articles on Scopus

    Jan-Jan Wu received the B.S. degree and the M.S. degree in Computer Science from National Taiwan University in 1985 and 1987 respectively, and the Ph.D. in Computer Science from Yale University in 1995. Since November 1995, she joined the Institute of Information Science as an assistant research fellow, and has been an associate research fellow since Oct. 2000. Her research interests include parallel and distributed computing, cluster, Grid and Cloud computing. She is a member of ACM and IEEE.

    Shu-Fan Shih received the M.S. degree in Computer Science from National Chi-Nan University in 2007. He is now a Ph.D. student in the Department of Computer Science and Information Engineering, National Taiwan University. His research interests include parallel and distributed computing, cluster and Grid computing, and virtualization on multi-cores.

    Pangfeng Liu received his S.B. from National Taiwan University in 1985, and Ph.D. in computer science from Yale University in 1994. His research interest includes design and analysis of algorithms, parallel and distributed computing, and Grid and Cloud computing. Dr. Liu is now a professor in the Department of Computer Science and Information Engineering, National Taiwan University. He is a member of ACM and IEEE.

    Yi-Min Chung received the M.S. degree in Computer Science from National Taiwan University in 2007. His research interests include parallel and distributed computing, and Grid computing.

    View full text