Oblivious Routing
Keywords
Fixed path routingYears and Authors of Summarized Original Work
-
2002; Räcke
Problem Definition
Consider a communication network, for example, the network of cities across the country connected by communication links. There are several sender-receiver pairs on this network that wish to communicate by sending traffic across the network. The problem deals with routing all the traffic across the network such that no link in the network is overly congested. That is, no link in the network should carry too much traffic relative to its capacity. The obliviousness refers to the requirement that the routes in the network must be designed without the knowledge of the actual traffic demands that arise in the network, i.e., the route for every sender-receiver pair stays fixed irrespective of how much traffic any pair chooses to send. Designing a good oblivious routing strategy is useful since it ensures that the network is robust to changes in the traffic pattern.
Notations
Let G = (V, E) be an undirected graph with nonnegative capacities c(e) on edges e ∈ E. Suppose there are k source-destination pairs (s i , t i ) for i = 1, …, k, and let d i denote the amount of flow (or demand) that pair i wishes to send from s i to t i . Given a routing of these flows on G, the congestion of an edge e is defined as u(e)/c(e), the ratio of the total flow crossing edge e divided by its capacity. The congestion of the overall routing is defined as the maximum congestion over all edges. The congestion minimization problem is to find the routing that minimizes the maximum congestion. Observe that specifying a flow from s i to t i is equivalent to finding a probability distribution (not necessarily unique) on a collection of paths from s i to t i .
The congestion minimization problem can be studied in many settings. In the offline setting, the instance of the flow problem is provided in advance, and the goal is to find the optimum routing. In the online setting, the demands arrive in an arbitrary adversarial order, and a flow must be specified for a demand immediately upon arrival; this flow is fixed forever and cannot be rerouted later when new demands arrive. Several distributed approaches have also been studied where each pair routes its flow in a distributed manner based on some global information such as the current congestion on the edges.
In this note, the oblivious setting is considered. Here, a routing scheme is specified for each pair of vertices in advance without any knowledge of which demands will actually arrive. Note that an algorithm in the oblivious setting is severely restricted. In particular, if d i units of demand arrive for pair (s i ,t i ), the algorithm must necessarily route this demand according to the prespecified paths irrespective of the other demands or any other information such as congestion of other edges. Thus, given a network graph G, the oblivious flows need to be computed just once. After this is done, the job of the routing algorithm is trivial; whenever a demand arrives, it simply routes it along the precomputed path. An oblivious routing scheme is called ccompetitive if for any collection of demands D, the maximum congestion of the oblivious routing is no more than c times the congestion of the optimum offline solution for D. Given this stringent requirement on the quality of oblivious routing, it is not a priori clear that any reasonable oblivious routing scheme should exist at all.
Key Results
Oblivious routing was first studied in the context of permutation routing where the demand pairs form a permutation and have unit value each. It was shown that any oblivious routing that specifies a single path (instead of a flow) between every two vertices must necessarily perform badly. This was first shown by Borodin and Hopcroft [6] for hypercubes, and the argument was later extended to general graphs by Kaklamanis, Krizanc, and Tsantilas [10], who showed the following.
Theorem 1 ([6, 10])
For every graph G of size n and maximum degree d and every oblivious routing strategy using only a single path for every source-destination pair, there is a permutation that causes an overlap of at least\((n/d)^{1/2}\)paths at some node. Thus, if each edge in G has unit capacity, the edge congestion is at least\((n/d)^{1/2}/d\).
Since there exists constant degree graphs such as the butterfly graphs that can route any permutation with logarithmic congestion, this implies that such oblivious routing schemes must necessarily perform poorly on certain graphs.
Fortunately, the situation is substantially better if the single path requirement is relaxed and a probability distribution on paths (equivalently a flow) is allowed between each pair of vertices. In a seminal paper, Valiant and Brebner [13] gave the first oblivious permutation routing scheme with low congestion on the hypercube. It is instructive to consider their scheme. Consider an hypercube with N = 2 n vertices. Represent vertex i by the binary expansion of i. For any two vertices s and t, there is a canonical path (of length at most n = log N) from s to t obtained by starting from s and flipping the bits of s in left to right order to match with that of t. Consider routing scheme that for a pair s and t, it first chooses some node p uniformly at random, routes the flow from s to p along the canonical path, and then routes it again from p to t along the canonical path (or equivalently it sends 1∕N units of flow from s to each intermediate vertex p and then routes it to t). A relatively simple analysis shows that
Theorem 2 ([13])
The above oblivious routing scheme achieves a congestion of O(1) for hypercubes.
Subsequently, oblivious routing schemes were proposed for few other special classes of networks. However, the problem of designing oblivious routing schemes for general graphs remained open until recently, when in a breakthrough result Räcke showed the following.
Theorem 3 ([11])
For any undirected capacitated graph G = (V,E), there exist an oblivious routing scheme with congestion O(log3n) where n is the number of vertices in G.
The key to Räcke’s theorem is a hierarchical decomposition procedure of the underlying graph (described in further detail below). This hierarchical decomposition is a fundamental combinatorial result about the cut structure of graphs and has found several other applications, some of which are mentioned in section “Applications.” Räcke’s proof of Theorem 3 only showed the existence of a good hierarchical decomposition and did not give an efficient polynomial time algorithm to find it. In subsequent work, Harrelson, Hildrum, and Rao [9] gave a polynomial time procedure to find the decomposition and improved the competitive ratio of the oblivious routing to O(log 2nlog log n).
Theorem 4 ([9])
There exists an O(log2nlog log n)-competitive oblivious routing scheme for general graphs, and moreover, it can be found in polynomial time.
Recently, Räcke [12] has given a tight O(log n)-competitive oblivious routing scheme together with an efficient algorithm to find it. His algorithm is based on an elegant connection to probabilistic embedding of arbitrary metrics into tree metrics.
Interestingly, Azar et al. [4] show that the problem of finding the optimum oblivious routing for a graph can be formulated as a linear program. They consider a formulation with exponentially many constraints, one for each possible demand matrix that has optimum congestion 1 that enforces that the oblivious routing should have low congestion for this demand matrix. Azar et al. [4] give a separation oracle for this problem, and hence, it can be solved using the ellipsoid method. A more practical polynomial size linear program was given later by Applegate and Cohen [2]. Bansal et al. [5] considered a more general variant referred to as the online oblivious routing that can also be used to find an optimum oblivious routing. However, note that without Räcke’s result, it would not be clear whether these optimum routings were any good. Moreover, these techniques do not give a hierarchical decomposition and hence may be less desirable in certain contexts. On the other hand, they may be more useful sometimes since they produce an optimum routing (while [9] implies an O(log 2nlog log n)-competitive routing for any graph, the best oblivious routing could have a much better guarantee for a specific graph).
Oblivious routing has also been studied for directed graphs; however, the situation is much worse here. Azar et al. [4] show that there exist directed graphs where any oblivious routing is \(\varOmega (\sqrt{n})\) competitive. Some positive results are also known. Hajiaghayi et al. [7] show a substantially improved guarantee of O(log 2n) for directed graphs in the random demands model. Here, each source-sink pair has a distribution (which is known by the algorithm) from which it chooses its demand independently. A relaxation of oblivious routing known as semi-oblivious routing has also been studied recently [8].
Techniques
This section describes the high-level idea of Räcke’s result. For a subset S ⊂ V , let cap(S) denote the total capacity of the edges that cross the cut (S,V ∖S), and let dem(S) denote the total demand that must be routed across the cut (S,V ∖S). Observe that q = max S ⊂ Vdem(S)/cap(S) is a lower bound on the congestion of any solution. On the other hand, the key result [3, 13] relating multicommodity flows and cuts implies that there is a routing such that the maximum congestion is at most O(qlog k) where k is the number of distinct source sink pairs. However, note that this by itself does not suffice to obtain good oblivious routings, since a pair (s i ,t i ) can have different routing for different demand sets. The main idea of Räcke was to impose a treelike structure for routing on the graph to achieve obliviousness. This is formalized by a hierarchical decomposition described below.
Consider a hierarchical decomposition of the graph G = (V,E) as follows.Starting from the set S = V, the sets are partitioned successively until each set becomes singleton vertex. This hierarchical decomposition can be viewed naturally as a tree T, where the root corresponds to the set V and leaves corresponds to the singleton sets {v}. Let S i denote the subset of V corresponding to node i in T. For an edge (i,j) in the tree where i is the child of j, assign it a capacity equal to cap(S i ) (note that this is the capacity from S i to the rest of G and not just capacity between S i and S j in G). The tree T is used to simulate routing in G and vice versa. Given a demand from u to v in G, consider the corresponding (unique) route among leaves corresponding to {u} and {v} in T. For any set of demands, it is easily seen that the congestion in T is no more than the congestion in G. Conversely, Räcke showed that there also exists a tree T where the routes in T can be mapped back to flows in G, such that for any set of demands, the congestion in G is at most O(log 3n) times that in T. In this mapping, a flow along the (i,j) in the tree T corresponds to a suitably constructed flow between sets S i and S j in G. Since route between any two vertices in T is unique, this gives an oblivious routing in G.
Räcke uses very clever ideas to show the existence of such a hierarchical decomposition. Describing the construction is beyond the scope of this note, but it is instructive to understand the properties that must be satisfied by such a decomposition. First, the tree T should capture the bottlenecks in G, i.e., if there is a set of demands that produces high congestion in G, then it should also produce a high congestion in T. A natural approach to construct T would be to start with V, split V along a bottleneck (formally, along a cut with low sparsity), and recurse. However, this approach is too simple to work. As discussed below, T must also satisfy two other natural conditions, known as the bandwidth property and the weight property which are motivated as follows. Consider a node i connected to its parent j in T. Then, i needs to route dem(S i ) flow out of S i , and it incurs congestion dem(S i )/cap(S i ) in T. However, when T is mapped back to G, all the flow going out of S i must pass via S j . To ensure that the edges from S i to S j are not overloaded, it must be the case that the capacity from S i to S j is not too small compared to the capacity from S i to the rest of the graph V ∖S i . This is referred to as the bandwidth property. Räcke guarantees that this is ratio is always Ω(1∕logn) for every S i and S j corresponding to edges (i, j) in the tree. The weight property is motivated as follows. Consider a node j in T with children i1, …, i p ; then the weight property essentially requires that the sets Si1, …, S ip should be well connected among themselves even when restricted to the subgraph S j . To see why this is needed, consider any communication between, say, nodes i1 and i2 in T. It takes the route i1 to j to i2, and hence, in G,Si1 cannot use edges that lie outside S j to communicate with Si2. Räcke shows that these conditions suffice and that a decomposition can be obtained that satisfies them.
The factor O(log 3n) in Räcke’s guarantee arises from three sources. The first logarithmic factor is due to the flow-cut gap [3, 13]. The second is due to the logarithmic height of the tree, and the third is due to the loss of a logarithmic factor in the bandwidth and weight properties.
Applications
The problem has widespread applications to routing in networks. In practice, it is often required that the routes must be a single path (instead of flows). This can often be achieved by randomized rounding techniques (sometimes under an assumption that the demands to capacity ratios be not too large). The flow formulation provides a much cleaner framework for studying the problems above.
Interestingly, the hierarchical decomposition also found widespread uses in other seemingly unrelated areas such as obtaining good preconditioners for solving systems of linear equations, finding edge-disjoint paths and multicommodity flow problems, online network optimization, speeding up the running time of graph algorithms, and so on.
Cross-References
Recommended Reading
- 1.Alon N, Awerbuch B, Azar Y, Buchbinder N, Naor J (2004) A general approach to online network optimization problems. In: Symposium on discrete algorithms, pp 570–579Google Scholar
- 2.Applegate D, Cohen E (2003) Making intra-domain routing robust to changing and uncertain traffic demands: understanding fundamental tradeoffs. In: SIGCOMM, pp 313–324Google Scholar
- 3.Aumann Y, Rabani Y (1998) An O(log k) approximate min-cut max-flow theorem and approximation algorithm. SIAM J Comput 27(1):291–301MathSciNetMATHCrossRefGoogle Scholar
- 4.Azar Y, Cohen E, Fiat A, Kaplan H, Räcke H (2003) Optimal oblivious routing in polynomial time. In: Proceedings of the 35th ACM symposium on the theory of computing, pp 383–388Google Scholar
- 5.Bansal N, Blum A, Chawla S, Meyerson A (2003) Online oblivious routing. In: Symposium on parallelism in algorithms and architectures, pp 44–49Google Scholar
- 6.Borodin A, Hopcroft J (1985) Routing, merging and sorting on parallel models of computation. J Comput Syst Sci 10(1):130–145MathSciNetMATHCrossRefGoogle Scholar
- 7.Hajiaghayi M, Kim JH, Leighton T, Räcke H (2005) Oblivious routing in directed graphs with random demands. In: Symposium on theory of computing, pp 193–201Google Scholar
- 8.Hajiaghayi M, Kleinberg R, Leighton T (2007) Semi-oblivious routing: lower bounds. In: Proceedings of the 18th ACM-SIAM symposium on discrete algorithms, pp 929–938Google Scholar
- 9.Harrelson C, Hildrum K, Rao S (2003) A polynomial-time tree decomposition to minimize congestion. In: Proceedings of the 15th annual ACM symposium on parallel algorithms and architectures, pp 34–43Google Scholar
- 10.Kaklamanis C, Krizanc D, Tsantilas T (1991) Tight bounds for oblivious routing in the hypercube. In: Proceedings of the 3rd annual ACM symposium on parallel algorithms and architectures, pp 31–36Google Scholar
- 11.Räcke H (2002) Minimizing congestion in general networks. In: Proceedings of the 43rd annual symposium on the foundations of computer science, pp 43–52Google Scholar
- 12.Räcke H (2008) Optimal hierarchical decompositions for congestion minimization networks. In: Symposium on theory of computing, pp 255–264Google Scholar
- 13.Valiant L, Brebner GJ (1981) Universal schemes for parallel communication. In: Proceedings of the 13th ACM symposium on theory of computing, pp 263–277Google Scholar