Anda di halaman 1dari 5

JOURNAL OF TELECOMMUNICATIONS, VOLUME 17, ISSUE 1, NOVEMBER 2012 17

Advantages of Client Partitioning for Content Delivery


Kenichi Yamashita and Kazumasa Oida
AbstractIn the content delivery networks (CDNs), there are basically two ways to set up client and server pairs for delivering media streams. They are the server selection (SS) made by a requesting client and the client partitioning (CP) performed by all servers. The latter requires precise information on future request arrivals. Although previous works mainly focus on the SS approach, this paper takes the CP approach and proposes a revised version of an existing CP algorithm designed for hypercube overlays. The revised CP algorithm copes with requests from unexpected clients and outperforms the SS algorithm, especially when a large number of clients and servers exist, requesting clients are spatially concentrated, or a huge number of requests arrive in a short period of time (flash crowds). Index TermsContent delivery, hypercube, server selection, partition algorithm, worst link stress

1 INTRODUCTION

ARGE-SCALE content delivery networks (CDNs) often consist of numbers of functionally equivalent servers that provide delivery service to a large number of clients [1]. Basically, a client receives a media stream from one server. In this case, there are two ways to create client and server pairs. First, a client selects a server on demand (server selection). Second, each server is assigned a group of clients in advance and requests from clients are redirected according to the assignment (client partitioning). In the server selection (SS), each client selects the best server in terms of the number of hops, the round-trip time, and/or the server and network loads [2],[3],[4],[5]. Therefore, the SS is considered to be an algorithm that achieves individual optimization. The social optimization, on the other hand, is to obtain the best client-server pairs for all clients. If the information on when and from where clients request service is a priori given, the client partitioning (CP) can achieve the social optimization with the help of an optimization algorithm. The individual optimization does not always agree with the social optimization in some queueing systems [6],[7],[8], and will be shown in our model. For the benefit of all clients, we should perform the CP. However, the CP for content delivery has not been intensively studied [9],[10]. This is mainly because performances of the SS and CP are not largely different in many cases. The situation is different in the case where a large number of clients and servers exist, the network is heavily loaded, requesting clients are spatially concentrated, or a huge number of requests arrive in a short period of time (flash crowds [11],[12]). This extreme situation is not rare today and should be dealt with. We show in this paper that the CP ap

proach is more suitable for this situation. Although this approach needs the information on future request arrivals, statistics in the past may help forming a good estimation. This paper investigates the impact of estimation failures on the advantage of the CP. To cope with estimation failures, we propose an algorithm, which is a revised version of an existing CP algorithm [13]. This paper is organized as follows: Section 2 formulates the optimization problem for achieving the social optimization. Section 3 proposes a revised version of an existing CP algorithm (RCP algorithm). Section 4 calculates how much the performance is improved when the RCP algorithm is used instead of the SS algorithm under the condition that all clients and servers are connected on a hypercube overlay [14]. Finally, Section 5 presents the conclusions.

2 FORMULATION
2.1 Server Selection Let and denote sets of servers and clients, respectively. Assume that > > 1, where = || and = ||. To receive delivery service from one of the servers in , each client performs server selection (SS) according to Algorithm 1. The selection is based on the worst link stress (WLS). The link stress of a link is the number of media streams flowing on the link and the WLS of a pathis the greatest link stress over all links along the path. Let be the WLS of the path from server to the requesting client .All WLSs { } can be obtained if { } is given, where is the set of clients being served by server , since in our model, a path is uniquely determined for each client and server pair (the uniqueness is described later).

K. Yamashita was with the Department of Computer Science and Engineering, Fukuoka Institute of Technology, Fukuoka, Japan. K. Oida is with the Department of Computer Science and Engineering, Fukuoka Institute of Technology, Fukuoka, Japan. 2012 JOT www.journaloftelecommunications.co.uk

18

Algorithm 1: Client selects a server if 1.


1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: input:, { }, { }, for all do if| | < then {} end if end for if| | = 0then return1 else arg min if| | = 1then return else arg min (, ) return end if end if

Algorithm 2: server selects a client if 1.


1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: input:, , { }, { }, { }, , if| | = then return1 else if then return else for all {}do if| | = then ( ) end if end for if = then return1 else arg min (, ) return end if end if end if TABLE 1. SYMBOLS USED IN THIS PAPER. Symbol Definition hypercube dimensionality set of servers ( = ||) set of clients expected to request service ( = ||) set of clients that actually request service { } solution to Problem P maximum number of clients served by server set of unassigned requesting clients set of clients being served by server

We briefly describe Algorithm 1. Let be the set of servers satisfying | | < , where is the maximum number of clients for which server can provide service. Therefore, | | < indicates server is available. A client selects a server , where = arg min . (1)

If | | > 1 , the closest server with respect to the hop count is selected. Function (, ) stands for the number of hops between client and server and is equal to the Hamming distance between them. If server ( 1) is selected, is updated as {} after executing Algorithm 1. When client stops receiving service from server , is updated as {}.

2.2 Partitioning Problem We next formalize the client partitioning problem P. Let be the set of clients assigned to server. If all clients in are receiving delivery service (i.e., = ) and = for all , then all WLSs, { } , , can be derived. For given sets and , problem P is to obtain the optimal solution { } that minimizes the greatest WLS over all paths. Problem P is formulated as follows: Minimize max ({ }),
,

Subjectto

= , (2) = if , | | forall .

Fig. 1. Hypercubes with dimensionalities = 1,2,3 and node IDs.

Problem P is a social optimization problem since it aims at reducing the worst WLS of all pathsestablishedfor clients in set.

3 REVISED CLIENT PARTITIONING


We use the client partitioning (CP) algorithm in [13] to obtain near-optimal solution { } to problem P. Let us clarify the difference between two client sets: and . Set

consists of clients that are expected to request service; while consists of clients that actually request service. The optimization problem P is solved with the estimated set . Therefore, may not agree with . The revised CP (RCP) algorithm proposed in this paper partitions by making full use of solution { } if the two sets are not largely different. Note that the SS algorithm is used by a client; while the RCP algorithm is executed on all servers. Algorithm 2 is part of the RCP algorithm. By using Algorithm 2, server selects a client from set if | | < , where is the set of clients that are requesting service but

19

Fig. 2. W 2 LS distributions calculated with the SS or RCP at = 10, = 256, and = 8.

TABLE 2. MEANS AND STANDARD DEVIATIONS OF W 2 LS DISTRIBUTIONSAND THE IMPROVEMENT RATES. mean (stdev) SS RCP = 9, = 128, = 4 12.71 (2.92) 11.99 (2.84) 0.06 = 10, = 256, = 8 11.51 (2.52) 10.42 (2.43) 0.09 = 11, = 512, = 16 10.46 (2.23) 9.017 (2.01) 0.14

not assigned yet. The assignment is based on as long as ; otherwise, server selects the closest client , where is the sum of the following sets: The set of requesting clients that are not expected to request (i.e., ). The set of requesting clients assigned to server( ), but the server is currently unavailable (i.e., | | = ). The following describes the RCP algorithm. Each server has sets , { }, { }, { }, , and . Table 1 summarizes these symbols. The algorithm works as follows: Each server in turn selects a client from set in an arbitrary order according to Algorithm 2 if ; otherwise, server waits until || becomes positive. Note that the turn of server is passed if it is not available (| | = ). When server executes Algorithm 2 for the first time, must be . After server selects a client , the server updates sets and such that is removed from and added to (i.e., {} and {}) and then informs the other servers about what has been selected so that every server updates its own and { }. When a client requests service, set owned by each server is updated as {}. When a client stops receiving service from server , owned by each server is updated as {}.

Fig. 3. Rate at (a) = 256 or (b) = 8. = 10.

nodes and 21 edges. Each node has a node ID, which is a -bit binary string, and two nodes are linked by an edge if and only if their node IDs differ in precisely one bit. As a consequence, each node is adjacent to other nodes, one for each bit position, and the number of hops between any two nodes does not exceed . Fig. 1 illustrates three hypercubes. An important feature of the hypercube is independent routes [16]. Let and be any two nodes on a dimensional hypercube. There are independent paths between and , and their lengths are less than or equal to (, ) + 2, where (, ) is the number of hops from to . Routing on the hypercube is simple and does not require routing tables. If IDs of source and destination nodes are 1 2 and 1 2 , respectively, then the source selects 1 1 +1 as the next hop node if = for = 1, , 1 and . If the next hop node obeys this selection rule, the path from a source to a destination is determined (i.e., a path is unique for each client and server pair).

4 COMPUTATIONAL EXPERIMENTS
4.1 Hypercube This paper assumes that all servers and clients are connected on a hypercube overlay. We first briefly introduce the hypercube [15]. The -dimensional hypercube has 2

4.2 Correct Estimation We first consider the case where the set of all clients that actually request service agrees with estimated set . The SS and RCP algorithms are evaluated based on the greatest WLS over all established paths (W 2 LS), which is defined as max, . A better algorithm yields a smaller W 2 LS. We consider the most heavily loaded case where all clients are receiving service and = / for

20

Fig. 4. Improvement rate as a function of the ratio of unexpected clients . The client set is 4 , = 22 , and the number of clients per server (/) is 16. (a) = 10 and (b) = 11.

Fig. 5. Rate as a function of . The client set is 4 , = 22 , and / = 8. (a) = 11 and (b) = 12.

all , where / is an integer. In this case, by executing the RCP,we have = for all . Namely, partition { } made by the RCP is equal to the solution { } to problem P calculated with the PA. The reason we consider the heavily loaded case is because the performance difference between the SS and RCP algorithms becomes distinct in this case. Fig. 2 shows W 2 LS distributions derived from 2000 2 W LS values calculated with the SS or RCP. The same 2000 pairs of sets and are used to obtain the two distributions. From the figure, by using the RCP, the mean of the distribution becomes smaller. Table 2 lists the means and standard deviations for three calculation conditions. Note that the number of clients per server / is 25 and the ratio of clients (resp. servers) to all hypercube nodes /2 (resp. /2 ) is 22 (resp. 27 ) for all conditions. To indicate how much the RCP outperforms the SS, the table contains the improvement rate defined by W 2 . = 1 . (3) W 2 . As shown in the table, increases with dimensionality . Thus, the RCP is more useful for larger systems.

of servers) on the rate . Each value is calculated with randomly selected 2000 pairs of sets and . In the figure, 4 and are two types of client set , where all clients satisfy (, 00 0) . (4) In other words, if is small, all clients are close to node 00 0 (spatial concentration). Note that client is selected from all nodes on the hypercube if = . From Fig. 3(a), the improvement rate rises when clients are spatially concentrated. Therefore, the RCP has the advantage of reducing W 2 LS in this case. Furthermore, there is the optimal number of servers that maximizes for each client set . When the set is 4 , the optimal number is 32 and the optimal is roughly 0.2. Fig. 3(b) exhibits the effect of (the number of clients) on . From the figure, tends to decrease with when the client set is . Whereas, when the set is 4 , does not have a large impact on and rate at 4 is mostly larger than at . Note that at = 512 is not shown in the figure because |4 |(= 386) < 512.

4.3Advantages of RCP Let us clarify under what conditions the RCP should be used. Fig. 3(a) demonstrates the impact of (the number

4.4 Incorrect Estimation We next consider the case where the client set is incorrectly estimated; i.e., . In this subsection, the improvement rate is calculated under the following conditions: 1. | | = ||(= ). 2. All clients are receiving service ( = ) and = / for all (the heavily loaded case).

21

The performance of the RCP depends on how requests arrive from clients. Let us consider the well-regulated case where a new request arrives after a server that satisfiesthe previous request has been selected. In this case, when a client requests, the RCP assigns to the server that executes Algorithm 2 first since the request of the client (therefore, this isthe random assignment). Let us next consider the simultaneous arrival case where all clients in requests at the same time. In this case, all clients in are first assigned and then each server selects the closest client from the set of unassigned clients ( ). Probably, the RCP will show better performance in the simultaneous arrival case. To verify the effect of bursty request arrivals, the improvement rates are calculated in the above-mentioned two extreme cases. Fig. 4 shows the improvement rate as a function of the ratio of unexpectedly requesting clients , which is defined as | | = . (5) | | The client set is 4 ; i.e., the spatially concentrated case. Dimensionality is the only difference between Figs. 4(a) and 4(b). Note that monotonically decreases with and that the RCP is useful only if > 0. Let 0 be the ratio that satisfies = 0. From the figure, 0 in the simultaneous arrival case is significantly large, and 0 values in the two cases in Fig. 4(b) are slightly greater than those in Fig. 4(a). From Fig. 4(b), in the well-regulated case, > 0 roughly when 0.18. Therefore, the RCP is useful at least is not greater than 18%. Fig. 5 compares values at = 11 and 12. It can be seen that 0 values in two extreme cases at = 12 are clearly larger than those at = 11. When = 12, 0 is slightly smaller than 0.25 in the well-regulated case, and 0 is slightly greater than 0.625 in the simultaneous arrival case. Therefore, the RCP is effective against bursty arrivals even if the estimate is significantly incorrectand the RCP more often outperforms the SS for systems with larger dimensionality .

If the set of clients that request service is correctly estimated, the improvement rate enlarges as the hypercube dimensionality increases and as requesting clients are more highly spatially concentrated. There is the optimal number of servers that maximizes when the number of clients is given. The optimal is roughly 0.2 when = 10, the number of clients is 256, and all clients are spatially concentrated. When the client set is incorrectly estimated, monotonically decreases as the ratio of unexpectedly requesting clients grows. However, if all requests arrive simultaneously, falls slowly and in this case, > 0 at = 12 if < 0.625. Therefore, the RCP is effective in the bursty arrival case even if the estimate is significantly incorrect.

REFERENCES
[1] [2] R. Buyya, M. Pathan, and A. Vakali, Content Delivery Networks, 1st ed, Springer Publishing Company, Incorporated, 2008. A. Shaikh, R. Tewari, and M. Agrawal, On the Effectiveness of DNS-based Server Selection, In Proc. IEEE INFOCOM 2001 Twentieth Annual Joint Conference of the IEEE Computer and Communications Societies, Anchorage, AK, vol. 3, pp. 1801-1810, Apr. 2001. S. Ratnasamy, M. Handley, R.M. Karp, and S. Shenker, Topologically-Aware Overlay Construction and Server Selection, In Proc. IEEE INFOCOM 2002 Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies, vol. 3, pp. 11901199, Nov. 2002. M. Hofmann and L.R. Beaumont, Content Networking: Architecture, Protocols, and Practice, Morgan Kaufmann Publishers, San Francisco, CA, USA, pp. 129-134, 2005. M. Chen, Y. Ling, M. Pang, W. Chen, S. Cai, Y. Suwa, and O. Altintas, Scalable Request-Routing with Next-Neighbor Load Sharing in Multi-Server Environments, In Proc. of the 19th International Conference on Advanced Information Networking and Applications, IEEE Computer Society, Washington, DC, USA, pp. 441-446, Mar. 2005. E. Bell and S. Stidham Jr., Individual versus Social Optimization in the Allocation of Customers to Alternative Servers, Management Sci., vol. 29, no. 7, pp.831-839, Jul. 1983. S. Shenker and A. Weinrib, The Optimal Control of Heterogeneous Queueing Systems: A Paradigm for Load-Sharing and Routing, IEEE trans. on comp., vol. 38, pp. 1724-1735, Dec. 1989. K. Oida and S. Saito, A Packet-Size Aware Adaptive Routing Algorithm for Parallel Transmission Server Systems, Journal of Parallel and Distributed Computing, vol.64, pp. 36-47, Jan. 2004. O.P. Damani, P.E. Chung, Y. Huang, C.Kintala, and Y.M. Wang.ONE-IP: Techniques for Hosting a Service on a Cluster of Machines, Comput. Netw. ISDN Syst.,vol. 29, issue 8-13, pp. 10191027, Sep. 1997. S.C. Han and Y. Xia, Network Load-Aware Content Distribution in Overlay Networks, Computer Communications, vol. 32, pp. 51-61, Jan. 2009. H.Jamjoom and K.G. Shin, Persistent Dropping: An Efficient Control of Traffic Aggregates, In Proc. of the ACM SIGCOMM. Karlsruhe, Germany, pp.287-298, 2003. J.Jung, B. Krishnamurthy, andM. Rabinovich,Flash Crowds and Denial of Service Attacks: Characterization and Implications for CDNs and Web Sites, In Procs of the International World Wide Web Conference. Hawaii, pp. 252-262, 2002. K. Yamashita and K. Oida, "Link Stress Reduction Against Bursty Arrivals of Content Requests," Int. J. Communications, Network and System Sciences, vol. 5, no. 5, pp. 272-279, 2012. S. Tarkoma, Overlay Networks, CRC press, 2010. F.T. Leighton, Introduction to Parallel Algorithms and Archtectures: Arrays, Trees, Hypercubes, Morgan Kaufmann Publishers, 1992. Y. Saad and M. Schultz, Topological Properties of Hypercubes, IEEE trans. on comp., vol. 37, pp. 867-872, Jul. 1988.

[3]

[4]

[5]

[6]

[7]

[8]

5 CONCLUSIONS
In the content delivery networks (CDNs), there are basically two ways to create client and server pairs. They are the server selection (SS) and the client partitioning (CP). Although most of previous works focused on the SS approach, this paper considered the CP approach because the revised CP (RCP) algorithm was considered to be suited to large-scale CDNs and to the case where the network is heavily loaded, requesting clients are spatially concentrated, or a huge number of requests arrive in a short period of time. These phenomena are not rare in todays CDNs. The RCP was evaluated under the heavily loaded condition. The evaluation criterion was the improvement rate , which indicates how much the worst worst link stress (W 2 LS) is reduced if the RCP is used instead of the SS algorithm. The following results were obtained through evaluations:

[9]

[10]

[11]

[12]

[13]

[14] [15] [16]