A Performance Comparison of Competitive On-line Routing and State-Dependent Routing William Aiello
Matthew Andrewsy Sandeep Bhatt Lisa Zhangy
K. R. Krishnan
Abstract
Classic circuit-switched telephone networks as well as modern Broadband Integrated Services Digital Networks (B-ISDN) carry trac that requires bandwidth reservation along paths. Due to limited resources some requests for service will be denied. It is therefore important to have good admission control and routing strategies to guarantee an ecient use of the network. In this paper we compare the performance of two non-greedy strategies, competitive online routing (col) and state-dependent routing (sdr), by using an extensive set of simulations. Algorithm sdr assumes prior knowledge of the trac pattern, i.e. the Poisson arrival rates and the exponential holding times, whereas col assumes no knowledge of the trac. For the case in which the arrival rates are unknown to sdr, algorithm sdr-adapt (the adaptive version of sdr) adjusts its admission decisions by learning the trac during its handling of the incoming requests. In most of our experiments, sdr has a noticeable performance advantage over col and sdr-adapt by knowing the trac in advance. Algorithm sdr-adapt outperforms col for the majority of our networks, which indicates the usefulness of adapting to the trac information. Algorithm col has performance guarantees even without any statistical assumptions on the trac. Our simulations also suggest some characteristics of col that disagree with past experimental ndings [8].
1 Introduction Circuit-switched telephone networks and Broadband Integrated Services Digital Networks (BISDN) must both be able to reserve bandwidth for a call between speci ed points. Since the capacity of a network is limited not all calls can be accommodated. We therefore need admission control and routing strategies to decide which calls to accept and to determine paths for the accepted calls. The goal is to accept as many calls as possible. The problem can be formally de ned as follows. A network is represented by an undirected graph, in which each edge has an associated capacity. When a call, R, arrives in the network at time , it speci es its source node s, destination node t and bandwidth b. An admission control and routing algorithm either accepts or rejects call R. If R is accepted, the algorithm chooses an admissible path from s to t and allocates bandwidth b for each edge on the path until R departs from the network. (A path is admissible if, for each edge on the path, the total bandwidth carried on the edge plus the bandwidth of R does not exceed the edge capacity.) Note that a call has to be routed on a single path and rerouting is forbidden. Also note that the nishing time for R is not Bell Communications Research, Morristown NJ. Email: faiello, bhatt,
[email protected]. MIT Laboratory for Computer Science and Department of Mathematics, Cambridge MA. Work performed at Bell Communications Research. Email: fandrews,
[email protected]. y
1
known when R arrives. For example, when a telephone call is made the caller does not announce the holding time (i.e. duration) of the call beforehand. The main objective of an admission control and routing algorithm is to minimize the number of calls rejected. One natural approach is to make admission decisions in a greedy manner. That is, a call is accepted as long as an admissible path exists. Unfortunately, a greedy scheme does not necessarily yield the optimal rejection rate. For example, the only admissible path for a call accepted by a greedy algorithm might consist of many edges. The bandwidth allocated for this path could have more eciently accommodated many future calls that require fewer edges per path. We consider two nongreedy schemes, competitive on-line routing (col), developed by Plotkin and others [4, 5, 6, 8], and state-dependent routing (sdr), developed by Krishnan and Ott [10, 12, 13]. Past experiments have shown the performance advantage of col and sdr over greedy algorithms ([8], [12]). However, there has been no direct comparison between col and sdr. In this paper, we compare experimentally the rejection rates yielded by col, sdr and sdr-adapt (the adaptive version of sdr) over a range of networks. We make no assumptions about the network topology but we assume the following for the trac patterns in our experiments. (In our setting a call from s to t is the same as a call from t to s. Therefore, calls arrive from N (N ? 1)=2 node-pairs in an N -node network.) 1. The call arrivals for dierent node-pairs are independent Poisson streams. The arrival rate for node-pair i is i. 2. All call holding times have the exponential distribution with the same mean value, which is taken to be 1:0. 3. All calls have the same bandwidth, which is used as the unit for bandwidth. All these three assumptions are necessary to support the theory for sdr . (While the assumption of an exponential distribution is needed for analytical purposes, the performance of sdr is expected to be insensitive to the holding time distribution [12].) Algorithm sdr-adapt does not know the arrival rates i in advance, but it assumes Poisson arrivals, exponential holding times and unit bandwidths for the calls. Whilst it is handling incoming calls, sdr-adapt adjusts its admission decisions by learning about i . On the contrary, the theory behind col makes no statistical assumptions on the trac. Algorithm col has no prior knowledge of the arrival or holding-time patterns. Furthermore, it does not adapt itself to the trac information later on. The purpose of our experiments is to decide how much advantage sdr has over col (if any) by knowing the trac pattern. If the arrival rates are unknown, we want to see if it is worthwhile for sdr-adapt to learn the arrival information. Our simulation programs are written using a C++ instance of the Telecommunication Description Language (TeD) [14, 15] and are run using the Georgia Institute of Technology Time Warp System. The networks that we use have sizes ranging from 5 nodes to 66 nodes. Some networks are fully connected, whereas others have sparse connectivity. Our experiments indicate that algorithm sdr often yields rejection rates noticeably better than col and sdr-adapt and it never substantially underperforms col and sdr-adapt. For the majority of our networks, algorithm sdr-adapt compares favorably with col. Of course, if the trac patterns do not t into a standard statistical framework then of the three algorithms, only col is applicable. We also observe that the performance of col can depend on the choice of its parameters, and , which are de ned in Section 2.1. We shall elaborate this issue in Section 3.5. The rest of the paper is divided into sections as follows. In Section 2 we present algorithms col and sdr in detail. In Section 3 we show our experimental results and draw some conclusions. We conclude our paper with directions for future work in Section 5. 2
2 The Algorithms
In this section we give a detailed description of algorithms col and sdr. Both algorithms adopt the same framework (see Figure 1) but their theoretical justi cations are dierent. When a call R arrives in the network at time , each edge e is assigned a cost, Ce( ), based on the current utilization of e. Call R is accepted if and only if a suciently \cheap" admissible path exists with respect to the cost of edge e at time . In particular, when a single-link path exists R is routed on this path as long as it is admissible and cheap. Otherwise, Dijkstra's algorithm is used to nd the cheapest admissible path, P . When the total cost on P is smaller than some designated threshold , R is accepted and routed along P . A call can be rejected for two reasons, for exceeding the capacity constraints (i.e. no admissible paths) or for exceeding the threshold constraints (i.e. admissible paths too expensive). Algorithms col and sdr propose dierent methods for computing the edge costs (in the starred line of Figure 1).
R: G( ):
An incoming call with source s, destination t and arrival time A subgraph of the network consisting of edges with available capacity for call R at time Ce( ): Cost of edge e 2 G( ) : A threshold parameter for the total cost on a path
(*)
1 if e = (s; t) is an edge in G( ) and Ce ( ) < 2 accept R and route R along e 3 else 4 Use Dijkstra's algorithm to ndPthe cheapest path P from s to t in G( ) with respect to Ce( ) 5 if e2P Ce( ) < 6 accept R and route R along P 7 else 8 reject R Figure 1: The framework for routing algorithms col and sdr.
2.1 Competitive On-line Routing
The cost of an edge in competitive on-line routing is exponential in the utilization of that edge. This idea was rst proposed in [4]. In [5] Awerbuch, Azar and Plotkin designed an admission control algorithm, aap, which has performance guarantees that use the notion of competitive analysis [16]. (That is, if C is the best rejection rate achievable by an o-line algorithm then aap guarantees to achieve a rejection rate of at most C , for some 1. The number is called the competitive ratio.) Algorithm aap does not assume any trac knowledge and works for general networks. However, there are a few impractical aspects of aap, one of which is that aap only makes acceptance/rejection decisions but does not address the issue of routing the accepted calls. Also, aap must know the holding time of a call upon its arrival. Subsequently Gawlick, Kamath, Plotkin and Ramakrishnan [8] modi ed aap to obtain a more practical algorithm, which outperformed a greedy algorithm when used in an existing commercial network topology and its variants. Formally, the cost of an edge e at time is,
Ce( ) = 3
ne ( ) se
;
where is a chosen parameter, se is the capacity of edge e, and ne ( ) is the occupied capacity or carried load of e at time . The choice for parameters and is an interesting issue for col. Algorithm aap determines the values for and theoretically. These values are chosen to provide worst-case performance guarantees but they do not yield good performance in general situations [8]. Gawlick et al. suggested setting equal to so that a call is never rejected if a single-edge path is admissible. (Note that Ce( ) for all edges e and times .) They also provided evidence that the rejection rates given by competitive on-line routing were insensitive to under the particular networks and trac tested in [8]. However, our experiments show that the performance of col can be highly sensitive to the choice of under certain networks and trac. (See the discussion in Section 3.5.) We are unable to provide a systematic approach to decide the optimal or near optimal value of . n When = , we can equivalently set the cost threshold to be 1 and the edge cost to be ese ?1. (See Figure 4 for a cost curve.) Under this new setting, it is easy to see that when increases fewer calls are rejected for exceeding the threshold. In particular, when is large enough no call will be rejected for exceeding the threshold, and so col acts in a greedy fashion. We should point out that the algorithm of Gawlick et al. [8] diers slightly from the algorithm col that we implement here. They propose selecting among admissible paths that satisfy the threshold constraints by choosing the one with the smallest number of edges (i.e. minimum number of hops). In [8] it is suggested that the performance of the two algorithms does not dier greatly. ( )
2.2 State-Dependent Routing
In [12, 13] Krishnan and Ott formulated the problem of state-dependent routing as a Markov decision process, where the choice of a path for an incoming call is based on the current occupancy state of the network. In sdr an edge cost approximates the number of additional future rejections if an incoming call is routed along this edge. If we assume that the call departures from dierent edges are independent events1, the total cost of a path is an estimate of the expected increase in the future rejections that would result from accepting an additional call on the path in its current state. Therefore, a call is accepted if there exists an admissible path whose cost is less than one. Algorithm sdr has been tested favorably against a sequential routing rule similar to a basic version of Dynamic Non-Hierarchical Routing [2], and against a \Least-Loaded Rule" similar to that proposed for the Trunk Status Map [1], a precursor to the Real-Time Network Routing (RTNR) scheme that is now used in AT&T's long distance network [3]. The following formula for the edge costs is derived in [12], Ce( ) = BB(n(s(e; );e) ) : e e As in col, ne ( ) and se are the occupied capacity and the total capacity on edge e respectively. The value e is called the oered load on e, which is the product of the arrival rate on edge e and the mean holding time of the calls. (Note that this is dierent from the arrival Prates for the node-pairs.) Function B is the Erlang-B blocking formula, de ned by B (n; ) = nn! = ni=0 i!i . (See Figure 4 for a cost curve.) From our previous discussion the threshold parameter should be set to 1. Since Ce ( ) 1, lack of capacity is the only reason that sdr does not route an incoming call along a single-edge path. It remains to show how to obtain the oered loads, e. In some special cases, e is easy to compute. A symmetric loss network has a complete graph topology and equal capacity on each edge. Furthermore, each node-pair has the same rate of call arrivals and all calls have the same 1
This assumption is standard.
4
holding time mean. In a symmetric loss network e is simply holding mean arrival rate for all edges e. However, determining the correct value for e is more complicated in general. It requires solving a large non-linear program o-line [12]. It is therefore highly desirable to do away with the need for prior load information. Krishnan introduced adaptive state-dependent routing, sdradapt, in [10]. Algorithm sdr-adapt has no prior knowledge of the call arrival rates for each node-pair (and hence no knowledge of the oered load on each edge). Instead, it collects data in the course of normal trac measurement and adjusts routing to the trac pattern. In sdr-adapt the oered load on an edge is initialized to its edge capacity. During the execution of the algorithm the carried loads (occupied capacities) are scanned every time units and the oered loads are updated every scans. Figure 2 shows the rst update of e. (Other updates are similar.)
ne : e : Be : h:
1 2 3 4 5 6
for i = 1 to ne(i) carried load on e at time i ( 0 ne (i) 6= se I (i) 1 ne (i) = se P n (i)= N^e Pi=1 I (ei)= Be i=1 e N^e=(h(1 ? Be))
Carried load on edge e Oered load on edge e Blocking on edge e Call holding mean (h = 1 for our experiments)
Figure 2: The rst update of the oered load for SdrAdapt.
3 Experimental Results 3.1 The Networks
We compare the performance of the routing algorithms over the following networks. Except K5 all other networks have nonuniform edge capacities and nonuniform demands from the node-pairs.
K5
A symmetric loss network of 5 nodes. Each edge has capacity 10. Each node-pair has the same demand. Network K5 is tested with varying demands. 16A and 16B 16-node networks that have the complete graph K16 as their underlying topology. Each edge has a dierent capacity and each node-pair has a dierent demand. The edge capacities and demands of 16A are twice those of 16B . 38A and 38B Dense 38-node networks that have diameter 2 and were designed to model the Chicago metropolitan network. The edge capacities of 38A are generally larger than those of 38B . Networks 38A and 38B are tested on the same set of demands. 5
15A and 15B
Dense 15-node networks that have diameter 3. The center of each network is a complete graph K5. Networks 15A and 15B are tested on the same set of demands. 66A and 66B Sparse 66-node networks that are centered at two nodes and model a telephone network in California. Networks 66A and 66B are tested on the same set of demands.
3.2 The Comparison of the Rejection Rates
Network K5 We begin with the simple network, K5. The experiments are run in 10000 units of time in total, the rst 2000 of which are treated as warmup. That is, the rst 2000 steps are used to stabilize the system. The injections and rejections during that period of time do not contribute to the nal rejection rate. We x the holding mean to 1.0 and vary the arrival rates (oered loads) from 5.5 to 8.5 for each node-pair. In col, is set to . Dierent values of are chosen for dierent oered loads to achieve good rejection rates. (See Table A.) In sdr-adapt the initial oered load on an edge is set to be the edge capacity. The carried loads, ne , are scanned every 0.5 time units ( = 0:5). The oered loads on the edges, e, are updated every 30 scans ( = 30).
oered load (per node-pair)
5.5 6.0 6.5 7.0 7.5 8.0 8.5 410 150 60 25 20 15 15
Table A: The values of chosen for network K5 to achieve the rejection rates in Figure 3.
rejection rates
Algorithms col, sdr and sdr-adapt yield extremely close rejection rates on K5 (Figure 3). The similarity in performance can be explained by the similarity of the cost curves of col and sdr. (See Figure 4.) 14
COL
12
SDR SDR-ADAPT
10 8 6 4 2 0 5.5
6
6.5
7
7.5
8
8.5
arrival rates
Figure 3: The rejection rates of col, sdr and sdr-adapt using network K5 . Larger Networks The experiments on the larger networks are done in 2500 steps, the rst 1000 of which are treated as warmups. Algorithm col uses the values in Table B to achieve the rejection rates in Figure 5. Note that these values do not necessarily yield the lowest rejection rates for the corresponding networks. However, they are the best choices among the values we
6
1
1
µ =15 (for arrival rate 8.5) µ =410 (for arrival rate 5.5)
0.8
cost for SDR
cost for COL
0.8
λe =8.5 (for arrival rate 8.5) λe =5.5 (for arrival rate 5.5)
0.6
0.4
0.6
0.4
0.2
0
0.2
0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0.1
fraction of the capacity occupied
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
fraction of the capacity occupied
Figure 4: (Left) Edge costs for col, Ce ( ) = B(se ;e ) B(ne ( );e ) .
ne ( ) se
?1 .
(Right) Edge costs for sdr, Ce( ) =
have tested. (We conducted extensive tests on with the 38-node and 15-node networks. See the discussion in Section 3.5.) Algorithm sdr is only tested on the 16-node and 38-node networks, where the oered loads on edges are precomputed. (Sdr is not tested on other networks since the program that computes the oered loads was designed to work only with networks of diameter 2. The 15-node and 66-node networks have diameters larger than 2.) For sdr-adapt we have = 0:5 and = 30 as before. networks 16A 16B 38A 38B 15A 15B 66A 66B 16000 300 5 100 40000 10000 15000 30 Table B: The values of chosen to achieve the rejection rates in Figure 5. Figure 5 summarizes the experimental results on larger networks. Our experiments indicate that when oered loads are computed in advance, sdr often yields much smaller rejection rates than col and sdr-adapt. Algorithm sdr-adapt outperforms col on the majority of the networks (using the values from Table B). 16 COL SDR
rejection rates
12
SDR-ADAPT
8
4
0
16A
16B
38A
38B
15A
15B
66A
66B
Figure 5: The rejection rates of col sdr and sdr-adapt.
3.3 An Alternative Scheme for Selecting Admissible Paths
As an alternative to using Dijkstra's algorithm for selecting paths, we also experiment with limiting ourselves to a xed set of paths. For example, for the 16-node networks we consider a set of 1-edge 7
and 2-edge paths for each node-pair. (These paths were not chosen arbitrarily, but were determined by the algorithm that designed the networks.) Every time a path needs to be found, we choose the cheapest among this set giving priority to the 1-edge path. Some routing algorithms used in practice employ this xed-path scheme. For example in the Dynamic Non-Hierarchical Routing (DNHR) a call tries its assigned paths in a pre-determined sequence [12]. (DNHR was in operation in a portion of the AT&T long distance networks.) This xed-path scheme yields higher rejection rates but the average number of edges (hops) per selected path decreases. (See Figure 6.) 1.3 Dijkstra’s Fixed paths
average number of edges per path
5
rejection rates
4
3
2
1
Dijkstra’s Fixed paths
1.2
1.1
0 COL
SDR
SDR-ADAPT
network 16A
COL
SDR
SDR-ADAPT
COL
network 16B
SDR
SDR-ADAPT
COL
network 16A
SDR
SDR-ADAPT
network 16B
Figure 6: (Left) The xed-path scheme yields higher rejection rates than Dijkstra's algorithm. (Right)The xed-path scheme yields a smaller number of edges per path than Dijkstra's algorithm.
3.4 Sensitivity of sdr-adapt to the Updating Frequency
For sdr-adapt we are interested in the sensitivity of the rejection rates to the scanning interval,
, and the number of scans per update, . For the 16-node networks the changes in the rejection
rates are insigni cant. (See Figure 7.) Updating oered load too frequently does not necessarily improve the performance of SdrAdapt, since the system needs time to stabilize. For example, the rejection rate of network 16B has a slight rise from 2:68% to 2:72% when is reduced from 30 to 15. 3
δ = 0.5 ∆ = 30
δ = 0.25 ∆ = 15
rejection rates
δ = 0.25 ∆ = 30 2
1
0
0
16A
16B
2
Figure 7: The rejection rates are insensitive to the updating frequencies for Networks 16A and 16B .
3.5 Sensitivity of col to and
In previous sections of the paper we set = for algorithm col . Although we are unable to provide a systematic approach for choosing a good we make the following three observations. For a given network and given demands our experiments indicate that the rejection rates are generally unimodal with respect to . If unimodalarity holds, then the optimal value can be determined using binary search. Note that when is suciently large, col rejects no calls due to 8
threshold constraints and therefore acts like a greedy algorithm. Hence, such a value for can be taken as an upper bound on in the binary search. The values in Tables A and B are all local minimum values in the ranges of our tests. Secondly, we observe that some networks are more sensitive to the choice of than others. For example, for network 38A the rejection rate drops from 6:19% to 1:35% when changes from 5000:0 to 100:0, whereas for network 15A the rejection rates stay in the range 8:1% ? 8:8% for values of that satisfy 103 106. (See Figure 8.) 7
12.0
6
rejection rates
rejection rates
5 4 3
8.8 8.1
2 1 0
0
1000
2000
3000
µ for network 38A
4000
5000
1,000
10,000
100,000
µ for network 15A
5.0 1,000,000
Figure 8: (Left) Network 38A is sensitive to . (Right) Network 15A is insensitive to . Even for the same network the sensitivity to also depends on the call demands. Consider the example of the symmetric loss network K5. The rejection rates are much less sensitive to for small demands than for large demands. In particular, the rejection rate for call arrival rate 8:5 varies from 13:1% to 17:1% for between 5 and 400, whereas the rejection rate for arrival rate 5:5 stays within the range 0:070% and 0:074% for between 200 and 600. (See Figure 9.) 18
0.15
rejection rates
rejection rates
17 16 15
0.075 0.07
14 13
12
0 0
100
200
µ for arrival rate 8.5
300
400
200
300
400
µ for arrival rate 5.5
500
600
Figure 9: (Left) Network K5 with high demands is sensitive to . (Right) Network K5 with low demands is insensitive to . Thirdly, one might be tempted to believe that a good gives a \balanced" split between the rejections due to capacity constraints and the rejections due to threshold constraints. This is not necessarily true however. For example, we test values between 103 and 106 on network 15A, and an optimal value appears to be 4 104. When 5 105 all rejections are due to exceeding threshold, and when 106 all rejections are due to exceeding the capacity. The rejection rates for 5 105 106 are worse than optimal but the rejections come from dual causes. At the other extreme, for network 66A an optimal appears to be around 15000 and all the rejections come from exceeding the capacity constraints. We also consider setting 6= . Our limited experiments are unable to nd a setting for 6= that improves signi cantly on = when is chosen well. 9
4 Conclusions
Our experimental results show that sdr makes good use of the knowledge of the loads whenever such knowledge is available. When the loads are unknown it appears that adaptive sdr works well without the need to assign values a priori to unknown parameters (such as and for col). If, on the other hand, theory can be developed to assist in the choice of and , col holds the promise of being equally eective.
5 Future Work
In Section 1 we mentioned that the performance of sdr is expected to be insensitive to the exponential holding times of the calls [12]. A possible alternative is to generate holding times according to a Pareto distribution. Our preliminary experiments suggest that the rejection rates yielded by all three algorithms are lower under the Pareto distribution than under the exponential distribution. We are currently unable to explain this observation. The relative performance of the algorithms is essentially unchanged. It will be interesting to pursue this matter further. Meanwhile it may also be helpful to investigate the situation in which all the holding times are one time unit (and do not just have mean one). This zero-variance case will provide a good comparison to the in nite-variance case of the Pareto distribution. We also intend to conduct experiments on variations of competitive on-line routing and statedependent routing that have been developed recently. Kamath, Palmon and Plotkin give an online strategy assuming Poisson arrival rates and exponential holding times of the calls [9]. This new strategy uses a dynamic threshold as opposed to the static threshold in col. Krishnan and Huebner consider state-dependent routing for multirate trac, in which each incoming call is associated with a trac class and each class has a dierent arrival rate, holding mean and bandwidth [11]. Since many future networks will be based on Asynchronous Transfer Mode (ATM) technology it will be important for admission control and routing algorithms to t within the Private Network-toNetwork Interface (PNNI) framework proposed by the ATM forum [7]. We are currently building a PNNI simulator and hope to experiment with analogues of sdr and col that are compatible with PNNI.
Acknowledgments The authors wish to thank Kalyan Perumalla for assisting with the simulation and for introducing us to the Telecommunication Description Language (TeD). The authors also wish to thank Iraj Saniee and Joel Sokol for providing the 15-node and 66-node networks.
References [1] G. R. Ash. Use of a trunk status map for real-time dnhr. In Proceedings of the 11th International Teletrac Congress, Kyoto, 1985. [2] G. R. Ash, R. H. Cardwell, and R. P. Murray. Design and optimization of networks with dynamic routing. Bell System Technical Journal, 60(8), October 1981. [3] G. R. Ash, J. S. Chen, A. E. Frey, and B. D. Huang. Real-time network routing in a dynamic class-of-service network. In Proceedings of the 13th International Teletrac Congress, Copenhagen, June 1991. 10
[4] J. Aspnes, Y. Azar, A. Fiat, S. Plotkin, and Orli Waarts. On-line load balancing with applications to machine scheduling. In Proceedings of the 23rd Annual ACM Symposium on Theory of Computation, San Diego, California, May 1993. [5] B. Awerbuch, Y. Azar, and S. Plotkin. Throughput competitive on-line routing. In Proceedings of the 34th Annual Symposium on Foundations of Computer Science, Palo Alto, California, November 1993. [6] B. Awerbuch, Y.Azar, S. Plotkin, and O. Waarts. Competitive routing of virtual circuits with unknown duration. In Proceedings of the 5th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 321{330, 1994. [7] ATM Forum Technical Committee. Private Network-Network Interface. Speci cation af-pnni0055.000, The ATM Forum, March 1996. [8] R. Gawlick, A. Kamath, S. Plotkin, and K. Ramakrishnan. Routing and admission control in general topology networks. Technical report STAN-CS-TR-95-1548, Stanford University, 1995. [9] A. Kamath, O. Palmon, and S. Plotkin. Routing and admission control in general topology networks with poisson arrivals. In Proceedings of the 7th Annual ACM-SIAM Symposium on Discrete Algorithms, Atalanta, Georgia, January 1996. [10] K. R. Krishnan. Adaptive state-dependent trac routing using on-line trunk-group measurements. In Proceedings of the 13th International Teletrac Congress, Copenhagen, June 1991. [11] K. R. Krishnan and F. Huebner. Admission control and state-dependent routing for multirate circuit-switched trac. Submitted to the 15th International Teletrac Congress, 1996. [12] K. R. Krishnan and T. J. Ott. State-dependent routing of telephone trac: theory and results. In Proceedings of the 25th IEEE Control and Decision Conference, Athens, December 1986. [13] T. J. Ott and K. R. Krishnan. Separable routing: a scheme for state-dependent routing of circuit switched telephone trac. Annals of operations research, 35:43{68, 1992. [14] K. Perumalla and R. Fujimoto. A C++ instance of TeD. Internal report, College of Computing, Georgia Institute of Technology, September 1996. [15] K. Perumalla, R. Fujimoto, and A. Ogielski. MetaTeD { a meta language for modeling telecommunication networks. Internal report, College of Computing, Georgia Institute of Technology, September 1996. [16] D. D. Sleator and R. E. Tarjan. Amortized eciency of list update and paging rules. Communications of the ACM, 28(2):202{208, 1985.
11