next up previous
Next: 4 Counterexamples to on-line Up: 3 An -step schedule Previous: 3.1 A preliminary result

3.2 The main result

Proving that there is a schedule of length tex2html_wrap_inline1284 using constant-size queues is more difficult. Removing the tex2html_wrap_inline1286 factor in the length of the schedule seems to require delving into second-order terms in the probability calculations, and reducing the queue size to a constant mandates greater care in spreading delays out over the schedule.

theorem180

Proof: To make the proof more modular, we bound the frame size and relative congestion after each step of the construction in lemmas. These lemmas and their proofs are included within the proof of the theorem. We assume without loss of generality that c=d, so that the bound on the length of the schedule is tex2html_wrap_inline1296 .

As before, the strategy is to make a succession of refinements to the greedy schedule, tex2html_wrap_inline1298 . The first refinement is special. It transforms tex2html_wrap_inline1300 into a schedule tex2html_wrap_inline1302 in which the relative congestion in each frame of size tex2html_wrap_inline1304 or more is at most 1. Thereafter, each refinement transforms a schedule tex2html_wrap_inline1308 with relative congestion at most tex2html_wrap_inline1310 in any frame of size tex2html_wrap_inline1312 or greater into a schedule tex2html_wrap_inline1314 with relative congestion at most tex2html_wrap_inline1316 in any frame of size tex2html_wrap_inline1318 or greater, where tex2html_wrap_inline1320 and tex2html_wrap_inline1322 , as shown in Figure 4. As well shall see, after j refinements, where tex2html_wrap_inline1326 , we obtain a schedule tex2html_wrap_inline1328 with constant relative congestion in every frame of size tex2html_wrap_inline1330 or greater, where tex2html_wrap_inline1332 is some constant. From tex2html_wrap_inline1334 it is straightforward to construct a schedule of length tex2html_wrap_inline1336 in which at most one packet traverses each edge of the network at each step, and at most a constant number of packets wait in each queue at each step.

   figure193
Figure 4: A refinement step. Each refinement transforms a schedule tex2html_wrap_inline1338 into a slightly longer schedule tex2html_wrap_inline1340 . The frame size is greatly reduced in tex2html_wrap_inline1342 , yet the relative congestion within a frame remains about the same, i.e., tex2html_wrap_inline1344 and tex2html_wrap_inline1346 .

At the start, the relative congestion in a d-frame of tex2html_wrap_inline1350 is at most 1. We begin by using Lemma 3.2 to produce a schedule tex2html_wrap_inline1354 of length tex2html_wrap_inline1356 in which the relative congestion is at most tex2html_wrap_inline1358 in any frame of size tex2html_wrap_inline1360 or greater.

Next, we repeatedly refine the schedule to reduce the frame size. As we shall see, the relative congestion tex2html_wrap_inline1362 and frame size tex2html_wrap_inline1364 for schedule tex2html_wrap_inline1366 are given by the recurrences

eqnarray211

and

eqnarray219

which have solutions tex2html_wrap_inline1368 and tex2html_wrap_inline1370 for some j, where tex2html_wrap_inline1374 .

We have not explicitly defined the values of tex2html_wrap_inline1376 and tex2html_wrap_inline1378 for which the recursion terminates. However, in several places in the proof that follows we implicitly use the fact that tex2html_wrap_inline1380 is sufficiently large that some inequality holds. The recursion terminates when the first of these inequalities fails to hold. When this happens, tex2html_wrap_inline1382 is bounded from above by some constant. Furthermore, independent of the depth of the recursion, tex2html_wrap_inline1384 is bounded from above by a constant.

Throughout the following lemmas we make references to quantities such as rI packets or tex2html_wrap_inline1388 time steps, when in fact rI and tex2html_wrap_inline1392 may not be integral. Rounding these quantities to integer values when necessary does not affect the correctness of the proof. For ease of exposition, we shall henceforth cease to consider the issue.

An important invariant that we maintain throughout the construction is that in schedule tex2html_wrap_inline1394 every packet waits at most once every tex2html_wrap_inline1396 steps. As a consequence, there is a constant tex2html_wrap_inline1398 such that a packet waits at most once every tex2html_wrap_inline1400 steps in tex2html_wrap_inline1402 , which implies both that the queues in tex2html_wrap_inline1404 cannot grow larger than a constant and that the total length of tex2html_wrap_inline1406 is tex2html_wrap_inline1408 . Schedule tex2html_wrap_inline1410 almost satisfies the requirement that at most one packet traverses each edge in each step. By simulating each step of tex2html_wrap_inline1412 in a constant number of steps we can meet this requirement with only a factor of 2 increase in the queue size and a constant factor increase in the running time.

The rest of the proof describes the refinement step in detail. For ease of notation, we use I and r in place of tex2html_wrap_inline1418 and tex2html_wrap_inline1420 .

The first step in the ith refinement is to break schedule tex2html_wrap_inline1424 into blocks of tex2html_wrap_inline1426 consecutive time steps. Each block is rescheduled independently.

For each block, each packet is assigned a delay chosen from 1 to I. We will use the Lovász Local Lemma to show that if the delays are chosen randomly, uniformly, and independently, then with non-zero probability the resulting schedule will have the properties that we want.

A packet that is assigned a delay of x must wait for x steps at the beginning of the block. In order maintain the invariant that in schedule tex2html_wrap_inline1436 every packet waits at most once every tex2html_wrap_inline1438 steps, the packet is not delayed for x consecutive steps at the beginning of the block, but instead a delay is inserted every I steps in the first xI steps of the block. A packet that is delayed x steps reaches its destination at the end of the block by step tex2html_wrap_inline1448 .

In order to independently reschedule the next block, the packets must reside in exactly the same queues at the end of the rescheduled block that they did at the end of the block of tex2html_wrap_inline1450 . Since some packets arrive early, they must be slowed down. Thus, if a packet is assigned delay x, then I-x delays are inserted in the last tex2html_wrap_inline1456 steps of the block, one every I steps. Since every packet experiences a total delay of I, the rescheduled block must have length tex2html_wrap_inline1462 .

Before the delays for schedule tex2html_wrap_inline1464 have been inserted, a packet is delayed at most once in each block of tex2html_wrap_inline1466 , provided that tex2html_wrap_inline1468 , which holds as long as I is larger than some constant. Prior to inserting each new delay into a block, we check if it is within I steps of the single old delay. If the new delay would be too close to the old delay, then it is simply not inserted. The loss of a single delay in a block has a negligible effect on the probability calculations in the lemmas that follow.

The following two lemmas are used several times in the proof of the theorem. Lemma 3.5 shows that if we can bound the relative congestion in frames of size T to 2T-1, then we can bound the relative congestion in all frames of size T or greater. Lemma 3.6 bounds the probability that too many packets use any particular edge g in any small frame in the center of a block after every packet has been delayed for a random number of steps at the beginning of the block.

  lemma246

Proof: Consider a frame of size tex2html_wrap_inline1502 , where tex2html_wrap_inline1504 . The first tex2html_wrap_inline1506 steps of the frame can be broken into T-frames. In each of these frames, at most RT packets use g. The remainder of the tex2html_wrap_inline1514 -frame consists of a single y-frame, where tex2html_wrap_inline1518 , in which at most Ry packets use g.


to .667emto .667em

  lemma249

Proof: We begin by computing an upper bound on the probability, tex2html_wrap_inline1570 , that more than tex2html_wrap_inline1572 packets use an edge g in a particular tex2html_wrap_inline1576 -frame. Since a packet may be delayed up to tex2html_wrap_inline1578 steps before the frame, any packet that used g in the tex2html_wrap_inline1582 -frame spanning the same steps in the block before the delays were inserted or in the tex2html_wrap_inline1584 steps before that frame may use g after the delays are inserted. Thus, there are at most tex2html_wrap_inline1588 packets that can use g in the frame. For each of these, the probability that the packet uses g in the frame after being delayed is at most tex2html_wrap_inline1594 , provided that the packet's path uses g at most once. Thus, the probability tex2html_wrap_inline1598 that more than tex2html_wrap_inline1600 packets use g in the frame is bounded by

displaymath1604

Let tex2html_wrap_inline1606 . We bound the series as follows. The expected number of packets that use g in the frame is tex2html_wrap_inline1610 . For tex2html_wrap_inline1612 and tex2html_wrap_inline1614 , tex2html_wrap_inline1616 is larger than the expectation, so the first term in the series is the largest, and there are at most tex2html_wrap_inline1618 terms. Applying the inequalities tex2html_wrap_inline1620 , tex2html_wrap_inline1622 for tex2html_wrap_inline1624 , and tex2html_wrap_inline1626 for 0 < b < a to this term, we have

displaymath1630

For tex2html_wrap_inline1632 and tex2html_wrap_inline1634 , we can ensure that tex2html_wrap_inline1636 , for any constant tex2html_wrap_inline1638 by making constant tex2html_wrap_inline1640 large enough.

Next we need to bound the probability tex2html_wrap_inline1642 that more than tex2html_wrap_inline1644 packets use g in any tex2html_wrap_inline1648 -frame of the block. There are at most tex2html_wrap_inline1650 tex2html_wrap_inline1652 -frames. Thus tex2html_wrap_inline1654 . By making the constant tex2html_wrap_inline1656 large enough, we can ensure that tex2html_wrap_inline1658 , for any constant tex2html_wrap_inline1660 .

To bound the relative congestion in frames of size greater than tex2html_wrap_inline1662 , we appeal to Lemma 3.5. The calculations for frames of size tex2html_wrap_inline1664 through tex2html_wrap_inline1666 are similar to those for frames of size tex2html_wrap_inline1668 . There are at most tex2html_wrap_inline1670 frames of any one size, and tex2html_wrap_inline1672 frame sizes between tex2html_wrap_inline1674 and tex2html_wrap_inline1676 . By adjusting the constants as before, we can guarantee that the probability p that more than tex2html_wrap_inline1680 packets use g in any T-frame for T between tex2html_wrap_inline1688 and tex2html_wrap_inline1690 is at most tex2html_wrap_inline1692 for any constant tex2html_wrap_inline1694 .


to .667emto .667em

Lemma 3.7 shows that by inserting delays at the beginning and end of the block we can reduce the frame size in the center of the block while only slightly increasing the relative congestion. The bounds proved in Lemma 3.7 are shown in Figure 5.

  lemma293

Proof: The proof uses the Lovász Local Lemma. With each edge we associate a bad event. For edge g, a bad event occurs when more than tex2html_wrap_inline1706 packets use g in any T-frame for tex2html_wrap_inline1712 . To show that no bad event occurs, we need to bound both the dependence of the bad events and the probability that an individual bad event occurs.

We first bound the dependence, b. At most tex2html_wrap_inline1716 packets use an edge in the block. Each of these packets travels through at most tex2html_wrap_inline1718 other edges in the block. Furthermore, tex2html_wrap_inline1720 . Thus, a bad event depends on tex2html_wrap_inline1722 other bad events.

For any constant tex2html_wrap_inline1724 , we can bound the probability that a bad event occurs by tex2html_wrap_inline1726 by applying Lemma 3.6 with tex2html_wrap_inline1728 , tex2html_wrap_inline1730 , tex2html_wrap_inline1732 , tex2html_wrap_inline1734 , tex2html_wrap_inline1736 , and tex2html_wrap_inline1738 .

Since a bad event depends on only tex2html_wrap_inline1740 other bad events, we can make 4pb < 1 by making tex2html_wrap_inline1744 large enough. By the Lovász Local Lemma, there is some way of choosing the packet delays so that no bad event occurs.


to .667emto .667em

   figure306
Figure 5: Bounds on frame size and relative congestion after inserting delays into tex2html_wrap_inline1746 . Here tex2html_wrap_inline1748 and tex2html_wrap_inline1750 .

Inserting delays into the schedule may increase the relative congestion in I-frames (or smaller frames) in the tex2html_wrap_inline1754 steps at the beginning and end of each block. In order to bound the relative congestion in small frames in these regions, we first move the block boundaries to the centers of the blocks, as shown in Figure 6. Now each block of size tex2html_wrap_inline1756 has a ``fuzzy'' region of size tex2html_wrap_inline1758 in its center. Lemma 3.8 shows that after moving the block boundaries, the relative congestion in any frame of size tex2html_wrap_inline1760 or larger in the block is at most tex2html_wrap_inline1762 . We will later insert more delays into the schedule and uses Lemmas 3.6 and 3.8 to help bound the relative congestion in small frames in the fuzzy region.

  lemma317

Proof: There are two cases to consider. First, consider a T-frame that lies entirely in the first half of a block, or entirely in the second half of a block. After the delays are inserted, a packet can use an edge in the T-frame only if it used the edge in some tex2html_wrap_inline1772 -frame in tex2html_wrap_inline1774 . Thus, at most tex2html_wrap_inline1776 packets can use an edge in the T-frame. For tex2html_wrap_inline1780 , the relative congestion is at most tex2html_wrap_inline1782 . Second, consider a T-frame that spans the center of the block. Suppose that the frame consists of tex2html_wrap_inline1786 steps before the center and tex2html_wrap_inline1788 after, so that tex2html_wrap_inline1790 . Then a packet can use an edge in the tex2html_wrap_inline1792 steps before the center only if it used the edge in one of the last tex2html_wrap_inline1794 steps before the end of a block in tex2html_wrap_inline1796 . Since tex2html_wrap_inline1798 may be less than I, we can't bound the relative congestion in the last tex2html_wrap_inline1802 steps at the end of a block. But we know that at most tex2html_wrap_inline1804 packets used the edge in the last tex2html_wrap_inline1806 steps, and hence in the last tex2html_wrap_inline1808 steps. Similarly, a packet can use an edge in the tex2html_wrap_inline1810 steps after the center only if it used an edge in one of the first tex2html_wrap_inline1812 steps of a block in tex2html_wrap_inline1814 . Hence, at most tex2html_wrap_inline1816 packets use the edge in the tex2html_wrap_inline1818 steps after the center. Since a total of at most tex2html_wrap_inline1820 packets use the edge, for tex2html_wrap_inline1822 the relative congestion is at most tex2html_wrap_inline1824 .


to .667emto .667em

To reduce the frame size in the fuzzy region, we assign a delay from 1 to tex2html_wrap_inline1828 to each packet. As before, we will use the Lovász Local Lemma to show that if the delays are chosen randomly, independently, and uniformly then with non-zero probability the resulting schedule has the properties we want. A packet with delay x waits once every tex2html_wrap_inline1832 steps in the tex2html_wrap_inline1834 steps before the fuzzy region. In addition, a packet with delay x waits once every tex2html_wrap_inline1838 steps in the last tex2html_wrap_inline1840 steps of the rescheduled block. Thus, every packet waits for a total of tex2html_wrap_inline1842 steps (except we do not insert a delay if it is within I steps of an old delay), and the rescheduled block now has size tex2html_wrap_inline1846 . Note that in the rescheduled block the width of the fuzzy region grows by tex2html_wrap_inline1848 time steps; it spans steps tex2html_wrap_inline1850 through tex2html_wrap_inline1852 .

   figure321
Figure 6: A block after recentering. The ``fuzzy region'' in the center of the block is shaded. The line bisecting the shaded region denotes the block boundary before recentering.

We now show that there is some way of inserting delays into the schedule before the fuzzy region that both reduces the frame size in the fuzzy region and does not increase either the frame size or the relative congestion before or after the fuzzy region by much.

lemma328

Proof: The proof uses the Lovász Local Lemma as before. With each edge we associate a bad event. For edge g, a bad event occurs

  1. if more than tex2html_wrap_inline1876 packets use g in any T-frame between steps tex2html_wrap_inline1882 and tex2html_wrap_inline1884 (i.e., in the fuzzy region), for any tex2html_wrap_inline1886 , or

  2. if more than tex2html_wrap_inline1888 packets use g in any T-frame between steps tex2html_wrap_inline1894 and tex2html_wrap_inline1896 , for any tex2html_wrap_inline1898 , or

  3. if more than tex2html_wrap_inline1900 packets use g in any T-frame between steps tex2html_wrap_inline1906 and tex2html_wrap_inline1908 , for any tex2html_wrap_inline1910 .

The calculation for the dependence b is the same as in Lemma 3.7. At most tex2html_wrap_inline1914 packets pass through each edge g, and each of these packets passes through at most tex2html_wrap_inline1918 other edges. Hence, tex2html_wrap_inline1920 .

To bound the probability that a bad event occurs, we consider the three cases separately, and sum their individual probabilities of occurrence.

Since no delays are inserted into the fuzzy region, we can use Lemma 3.6 to prove that for any constant tex2html_wrap_inline1922 , there is an tex2html_wrap_inline1924 such that the probability that more than tex2html_wrap_inline1926 packets use g in any T-frame between steps tex2html_wrap_inline1932 and tex2html_wrap_inline1934 , for any tex2html_wrap_inline1936 , is at most tex2html_wrap_inline1938 . We apply Lemma 3.6 with tex2html_wrap_inline1940 , tex2html_wrap_inline1942 , tex2html_wrap_inline1944 , tex2html_wrap_inline1946 , tex2html_wrap_inline1948 , tex2html_wrap_inline1950 , and tex2html_wrap_inline1952 .

Before the fuzzy region, the situation is more complex. By the kth step, tex2html_wrap_inline1956 , a packet with delay x has waited tex2html_wrap_inline1960 times. Thus, the delay of a packet at the kth step varies essentially uniformly from 0 to tex2html_wrap_inline1966 . For tex2html_wrap_inline1968 , or equivalently, tex2html_wrap_inline1970 , we can show that the relative congestion in any frame of size tex2html_wrap_inline1972 or greater has not increased much.

The probability tex2html_wrap_inline1974 that more than tex2html_wrap_inline1976 packets use an edge g in a particular tex2html_wrap_inline1980 -frame is given by

displaymath1982

Using the same inequalities as in the proof of Lemma 3.6, we have

displaymath1984

The calculations for frame of size tex2html_wrap_inline1986 through tex2html_wrap_inline1988 are similar. Thus for any constant tex2html_wrap_inline1990 , for tex2html_wrap_inline1992 , tex2html_wrap_inline1994 , and tex2html_wrap_inline1996 , the probability tex2html_wrap_inline1998 that more than tex2html_wrap_inline2000 packets use g in any T-frame between steps tex2html_wrap_inline2006 and tex2html_wrap_inline2008 , for any tex2html_wrap_inline2010 , is at most tex2html_wrap_inline2012 .

By symmetry, the probability that more than tex2html_wrap_inline2014 packets use g between steps tex2html_wrap_inline2018 and tex2html_wrap_inline2020 , for any tex2html_wrap_inline2022 , is also at most tex2html_wrap_inline2024 .

Thus, the probability that a bad event occurs for edge g is at most tex2html_wrap_inline2028 . Since the dependence is at most tex2html_wrap_inline2030 , by adjusting the constants tex2html_wrap_inline2032 and tex2html_wrap_inline2034 we can apply the Lovász Local Lemma.


to .667emto .667em

For steps 0 to tex2html_wrap_inline2038 , we use the following lemma to bound the frame size and relative congestion.

lemma357

Proof: The proof is similar to that of Lemma 3.8.


to .667emto .667em

We have now completed our transformation of schedule tex2html_wrap_inline2052 into schedule tex2html_wrap_inline2054 . Let us review the relative congestion and frame sizes in the different parts of a block. Between steps 0 and tex2html_wrap_inline2058 , the relative congestion in any frame of size tex2html_wrap_inline2060 or greater is at most tex2html_wrap_inline2062 . Between this region and the fuzzy region, the relative congestion in any frame of size tex2html_wrap_inline2064 or greater is at most tex2html_wrap_inline2066 . In the fuzzy region, the relative congestion in any frame of size tex2html_wrap_inline2068 or greater is at most tex2html_wrap_inline2070 . After the fuzzy region, the relative congestion in any frame of size tex2html_wrap_inline2072 or greater is again tex2html_wrap_inline2074 , until step tex2html_wrap_inline2076 , where the relative congestion in any frame of size tex2html_wrap_inline2078 or greater is tex2html_wrap_inline2080 . These bounds are shown in Figure 7. Finally we must bound the relative congestion in frames that span the different parts of a block (or two different blocks). Since we have bound the relative congestion in blocks of size tex2html_wrap_inline2082 or greater, it is safe to say that in the the entire schedule tex2html_wrap_inline2084 the relative congestion in any frame of size tex2html_wrap_inline2086 or greater is at most tex2html_wrap_inline2088 .


to .667emto .667em

   figure366
Figure 7: Final bounds on frame size and relative congestion. To reduce the frame size in the fuzzy regions, delays are inserted only outside the shaded region. Here tex2html_wrap_inline2090 , tex2html_wrap_inline2092 , tex2html_wrap_inline2094 , tex2html_wrap_inline2096 , and tex2html_wrap_inline2098 .



next up previous
Next: 4 Counterexamples to on-line Up: 3 An -step schedule Previous: 3.1 A preliminary result



Bruce Maggs
Mon Jul 22 20:27:47 EDT 1996