<<

Congestion Control Games

Michael Schapira∗ Aviv Zohar†

Abstract Handling congestion in the Internet is vital to its functioning. End-to-end congestion-control mechanisms such as those embedded in the TCP protocol are in charge of addressing this crucial challenge. However, it may not always be in the best interest of end-points to comply with the protocol. I.e., it may be the case that end-points can better their throughput by not adhering to TCP. We address this problem by presenting an economic, or mechanism design, approach. We present a TCP-inspired game-theoretic model of congestion-control. This model captures the asynchronous nature of the network, the partial information of the end-points, and important aspects of the myopic TCP dynamics. In particular, we show that following a compliant strategy in our model is incentive-compatible, and optimal with respect to max-min fairness. In fact, we show that this is true even for deviations by coalitions of any size.

“The Internet is an equilibrium, we just have to identify the game.” [17] “While TCP may be the answer, we have yet to define the question.” [9]

1 Introduction

1.1 Our Results Congestion control is a crucial task in today’s Internet. The predominant form of congestion control is embodied in the Transmission Control Protocol (TCP) [8], which is one of the most widely deployed distributed in existence. However, TCP is still little understood from a theory of , and economic theory perspectives. Researchers have put forth various theoretical frameworks aimed to enable the exploration of crucial aspects of TCP. Most notable, are the works of Kelly (see [11, 10] and references therein) and of Karp et al. [9]. In this paper we present a simplified model of TCP. Using this model, we address various computational/networking and game-theoretic TCP-inspired problems. In particular, our model captures the asynchrony of the network, the partial information that end-points have about the network and each other, and the greedy/myopic nature of TCP dynamics. At the heart of our model is a network graph G = (V,E) where V represents routers and E represents data links. Traffic between every two end-points is modeled by a connection, repre- i 1 sented by a fixed path P in the network that leads from a source vertex si to a target vertex ti . Connections can transmit traffic at different rates along their fixed paths. Edges have capacities, and when more incoming traffic enters an edge than can traverse that edge, routers drop some

∗The School of Computer Science and Engineering, The Hebrew University of Jerusalem, Israel. [email protected]. Supported by a grant from the Israel Science Foundation. †The School of Computer Science and Engineering, The Hebrew University of Jerusalem, Israel. [email protected]. Supported by a grant from the Israel Science Foundation. 1Paths are fixed because in the Internet congestion control is independent of route establishment.

1 of the incoming packets. Routers can have very different packet-dropping policies (e.g, they can handle congestion by dropping packets randomly, by prioritizing traffic that originates in certain connections over traffic of others, etc.). The choice of these packet-dropping policies is known have a significant effect on the properties and performance of the network. Our exploration of this basic model and its various extensions, as reflected in the organization of this paper, consists of three steps, each building upon the results of the previous one: 1) Flow Dynamics. (Section 2) We first consider congestion control when the end-points (con- nections) send traffic at a constant rate. We show that even this restricted case is non-trivial as, in general, it is possible that the flow rates never “converge”. I.e., it is possible that the network will never stabilize, and the capacity shares of edges allocated to different connections continue to fluctuate indefinitely. In contrast, we prove the following result for the well known packet-dropping policy called Fair Queueing [2], that has been proposed (and implemented to some extent) for managing TCP traffic on the Internet. Theorem: (Informal) If all routers in the network use Fair Queueing then the flow dynamics are guaranteed to converge to a unique “stable” solution that maximizes the max-min fairness. 2) End-to-End Congestion Control. (Section 3) Now, we allow connections (the source vertices) to adjust their transmission rates dynamically. We show that for some packet-dropping policies these dynamic-rate adjustments might be crucial for ensuring high network performance. We present a TCP-inspired protocol called Probing-Increase-Educated-Decrease (PIED). This protocol instructs each connection to gradually increase its transmission rate until it learns that the network is congested, at which case it must decrease its sending rate quickly and drastically. We show that: Theorem: (Informal) If all routers use Fair Queueing then PIED converges to a “good” solution even in a fully asynchronous network. (For other packet-dropping policies the transmission rates of the connections may oscillate indefinitely). Formally, the asynchrony of the network is modeled via an adversarial entity called the scheduler [13] that decides when connections can change their rates and when update messages reach their destinations. 3) Incentives and Congestion Control. (Section 4) Finally, we think of the connections as controlled by strategic agents with partial information. Each connection is assumed to be selfish and wishes to maximize its average throughput over time. We ask the following question: Is it worth while to execute PIED? That is, can a connection better its throughput by not executing PIED? We show that in general this may not be the case. However, once again Fair Queueing helps. We prove our main result: Theorem: (Informal) If every router uses Fair Queueing then PIED is incentive-compatible in ex-post Nash. That is, if all connections but one are executing PIED, then the remaining connection cannot gain by not doing so. In fact, we show that PIED is even resilient to deviations by coalitions of connections (no collaboration results in a strict gain of all members in the coalition). We also show that PIED is Pareto optimal (a well-known notion of economic efficiency). We stress that (unlike most works in mechanism design) all these results do not involve monetary transfers – a luxury we cannot permit in realistic “online” congestion-control protocols. Other works, like Akella et al. [1]), have also examined TCP from a game-theory perspective. However, while the question there was that of examining the inefficiency of Nash equilibria (“” [12, 16]) we take a mechanism design approach to congestion control. This continues the line of research presented in the seminal papers of Nisan and Ronen [14], and of Feigenbaum

2 et al. [4] (and bears a resemblance to the work of Gibbens and Kelly [7]). Similar mechanism design questions have been considered in the context of another central Internet protocol, the Border Gateway Protocol (BGP) that handles interdomain routing (see Feigenbaum et al. [3] and subsequent works).

1.2 The Practical Implications of Our Results We do not presume to realistically model TCP. The major shortcoming of our model (and the ones that precede it) has to do with the fact that TCP is sensitive to the loss of packets (while in our model connections only care about throughput). This sensitivity implies that if packets have been dropped at some point along the path that belong to a connection, then they must be retransmitted (perhaps along with other packets that precede them). The resulting pattern of retransmission and loss of packets further aggravates the congestion along the path and may trigger a so-called “congestion collapse” in the network [6]. Exhibiting models in which connections are penalized in a more realistic way is a major open question. However, our model does enable the study of some of TCP’s important aspects (asynchrony, partial information, greedy heuristic, etc.). In particular, there are reasons for congestion collapse that are captured by our model. For instance, Floyd and Fall [6] mention that congestion may occur due to packets that are dropped close to their targets after having consumed resources along their path (perhaps having been transmitted that far at the expense of other packets). Additionally, our model is useful in the analysis of new congestion control paradigms, like the one suggested by Raghavan and Snoeren in [15]. In [15], it is suggested to use coding techniques to handle packet losses. This results in a setting similar to our model (connections only care about throughput).

2 Flow Dynamics

In this section, we consider congestion-control when the end-points send traffic at a constant rate. We show that even analyzing this restricted model (defined in Subsection 2.1) is non-trivial as it is possible that the flow rates never “converge”(see Subsection 2.2). We prove that when all routers in the network drop packets according to Fair Queueing [2] then these flow dynamics are guaranteed to converge to a unique solution that maximizes the max-min fairness (Subsection 2.3).

2.1 The Model We shall now formally present our model. Let G = (V,E) be the directed network graph. We assume that each directed edge e ∈ E in the graph has a capacity denoted by ce ∈ R+, and a 2 latency denoted by ∆e. Each¡ vertex v ∈ V¢ represents a router in the network , and each edge represents a data link. Let P 1,P 2,...,P n be a set of simple directed paths in G. Each path P i i represents a single connection C between two end-points in the network: si (the source vertex) i and ti (the target vertex). We denote the sequence of edges in path P , which is of length li, by (ei , ei , . . . ei ). For now, we assume that each connection i has a fixed influx of flow that originates 1 2 li i in si (i.e., from some point in time onwards each connection C constantly transmits a fixed amount of flow). We denote this influx by fi ∈ R+. Whenever more traffic than can traverse a certain edge arrives at that edge some of the flow i has to be discarded. To formally handle such scenarios, we denote by fj (t) the amount of flow that belongs to connection i that enters the edge ej at time t (For convenience we will sometimes simply i refer to fj if t is clear from the context). We demand that the following constraints hold: 2We do not explicitly model the delay within the router, but instead model it as part of the delay of the links

3 • At any time, all edge flows must be non-negative:

i ∀t ∀i ∈ {1, . . . , n} ∀j ∈ {1, . . . , li} fj (t) ≥ 0

• A connection cannot send more traffic along the first link on its path than the fixed initial influx fi (observe that not necessarily all connections start transmitting fi at t = 0):

i ∀t ∀i ∈ {1, . . . , n} f1(t) ≤ fi

• The size of a flow can only decrease as it traverses more edges along the connection’s path:

i i ∀t ∀i ∈ {1, . . . , n} ∀j ∈ {1, . . . , li − 1} fj (t) ≥ fj+1(t + ∆ej )

• The total sum of flows that go through an edge cannot exceed its capacity: X i ∀t ∀e ∈ E fj (t) ≤ ce i i,j: ej =e

A crucial feature of the network is the way that traffic overflows are handled. That is, there are many ways for routers (vertices) to discard of traffic. Different packet-dropping policies result in potentially very different flow patterns. Informally, a packet-dropping policy for a certain edge specifies for any set of connections’ flows that reach that edge, how to share the capacity of the edge between the different connections.

Definition 2.1 Let e ∈ E and let k be the number of connections whose paths go through e.A packet discarding policy for e is a function

k k De :(R+) → (R+) ˜ ˜ ˜ such that if De(f1, f2, . . . , fk) = (f1, f2,..., fk) then it holds that:

• ∀i ∈ {1, . . . , k} fi ≥ f˜i Pk ˜ • i=1 fi ≤ ce

Once a policy for discarding packets is assigned to each edge in the network, a flow dynamics is induced for any initial flow influxes f1, ..., fn (and the times in which flows start transmitting). We say that a flow dynamics converges if from some time onwards the flow of every connection that goes through any edge is fixed. That is, if there is some t0 such that for all t ≥ t0 and for any i, j i i 0 fj (t) = fj (t ). In the next subsection we show that it may well be that for some discarding policies such flow dynamics may not converge.

2.2 Non-Converging Flows We show that for some packet-dropping policies flow dynamics may not converge at all.

Example 2.2 (Flow dynamics do not necessarily converge) Consider the network graph de- picted in Figure 1. There are 3 connections C1,C2,C3. Assume that all edge capacities in the graph are equal to 1, and that all links have the same delay. Let the packet-discarding policies be such that each edge prioritizes packets that have traveled a longer distance before arriving at that edge. For

4 example, there are two connections, C1 and C2 that use the edge (1, 2). Packets from C1 that reach this edge have traveled a longer distance at that point, so they are always preferred over packets from C2. Similarly, at edge (2, 3) the connection C2 is preferred over C3, and at edge (3, 1) the connection C3 is preferred over C1. 1 2 1 Consider the case in which f1 and f2 (the initial influxes of C and C both equal 1. Since C and C2 share the edge (1, 2) and since C1 is preferred at that edge, it is given the full capacity 1, while all packets that belong to C2 are discarded. Now, assume that C3 at this point also starts sending 1 unit of flow. Since C3 is preferred at edge (3, 1) and has no competition over the available capacity in (2, 3), it is given precedence and suppresses the traffic of C1. This in turn allows C2 to send flow freely and suppress C3, and so on.

2.3 Fair Queueing Fair Queueing [2] has been proposed (and implemented to some extent) for managing TCP traffic on the Internet. We show that if all edges use Fair Queueing then flow dynamics always converge. We start by formally defining the Fair Queueing packet-dropping policy in our model.

Definition 2.3 Let e ∈ E and let k be the number of connections whose paths traverse e. The FQ Fair Queueing packet-dropping policy for e De (f1, . . . , fk) distributes the capacity ce between the k connections in the following manner:

ce ce • If for each i fi ≥ k then assign each connection a capacity share of k . Discard the rest of the connections’ traffic.

ce • If for j = argminifi fj < k then grant j its full demand fj and repeat the fair queuing process (recursively) for the remaining capacity of ce − fj and the remaining k − 1 connections.

Fair Queueing is natural in many ways: It never disposes of packets needlessly, i.e., it aims to distribute the entire capacity of an edge and only throws away some of the traffic if the demand exceeds the capacity. Fair Queuing is local in the sense that it only depends of the amount of flow sent by each connection (and not the path of that connection, as is Subsection 2.2. In addition, Fair Queuing is known to be socially just in the sense that it is max-min fair []. We shall later prove that this is true in our model. But first, we prove that flow dynamics is guaranteed to converge.

Theorem 2.4 Given a constant influx at the sources of all connections, if the packet-dropping FQ policy for every edge e ∈ E is De , then flow dynamics always converge to a unique solution.

Proof: Let the bottleneck of a connection i be the minimum between the lowest “fair share” along its path and its initial flow influx. µ ¶ ce bi = min fi, min{ } (1) e∈P i ke where ke is the number of connections whose paths traverse e. It is easy to see that Fair Queuing i means that any connection C will always be able to transmit at least bi along its entire path (every i i edge along P will always give C a capacity share of at least bi). i If there is a connection C such that bi = fi, then it can always transmit at least fi along its i route. However, obviously C never sends more than fi along its route. Hence, from some moment i i in time onwards (after C starts transmitting and his flow reaches ti) C ’s flow will constantly be fi (on each edge in P i). From that moment onwards we are effectively in a network that is identical

5 i to the original one with the exceptions that the capacity of each edge e ∈ P is ce − fi and the connection Ci is removed. We can now recursively apply this proof to this new network. i From this point on we assume that every connection C has a bottleneck bi < fi. Informally, the proof will proceed by demonstrating that from some moment in time onwards, the flows on suffixes of certain paths converge. The length of these suffixes will increase in time until all the full paths admit a constant flow of traffic. Let j be a connection with the minimal bottleneck.

j = arg min(bi) (2) i

j As stated before, connection C is guaranteed a flow of at least bj at all links along its route. Another interesting observation (that immediately follows from Fair Queuing and the definition of j) is that from some time onwards, connection j will never achieve a flow that is higher than bj past the edge on its route where the bottleneck has occurred. This is due to the fact that j was selected to have the smallest bottleneck in the graph. Any other connection has a bottleneck that is either the same or greater, so no connection will be satisfied with less than its full share on the edge that attains j’s bottleneck. This implies that according to the Fair Queueing policy, connection j will never be awarded more than its share on that edge: bj. Using these two arguments, we can now deduce that from some point in time, for edges after j the bottleneck (including the bottleneck edge) the flow sent by C is constantly bj. The crucial point is this: From this moment onwards j is effectively not a participant in the allocation of the remaining capacities of these edges. The capacity shares of all other connections for every such j edge e will now be calculated as if the capacity of e was ce − bj and C did not exist. We can now repeat this proof iteratively. At each stage, the flow on a non-empty suffix of the path of some connection is set (from some moment in time) and never changes from that point on. P i This proof process is therefore due to end after at most i |P | repetitions of this argument. Next we show that in our model, with Fair Queueing applied at all edges, the “poorest” flow does at least as well as under any other discarding policy—i.e., fair queueing maximizes the value of the minimal flow.

FQ Proposition 2.5 If the packet-dropping policy for every edge e ∈ E is De , then the solution to which the flow dynamics converges optimizes the max-min fairness.

Proof: Let us examine a network after the flow dynamics has converged (as is promised by Theorem 2.4). Let Cj be an arbitrary connection that achieves the minimal flow (there can be several such connections, so we select an arbitrary one and show its flow cannot be increased). j If fj = fj, then there is no way to further increase the flow of C . Otherwise, according to the j j definition of a legal flow it must be that fj < fj. Let e be the last edge on C ’s path P for j which some of the flow of C is being reduced. The flow on e must therefore be exactly fj, the throughput achieved by Cj. Since the Fair Queueing policy holds for e, flow on e is reduced only if it exceeds demand. If Cj is the only connection that uses e then surely its flow cannot be increased because it must hold that ce = fj and the link is already at full usage. If, however, there are several connections passing through e, then the flow of any other such connection Ci must be no more than fj (it cannot be less, because fj is a minimal flow), and so its throughput cannot be more than fj. Any other flow solution that awards Cj a strictly larger portion of the flow will have to decrease the flow of at least one other connection that goes through e. That connection j will therefore have a flow of less than fj, which means that by increasing the minimal flow of C we create an even smaller flow for some other connection. The Fair Queueing solution therefore maximizes the minimal flow.

6 3 End-to-End Congestion Control

So far (in Section 2), we have assumed that each connection sends traffic at a constant transmission rate. However, in practice, connections (the source vertices) can adjust their transmission rates dynamically. The choices of transmission rates may have serious implications. We show (Subsec- tion 3.1) that for some packet-dropping policies these rate adjustments might be crucial for ensuring high network performance. We then model the asynchrony of the network (Subsection 3.2) and present a TCP-inspired protocol. We show (Subsection 3.3) that if all nodes execute this simple myopic protocol (and Fair Queueing holds) then they are bound to converge to a “good” solution.

3.1 Dynamic Adjustments of Transmission Rates Are Important The following example demonstrates that sometimes a connection can improve the throughput of other connections without being harmed by reducing its transmission rate. Hence, a good choice of transmission rates may be beneficial in terms of overall network performance.

Example 3.1 (An over-eager flow that wastes resources needlessly) Consider the network graph that appears in Figure 2. The graph contains two connections denoted by C1,C2 whose paths share a single edge. Let us assume that both connections attempt to send 4 units of traffic each. 1 2 The flow of C is immediately reduced to 3 units at the edge (s1, v1) while C manages to transmit the full 4 units to vertex v1. At this point, if we assume that a Fair Queueing policy is being used for distributing the capacity of edge (v1, v2), then both connections receive an equal share of 2 flow 1 units along that edge. Connection C therefore has 2 units of flow arriving at the target node t1, 2 while connection C ’s flow is reduced further to only 1 unit that arrives at t2. 2 Notice however, that if C only sends 1 unit of flow then this unit reaches t2, and moreover, C1 then has 3 units of flow arriving at the destination. (This also works if C1 lowers its sending rate to that of its bottleneck and only sends 3 units initially). Observe that in this case the overall network performance is better as the two connections manage to send 4 units of flow rather than 3.

To avoid poor network performance the congestion-control protocol used in the Internet TCP instructs connections (transmitting end-points) that experience congestion to reduce their sending rates quickly and dramatically.

3.2 The Congestion Control Interaction Model We are considering a network as defined is Subsection 2.1 in which Fair Queuing holds for each edge, and with the following additions:

• Connections do not necessarily transmit at a constant rate. The transmission rate of each connection is limited from above by some maximal influx fi. The action set Ai of player i is the set of all possible transmission rates it can choose (by transmission rate we mean the influx entering its source vertex): £ ¤ Ai = 0, fi

• The interaction between connections is assumed to be asynchronous. As in [13] we define entity call the scheduler that is in charge of modeling the asynchrony of the network: The scheduler decides when connections will be activated along the infinite time line. A connection that is activated can adjust its transmission rate (choose an action in Ai). Every time this occurs, the flows of other connectons may be affected. An update message regarding the

7 throughput of each connection’s path is occasionally dispatched to the connection (think of this as a message sent from the target vertex of a connection to the source vertex). The scheduler chooses when update messages arrive at their destination or if they are lost. We impose the following natural restrictions on the scheduler: A connection cannot be starved from adjusting its transmission rate (i.e., every connection must be activated an infinite number of times). A connection cannot be starved indefinitely from receiving update messages (i.e., eventually some message sent by the target node arrives).

• Each connection executes a (TCP-reminiscent) protocol we call Probing-Increase-Educated- Decrease (PIED): A connection that executes PIED gradually increases its sending rate by some small α > 0 as long as it does not receive an update message informing it that its throughput is lower than its sending rate (indicating that the network is congested and so its packets are being dropped). If it receives such an update message it decreases its transmission rate to the exact level of the achieved throughput.

3.3 PIED Convergence We now show that if all connections are executing PIED (and Fair Queueing holds) then they are bound to converge to a state in which all their transmission rates are constant. That is, from some moment in time onwards no connection changes its transmission rate. Moreover, each connection will transmit at a rate that exactly equals its throughput (no packets will be lost at all), and will not be able to increase its throughput by increasing its sending rate.

Theorem 3.2 If all connections execute PIED, then their transmission rates converge to a flow solution in which all connections transmit at a rate that equals their throughput.

Proof: Let us define, as in the proof of Theorem 2.4, the bottleneck of a connection i be the minimum between the lowest “fair share” along its path and its maximal flow influx. µ ¶ ce bi = min fi, min{ } (3) e∈P i ke where ke is the number of connections whose paths traverse e. Now, let us assume that j achieves the smallest bottleneck in the network. If this is due to j’s limit fi, then because of Fair Queueing j will always manage to get a throughput of bj = fi. Therefore, as the PIED strategy dictates, it will increase its sending rate as long as it is below fi and stop at exactly fi. So, in this case j’s transmission rate will be fixed from some moment in time onwards, and will exactly equal its throughput. If, on the other hand, bj is due to j’s fair share on some edge e, then all connections going through e are also limited by their fair share on it (all other bottlenecks are larger than or equal to bj by definition). All connections going through e will eventually manage to send bj traffic units along their entire path. Because of PIED, they will at some point reach that limit. At this point, any of those connections that may have exceeded the bj limit will have some of its flow lost and will therefore reduce his flow down to bj once it learns about this (as instructed by PIED). Hence, j (and maybe some other connections as well) remain with a fixed flow bj from some point in time onwards. We can now fix their transmission rates and repeat this stage of the proof (recursively) on the network we get by removing these flows and decreasing the capacities of the edges accordingly.

8 4 Congestion Control and Incentives

In this section we explore the behavior of connections that are controlled by strategic agents. We show that, in general, it might not be beneficial for players to follow PIED (Subsection 4.1). In contrast, we show that if Fair Queuing holds then incentive-compatibility of PIED, and stronger properties, are guaranteed (Subsections 4.2 and 4.3). Finally, we show that natural extensions of our model fail to guarantee incentive-compatibility (Subsection 4.4).

4.1 Players Can Gain From Not Complying With PIED The following examples show that for some packet-discarding policies connections that do not execute PIED may gain a better throughput. Furthermore, if all flows deviate from PIED, the network may suffer from extremely low performance.

Example 4.1 (A connection can gain from not complying with PIED) We define the Pro- portional Dropping packet-dropping policy as follows: ( P (f , . . . , f ) if k f < c PD 1 k Pi=1 i e De (f1, . . . , fk) = P ce k (f1, . . . , fk) · k if i=1 fi ≥ ce i=1 fi

PD Informally, De grants each connection a capacity share that is proportional to the portion of its demand from the total demand of all connections. Now, consider the directed graph in Figure 3 PD in a scenario where De is applied at all edges. 1 2 Let us assume that there are two connections, C whose path is (s1, v1, v2, v3, v4, t1), and C with the path (s2, v3, v4, v1, v2, t2). Notice that the paths share two edges: (v1, v2) and (v3, v4). Assume that C2 executes PIED. Observe that if C1 sends traffic at a constant rate of 11, then the compliant connection C2 will constantly lose packets (because the edges are congested). Therefore, the compliant flow will constantly reduce its sending rate until it converges to 0 and allow the non-compliant flow a throughput of 11 units. So, C1 is better off not behaving according to PIED.

Example 4.2 (If many connections deviate from PIED bad things happen) Consider the same setting as in the previous example but assume that both connections send traffic at a constant rate of 100. Both connections will only achieve a throughput of 1 unit. This is because the Propor- tional Dropping policy for the edges (v1, v2) and (v3, v4) will allocate 1 unit to one of the connections, and 10 units to the other (after converging). Hence, both connections together send only 2 units of flow. Contrast this with the 11 units of flow they could have sent had they both executed PIED. This example is a form of the well known “Tragedy of the Commons”. Each connection is tempted to increase its sending rate and gain at the expense of the other, but if both connections increase their rates, their total throughput is significantly lowered because of the congestion collapse they trigger. This shows that such phenomena might result in extremely bad network performance.

4.2 Congestion-Control Games In our game theoretic model each player controls exactly one connection in the network. The model is built upon that described in Section 3. In particular, as in Section 3, the transmission rate of each connection is limited from above by some maximal influx fi, and Fair Queueing holds for every edge. In order to explore strategic behaviour in this congestion-control model we add the following:

9 • The maximal influx fi is the private information of player i and not known to the other players. Players are also not assumed to have any a-priori knowledge about the network structure, the precise capacity of edges or the paths of other connections.

• A strategy of a connection in this game specifies its choice of transmission rate in every occasion in which it is activated. Observe that PIED is just one strategy a connection may play (informally, the different strategies are different choices of congestion-control protocols).

• We define the utility ui of a player i in the game as his average throughput per time unit (given a strategy-profile of all players): Z ∞ f i (t) li ui = · dt 0 t This definition of a connection’s utility as the average throughput over an infinite period of time eliminates any transient fluctuations that take place in the initial stages of the game.

We are interested in the strategy-profile in which every player executes PIED (namely, the PIED strategy-profile). We wish to show that this strategy profile is incentive-compatible (in ex- post Nash). This means that as long as all connections but one are executing PIED, that connection can never strictly better its outcome by not executing PIED (for explanations about the ex-post Nash solution concept and its suitability to distributed settings see [18, 5, 13]. Hence, a connection is never rationally motivated to unilaterally deviate from PIED.

4.3 Incentive-Compatible Congestion Control We prove that in the setting described in Subsection 4.2 (in which, in particular, Fair Queueing is applied) the following theorem holds:

Theorem 4.3 The PIED strategy-profile is incentive-compatible in ex-post Nash.

In fact, we prove an even stronger version of this theorem:

Theorem 4.4 The PIED strategy-profile is such that no coalition of players can deviate from PIED and strictly improve the outcome of all members in the coalition.

Proof: Let us assume that some group of players deviates from the PIED strategy and that all collaborating players gain by doing so. Let us now examine the bottlenecks in the network, as defined in the proof of Proposition 3.2. µ ¶ ce bi = min fi, min{ } (4) e∈P i ke where ke is the number of connections whose paths traverse e. Let j be one of the players (not necessarily deviating) in the group with the minimal bottleneck. If j’s bottleneck is due to his influx limit fj then he is guaranteed by Fair Queueing a flow of at least fj along his path, which is achieved if he plays PIED. Naturally, he cannot send more, and therefore cannot gain by deviating. So, j cannot be one of the colluding players. We can therefore recursively apply the proof of this theorem to a network in which j is removed and the capacity of all edges on its path is decreased by fj.

10 On the other hand, let us assume that j’s bottleneck is achieved on an edge e. In this case, all players going through e have the same bottleneck. They are all guaranteed a flow of at least bj. If any of these players play PIED we can deduce that they will increase their flows up to the bottleneck. That is, PIED guarantees all players going through e a constant throughput of bj or more. Hence, all connections will have a utility (average throughput) of bj whether they are in the coalition or not (by assumption, deviating connections cannot lose and get less than bj, and the capacity limit of the edge ensures that they will not get more than bj). We can therefore recursively apply the proof to a network in which all these connections are removed and the capacity of all edges on their paths is reduced accordingly. We have thus shown that it is impossible to find a deviation that is worthwhile for all members of the coalition. A proof very similar to that of Theorem 4.4 shows even if all players attempt to reach a flow solution that is at least as beneficial to all and more beneficial to one (or more) they cannot do it. This is known as Pareto optimality in economics literature.

Proposition 4.5 The PIED strategy-profile is Pareto optimal.

4.4 Players and Multiple Connections We have shown that it is incentive-compatible for players to follow PIED assuming each player controls a single connection. Does this result extend to cases in which players control multiple connections? The following example demonstrates that this is not true.

Example 4.6 (A player that controls 2 connections might gain by not following PIED) Consider the network graph in Figure 4. The network graph has 3 connections that are controlled by two players. The first player controls connections C1,C2 whose paths go through vertices (2, 3, 4, 5) and (6, 7, 8, 9), respectively. The second player controls the connection C3 whose path goes through vertices (1, 3, 4, 7, 8, 10). Notice that the connection C2 of the first player is limited by the last edge in the path that has a capacity of 1 unit. If this player was compliant it would never send more than that. This means that the second player would be free to send 9 units of flow through the edge that is shared with C2 which means that he will manage to get 9 units of flow to the target vertex (he has a larger share on each subsequent link). This in turn leaves 11 units of capacity for the use of the first player on the edge (7, 8) which means this player manages a total of 12 units of flow. However, if the first player does not comply, and sends along C2 all possible 10 units of flow, he would still only manage to get 1 unit to the target vertex of that vertex, but will claim a larger capacity share of the edge (3, 4), thus reducing the flow of the second player on that edge to 5 units. This implies that he will get a larger capacity-share for his second connection on the edge (7, 8) which will give him 15 units of flow for that connection – a total of 16 units instead of the 12 he would get by complying.

Acknowledgements

We thank and Dahlia Malkhi for helpful discussions.

11 References

[1] Aditya Akella, Srinivasan Seshan, Richard Karp, Scott Shenker, and Christos Papadimitriou. Selfish behavior and stability of the internet: a game-theoretic analysis of tcp. SIGCOMM Comput. Commun. Rev., 32(4):117–130, 2002.

[2] Alan Demers, Srinivasan Keshav, and Scott Shenker. Analysis and simulation of a fair queueing . In SIGCOMM ’89: Symposium proceedings on Communications architectures & protocols, pages 1–12, New York, NY, USA, 1989. ACM.

[3] Joan Feigenbaum, Christos H. Papadimitriou, Rahul Sami, and Scott Shenker. A BGP-based mechanism for lowest-cost routing. , 18(1):61–72, 2005.

[4] Joan Feigenbaum, Christos H. Papadimitriou, and Scott Shenker. Sharing the cost of multicast transmissions. Journal of Computer System Sciences, 63(1):21–41, 2001.

[5] Joan Feigenbaum, Michael Schapira, and Scott Shenker. Distributed Algorithmic Mechanism Design. A chapter in ‘Algorithmic ”. Cambridge University Press, 2007.

[6] Sally Floyd and Kevin Fall. Promoting the use of end-to-end congestion control in the internet. IEEE ACM Transactions on Networking, 7(4):458–472, 1999.

[7] Richard J. Gibbens and Frank P. Kelly. Resource pricing and the of congestion control. Automatica, 35:1969–1985, 1999.

[8] Van Jacobson. Congestion avoidance and control. In ACM SIGCOMM ’88, pages 314–329, Stanford, CA, August 1988.

[9] Richard M. Karp, , Christos H. Papadimitriou, and Scott Shenker. Opti- mization problems in congestion control. In IEEE Symposium on Foundations of Computer Science, pages 66–74, 2000.

[10] Frank Kelly. Mathematical modelling of the internet. In Bjorn Engquist and Wilfried Schmid, editors, Mathematics Unlimited – 2001 and Beyond, pages 685–702. Springer-Verlag, 2001.

[11] Frank P. Kelly. Charging and rate control for elastic traffic. European Transactions on Telecom- muncations, 8:33–37, 1997.

[12] Elias Koutsoupias and Christos H. Papadimitriou. Worst-case equilibria. In Proceedings of the 16th Annual Symposium on Theoretical Aspects of Computer Science, pages 404–413, 1999.

[13] Hagay Levin, Michael Schapira, and Aviv Zohar. Interdomain routing and games. In Proceed- ings of the 40th ACM Symposium on Theory of Computing (STOC), May 2008.

[14] Noam Nisan and Amir Ronen. Algorithmic mechanism design. Games and Economic Behavior, 35(1):166–196, 2001.

[15] Barath Raghavan and Alex Snoeren. Decongestion control. In Proceedings of the Fifth Work- shop on Hot Topics in Networks (HotNets-V), pages 61–66. ACM Press, November 2006.

[16] and Eva Tardos. How bad is selfish routing? Journal of the ACM, 49(2):236 – 259, 2002.

12 [17] Scott Shenker. Quoted in foreword by Christos Papadimitriou. In Noam Nisan, Tim Roughgar- den, Eva Tardos, and Vijay Vazirani, editors, . Cambridge University Press, 2007.

[18] Jeffrey Shneidman and David C. Parkes. Specification faithfulness in networks with ratio- nal nodes. In Proceedings of the 23rd Annual ACM Symposium on Principles of Distributed Computing, PODC 2004, pages 88–97, New York, July 2004.

13 Figure 1: A simple network graph for which some packet-discarding policy does not converge.

Figure 2: A graph in which a flow wastes resources needlessly

Figure 3: A network in which it is not incentive compatible to lower sending rate.

Figure 4: A network graph in which a player that controls two flows can gain from not following PIED.

14