11.08.2013 Views

Packet Queueing Delay in Resilient Packet Ring Network Nodes

Packet Queueing Delay in Resilient Packet Ring Network Nodes

Packet Queueing Delay in Resilient Packet Ring Network Nodes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

TSINGHUA SCIENCE AND TECHNOLOGY<br />

ISSN 1007-0214 07/21 pp406-409<br />

Volume 9, Number 4, August 2004<br />

<strong>Packet</strong> <strong>Queue<strong>in</strong>g</strong> <strong>Delay</strong> <strong>in</strong> <strong>Resilient</strong> <strong>Packet</strong> R<strong>in</strong>g <strong>Network</strong> <strong>Nodes</strong> *<br />

SHI Guowei (史国炜) ** , FANG Hongbo (方红波),<br />

QU Jianl<strong>in</strong>g (曲建岭) , ZENG Lieguang (曾烈光)<br />

State Key Laboratory on Microwave and Digital Communications,<br />

Department of Electronic Eng<strong>in</strong>eer<strong>in</strong>g, Ts<strong>in</strong>ghua University, Beij<strong>in</strong>g 100084, Ch<strong>in</strong>a;<br />

Naval Aeronautical Eng<strong>in</strong>eer<strong>in</strong>g Academy Q<strong>in</strong>gdao Branch, Q<strong>in</strong>gdao 266041, Ch<strong>in</strong>a<br />

Abstract: The packet queue<strong>in</strong>g delay is one of the most important performance measures of a data net-<br />

work and is also a significant factor to be considered <strong>in</strong> the schedul<strong>in</strong>g buffer design for a network node.<br />

This paper presents a traffic queue<strong>in</strong>g model for resilient packet r<strong>in</strong>g (RPR) networks and a method for<br />

quantitatively analyz<strong>in</strong>g queue<strong>in</strong>g delays <strong>in</strong> RPR nodes. The method was used to calculate the average<br />

queue<strong>in</strong>g delays of different priority traffic for different transit queue modes. The simulations show that, <strong>in</strong><br />

the transmit direction, lower priority traffic is delayed more than higher priority traffic, and that Class-A traffic<br />

is delayed more <strong>in</strong> a s<strong>in</strong>gle-queue r<strong>in</strong>g than <strong>in</strong> a dual-queue r<strong>in</strong>g. In the transit direction, the secondary tran-<br />

sit buffer <strong>in</strong> the dual-queue r<strong>in</strong>g contributes more to the traffic delay than the primary transit buffer <strong>in</strong> the s<strong>in</strong>-<br />

gle-queue r<strong>in</strong>g, which <strong>in</strong> turn causes more delay than the primary transit buffer <strong>in</strong> the dual-queue r<strong>in</strong>g.<br />

Key words: resilient packet r<strong>in</strong>g; queue<strong>in</strong>g model; queue<strong>in</strong>g delay<br />

Introduction<br />

The IEEE 802.17 resilient packet r<strong>in</strong>g (RPR) protocol<br />

has been <strong>in</strong>troduced as a novel medium access control<br />

protocol for metropolitan area networks [1-3] . An RPR<br />

network supports service level agreement, and different<br />

priority traffic has different requirements for<br />

queue<strong>in</strong>g delay <strong>in</strong> the schedul<strong>in</strong>g buffer. <strong>Packet</strong> queue<strong>in</strong>g<br />

delay is one of the most important performance<br />

measures of a data network and is also a significant<br />

factor to be considered <strong>in</strong> schedul<strong>in</strong>g buffer design for<br />

a network node. This paper based on the delay analysis<br />

used for other packet networks [4-6] presents a traffic<br />

queue<strong>in</strong>g model for an RPR network node and a<br />

method to quantitatively calculate the packet queue<strong>in</strong>g<br />

delay <strong>in</strong> the schedul<strong>in</strong>g buffer, and analyzes packet<br />

Received: 2003-01-18<br />

* Supported by the National High-Tech Research and Development<br />

(863) Program of Ch<strong>in</strong>a (No. 2002AA121041)<br />

** To whom correspondence should be addressed.<br />

E-mail: shigw@sohu.com; Tel: 86-10-62781409<br />

queue<strong>in</strong>g delays of different priority traffic <strong>in</strong> different<br />

transit queue modes.<br />

1 Data Path Structure of an RPR<br />

<strong>Network</strong> Node<br />

The RPR protocol uses a bi-directional r<strong>in</strong>g as shown<br />

<strong>in</strong> Fig. 1. The RPR node feeds the r<strong>in</strong>g with local client<br />

traffic and forwards the upstream traffic to the downstream<br />

nodes. Each node can send data to other nodes<br />

via either of the two r<strong>in</strong>glets. In general, for a given<br />

dest<strong>in</strong>ation, the shorter of the two possible paths is<br />

used, based on an RPR topology discovery scheme [2] .<br />

Fig. 1 Structure of RPR network


SHI Guowei (史国炜) et al:<strong>Packet</strong> <strong>Queue<strong>in</strong>g</strong> <strong>Delay</strong> <strong>in</strong> <strong>Resilient</strong> <strong>Packet</strong> R<strong>in</strong>g <strong>Network</strong> <strong>Nodes</strong> 407<br />

RPR protocol def<strong>in</strong>es two types of transit queue<strong>in</strong>g<br />

models for network nodes: s<strong>in</strong>gle-queue (SQ) and<br />

dual-queue (DQ). Accord<strong>in</strong>gly, an RPR node may have<br />

two k<strong>in</strong>ds of data path structures, as shown <strong>in</strong> Figs. 2<br />

and 3. The difference between the two data path structures<br />

is <strong>in</strong> the number of transit buffers. The transit<br />

buffer (TB) is used exclusively to avoid collisions between<br />

transmit and transit packets. The frame-header<br />

checker determ<strong>in</strong>es the reception and transit conditions<br />

for the upstream packets. The arbiter schedules the access<br />

of transmit and transit packets to the outgo<strong>in</strong>g l<strong>in</strong>k.<br />

Fig. 2 Data path structure of a s<strong>in</strong>gle-queue node<br />

Fig. 3 Data path structure of a dual-queue node<br />

An RPR network supports client traffic with three<br />

priority classes: Class A, Class B, and Class C. In the<br />

transmit direction, Class A traffic has higher precedence<br />

than Class B which <strong>in</strong> turn has higher precedence<br />

than Class C traffic. Accord<strong>in</strong>g to the priority,<br />

the client traffic is <strong>in</strong>serted <strong>in</strong>to three transmit buffers,<br />

which are named Tx-A, Tx-B, and Tx-C, respectively.<br />

In the SQ mode, the node places all transit traffic <strong>in</strong>to a<br />

primary transit queue (PTQ). In the DQ mode, the<br />

node puts Class A transit traffic <strong>in</strong>to a higher priority<br />

PTQ, and puts Class B and Class C transit traffic <strong>in</strong>to a<br />

lower priority secondary transit queue (STQ). Neither<br />

mode supports preemption of either transit or <strong>in</strong>gress<br />

packets.<br />

The RPR protocol def<strong>in</strong>es the bandwidth allocation<br />

and packet schedul<strong>in</strong>g mechanisms. As shown <strong>in</strong><br />

Figs. 2 and 3, based on the RPR schedul<strong>in</strong>g mechanism,<br />

if we assume that the control packets are negligible <strong>in</strong><br />

amount and the capacity of all buffers is <strong>in</strong>f<strong>in</strong>ite, the<br />

arbiter can schedule packets simply accord<strong>in</strong>g to the<br />

follow<strong>in</strong>g priority order (from the highest to the<br />

lowest):<br />

● Dual-queue<br />

① <strong>Packet</strong>s from PTQ,<br />

② <strong>Packet</strong>s from Tx-A,<br />

③ <strong>Packet</strong>s from Tx-B,<br />

④ <strong>Packet</strong>s from Tx-C,<br />

⑤ <strong>Packet</strong>s from STQ.<br />

● S<strong>in</strong>gle-queue<br />

① <strong>Packet</strong>s from PTQ,<br />

② <strong>Packet</strong>s from Tx-A,<br />

③ <strong>Packet</strong>s from Tx-B,<br />

④ <strong>Packet</strong>s from Tx-C.<br />

2 Mathematic Analysis of <strong>Queue<strong>in</strong>g</strong><br />

<strong>Delay</strong><br />

Assume that traffic arrival times and service times are<br />

<strong>in</strong>dependent, that the arrival processes at each transmit<br />

and transit buffer are of Poisson distribution, and that<br />

all nodes have the same packet-length distribution.<br />

Then the traffic queue<strong>in</strong>g model of the RPR data path<br />

can be regarded as a non-preemptive priority M/G/1<br />

queue<strong>in</strong>g system, based on the standard queue<strong>in</strong>g<br />

theory [7] .<br />

In the follow<strong>in</strong>g, we develop an equation for the average<br />

delay for each priority class. The follow<strong>in</strong>g symbols<br />

are used <strong>in</strong> this paper: Wk is average queue<strong>in</strong>g delay<br />

for priority k; λk is average arrival rate for priority<br />

k; X k is the first moment of service time for priority<br />

2<br />

k; X k is the second moment of service time for priority<br />

k; ρk is the system utilization for priority k; R is mean<br />

residual service time.<br />

The queue<strong>in</strong>g delay is the time span between the<br />

time when the packet is assigned to a queue for transmission<br />

and the time when it starts to be transmitted.<br />

Accord<strong>in</strong>g to Little’s theorem and the Pollaczek-<br />

Kh<strong>in</strong>tch<strong>in</strong>e (P-K) formula [8] , the queue<strong>in</strong>g delay for the<br />

highest priority traffic is<br />

R<br />

W1<br />

= (1)<br />

1−<br />

ρ<br />

where the residual service time R is expressed as<br />

1 n<br />

2<br />

R = ∑ λiX<br />

i<br />

(2)<br />

2<br />

i=<br />

1<br />

1


408 Ts<strong>in</strong>ghua Science and Technology, August 2004, 9(4): 406–409<br />

For the second priority class, the queue<strong>in</strong>g delay W2<br />

has a similar expression as W1 except that an additional<br />

queue<strong>in</strong>g delay has to be counted due to higher priority<br />

customers arriv<strong>in</strong>g while a lower priority customer is<br />

wait<strong>in</strong>g <strong>in</strong> the queue. W2 is obta<strong>in</strong>ed,<br />

R+ ρ1W1<br />

W2<br />

= (3)<br />

1−ρ−ρ<br />

1 2<br />

The derivation is similar for all priority classes (k>1),<br />

and the formula for the wait<strong>in</strong>g time <strong>in</strong> the schedul<strong>in</strong>g<br />

buffer is<br />

R<br />

Wk= , k > 1<br />

1−ρ −L−ρ 1−ρ<br />

−L−ρ ( )( )<br />

1 k−1 1<br />

k<br />

(4)<br />

Suppose that all nodes have the same transmission<br />

pattern. The average number of transit buffers traversed<br />

by each packet is then obta<strong>in</strong>ed,<br />

α<br />

N −1<br />

= ∑ q ( j−1)<br />

j=<br />

2<br />

j<br />

(5)<br />

where N is the number of the nodes on the r<strong>in</strong>g, and qj<br />

is the probability of node i transmitt<strong>in</strong>g packets to its jth<br />

neighbor node.<br />

Assume that traffic of all priorities has the same arrival<br />

rate <strong>in</strong> the transmit buffer. The relationship between<br />

the traffic arrival rates <strong>in</strong> the transit buffer and<br />

<strong>in</strong> the transmit buffer is [9]<br />

λTB = αλTx<br />

(6)<br />

We assume that all packets have the same service<br />

time X . The relationship between the system utilization<br />

and the arrival rate for each priority class <strong>in</strong> a node<br />

is then<br />

ρ1 = αρA<br />

(7)<br />

For a DQ r<strong>in</strong>g, we identify five priority traffic<br />

classes as shown <strong>in</strong> Fig. 3. Us<strong>in</strong>g Eqs. (6) and (7), the<br />

system utilization of each priority class can be expressed<br />

as:<br />

ρ1 = αρA<br />

(8)<br />

ρ = ρ<br />

(9)<br />

2 A<br />

3 = B<br />

ρ ρ<br />

4 C<br />

5 ( B C)<br />

(10)<br />

ρ = ρ<br />

(11)<br />

ρ = α ρ + ρ<br />

(12)<br />

From Eqs. (1), (3), and (8)-(12), the queue<strong>in</strong>g delays<br />

for each priority class <strong>in</strong> different buffers are obta<strong>in</strong>ed:<br />

DQ R<br />

WPTQ<br />

= (13)<br />

1−<br />

αρ<br />

A<br />

W<br />

W<br />

DQ<br />

B<br />

DQ<br />

C<br />

=<br />

=<br />

W<br />

DQ<br />

A<br />

=<br />

R<br />

(1 −αρ ) 1 − 1 + α ρ<br />

( ( ) )<br />

A A<br />

R<br />

( )<br />

( 1− ( 1+ α) ρA) 1− ( ( 1+<br />

α) ρA + ρB)<br />

R<br />

( 1− ( ( 1+ α) ρA + ρB) ) 1− ( ( 1+<br />

α) ρA + ρB + ρC)<br />

W<br />

DQ<br />

STQ<br />

=<br />

( )<br />

R<br />

( 1− ( ( 1+<br />

α) ρA + ρB + ρC)<br />

)<br />

1<br />

( 1− ( ( 1+ α) ρA + ( 1+<br />

α)( ρB + ρC)<br />

) )<br />

( 1 )( )<br />

A B C<br />

(14)<br />

(15)<br />

(16)<br />

(17)<br />

R = X + α ρ + ρ + ρ (18)<br />

For the SQ r<strong>in</strong>g, four priorities are identified as<br />

shown <strong>in</strong> Fig. 2. Similar derivations to those used for<br />

the DQ r<strong>in</strong>g can be made. The equations for the system<br />

utilization and queue<strong>in</strong>g delay for each traffic class <strong>in</strong><br />

an SQ r<strong>in</strong>g are obta<strong>in</strong>ed:<br />

ρ = α ρ + ρ + ρ<br />

(19)<br />

W<br />

SQ<br />

A<br />

W<br />

=<br />

W<br />

SQ<br />

PTQ<br />

1<br />

( )<br />

A<br />

B<br />

C<br />

ρ2 = ρA<br />

(20)<br />

ρ3 = ρB<br />

(21)<br />

ρ4 = ρC<br />

(22)<br />

R<br />

=<br />

1−<br />

α ρ + ρ + ρ<br />

( )<br />

A B C<br />

R<br />

( )<br />

( 1− α( ρA + ρB + ρC) ) 1−<br />

( α( ρA + ρB + ρC) + ρA)<br />

W<br />

SQ<br />

C<br />

SQ<br />

B<br />

=<br />

R<br />

( 1−<br />

( α( ρA + ρB + ρC) + ρA)<br />

)<br />

1<br />

( 1− ( α( ρA + ρB + ρC) + ρA + ρB)<br />

)<br />

=<br />

R<br />

( 1−<br />

( α( ρA + ρB + ρC) + ρA + ρB)<br />

)<br />

1<br />

( 1− ( α + 1)(<br />

ρA + ρB + ρC)<br />

)<br />

3 Simulation Results<br />

(23)<br />

(24)<br />

(25)<br />

(26)<br />

In the normal operation state, the packets are routed on<br />

a m<strong>in</strong>imum hop basis <strong>in</strong> an RPR network. Therefore, it


SHI Guowei (史国炜) et al:<strong>Packet</strong> <strong>Queue<strong>in</strong>g</strong> <strong>Delay</strong> <strong>in</strong> <strong>Resilient</strong> <strong>Packet</strong> R<strong>in</strong>g <strong>Network</strong> <strong>Nodes</strong> 409<br />

is simple to deduce that<br />

2<br />

q j = ,<br />

N − 1<br />

for N is odd (27)<br />

2<br />

qj= ,<br />

N<br />

for N is even (28)<br />

Comb<strong>in</strong>ed with Eq. (5), the average number of transit<br />

buffers traversed by each packet can be obta<strong>in</strong>ed:<br />

N −1<br />

N − 3<br />

α=<br />

∑ qj( j− 1 ) = , for N is odd (29)<br />

4<br />

j=<br />

2<br />

N −1<br />

N − 2<br />

α=<br />

∑ qj( j− 1 ) = , for N is even (30)<br />

4<br />

j=<br />

2<br />

From Eq. (26), the maximum total system utilization<br />

of the r<strong>in</strong>g is obta<strong>in</strong>ed,<br />

max N<br />

ρtotal<br />

= (31)<br />

1+<br />

α<br />

We now analyze the queue<strong>in</strong>g delay of different<br />

priority traffic <strong>in</strong> the two different transit queue modes.<br />

We assume that N = 63, the r<strong>in</strong>g is loaded with Class B<br />

traffic of 1 ρ and with Class C traffic of 1 ρ ,<br />

3 3<br />

max<br />

total<br />

and Class A traffic is varied from 0 to<br />

max<br />

total<br />

1 max<br />

ρ<br />

3 total . The<br />

queue<strong>in</strong>g delay is normalized by the average service<br />

time X ( X = 14.7 µs for a 2.5-Mbps l<strong>in</strong>k bit rate) to<br />

mask the effect of different l<strong>in</strong>k rates. The function w<br />

given <strong>in</strong> Figs. 4-7 is the scaled time. The actual<br />

simulation time W can be obta<strong>in</strong>ed by multiply<strong>in</strong>g the<br />

factor X<br />

W = wX<br />

(32)<br />

Figures 4 and 5 show the average transmit queue<strong>in</strong>g<br />

delays for the three classes of traffic <strong>in</strong> the SQ and DQ<br />

modes, respectively. It is obvious that the queue<strong>in</strong>g delays<br />

for all three classes of traffic <strong>in</strong> transmit buffers<br />

<strong>in</strong>crease with <strong>in</strong>creas<strong>in</strong>g system utilization of Class A<br />

traffic, and that Class A traffic has the shortest queue<strong>in</strong>g<br />

delay.<br />

Fig. 4 <strong>Queue<strong>in</strong>g</strong> delay <strong>in</strong> transmit buffers<br />

(<strong>in</strong> the SQ mode)<br />

Fig. 5 <strong>Queue<strong>in</strong>g</strong> delay <strong>in</strong> transmit buffers<br />

(<strong>in</strong> the DQ mode)<br />

Figure 6 shows the queue<strong>in</strong>g delays of Class A traffic<br />

<strong>in</strong> transmit buffers for both the DQ and SQ r<strong>in</strong>gs. It<br />

is clear that Class A traffic is delayed more <strong>in</strong> an SQ<br />

r<strong>in</strong>g than <strong>in</strong> a DQ r<strong>in</strong>g.<br />

Fig. 6 Comparison of queue<strong>in</strong>g delays <strong>in</strong> transmit<br />

buffers <strong>in</strong> the SQ and DQ modes<br />

Figure 7 shows the traffic queue<strong>in</strong>g delays <strong>in</strong> transit<br />

buffers for the two k<strong>in</strong>ds of transit queue modes.<br />

Figure 7 shows that the STQ buffer <strong>in</strong> the DQ r<strong>in</strong>g<br />

contributes more traffic delay than the PTQ buffer <strong>in</strong><br />

the SQ r<strong>in</strong>g which <strong>in</strong> turn causes more delay than the<br />

PTQ buffer <strong>in</strong> the DQ r<strong>in</strong>g.<br />

Fig. 7 <strong>Queue<strong>in</strong>g</strong> delay <strong>in</strong> transit buffers STQ and PTQ<br />

4 Conclusions<br />

The packet queue<strong>in</strong>g delay is one of the most important<br />

performance measures of a data network and is a<br />

key factor to be considered <strong>in</strong> the schedul<strong>in</strong>g buffer<br />

(Cont<strong>in</strong>ued on page 415)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!