next up previous
Next: The Distributed Admission Control Up: Distributed Connection Management for Previous: Real Time Communication over

Admission Control Algorithm

 

As described earlier, packets that are blocked at a switch in a Myrinet-style network not only block other packets at that particular switch, but at upstream switches as well. Since the effect of blocked packets is not local, admission control decisions are not easily realizable locallygif. The distributed algorithm described in this section relies on the general idea of defining blocking guards: for each link, a blocking guard bounds the effect connections using that link can have on other connections in the network.

Specifically, for each output Port p of a switch tex2html_wrap_inline1705 , we define a blocking guard tex2html_wrap_inline1785 , which is the longest time any packet can be blocked at that port, be it due to either existing or future connections anywhere in the network. For convenience, we define tex2html_wrap_inline1785 to be zero if no connection uses Port p of switch tex2html_wrap_inline1705 .

For each link on the route of a newly established connection, the admission control must make sure that (i) the worst-case blocking delay of the newly established connection does not exceed the amount specified in the blocking guard, and (ii) that the new connection does not cause the worst-case blocking delay of existing connections to exceed the amount specified in the blocking guard. As connections are established and torn down, the values of the blocking guards must be modified to reflect the change in the load of the network.

In this section we describe an admission control algorithm that makes its decisions based on the values for the blocking guards and then updates their values appropriately. In Section 4 we will describe an establishment protocol based on a distributed version of this algorithm. Before we go on to describe the algorithm in detail, we define a few terms and show a number of properties.

Let tex2html_wrap_inline1793 be the calculated worst-case blocking delay for packets of connection tex2html_wrap_inline1683 at Switch tex2html_wrap_inline1705 . Let tex2html_wrap_inline1799 and tex2html_wrap_inline1801 be upper bounds on the blocking delay other connections can cause, that branch in at tex2html_wrap_inline1705 or branch out at tex2html_wrap_inline1705 , respectively. Then,

where tex2html_wrap_inline1807 is the switch at which a connection tex2html_wrap_inline1739 branches in upstream. tex2html_wrap_inline1793 can then be defined by the following recurrence relation:
tex2html_wrap1935   tex2html_wrap1937

The following theorem shows that tex2html_wrap_inline1793 is an upper bound for tex2html_wrap_inline1701 .gif

  theorem376

Our algorithm does not make use of tex2html_wrap_inline1793 directly, but of the related value tex2html_wrap_inline1825 which we call the guard-based calculated worst-case blocking delay for packets of connection tex2html_wrap_inline1683 at Switch tex2html_wrap_inline1705 . If the upper bound tex2html_wrap_inline1831 on tex2html_wrap_inline1801 is defined as follows

we can define tex2html_wrap_inline1825 by the following recurrence relation:
tex2html_wrap1939   tex2html_wrap1941

The following observation shows that tex2html_wrap_inline1825 is a safe approximation for tex2html_wrap_inline1793 , and, hence, for tex2html_wrap_inline1701 . It is the basis for our algorithm.

  observation449

The following theorem states that, at any switch, it is sufficient to check the guard-based calculated worst-case blocking delay of the new connection against the blocking guard at the same switch to see whether any existing connection may miss its deadline.

  theorem462

Given a set of established connections, the following three-step admission control algorithm determines whether a newly arriving connection tex2html_wrap_inline1683 can be established along the route tex2html_wrap_inline1869 . The algorithm rejects the new connection if (i) the performance requirements of tex2html_wrap_inline1683 can not be satisfied, or (ii) if the performance requirements of existing connections would be violated by accepting tex2html_wrap_inline1683 . If tex2html_wrap_inline1683 is accepted, the blocking guards along its route are updated appropriately.
Step 1: The guard-based worst-case blocking time tex2html_wrap_inline1825 for packets of the new connection is determined for each switch tex2html_wrap_inline1705 along the route of tex2html_wrap_inline1683 . If at any switch tex2html_wrap_inline1705 the blocking guard tex2html_wrap_inline1885 is exceeded, that is, if tex2html_wrap_inline1887 , establishing the new connection may violate the requirements of an existing connection, and the new connection tex2html_wrap_inline1683 is rejected.
Step 2: If no blocking guard is exceeded, the algorithm proceeds to the final acceptance test at the source. The guard-based calculated blocking time tex2html_wrap_inline1891 at the entrance to the network is compared to the deadline requirements, i.e., it is checked whether tex2html_wrap_inline1893 . If this is not the case, packets of tex2html_wrap_inline1683 may not meet their delay requirements, and the connection is rejected.
Step 3: After the new connection tex2html_wrap_inline1683 has been accepted by the source, the blocking guards at the outgoing ports on the route of tex2html_wrap_inline1683 must be updated to reflect the acceptance of tex2html_wrap_inline1683 . Specifically, they may need to be reduced to prevent future connection admissions from violating tex2html_wrap_inline1683 's performance guarantees.

If tex2html_wrap_inline1905 is the new value for tex2html_wrap_inline1885 after the acceptance of tex2html_wrap_inline1683 , the following two conditions must be satisfied for the blocking guards to remain valid after the connection has been established:

Condition 1 :
tex2html_wrap_inline1911 . Previously established connections used the existing blocking guard during their establishment to determine a bound on their worst-case blocking time.

Condition 2 :
tex2html_wrap_inline1913 . The amount of blocking the new connection can cause for packets of other connections at tex2html_wrap_inline1705 must not exceed the blocking guard.

The following set of formulae can be shown to generate a set of updated blocking guards that satisfy the above conditions:
tex2html_wrap1943   tex2html_wrap1945
where BI and tex2html_wrap_inline1919 have been defined earlier.

Intuitively, the term tex2html_wrap_inline1921 gives an indication of how much additional blocking can be accepted at output Port tex2html_wrap_inline1923 in the future, without violating the blocking guard tex2html_wrap_inline1885 at the previous switch tex2html_wrap_inline1705 . We call tex2html_wrap_inline1921 the local residual time between the two ports. Updating the blocking guards means allocating residual time to links along the route of the new connection.

The above formula trivially satisfies Condition 1. We show in [12] that the formula satisfies Condition 2 as well. The correctness of the admission control algorithm follows directly from the above theorems: On one side, it never accepts a connection whose packets may miss their deadlines. This is enforced by the acceptance test at the source. On the other side, the admission control algorithm never accepts a connection if this may cause packets of existing connections to miss their deadlines. This is enforced by comparing an upper bound on the blocking delay ( tex2html_wrap_inline1931 ) with blocking guards at the intermediate switches. Theorem 2 states that this test is sufficient. We show in [12] that the algorithm updates the blocking guards correctly to reflect the acceptance of tex2html_wrap_inline1683 .


next up previous
Next: The Distributed Admission Control Up: Distributed Connection Management for Previous: Real Time Communication over

Riccardo Bettati
Fri Jul 11 18:14:48 CDT 1997