• No results found

Priority Based Load Balancing in a Self-Interested P2P Network

N/A
N/A
Protected

Academic year: 2022

Share "Priority Based Load Balancing in a Self-Interested P2P Network"

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

Priority Based Load Balancing in a Self-Interested P2P Network

Xuan ZHOU and Wolfgang NEJDL L3S Research Center

Expo Plaza 1, 30539 Hanover, Germany {zhou,nejdl}@l3s.de

Abstract. A fundamental issue in P2P networks is that of distributing workload in a balanced way to optimize performance. Unfortunately, op- timal load balance is difficult to realize, although it is easy to compute, because participants of P2P networks are usually self-interested and seek to maximize their individual utility without considering system-wide util- ity. In this paper, we study the influence of selfish behaviors on the load balance in P2P networks, and propose a priority based load balancing scheme to help a P2P network achieve better performance. The scheme is simple and effective, and can be easily used in a P2P environment.

Besides presenting the theoretical foundation of our scheme, we also ad- dress its major implementation issues and conduct extensive experiments to verify its effectiveness and practicality.

1 Introduction

A peer-to-peer network is a network that relies on the collaboration of its par- ticipants, who pool their resources to benefit everyone. A fundamental issue in a P2P network is that of distributing workload in a balanced way to optimize its performance. In particular, given a number of peers who are offering the same services, the network needs to find an assignment of jobs to these peers such that the expected response time to these jobs is minimized. While a balanced work- load distribution can always be found in principle, it is difficult to be realized in a P2P network where each participant is self-interested and rational, and seeks to minimize the response time to its own jobs without considering the efficiency of the whole network.

An example of the load balancing problem in a self-interested P2P network is illustrated in figure 1. Suppose peers A and B are providing the same service in a P2P network, and a number of peers wish to send n jobs to A or B to be processed. Suppose the response time for A to finish a job is always one minute, no matter how many jobs are arriving at A simultaneously. This can be represented by a function of response time, i.e. R(x) = 1, where x denotes the job arrival rate to A. In contrast, the response time for B to finish a job increases linearly with its job arrival rate, and its function of response time is R(x) = xn. If the other peers are selfish and rational, they will choose to send their jobs to B, as it should minimize the response time to their own jobs. In the end, all n jobs are jammed at B, and the average response time to these jobs ends up

(2)

B A

R(x) = 1

R(x) = x/n

Fig. 1. An Example of Load Unbalance

at one minute. From the system-wide perspective, this is surely not the optimal solution: if n2 jobs are submitted to A and the other n2 jobs are submitted to B, the average response time could be as small as 34 minute. Unfortunately, no peer is willing to sacrifice by sending his jobs to A. In economics, this phenomenon is known as “social dilemma”, which describes the situation where all participants seek to maximize their individual utilities, but as a result get utilities which are worse than what they could achieve by cooperation.

Selfish behavior in large-scale computer networks has been extensively stud- ied in recent years. Investigated areas include network routing [1–3], resource allocation [4], quality of service [5] and others [6]. Most of this work reveals that the cost of selfish behavior is usually not ignorable. Therefore, a number of strategies, such as pricing [7] and Stackelberg routing [8], have been proposed to cope with selfish behavior and help a network achieve better performance. How- ever, none of these strategies can be directly applied to a P2P network, where centralized control is very difficult to establish. The investigation on uncoordi- nated load balancing by Subhash Suri et al [9, 10] is the only work addressing the influence of selfish behavior on load balance in P2P networks. In their work they theoretically analyze the influence of selfish behaviors on load balance and give a worst-case bound to the performance loss caused by selfish behavior. How- ever, no proposal is given for controlling selfish behavior to help a P2P network achieve better load balance.

In this paper, we introduce a priority based load balancing scheme for a self-interested P2P network. In this scheme, each peer divides its jobs into two classes, and assigns one class a higher priority than the other. By adjusting the proportion between the two classes of jobs, the network can optimize its workload distribution. The scheme is simple, effective, and suitable for P2P environments.

We theoretically prove that this scheme can help a P2P network achieve optimal load balance. We also address the various issues of implementing this scheme to a real P2P network, and conduct extensive experiments to demonstrate its effectiveness.

The remainder of this paper is organized as follows. Section 2 defines the problem of load balancing in a self-interested P2P network, and discuss the pos- sible solutions. Section 3 introduces our priority based load balancing scheme, and addresses the issues of implementing the scheme in real P2P networks. Sec- tion 4 experimentally evaluates the effectiveness and practicality of our scheme.

Finally, we conclude this paper in section 5.

(3)

2 Problem Definition

We will use the term “uncoordinated load balancing” from [9] to describe the problem of balancing workload among selfish peers. This section presents a model of uncoordinated load balancing and discusses the possible approaches to achieve load balance in a self-interested P2P network.

2.1 The Model

Consider a P2P network, where n peers are providing the same kind of service, and the other peers periodically request and receive services from the n peers.

We call these n peers servers, and denote them by S0, S1, ..., Sn−1. We call all the other peers in the network clients. Each server Si would display different efficiency in processing its received jobs. This efficiency can be expressed by a load-dependent function of response time, which is denoted by Ri(x), where x is the job arrival rate (load) on the server. In this paper, we assume that Ri(x) is always nondecreasing and convex, as it is regarded true in common real-world systems [3]. Suppose the total job arrival rate to the n servers is λ. Then, the triple (n, R, λ) forms an instance of the uncoordinated load balancing problem.

A solution to this problem is an assignment of the total job arrival rate (load) over the n servers, which is denoted by a = (λ0, λ1, ..., λn−1), where λiis the job arrival rate to Si and λ0+ λ1+ ... + λn−1= λ. The cost C(a) of a solution a is the total response time of processing the λ jobs. That is,

C(a) =

n−1X

i=0

Riii

When the clients in the P2P network are all selfish, they seek to minimize the response time to their own jobs, without regard to the overall cost of the network. As a result, each job will be sent to the peer that would incur the shortest response time. In the end, the assignment of the job arrival rate λ will end in a Nash equilibrium, where no job can improve its response time by switching to a different server. In this Nash equilibrium, the servers that are assigned a positive workload will display equal response time. This can be formally presented as follows.

Lemma 1 A load assignment a = (λ0, λ1, ..., λn−1) for instance (n, R, λ) is at Nash equilibrium if and only if for every λi> 0, Rii) ≤ Rjj). ¥

According to Roughgarden’s results on selfish routing [3], if Ri(.) is nonde- creasing, there is a unique Nash equilibrium of load assignment for every instance (n, R, λ).

The solution at the Nash equilibrium is not necessarily the optimal solution that has the minimal cost C(a). The optimal solution is indeed the solution to the following nonlinear program (NLP) [11].

min : C(a) =Pn−1

i=0 Riii subject to:Pn−1

i=0 λi= λ, λi> 0

(4)

It can be deduced (see [3]) that, given an instance (n, R, λ), where R(.) is convex, the optimal solution should satisfy the following conditions.

Lemma 2 Suppose Ri(x) = dxd(Ri(x)x). A load assignment a = (λ0, λ1, ..., λn−1) is optimal if and only if for every λi> 0, Rii) ≤ Rjj). ¥

In other words, C(a) reaches its minimum when the marginal benefit (Rii)) of decreasing the load on server Si is at most the marginal cost (Rjj)) of increasing the load on any other peer Sj.

We can apply the model to the example in figure 1. (Suppose n denotes the total job arrival rate instead of the number of arriving jobs.) Through Lemma 1, we find that the load assignment on Servers A and B at the Nash equilibrium is (λA = 0, λB = n), and the resulting cost is C(a) = n. Through Lemma 2, we find that the optimal load assignment is (λA = n2, λB = n2), and its cost is C(a) = 34n.

The maximal ratio between the cost of Nash equilibrium solution and the cost of the optimal solution is called the price of anarchy. Some earlier work [3]

has shown that selfish behavior can have significant influence on the system-wide performance.

If we consider the optimal load assignment as the balanced one, then the load assignment at the Nash equilibrium would be unbalanced. The objective of our research is to design a mechanism for the P2P network that could affect the clients’ selfish behaviors, so that the resulting load assignment will be more balanced.

2.2 Possible Solutions

To achieve load balance in a P2P network, obviously we cannot count on the selfish clients to collaboratively distribute their workload in a balanced way.

However, we can resort to the cooperativeness of servers. First, the servers have no incentive to disturb the workload distribution, as they benefit nothing from it. Second, as users of a P2P network, they can have improved utility if the network works more efficiently. Therefore, we regard that the servers of a P2P network are usually benign and willing to take action to balance the workload.

Under this assumption, a possible approach to load balance is to calculate the proportion of workload on each server in the optimal load assignment, and restrict each server from taking more workload than that proportion. However, as the workload in a P2P network is changing frequently, it is impractical to estimate the optimal load assignment in real time. If the workload is overesti- mated, the approach will not work. If it is underestimated, some jobs would be starved severely. Therefore, this approach is not an appropriate solution.

In this paper, we propose a priority based load balancing approach, which achieves optimal load balance by assigning priorities to workload.

3 Priority Based Load Balancing

Section 3.1 introduces the priority based load balancing scheme. Sections 3.2 and 3.3 give its theoretical foundation. Section 3.4 presents implementation issues.

(5)

3.1 The Scheme

In our scheme, each server divides the received jobs into two classes – 1st class and 2nd class. The jobs in the 1st class have strictly higher priority than the jobs in the 2nd class, in the sense that a server will always first process the 1st class jobs prior to 2nd class jobs. To differentiate between the two classes of jobs, a server selects a number of clients in the network and assigns each of them a 1st class quota, which specifies the number of 1st class jobs it can submit to the server per time unit. Later on, the jobs arriving from these clients within their 1st class quotas will be regarded by the server as the 1st class jobs, and the other jobs will fall into the 2nd class.

Applying this priority based approach to our model, the job arrival rate λi

on each server Sibecomes the sum of the arrival rates of the two classes of jobs, which can be represented by λi = λ1i + λ2i, where λ1i denotes the arrival rate of the 1st class jobs and λ2i denotes the arrival rate of the 2nd class jobs. As we will show subsequently, by setting appropriate 1st class quotas on each server, we can guarantee that, for all the servers, the response time of any 1st class jobs is always shorter than that of 2nd class jobs. Therefore, whenever a client is issuing jobs, it will first use up its 1st class quota, so as to minimize the response time. Hence, λ1i is directly determined by the amount of the 1st class quota Si

assigns to its clients. At the same time, each client will also seek to minimize the response time to its 2nd class jobs. As a result, the assignment of λ2i will end in a Nash equilibrium, where no 2nd class job can improve its response time by switching to a different server. In this scheme, the final load assignment λ1i+ λ2i on each server can be adjusted by adjusting the 1st class quotas. The basic idea of our priority based load balancing is to appropriately set the 1st class quotas on each server to optimize the load distribution. In the next section, we prove that we can achieve the optimal load balance through this scheme.

3.2 Finding Optimal Solution

Suppose the original function of response time on server Si is Rii), where λi is the job arrival rate to the server, i.e. λi= λ1i + λ2i. As the 1st class jobs have strictly higher priority than the 2nd class jobs, the response time for the 1st class jobs will not be affected by the 2nd class jobs present. Therefore, the response time for the 1st class jobs on server Si will be Ri1i) no matter what λ2i is. At the same time, the 2nd class jobs will bear all additional overhead incurred by the co-existence of the 1st and 2nd classes of jobs. Suppose the response time for the 2nd class jobs is Ri2, this can be represented by the following equation.

Ri1i + λ2i) × (λ1i + λ2i) = Ri1i1i + R2iλ2i

Solving this equation, we get the response time function for the 2nd class jobs as

R2i1i, λ2i) =Ri1i + λ2i) × (λ1i + λ2i) − Ri1i1i

λ2i .

As we have stated earlier, the arrival rates of the 1st class jobs (λ10, λ11, ..., λ1n−1) are determined by the 1st class quotas issued by the servers. Meanwhile, each

(6)

server will seek to minimize the response time to their 2nd class jobs, so that the arrival rates of the 2nd class jobs (λ20, λ21, ..., λ2n−1) will end in a Nash Equi- librium, which satisfies the following criterion.

Lemma 3 Given an instance (n, R, λ) and the distribution of the 1st class jobs 10, λ11, ..., λ1n−1), a assignment of the 2nd class jobs (λ20, λ21, ..., λ2n−1) is at Nash equilibrium if and only if for every λ2i > 0, R2i1i, λ2i) ≤ R2j1j, λ2j). ¥

The optimal load assignment is the assignment that incurs the smallest over- all cost C(a) = Pn−1

i=0 Ri1i + λ2i)(λ1i + λ2i). Following the spirit of Lemma 2, the criterion of the optimal solution is:

Lemma 4 Suppose Ri(x) = dxd(Ri(x)x). A load assignment a = (λ10+ λ20, λ11+ λ20, ..., λ1n−1+ λ20) is optimal if and only if for every λ1i+ λ2i > 0, Ri1i + λ2i) ≤ Rj1j+ λ2j). ¥

The objective of our scheme is to find a assignment of the 1st class jobs 10, λ11, ..., λ1n−1), such that the load assignment at the Nash Equilibrium is ex- actly the optimal load assignment. The objective can be formally represented as the following problem:

find λ10, λ11, ..., λ1n−1 that satisfy 1. Pn−1

i=01i + λ2i) = λ 2. λ1i ≥ 0 and λ2i ≥ 0

3. R2i1i, λ2i) ≤ Rj21j, λ2j) if λ2i > 0 4. Ri1i + λ2i) ≤ Rj1j+ λ2j) if λ1i + λ2i > 0

(1)

j

j

aj

ai

bi

i 1

i 2

j 1

j 2

Load

y R (x)xi R (x)x

b

Fig. 2. Problem Interpretation

Figure 2 plots the curves of the two functions Ri(x)x and Rj(x)x, where Ri(x) and Rj(x) are the response time functions of Si and Sj respectively. Four angles, which are determined by the job arrival rates λ1i, λ2i, λ1jand λ2j, are drawn out in figure 2. ∠aiis the slope angle of the line connecting¡

λ1i, Ri1i)×λ1i¢

¡ and

λ1i+ λ2i, Ri1i + λ2i) × (λ1i+ λ2i

. ∠aj is the slope angle of the line connecting

(7)

¡λ1j, Rj1j) × λ1j¢ and¡

λ1j+ λ2j, Ri1j+ λ2j) × (λ1j+ λ2j

. ∠bi is the slope angle of Ri(x)x’s tangent at point ¡

λ1i + λ2i, Ri1i + λ2i) × (λ1i + λ2i

. ∠bj is the slope angle of Rj(x)x’s tangent at point¡

λ1j+ λ2j, Ri1j+ λ2j) × (λ1j+ λ2j)¢ . As tan(ai) = Ri21i, λ2i) and tan(aj) = R2j1j, λ2j), condition 3 could be represented as ∠ai≤ ∠aj. As tan(bi) = Ri1i+ λ2i) and tan(bj) = Rj1j+ λ2j), condition 4 could be represented as ∠bi≤ ∠bj. Then, the above problem could be interpreted as: find λ10, λ11, ..., λ1n−1

that satisfy 1. Pn−1

i=01i + λ2i) = λ 2. λ1i ≥ 0 and λ2i ≥ 0

3. ∠ai≤ ∠aj if λ2i > 0 4. ∠bi≤ ∠bj if λ1i + λ2i > 0

(2)

To solve this problem, we proceed as follows:

1. Determine λi = λ1i + λ2i: Find a load assignment a = (λ0, λ1, ..., λn−1) that satisfies: (a)Pn−1

0 λi= λ; (b) λi≥ 0 for all i; (c) ∠bi≤ ∠bj if λi> 0.

2. Determine ∠ai: Select the minimum ∠a that satisfies: (a) ∠a < ∠bi for all i, (This guarantees that λ2i > 0); (b) If λi > 0, then tan a > Rii). Then, set ∠ai= ∠a for all λi > 0.

3. Determine λ1i: If λi> 0, λ1i is uniquely determined by ∠aiand λi; if λi= 0, set λ1i = 0.

As function Ri(x) is nondecreasing and convex, function Ri(x)x must be nondecreasing and convex too. Then, we can prove that the above three steps can always find a solution to Problem (2), as well as Problem (1). With the resulting λ10, λ11, ..., λ1n−1, we can ensure that the load assignment at the Nash Equilibrium is exactly the optimal load assignment. Then the 1st class quotas on each server can be set accordingly to enforce the λ10, λ11, ..., λ1n−1, so that the P2P network can achieve optimal load balance.

In addition, step 2 guarantees that if λ1i > 0 then λ2i > 0. That is to say, if a server receives 1st class jobs, it will certainly also receive 2nd class jobs. As all the 2nd class jobs have the same response time at the Nash equilibrium, we can guarantee that the response time of any 1st class job is shorter than that of the 2nd class jobs. This justifies our previous assumption that a client would always first use up its 1st class quota in order to minimize the received response time.

3.3 Tuning Method

While we have theoretically proved that our scheme can achieve optimal load balance, it is still difficult to realize the scheme in a practical P2P system. On the one hand, it is infeasible to accurately estimate the workload in a P2P network in real time. On the other hand, it is very costly to obtain the response time functions of all peers. Both make it difficult to compute the optimal load assignment. Thus, a more practical strategy of load balancing can be composed of two steps. First, when a P2P network starts or when a new server joins the network, the server contacts some other servers to initialize its 1st class quota.

(8)

a

i

1a 2i

a i 2b i

1b

Load y

L

L

R (x)xi

b

Fig. 3. Tuning Strategy

Second, at running time each server continually observes the network and tunes its workload, to draw the system-wide load assignment closer to the optimal one.

During the tuning step, each peer can increase or decrease its workload by decreasing or increasing the 1st class quota assigned to its clients. This is il- lustrated in figure 3, which plots the curve of function Ri(x)x, where Ri(x) is the response time function of Si. (Ri(x)x is always nondecreasing and convex.) The two points (λ1i, Ri1i) × λ1i) and (λ1i + λ2i, Ri1i + λ2i) × (λ1i + λ2i)) on the curve are connected by a line L. The slope angle of L is actually ∠ai in figure 2. According to the condition of the Nash equilibrium in Lemma 3, the slope of L should be the same for every Ri(x)x, as long as λ2i > 0. For this reason, if we decrease the arrival rate of the 1st class jobs on Si from λ1ia to λ1ib, line L will move parallel from La to Lb. Then, the total job arrival rate will be increased from λ1ia+ λ2iato λ1ib+ λ1ib. This reveals the following intuitive principles of load assignment tuning:

1. When a server decreases its 1st class quota, it shortens the response time of its 2nd class jobs R2i1i, λ2i), so that the server will attract more workload λ1i + λ2i;

2. When a server increases its 1st class quota, it enlarges the response time of its 2nd class jobs R2i1i, λ2i), so that the server will get less workload λ1i2i. Such tuning is limited by an upper bound and a lower bound. Namely, when λ1i = 0, the server will receive the maximum workload; when λ1i = λi, the server will receive the minimum workload. In practice, a server can probe the status of some other peers in the network to assess whether itself is overloaded or under-loaded, and tune its workload accordingly.

3.4 Implementation Issues

Figure 4 shows the architecture of a server in a P2P network. When a job is sent to the server, a router decides whether the job is in the 1st class or in the 2nd class, and routes the job to the corresponding queue. The processor always

(9)

Statistics

1st Class

Load Manager 1st Class Queue

2nd Class Queue Router

Jobs

Processor Quota

Fig. 4. Architecture

first processes the jobs in the 1st class queue. Only when the 1st class queue is empty, it turns to process the jobs in the 2nd class queue. To prevent starvation, some 2nd class jobs will be upgraded to the 1st class if their waiting time exceed a certain threshold. However, the system should ensure that the efficiency of processing the 1st class of jobs is least affected by the 2nd class jobs.

The load manager is the key component responsible for monitoring and ad- justing the workload of the server. It continuously collects statistic information to learn the workload distribution in the network, and correspondingly adjusts the workload of its host server to help improve the load balance of the net- work. Meanwhile, it also monitors the status of its host server, and reports the information to the network.

In order to achieve load balance, a server needs to assign a proper amount of 1st class quota to its clients. During the quota assignment, the server issues quota certificates to some randomly selected clients. Each quota certificate contains the identity of the target client, the time of expiration, and the quota indicating the number of 1st class jobs the client can submit in a unit time. To protect its integrity, each certificate is signed by the server’s private key. When a client submits a 1st class job to the server, it attaches the quota certificate to the job, so that the router can classify it into the 1st class. If the 1st class jobs from a client exceed its quota, the extra jobs will be classified into the 2nd class.

Initializing 1st Class Quota: When a P2P network is started or when a new server joins the network, the server needs to correctly initialize its 1st class quota, so as to attract an appropriate amount of workload. As it is infeasible to accurately compute the optimal load assignment of a P2P network, the initial 1st class quota is estimated through sampling, which can performed through the following steps:

1. Choose a set of sample servers, and compute the optimal load assignment over the sample servers through the process introduced in Section 3.2.

2. Estimate the optimal workload on the new server based on the load assign- ment over the sample servers.

3. The initial 1st class quota of the new server can be estimated through its optimal workload and the load distribution over the sample servers.

Starting from this initial quota, the server can later tune its workload to further improve the load balance of the network.

(10)

Load Assignment Tuning: In load assignment tuning, a server probes the status of other servers to learn whether itself is overloaded or under-loaded, and increases or decreases its 1st class quota correspondingly. The information ob- tained in each probe will include the response time function and the current workload of each visited server. A server can conduct tuning through the follow- ing steps.

1. Calculate the local optimal load assignment over the group of servers that comprise all the probed servers and itself.

2. Compare its current workload against the optimal one obtained in step 1.

3. Tune its 1st class quota through the method introduced in section 3.3, such that its workload reaches the optimal workload.

Intuitively, when each server keeps tuning their 1st class quotas, the load assignment in the P2P network will gradually converge to the optimal solution.

This will be experimentally verified in the next section.

4 Experimental Evaluation

We evaluate the proposed load balancing scheme through simulation. We simu- late a P2P network that is composed by millions of participants, in which 1000 participants are offering the same service and are considered as servers. The other participants can select any server to submit their jobs. The response time function on each server follows that of M/M/1 queueing system. Namely, it is in the form µ−λ1 , where µ denotes the service rate of a server and λ denotes the job arrival rate to the server. The distribution of the service rates µ on the 1000 servers follows the Pareto distribution [12]. Due to limited space, only a part of the experiment results are reported.

4.1 Initial Load Assignment

The goal of the first set of experiments is to study how much the initial load assignment of our load balancing scheme could improve the performance of the selfish P2P network. The process of initialization follows that in section 3.4.

In the first experiment, we fix the sample size at 20 servers. We vary the workload on the whole network from 20% to 80%, and measure the average response time resulted by the initial load assignment. We also compare this response time against that of the selfish network without using our scheme and that of the cooperative network where optimal load assignment is achieved. The results are shown in figure 5 (a). As expected, the initial load assignment by our load balancing scheme could remarkably improve the performance of the selfish P2P network (by 10% to 30%).

In the second experiment, we fix the workload of the network at 50%, and vary the sample size from 5 servers to 160 servers. Then we measure the average response time resulting from the initial load assignment. Figure 5 (b) shows the results. As expected, a larger sample could enable the servers to obtain a more complete overview of the P2P network, so that the servers could estimate their 1st class quotas more accurately and achieve better load balance. When the sample increases to 100 servers, the initial load assignment almost reaches the optimal load assignment.

(11)

0 0.5 1 1.5 2

80 60

40 20

response time (s)

load (%) No Balancing With Balancing Cooperative (optimal)

0.2 0.3 0.4 0.5 0.6 0.7

160 80 40 20 10 5

response time (s)

sample size No Balancing With Balancing Cooperative (optimal)

(a) varying load (b) varying sample size Fig. 5. Effectiveness of Initial Load Assignment 4.2 Load Assignment Tuning

This set of experiments is intended to study how the load assignment tuning of our scheme could improve the load balance of the simulated P2P network.

When conducting tuning, a server periodically probes some other servers to assess whether itself is overloaded or under-loaded, and tunes its 1st class quota correspondingly.

In the first experiment, we do not use the initial load assignment, but set all the 1st class quotas to 0. Then, we conduct load assignment tuning on each server by repeating the process in section 3.4. The tuning is performed round after round. In each round, each server tunes its workload once. After each round, we set the load assignment to the Nash equilibrium defined by Lemma 3, and measure the average response time to accomplish a job. The probe size of the tuning varies from 2 servers to 8 servers. Figure 6 (a) plots the varying of average response time when the tuning proceeds. We can see that the load assignment obviously converges to the optimal one as the tuning going on. In addition, a larger probe size amplifies the effects of tuning – with the probe size of 8 servers, the convergence could be twice as fast as with probe size of 2 servers.

In the second experiment, we study the effects of combining initial load as- signment and tuning. We fix the probe size of tuning at 2 servers, and vary the

0.4 0.5 0.6

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

response time (s)

number of rounds No Balancing Cooperative (optimal) probe size = 2 probe size = 4 probe size = 8

0.4 0.5 0.6

0 1 2 3 4 5 6

response time (s)

number of rounds No Balancing Cooperative (optimal) No initial initial size = 5 initial size = 20 initial size = 100

(a) Without Initialization (b) With Initialization Fig. 6. Effectiveness of Load Assignment Tuning

(12)

sample size of the initial load assignment from 5 servers to 100 servers. Then, we measure the average response time after each round of tuning. The results are shown in figure 6 (b). As expected, when the initial load assignment is used, the load assignment could converge much faster to the optimal load assignment.

The improvement could be further magnified by using a larger sample size for initial load assignment.

5 Conclusion

In this paper, we proposed a priority based load balancing scheme for a self- interested P2P network, in which each participant is selfish and seeks to min- imize its individual response time without considering the system-wide perfor- mance. We theoretically proved the correctness of our scheme, and conducted experiments to show that our scheme helps P2P networks to achieve better load balance in an efficient way.

References

1. Koutsoupias, E., Papadimitriou, C.: Worst-case equilibria. In: 16th STACS. (1999) 404–413

2. Czumaj, A., Vocking, B.: Tight bounds for worstcase equilibria. In: 13th SODA.

(2002) 413–420

3. Roughgarden, T., Tardos, E.: How bad is selfish routing. Journal of ACM 49 (2002) 235–259

4. Lazar, A., Orda, A., Pendarakis, D.: Virtual path bandwidth allocation in multi- user networks. IEEE/ACM Transactions on Networking 5 (1997) 861–871 5. Yaiche, H., Mazumdar, R., Rosenberg, C.: A game theoretic framework for band-

width allocation and pricing of elastic connections in broadband networks: theory and algorithms. IEEE/ACM Transactions on Networking 8 (2000) 667–678 6. Altman, E., Boulogne, T., Azouzi, R., Jimenez, T.: A survey on networking games

in telecommunications. Computers and Operations Research 33 (2006) 286–311 7. Cole, R., Dodis, Y., Roughgarden, T.: Pricing network edges for heterogeneous

selfish user. In: 35th STOC. (2003) 521–530

8. Roughgarden, T.: Stackelberg scheduling strategies. SIAM Journal of Computing 33 (2003) 332–350

9. Suri, S., Toth, C., Zhou, Y.: Uncoordinated load balancing and congestion games in p2p systems. In: 3rd IPTPS. (2004) 123–130

10. Suri, S., Toth, C.D., Zhou, Y.: Selfish load balancing and atomic congestion games.

In: SPAA ’04: Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures. (2004) 188–195

11. Peressini, A.L., Sullivan, F.E., J. J. Uhl, J.: The Mathematics of Nonlinear Pro- gramming. Springer-Verlag (1993)

12. Adamic, L.A.: (Zipf, power-laws, and pareto - a ranking tutorial) http://www.hpl.hp.com/research/idl/papers/ranking/ranking.html.

References

Related documents