Loss characterization in high-speed networks through simulation of fluid models

29
Telecommunication Systems 16:1,2, 73–101, 2001 2001 Kluwer Academic Publishers. Printed in The Netherlands. Loss characterization in high-speed networks through simulation of fluid models DAVID ROS and RAYMOND MARIE * IRISA/INRIA Rennes, Campus Universitaire de Beaulieu, 35042 Rennes Cedex, France E-mail: {David.Ros;Raymond.Marie}@irisa.fr Abstract. This paper describes the design principles of a fluid-based, discrete-event simulator and its application to the characterization of losses in ATM networks. This simulation technique allows us to obtain performance measures that either cannot be found using known analytical methods or for which a conventional simulation is too expensive; notably, fluid-model simulation makes it feasible to characterize for a given buffer its occupation, duration of congestion periods, frequency of loss bursts and loss-burst volume in fairly complex networks. Several numerical examples illustrate the proposed simulation method. Key Words: ATM networks, discrete-event simulation, fluid traffic models, performance analysis 1. Introduction Discrete-event simulation for ATM networks has been usually based on cell-level models (the well-known NIST simulator [4] is a typical example). Under this approach, the ATM cell is the elementary level of abstraction and discrete events correspond to the transit of individual cells through the different network components. Cell-level simula- tion offers the advantage of a high temporal resolution, but at the expense of a very high (even prohibitive) computational cost. For example, a simulation of a 155 Mbit/s link at cell-level during only three seconds involves the handling of around 10 6 events. On the other hand, under the fluid approach ATM sources are modeled at the burst level, so that the time scales typically involved are much larger than the duration of an ATM cell [17]. We may then regard traffic sources as producing a continuous fluid characterized by its instantaneous flow rate. In general, this rate changes over time and can be represented as a stochastic process. There exist many analytical studies of (small) fluid models, see [17] and references therein; however, to the best of our knowledge, there are just a few papers devoted to the simulation of such models, and especially to the fluid simulation of networks. Pitts et al. [16] propose the evaluation of the mean cell loss rate (CLR) in a single buffer by means of fluid simulations. Kesidis et al. [9] study the feasibility of this technique for some particular cases of sources and of ATM switches and then compare the per- formance of the fluid simulator with respect to a classical, cell-based simulator. Finally, * Corresponding author.

Transcript of Loss characterization in high-speed networks through simulation of fluid models

Telecommunication Systems 16:1,2, 73–101, 2001 2001 Kluwer Academic Publishers. Printed in The Netherlands.

Loss characterization in high-speed networks throughsimulation of fluid models

DAVID ROS and RAYMOND MARIE∗

IRISA/INRIA Rennes, Campus Universitaire de Beaulieu, 35042 Rennes Cedex, FranceE-mail: {David.Ros;Raymond.Marie}@irisa.fr

Abstract. This paper describes the design principles of a fluid-based, discrete-event simulator and itsapplication to the characterization of losses in ATM networks. This simulation technique allows us toobtain performance measures that either cannot be found using known analytical methods or for which aconventional simulation is too expensive; notably, fluid-model simulation makes it feasible to characterizefor a given buffer its occupation, duration of congestion periods, frequency of loss bursts and loss-burstvolume in fairly complex networks. Several numerical examples illustrate the proposed simulation method.

Key Words: ATM networks, discrete-event simulation, fluid traffic models, performance analysis

1. Introduction

Discrete-event simulation for ATM networks has been usually based oncell-levelmodels (the well-known NIST simulator [4] is a typical example). Under this approach,the ATM cell is the elementary level of abstraction and discrete events correspond to thetransit of individual cells through the different network components. Cell-level simula-tion offers the advantage of a high temporal resolution, but at the expense of a very high(even prohibitive) computational cost. For example, a simulation of a 155 Mbit/s link atcell-level during only three seconds involves the handling of around 106 events.

On the other hand, under the fluid approach ATM sources are modeled at theburstlevel, so that the time scales typically involved are much larger than the duration ofan ATM cell [17]. We may then regard traffic sources as producing a continuousfluidcharacterized by its instantaneous flow rate. In general, this rate changes over time andcan be represented as a stochastic process.

There exist many analytical studies of (small) fluid models, see [17] and referencestherein; however, to the best of our knowledge, there are just a few papers devoted tothe simulation of such models, and especially to the fluid simulation ofnetworks. Pittset al. [16] propose the evaluation of the mean cell loss rate (CLR) in a single bufferby means of fluid simulations. Kesidis et al. [9] study the feasibility of this techniquefor some particular cases of sources and of ATM switches and then compare the per-formance of the fluid simulator with respect to a classical, cell-based simulator. Finally,

∗Corresponding author.

74 ROS AND MARIE

Kumaran and Mitra [11] use simulated fluid models to evaluate a resource sharing policyin an ATM switch.

The purpose of this paper is first to present a fluid network model and the equa-tions governing its behavior, then to describe the principles underlying the realizationof a fluid-based high-speed network simulator and, finally to show the feasability of theapproach to yield some answers to problems too hard to tackle using currently-knownanalytical methods, such as the loss ratio for an ATM connection or the distribution ofloss bursts. The use of fluid models plays here a key role in speeding up the simulation offairly complex networks. Note that in [5] we emphasized the realization of the simulatorwhile in [19] we used the approach to estimate the end-to-end delay of packets inside ahigh-speed network.

The paper is organized as follows. In section 2 we describe the fluid networkmodel adopted and the equations ruling the model’s behavior, while the principles usedto build the simulator are exposed in section 3. Section 4 is devoted to the definitionof performance measures related to fluid losses. Section 5 presents several numericalexamples showing the estimation of the distributions of loss bursts and buffer contents.Finally, we give some concluding remarks in section 6.

2. Fluid network model

Let us first consider a single fluid reservoir or “buffer” with capacityB 6 ∞ andmaximal output ratec ∈ (0,∞). This reservoir is filled by one or several fluid sources,such that the total instantaneous input rate can eventually be greater thanc. In thissection we shall develop the equations describing the dynamic behavior of such a buffer,regarding its occupation and output processes, for a special class of input processes; ourfinal aim is to apply such expressions to the discrete-event simulation of anetworkoffluid buffers.

2.1. Arrival rate process

Let3(t) ∈ [0,∞) be the total rate of fluid being fed into the buffer at timet > 0;the volume of fluid arriving during[0, t] is given by

A(t) =∫ t

03(s)ds. (1)

Generally speaking,3 = {3(t)} may be an arbitrary stochastic process; nonethe-less, we will be interested only in arrival processes such thateverysample path3(t) isa right-continuous stepwise function, so that every sample pathA(t) is continuous andpiecewise linear. In other words, for each sample path of3, there exists a sequence oftransition epochs:

T3 ={Tn ∈ R+ | Tn < Tn+1, n ∈ N; T0 , 0

}(2)

LOSS CHARACTERIZATION 75

such that:

3(t)=3(Tn), ∀t ∈ [Tn, Tn+1),(3)

3(Tn) 6=3(Tn+1).

This condition is not very restrictive since many fluid traffic models satisfy it. For in-stance:

• ON/OFF rate processes, either Markovian [1] or non-Markovian [17].

• Markov-modulated rate processes, for which3(t) = ζ(Z(t)), whereZ(t) is the stateof the Markov chain at timet andζ(z) is a given function [17].

• Renewal rate processes such that3(t) =∑∞n=0Xn 1{t∈[Sn−1,Sn)}, where theXi ’s forma sequence of i.i.d. random variables, and theSn − Sn−1 form a renewal processindependent of theXi ’s [7,17].

2.2. Fluid level in the buffer

LetQ(t) be the volume (“level”) of fluid in the buffer at timet > 0. The evolutionof Q(t) is described by:

Q(t) = Q(0)+∫ t

0

(3(s)− c) 1{s∈Q} ds, t > 0, (4)

where, for an infinite-capacity buffer, the setQ is given by [17]:

Q = {s > 0 | 3(s) > c orQ(s) > 0}. (5)

For a finite-capacity buffer, it is possible that there exists at < ∞ such thatQ(t) = B; thus, the above equation must be modified to satisfy this condition, whichyields:

Q= {s > 0 | (3(s) > c andQ(s) < B)

or(3(s) < c andQ(s) > 0

)or(3(s) = c and 0< Q(s) < B

)}. (6)

In this case, the integrand in (4) may be interpreted as follows:

• The fluid level increases at a rate3(s)−c, if the input rate is greater than the maximaloutput rateand the buffer is not full.

• The fluid level decreases at a ratec−3(s), if the input rate is lower than the maximaloutput rateand the buffer is not empty.

The condition3(s) = c and 0< Q(s) < B, corresponding to the situation wherethe fluid level remains constant and strictly positive, could be left out without changingthe value of the integral in (4); however, it is convenient to include this condition: doingso implies thatQ represents the set of time intervals where the buffer is neither emptynor saturated (see section 2.2.1). Note that (6) reduces to (5),∀s <∞, if B →∞.

76 ROS AND MARIE

The resulting sample pathsQ(t) are piecewise linear, with slope dQ(t)/dt =(3(t)− c)1{t∈Q}. Developing equation (4) fort ∈ [Tn, Tn+1], we obtain:

Q(t)=Q(Tn)+∫ t

Tn

(3(s)− c) 1{s∈Q} ds

=min{B,(Q(Tn)+

(3(Tn)− c

)(t − Tn)

)+}, (7)

where(x)+ , max(0, x) andTn ∈ T3, n = 0,1, . . . . From this equation, we get thefollowing recurrent expression:

Q(Tn+1) = min{B,(Q(Tn)+

(3(Tn)− c

)(Tn+1− Tn)

)+}. (8)

In fact, for any interval[t1, t2) such that3(t) = 3(t1), ∀t ∈ [t1, t2), we have

Q(t2) = min{B,(Q(t1)+

(3(t1)− c

)(t2− t1)

)+}. (9)

2.2.1. Buffer boundary statesBesides the buffer operating state related to the time setQ, we can formally define

several boundary states related to the conditionsQ(t) = 0 and (ifB <∞)Q(t) = B.

Definition 1. The buffer isemptyat timet iff t ∈ U , where

U ,{s > 0 | 3(s) 6 c andQ(s) = 0

}. (10)

Definition 2. The buffer is in theoverflow (or congestion) state at timet iff t ∈ O,where

O ,{s > 0 | 3(s) > c andQ(s) = B}. (11)

Definition 3. The buffer is at theoverflow thresholdat timet iff t ∈ B, where

B ,{s > 0 | 3(s) = c andQ(s) = B}. (12)

Definition 4. The buffer issaturatedat timet iff t ∈ S, where

S ,{s > 0 | 3(s) > c andQ(s) = B} = O ∪ B. (13)

Of course, the setS is empty if the buffer is infinite. Fort ∈ O, the associatedcongestion periodis an interval[β(t), β ′(t)) ⊂ O such that:

β(t)= sups

{s < t | Q(s) < B or3(s) = c},

(14)β ′(t)= inf

s

{s > t | Q(s) < B or3(s) 6 c

}.

Note thatO corresponds to the time subset where fluid is lost; on the other hand,whenever the buffer is at the congestion threshold, no losses occur since the input and

LOSS CHARACTERIZATION 77

output rates are identical. Cumulative fluid losses in the interval[0, t] may be computedas:

L(t) =∫ t

0

(3(s)− c) 1{s∈O} ds. (15)

2.2.2. Slope transition instantsThe slope ofQ(t) changes either at the transition epochsTn of 3(t) such that

Tn ∈ Q, or at the instants where the buffer becomes saturated or empty. LetDU be theset of beginning instants of the intervals ofU ; in a similar way, let us call respectivelyDS andDO the set of beginning instants of the intervals ofS andO. So, the set oftransition epochs of dQ(t)/dt can be expressed as:

TQ = (T3 ∩Q) ∪DU ∪DS . (16)

For an arbitrary epocht , we will denote byt0(t) andtB(t) the instants:

t0(t)=min{s ∈ DU | s > t}, (17)

tB(t)=min{s ∈ DO | s > t}. (18)

Hence,t0(t) andtB(t) represent the beginning of the next empty period and congestionperiod, respectively.

2.3. Output rate process

LetR(t) be the buffer output rate att > 0. The amount of fluid flowing out of thebuffer in the interval[0, t] is then equal to

D(t) =∫ t

0R(s)ds. (19)

Let us remark thatR(t) ∈ [0, c], ∀t since the output rate is upper-bounded byc. More-over, the output rate satisfies:

R(t) = c · 1{Q(t)>0 or3(t)>c} +3(t) · 1{Q(t)=0 and3(t)6c}. (20)

For the class of processes3 considered in this work, we can deduce from (20)thatR(t) is also a right-continuous, stepwise function; transitions ofR(t) take place atinstantst ∈ TR, where

TR ={t ∈ T3 | Q(t) = 0

} ∪DU . (21)

2.3.1. ExampleFigure 1 shows, for a finite buffer of capacityB and service ratec, a sample path

3(t) and the resulting sample pathsQ(t) andR(t); this example illustrates most of theequations developed so far. During the considered time interval, we observe that:

• the interval[tB(0), T5) corresponds to an overflow period;

• the buffer is at the overflow threshold in[T5, T6);

78 ROS AND MARIE

Figure 1. Typical sample paths of3(t),Q(t) andR(t).

• the buffer is empty in[t0(0), T11);

• the transitions of3(t) which occur att = T5, T9, T10 have no effect onQ(t); notethat none of these epochs are inQ (see (16));

• transitions of3(t) produce transitions ofR(t) only whenQ(t) = 0.

2.4. Superposition of fluid sources

The model described thus far can be extended to explicitly consider the case wherethe buffer is fed by several fluid sources.

2.4.1. Arrival rate processLet λi(t) ∈ [0,∞) be the rate of theith incoming flow at timet (i = 1, . . . , N).

Let us define theinput flow vectoras:

λ(t) ,(λ1(t), . . . , λN(t)

). (22)

LOSS CHARACTERIZATION 79

Thetotal input flow rate is given by

3(t) =N∑i=1

λi(t). (23)

As before, we shall only be interested in arrival processes with right-continuousstepwise sample paths; that is, for every sample pathλi(t) of every fluid flow i, thereexists a sequence:

Tλi ={τ in ∈ R+ | τ in < τ in+1, n ∈ N; τ i0 , 0

}(24)

such that:

λi(t)= λi(τ in), ∀t ∈ [τ in, τ in+1

),

(25)λi(τ in) 6= λi(τ in+1

).

The following set is important for simulation purposes:

Tλ =N⋃i=1

Tλi (26)

since the input flow vectorλ(t) changes at the instantsτn ∈ Tλ. Note that3(t) is alsoa stepwise function whose transitions take place att ∈ T3 (see equation (2)); it is easyto verify thatT3 = {Tn} andTλ = {τn} are such that{Tn} ⊂ {τn}. This means that achange in the input flow vector does not necessarily involve a change in the total inputrate.

2.4.2. Output rate processUnless stated otherwise, from here on we shall consider a work-conserving FIFO

discipline and a fixed numberN of input sources. LetR(t) denote thetotal output rate,and let us define theoutput flow vectoras:

r(t) ,(r1(t), . . . , rN(t)

), (27)

whereri(t) is the output rate at timet related to theith input fluid, so that:

R(t) =N∑i=1

ri(t). (28)

Suppose that a change in the input flow vector occurs att = τn; because of theservice discipline, this change will take a timeQ(τn)/c > 0 to propagate to the bufferoutput (i.e., the time needed to flow out theQ(τn) > 0 volume units already in thebuffer). Besides, the proportion of output components must be the same as the pro-

80 ROS AND MARIE

portion of input components (taking into account the delay introduced by the buffer),that is,

ri(ωn)

R(ωn)= λi(τn)

3(τn), i = 1, . . . , N (29)

when3(τn) > 0, with:

ωn , τn + Q(τn)c

. (30)

Regarding the transitions ofr(t), sevenpossible cases can be distinguished for agiven transition instantτn of the input vectorλ(t), according to the values of3(τn), τn+1

andt0(τn), and depending on whether the buffer is empty or not at timeτn.

Empty buffer at timet = τn. WhenQ(τn) = 0 the input transition appears instanta-neously at the output, becauseωn = τn; therefore:

1. If 3(τn) = 0 thenR(τn) = 0 andri(τn) = 0, ∀i.2. If 3(τn) > 0 thenR(τn) > 0 andri(τn) = R(τn) · λi(τn)/3(τn).

Consequently, whenever the buffer is empty, an input transition at timeτn producesexactly one output transition and with no delay, at timet = τn.Non-empty buffer at timet = τn. In this caseωn > τn; there exist five possibilities:

3. If 3(τn) > c, the buffer is filling up in[τn, τn+1), so t0(τn) > τn+1. Thus, aninput transition at timeτn produces one output transition att = ωn, such that:ri(ωn) = R(ωn) · λi(τn)/3(τn).

4. If 3(τn) = 0 andωn < τn+1, the buffer will become emptybefore the next in-put transition, i.e.,Q(t) = 0 at timet = t0(τn) = ωn; hence,R(ωn) = 0. Theinput transition at timeτn produces one output transition att = t0(τn), such that:ri(t0(τn)) = 0,∀i.

5. If 3(τn) = 0 andωn > τn+1, we have3(τn+1) > 0,Q(t) > 0, ∀t ∈ [τn, τn+1), andt0(τn) > τn+1. This means that there will be some fluid arriving during the interval[τn+1, ωn]; therefore, the buffer will not empty “rapidly enough” forR(t) to becomenil on this interval. In such a case, the input transition at timeτn does notproducean output transition.

6. If 3(τn) ∈ (0, c) andt0(τn) > τn+1, the buffer level is decreasing on[τn, τn+1) buta new input transition occursbeforethe buffer becomes empty. The input transitionat timeτn produces one output transition att = ωn, such that:ri(ωn) = R(ωn) ·λi(τn)/3(τn).

7. If 3(τn) ∈ (0, c) and t0(τn) < τn+1, the buffer will be emptybeforethe next in-put transition. However, sinceωn < t0(τn) = τn + Q(τn)/(c − 3(τn)), the inputtransition at timeτn generatestwooutput transitions:

LOSS CHARACTERIZATION 81

Figure 2. Example of sample paths for the caseτn < ωn < t0(τn) < τn+1.

• At t = ωn, i.e., when the input variation propagates up to the output,ri(ωn) =R(ωn) · λi(τn)/3(τn).• At t = t0(τn), i.e., when the buffer becomes empty,ri

(t0(τn)

) = λi(τn).Figure 2 shows an example where two output transitions are generated from a singleinput transition, withλ(t) = (λ1(t), λ2(t)).

Therefore, for a given transition epochτn of λ(t), the evolution ofr(t) is uniquelydescribed by the values:

r(ωn) =R(ωn)

3(τn)· λ(τn) if 3(τn) > 0,

0 if 3(τn) = 0 andQ(τn) = 0(31)

and

r(t0(τn)

) = λ(τn), if t0(τn) < τn+1 andQ(τn) > 0. (32)

82 ROS AND MARIE

The sample pathsri(t) are stepwise functions as well; transitions inr(t) happen at in-stantst ∈ Tr , where

Tr = {ωn} ∪DU . (33)

Let us remark that in order to compute the rateri(t) of each component we only need toknow theglobal levelQ(t) and, of course,λ(t).

2.5. Special cases

We can also consider the situation whereB → 0, which corresponds to thebufferlessor rate-envelopemultiplexing model [17]. In such a case, we haver(t) =(R(t)/3(t)) · λ(t) if 3(t) > 0; fluid loss occurs whenever3(t) > c.

As a final remark, we would like to point out that all of the previous equations areeasily extended to the case where the buffer service ratec is not a constant value, butrather a right-continuous, stepwise time function.

2.6. Network of fluid buffers

The preceding analysis may also be applied to a network of fluid buffers. Considerfor example the case shown in figure 3: if all of theN +M sources satisfy (25), then thefluid coming into the second buffer,

λ2(t) =(r1(t), . . . , rN (t), λN+1(t), . . . , λN+M(t)

)corresponds to a total input rate

32(t) =N∑i=1

ri(t)+M∑i=1

λi+N(t) = R1(t)+M∑i=1

λi+N(t),

and so32(t) satisfies (3), since it is the sum of stepwise functions; hence, the evolutionof Q2(t) is described by (7) andR2(t) satisfies (20) as well. Consequently, all equationspreviously presented in this section can be applied to an arbitrary network, iffeverysource satisfies (25), i.e., iff every sample path of every arrival processλi is a stepwisefunction.

Figure 3. Two reservoirs in tandem.

LOSS CHARACTERIZATION 83

2.7. Fluid molecules

While a fluid (i.e., continuous) model has been adopted for representing networkelements, it is also useful to define discrete objects, namedfluid molecules, that canbe emitted by the sources and travel throughout the network. They have no volume;therefore, the buffer level is not changed by the arrival of a molecule. In fact, suchmolecules are considered as making part of the fluid flow already generated by a source.

If a molecule arrives to a buffer that is overflowing, the molecule is lost with prob-ability

Ppm(t) = (3(t)− c(t))3(t)

, (34)

where3(t) is the total input rate to the buffer andc(t) its service rate. Note that thisprobability corresponds to the instantaneous fluid loss rate during congestion.

Molecules can be employed to simulate the behavior of individual entities suchas RM (Resource Management) cells when dealing with ABR (Available Bit Rate) andABT (ATM Block Transfer) ATM flows [6], or ACK messages in the case of a window-based flow control protocol like TCP. Besides, they are useful as well for measuring qual-ity of service (QoS) parameters like the end-to-end delay of a connection; see [18,19]for more details.

2.8. GPS nodes

As an example of a more complex service policy, in what follows we shall presentthe equations related to the Generalized Processor Sharing (GPS) discipline [14] that arerequired for a fluid-model simulation, under the assumption of stepwise input flows. TheGPS discipline allows to isolate connections belonging to different traffic classes withdistinct QoS requirements.

Figure 4 shows the model of a GPS node withN buffers (with capacitiesB1, . . . , BN , whereBi 6∞, ∀i), one for each traffic class. Each buffer is served accord-ing to a FIFO discipline, but with a time-varying service rate. LetRi(t) be the outputrate of bufferi andR(t) = ∑N

i=1Ri(t) the global output rate of the node; the servicerate of the node is denoted byc.

The fundamental expression for this discipline is [14]: for any bufferi such thatQi(u) > 0, ∀u ∈ [τ, t),

Di(t)−Di(τ)

Dj(t)−Dj(τ)> φi

φj, j = 1, . . . , N, with φk > 0, ∀k, (35)

whereD(t)−D(τ) is the fluid volume flowing out of a buffer during[τ, t). The equalityin (35) happens only if bufferj also satisfies:Qj(u) > 0, ∀u ∈ [τ, t). The guaranteedservice rate for a bufferi is:

gi = φi∑Nj=1 φj

· c (36)

84 ROS AND MARIE

Figure 4. GPS node.

so that∑N

i=1 gi = c. In general,R(t) 6 c, ∀t , butR(t) = c if Qi(t) > 0 for somebuffer i (that is, it is a work-conserving discipline).

Concerning the output rate of bufferi ∈ {1, . . . , N}, we have that:

1. If∑3i(t) > c, or if

∑3i(t) 6 c andQk(t) > 0 for somek ∈ {1, . . . , N}, then:

Ri(t) =

3i(t) if 3i(t) 6 gi andQi(t) = 0,

φi ·c −∑j 3j (t)1{3j (t)6gj andQj (t)=0}∑

j φj 1{3j (t)>gj or Qj (t)>0}

if 3i(t) > gi orQi(t) > 0.

(37)

2. If∑3i(t) 6 c andQk(t) = 0, ∀k, then

Ri(t) = 3i(t), ∀i. (38)

For the determination of theoutput flow vectorof buffer i, equations (31), (32)obtained for the FIFO discipline may be used, withωn given instead by

ωn , inft

{t > τn | Di(t)−Di(τn) = Qi(τn)

}. (39)

2.8.1. Best-effort trafficFigure 5 shows the model of a GPS node with an additional buffer for handling

best-effort traffic, as suggested in [8].Equations (37), (38) forRi(t) are only valid for buffersi = 1, . . . , N ; the available

capacity for the “best-effort” buffer at timet is given by

cN+1(t) = c −N∑i=1

Ri(t) (40)

LOSS CHARACTERIZATION 85

Figure 5. GPS node with a “best effort” buffer.

and its output rate is of course equal to:

RN+1(t) ={cN+1(t) if QN+1(t) > 0 or3N+1(t) > cN+1(t),

3N+1(t) if QN+1(t) = 0 and3N+1(t) 6 cN+1(t).(41)

This model can be easily extended to the case of a node withM > 1 “best-effort”buffers with different priorities. In this case, the available capacity for thekth “best-effort” buffer (k = 1, . . . ,M) at timet is given by

cN+k(t) = c −N∑i=1

Ri(t)− 1{k>1}N+k−1∑i=N+1

Ri(t). (42)

3. Simulation of a fluid network

As we saw in section 2, the variables defining the behavior of a fluid network(λi , Qj , etc.) fed by “stepwise” sourcesalwaysfollow piecewise linear sample paths:stepwise functions, in the case of flow rates, and continuous functions, in the case ofbuffer levels. Therefore, in order to completely describe the evolution of such a networkwe only need to know the state of its variables for a denumerable set of time instants, thatis, the transition epochs for the functionsλi(t), ri(t) and dQj(t)/dt . This strongly hintsat the use ofdiscrete-event simulationas a simulation technique: every state transitionin every variable will be related to an event handled by the scheduler.

It is important to note that the description of traffic as a vector of distinct fluidflows (see (22) and (27)) allows us to simulate not only the aggregation or multiplexingof sources, but also thedemultiplexingthat takes place in network components like ATMswitches; moreover, this vectorial representation makes possible the gathering of end-to-end measures and statistics for individual connections.

86 ROS AND MARIE

3.1. Efficiency of fluid-model simulation

The efficiency of a fluid-based simulation with respect to a cell-based simulation,in terms of computational cost, lies in the use of aburst-levelrepresentation of traffic:since rate changes occur on a larger time scale than individual cell times, under thefluid-flow paradigm each simulation event typically corresponds tomanycells; hence,the number of events to deal with for a given simulated interval is much smaller.

There are several factors that may have an impact on the efficiency of a fluid-basedsimulation with respect to a classical, cell-based simulation:

• The particular characteristics of traffic sources.

• The relative event processing costs and the “ripple effect” first described by Kesidiset al. [9].

• The particular network topology under consideration.

• The service policy used in network nodes.

Let us briefly discuss the first two issues. Different traffic source characteris-tics will result in different computing-time gains. Consider for instance two ON/OFFsourcesS1 and S2 with identical peak rates: if the average ON period ofS1 is, say,10 times greater than the average ON period ofS2, the number of events needed to simu-late at the cell level a burst sent byS1 will be (on the average) 10 times greater. However,under the fluid-model paradigm the computational cost is the same for both sources, be-cause onlytwoevents per burst are required: the beginning and the end of the burst (i.e.,two rate changes). In either case, it is clear that for bursts containing tens or hundreds ofcells the computing gain (in terms of number of events) is very important.

The ripple effect may be summarized as follows: a rate-change event in one flowmay affect all flows passing through a given node, which in turn increases the numberof events for downstream elements; this, together with an increased processing cost foreach event, may lower the efficiency of the fluid approach [9]. Liu et al. [13] explorethis issue in more detail; nevertheless, their results suggest that, in many cases, thereare indeed significant gains to be expected when performing a fluid-based simulation, inspite of the ripple effect.

3.2. Event classes

Discrete events required for the simulation of a fluid network may be grouped intofive main classes:

1. Events related to fluid sources, e.g., “the rateλi(t) changes”.

2. Events related to buffer input rates, e.g., “the input flow vectorλj (t) changes”.

3. Events related to buffer boundary states, e.g., “bufferj begins to overflow”.

4. Events related to buffer output rates, e.g., “the output flow vectorr j (t) changes”.

5. Events related to the arrival or the departure of discrete objects, e.g., “a moleculearrives at bufferj at timet”.

LOSS CHARACTERIZATION 87

Figure 6. Example of a buffer in a complex network.

This list is not exhaustive, since the addition of other kinds of components (e.g.,switching fabrics, communication links) makes it necessary to define new event classes[5]; nonetheless, the above events are enough for explaining the basics of a discrete-event, fluid-model simulator. Molecule-related events are described elsewhere [5,18,19].

3.3. Event handling

In order to analyze the handling of events during the simulation of a complex net-work, we shall concentrate on a single reservoirS (see figure 6), fed by

• N sources, whose flow rates are noted byλ1, . . . , λN ;

• K upstream buffers, whose output flow rates and flow vectors are noted byRu1, . . . , R

uK andru1, . . . , r

uK , respectively. These buffers are globally fed byM+J >

K individual fluid flows, coming from other sources and/or buffers; from these, onlyM flows (numberedN + 1, . . . , N +M) are fed intoS.

In the fluid model of a communications network we should also include “links”connecting sources and buffers. These links would introduce a constant propagationdelay on the rate transition instants; however, in this section we shall neglect such delayswithout loss of generality. Naturally,S may feed one or more buffers. Incoming andoutgoing fluid flows are thus given by:

λ(t)= (λ1(t), . . . , λN(t), ruN+1(t), . . . , r

uN+M(t)

), 3(t) = λ(t) · eT, (43)

r(t)= (r1(t), . . . , rN(t), rN+1(t), . . . , rN+M(t)), R(t) = r(t) · eT, (44)

wheree= (1, . . . ,1).

3.4. Specifications of the scheduler

The event scheduler must be able to deal not only with the usual insertion andextraction from an event list, but also with the possibility ofcancelingalready-scheduledtasks without executing them (see section 3.6).

Besides, the scheduler should handle “simultaneously” some events happening atthe same simulation epoch. For instance, if bothλi(t) andλj (t) (i, j 6 N) change at

88 ROS AND MARIE

t = u, it is fairly obvious that this should be treated as a single event, from the point ofview of S; that is, a single event “the flow vectorλ(t) changes att = u” should occur.1

3.5. Events related to the sources

Rate changes.For theith source, a rate-change event happening att = τn shouldproduce the following tasks:

1. Schedule the event “λ(t) changes att = τn”.2. Lastly, schedule the next rate-change event for this source.

Note that, since a discontinuity in the sample pathλi(t) implies a transition inλ(t), to guarantee the synchronization of input rate changes toS we should handle allsimultaneous events related to network components located upstream with respect toS,i.e., execute all tasks “change the rateλj (t) at t = τn” and “change the flow vectorruj (t)at t = τn”.3.6. Events related to the buffer

Input rate transitions.An event “λ(t) changes att = τn” should trigger the follow-ing actions:

1. ComputeQ(τn) andωn, according to (8) and (30), respectively.

2. Calculatet0(τn), tB(τn) using (17)–(18); then

(a) schedule the task “Sbegins to overflow att = tB(τn)”, if this has not been doneyet andtB(τn) <∞, and

(b) schedule the task “S becomes empty att = t0(τn)”, if this has not been doneyet andt0(τn) <∞.

3. If ωn 6= t0(τn), schedule the task “changer(t) at t = ωn”.However, computingt0(τn) and tB(τn) (and consequently taking the decision of

scheduling or not an event “S becomes empty” or “S overflows”) poses some practicalproblems, because the evolution of3(t), and hence of every component ofλ(t), fromt = τn onwards must be known a priori; see the example in figure 7. Nevertheless, thereis a simpler alternative based on the following definitions.

Definition 5. An input-rate transition att = Tn is anoverloadingtransition if3(Tn) > c.Thepredictedoverflow period will begin (if it really takes place) at:

tB(Tn) ,

B −Q(Tn)3(Tn)− c + Tn if 3(Tn) > c,

∞ if 3(Tn) 6 c.(45)

1 In practice, this synchronization of events is not always mandatory (e.g., the probability of two rate-change events happening simultaneously may be zero) and may depend on the actual implementation ofthe simulator; however, we shall consider it for the sake of generality.

LOSS CHARACTERIZATION 89

Figure 7. Computation oft0(τn).

Definition 6. An input-rate transition att = Tn is anunderloadingtransition if3(Tn)<c.Thepredictedempty period will begin (if it really takes place) at:

t0(Tn) ,

Q(Tn)

c −3(Tn) + Tn if 3(Tn) < c andQ(Tn) > 0,

∞ if 3(Tn) > c orQ(Tn) = 0.(46)

Moreover, note that neitherR(t) nor r(t) change because of an overflow; so, itis not necessary – in principle – to schedule an event “S overflows”, because the lostvolume can be computed a posteriori. Therefore, steps 2–3 above may be replaced bythe following three steps:

2. If tB(τn−1) < τn thenS is overflowing, so take fluid loss measurements (see section4.2).

3. Calculatet0(τn) andtB(τn) using (45), (46), then:

(a) if there is already an event “S becomes empty att = t ′” in the event list (witht ′ 6= t0(τn)), cancel it, and

(b) if t0(τn) <∞, schedule the event “Sbecomes empty att = t0(τn)”.4. If ωn 6= t0(τn), schedule the task “changer(t) at t = ωn”.

To make the cancellation of an event as efficient as possible, the buffer might keepa pointer to the corresponding task that lies in the event list; in this way, there would beno need to search through the list – a fairly expensive operation.

Figure 8 shows a typical sample path forQ(t) and the associated3(t), as wellas predicted overflow and “underflow” times; the curves correspond to the parametervalues: c = 1, B = 1. Note that, in this case,tB(0) = tB(0) and t0(4.5) = t0(4.5)but tB(4) 6= tB(4) and t0(2) 6= t0(2), i.e., there is an event that gets scheduled and thencanceled later.

90 ROS AND MARIE

Figure 8. Estimation oft0(τn) andtB(τn).

Buffer underflow. An event “Sbecomes empty att = t0(τn)” should trigger the follow-ing actions:

(a) makeQ(t) = 0, and

(b) execute the event “changer(t) at t = t0(τn)”, that is to say “now”.

Output rate transitions. An event “r(t) changes att = ωn” should trigger the followingactions:

1. Calculater(t) using (31), (32).

2. Schedule an event “changeλ(t) at t = ωn” for each buffer fed byS that is affectedby the change inr(t).

Remember that a transition inr(t) doesnotnecessarily implies a transition ineveryone of its components (see section 2.4.2), so we only need to schedule rate-change eventsfor those downstream buffers affected by this event.

4. Measures and statistics

In this section we shall describe some performance measures and statistics of in-terest that may be obtained with a fluid simulator. Some of these measures are source-oriented (i.e., quality of service measures “from the user’s point of view”), whereas oth-ers are network-oriented (i.e., measures “from the network operator’s point of view”).For some of these performance measures we shall present in detail the computation ofconfidence intervals, which are of utmost importance for the correct analysis and inter-pretation of simulation results [15].

LOSS CHARACTERIZATION 91

4.1. Buffer occupation

4.1.1. Level distributionThe mean ofQ (denoted byQ) can be estimated on-line according to the following

recurrent formula:

Tn+1Q(Tn+1) = Tn Q(Tn)+∫ Tn+1

Tn

Q(t)dt (47)

where the value of the last integral depends on the buffer state in[Tn, Tn+1]:

∫ Tn+1

Tn

Q(t)dt =

Q(Tn)

2

(t0(Tn)− Tn

)if t0(Tn) < Tn+1,

Q(Tn)+ B2

(tB(Tn)− Tn

)+ B (Tn+1 − tB(Tn))

if tB(Tn) < Tn+1,Q(Tn)+Q(Tn+1)

2(Tn+1 − Tn) otherwise.

(48)

Concerning the steady-state distribution of the r.v.Q for a finite-capacity buffer(B <∞), the ergodicity condition

P(Q 6 q) = limt→∞

1

t

∫ t

01{Q(s)6q} ds (49)

allows us to estimateP(Q 6 q), q ∈ [0, B] , from a traceQ(t) as follows:

1. For a trace of durationtmax, choose the time instanttss> 0 corresponding to the endof the warm-up period2 [12], and a number of intervalsN for evaluatingP(Q 6 q)(see figure 9).

Figure 9. Estimation ofP(Q 6 q).

2 This could be informally called the “beginning of the steady-state behavior”.

92 ROS AND MARIE

2. Then, from the traceQ(t), tss6 t 6 tmax, compute the duration of each sojourn ineach interval[0, qj ], with qj , jB/N , j = 1, . . . , N − 1.

3. If sij denotes the length of theith sojourn in thej th interval, then:

P(Q 6 qj ) ≈ 1

tmax− tss

∑i

sij , j = 1, . . . , N − 1. (50)

Remember that we have to evaluateQ(t) at least at the points where dQ(t)/dtchanges (shown as small dots on the curve in figure 9), from which the values oft

satisfyingQ(t) = jB/N are easily found.To improve the estimation ofP(Q 6 q) and obtain confidence intervals, we follow

this procedure:

1. GenerateM i.i.d. sample pathsQ(1)(t), . . . ,Q(M)(t).

2. Compute

Pij = P(Q(i) > qj

), i = 1, . . . ,M; j = 1, . . . , N − 1. (51)

3. A better estimator ofP(Q > qj ) is the mean (ini) of theP(Q(i) > qj ):

Pj = 1

M

M∑i=1

Pij , j = 1, . . . , N − 1. (52)

4. Then, 100× (1− α)% confidence intervals are given by(Pj − tα/2;M−1

sj√M, Pj + tα/2;M−1

sj√M

)(53)

with t being a Student distribution withM−1 degrees of freedom ands2j the classical

variance estimator:

s2j =

1

M − 1

M∑i=1

(Pij − Pj

)2. (54)

Of course,M must be “large enough” so that the assumption “Pj is Gaussian”(implicit in (53)) be valid; in this paper we have chosenM = 30 for all our experiments.

The above method is also applicable to an infinite buffer, as long as a suitable valueqmax<∞ is used instead ofB. If the estimation is done on-line,qmax (andN , if needed)may be dynamically adjusted; otherwise, we may simply takeqmax> maxi,t

{Q(i)(t)

}.

4.1.2. Busy and empty periodsTwo interesting measures related to the buffer occupation process are:

• The duration of abusy period, that is, an interval[t, t + Tbusy) such thatQ(s) > 0,∀s ∈ [t, t + Tbusy), andQ(t−) = Q(t + Tbusy) = 0.

LOSS CHARACTERIZATION 93

• The duration of anempty period, that is, an interval[t, t+Tempty) such thatQ(s) = 0,∀s ∈ [t, t + Tempty),Q(t−) > 0 andQ(t + Tempty) > 0.

From a given sample pathQ(t), we may then estimate quantities such asE(Tbusy)

andE(Tempty).

4.2. Fluid losses

Regarding the fluid losses, it is possible to obtain both “network-oriented” (perbuffer) and “user-oriented” (per connection) performance measures.

4.2.1. Losses per bufferFor a given reservoir, the following recurrent expression can be deduced from equa-

tion (15):

L(τn+1)=L(τn)+∫ τn+1

τn

(3(s)− c)1{s∈O} ds

=L(τn)+(3(τn)− c

)+(τn+1− tB(τn)

)+. (55)

Note thatτn+1 − tB(τn) is strictly positive only if there is an overflow during[τn, τn+1),see (45).

Besides total fluid losses, it is interesting to measure foreachcongestion periodthe durationTloss, the time distance between the beginning of consecutive periodsTcycle,and the volume lostVloss; for theith congestion period these quantities are given by (see(14)):

T(i)

loss= β ′i − βi, (56)

T(i)

cycle= βi − βi−1, (57)

V(i)

loss=∫ β ′i

βi

(3(s)− c)ds. (58)

From such “traces” of the congestion periods, we may compute statistics such asE[Tloss],E[Tcycle] andE[Vloss], as well as the squared coefficient of variation for these r.v.; the lossprobability may be estimated as

Ploss= E[Vloss]E[3] × E[Tcycle] . (59)

4.2.2. Losses per traffic sourceThe cell loss ratio (CLR) is a parameter related to the QoS offered by the net-

work to each connection; therefore, in a simulation study it is important to produce lossmeasurements for individual sources.

The usual definition of the CLR at the cell level is [2]

CLR= lost cells

transmitted cells.

94 ROS AND MARIE

Using a fluid model, the CLR of a connectioni traveling throughM buffers may beestimated3 as

CLR≈∑M

j=1Li,j (t)

Ai(t), (60)

whereAi(t) is the amount of fluid generated by the source in[0, t] andLi,j (t) is the totalvolume corresponding to this source that is lost at thej th buffer. Supposing that lossesexperienced by theith source are proportional to the ratioλi,j (t)/3j(t), where3j(t) isthe total input rate at bufferj andλi,j (t) is the component of this flow rate associated totheith source, we have:

Li,j (t) =∫ t

0

λi,j (s)

3j (s)

(3j(s)− cj

)1{s∈Oj } ds (61)

taking: 0/0= 0. Li,j (t)may be computed in a recurrent fashion at the transition instantst = τn (the instants where the input flow vectorλj (t) changes), according to:

Li,j (τn+1) = Li,j (τn)+ λi,j (τn)3j(τn)

(3j(τn)− cj

)+(τn+1 − tBj (τn)

)+. (62)

5. Examples

In this section we will briefly present some results, obtained with a simulation toolprototype written inC++ and developed following the principles described so far [5].The selected examples, though simple, represent cases of interest for the performanceanalysis of existing networks.

5.1. A single buffer

The first example corresponds to a finite-capacity buffer, fed byN identicalON/OFF sources. We are interested in losses per buffer, and notably the frequency andduration of congestion periods, the steady-state distribution for the buffer level and theloss probability. We chose the following simulation parameters:

• N = 10 ON/OFF sources, with peak rateλon = 15 Mbit/s, mean rateλ = 7.5 Mbit/sand exponentially-distributed ON and OFF periods with meanT on = T off = 10 ms.

• Buffer with capacityB = 1 Mbit and maximal output ratec = 100 Mbit/s.

A total of 30 independent simulations were performed; each one of them corre-sponds to a simulated interval of 200× 103 s (≈ 55.5 hours) and to O(2× 108) events4.Each simulation run took about one hour of computing time, on a Sun UltraSPARCworkstation shared between several users.

3 This is, of course, an approximation to the CLR of a “real” connection whose burst-level behavior ismodeled by a fluid source; cell-scale congestion phenomena are not taken into account in the fluid model.

4 The equivalent number of events that should have been processed by a cell-level simulator is O(3.5×1010).

LOSS CHARACTERIZATION 95

Figure 10. Distribution of fluid levelQ.

Figure 11. Congestion periods.

Note that this example is interesting from a validation point of view, because itis simple enough so thatvery long simulation runs can be executed in a relativelyshort time; besides, it is an analytically “simple” case for which theexact formula ofP(Q > q) is known, see, for instance, [10].

Figures 10 and 11 show the fluid level distribution, with 95% confidence intervals(shown as small crosses), and the loss “bursts” over a 24-hour interval, respectively; notethe excellent agreement between theoretical and experimental values in figure 10. Fromthe loss “bursts” it is possible to estimate the values shown in table 1, with 95% confi-dence intervals; units are kbits and seconds. We can then compute the loss probabilityusing equation (59):Ploss≈ 6.438× 10−7.

96 ROS AND MARIE

Table 1Example 1 – simulation results.

Estimate 95% confidence interval

E[Vloss] 68.694 (62.285, 75.103)

E[Tloss] 3.735× 10−3 (3.642× 10−3,3.829× 10−3)

E[Tcycle] 1422.7 (1358.1, 1487.2)

Figure 12. Distribution ofVloss.

Figures 12 and 13 show the distributions of losses (Vloss) and of intervals betweensuccessive loss bursts (Tinter , Tcycle− Tloss), respectively. The squared coefficients ofvariation for these two variables areCV2

Vloss= 1.39 andCV2

Tinter= 1.84. Note that the

fairly high value ofCV2Tinter

indicates that loss bursts tend to come in groups or clusters;such behavior can be detected in figure 11 as well.

5.2. Three buffers

A second example is shown in figure 14. Here, the buffer of the previous examplefeeds a tandem of buffers. There are two classes of traffic sources:

• Class 1:N = 10 ON/OFF sources, identical to those used in the previous example.Of these,N/2 connections travel through the three buffers and represent the “main”traffic; the remaining connections leave the network.

• Class 2:N = 10 ON/OFF sources, with peak and mean rates identical to those of

class 1, and mean ON and OFF periodsT(2)on = T (2)off = 12.5 ms. These connections

correspond to “background” traffic. ON periods are exponentially-distributed; OFF

LOSS CHARACTERIZATION 97

Figure 13. Distribution ofTinter.

Figure 14. Example 2 – three identical buffers.

periods are drawn either from an exponential distribution or from a Pareto distributionof the form:

fX(x) ={

(a ka)

(x + k)a+1if x > 0,

0 otherwise

(63)

with a = 1.6, k = 0.0075 s. This choice of parameters for the Pareto law resultsin an infinite variance, so the resulting ON/OFF process exhibits the long-range de-pendence property [3]; the corresponding Hurst parameter [17] isH = 0.7, and themean is given by:E(X) = k/(a − 1) = 12.5 ms.

All buffers are identical, with capacityB = 1 Mbit and maximal output ratec =100 Mbit/s, as in example 1. Note that the load factorρ is the same for all buffers(ρ = 0.75).

We are interested in the sensitivity of losses with respect to changes in backgroundtraffic characteristics, namely, the distribution of the OFF periodT

(2)off . Two sets of 30

98 ROS AND MARIE

Table 2Example 2 – simulation results for buffer 2.

Pareto Exponential

E[Vloss] 77.14± 1.20 66.94± 3.49

CV2Vloss

1.59 1.51

E[Tcycle] 65.69± 2.53 657.37± 64.37

E[Tloss] 4.06× 10−3 ± 4.72× 10−5 3.67× 10−3 ± 1.41× 10−4

CV2Tinter

3.36 2.07

Ploss 1.57× 10−5 1.36× 10−6

E[Tbusy] 5.39× 10−3 ± 3.02× 10−5 5.00× 10−3 ± 1.32× 10−5

CV2Tbusy

3.74 2.72

E[Tempty] 1.50× 10−2 ± 1.59× 10−4 1.40× 10−2 ± 2.72× 10−5

CV2Tempty

2.72 1.65

Table 3Example 2 – simulation results for buffer 3.

Pareto Exponential

E[Vloss] 73.20± 1.10 70.54± 5.31

CV2Vloss

1.68 1.48

E[Tcycle] 75.48± 2.13 830.08± 90.57

E[Tloss] 3.92× 10−3 ± 5.09× 10−5 3.72× 10−3 ± 2.07× 10−4

CV2Tinter

3.28 2.54

Ploss 1.29× 10−5 1.13× 10−6

E[Tbusy] 5.21× 10−3 ± 3.06× 10−5 4.85× 10−3 ± 1.12× 10−5

CV2Tbusy

3.91 2.79

E[Tempty] 1.53× 10−2 ± 1.76× 10−4 1.43× 10−2 ± 3.15× 10−5

CV2Tempty

2.91 1.67

independent simulation runs each were performed: one using Pareto-distributed OFFperiods for class-2 traffic, another using exponentially-distributed OFF periods. Thesimulated time in each run was 40× 103 s; each simulation run took about 50 min ofcomputing time, on a Sun UltraSPARC workstation shared between several users.

Tables 2 and 3 show some results regarding fluid losses, as a function of the OFF-period distribution for class-2 sources; units are kbits and seconds (where applicable).The first buffer corresponds exactly to our previous example; hence, we shall only giveresults for buffers 2 and 3. Mean values are shown together with 95% confidence inter-vals.

LOSS CHARACTERIZATION 99

Figure 15. Distribution of fluid levelQ in buffer 2.

Remark that the loss probability is about an order of magnitude higher when thebackground traffic has Pareto-distributed OFF intervals. The amount lost in each con-gestion period increases slightly in this case, as well as the duration of each overflow,but the main reason for a much higherPloss lies in the frequency of losses, which isabout ten times higher in the Pareto case. Note also that while the expectations ofTbusy

andTempty are not very sensitive to the distribution ofT (2)off , the squared coefficients ofvariationCV2

TbusyandCV2

Temptyincrease significantly in the Pareto case. Basically,Ploss

increases because a loss period occurs one out of 18× 104 periods of buffer occupationswhenT (2)off is exponentially distributed while a loss period occurs one out of 1.6× 104

periods in the case of the Pareto distribution. This is another manifestation of the higherburstiness of the long-range dependent sources.

Figure 15 shows the steady-state, complementary distribution function (CDF) ofthe level in buffer 2, with 95% confidence intervals shown as small marks; similar resultswere obtained for buffer 3. Notice how the tail of the CDF decreases much more slowlywhen class-2 OFF periods are Pareto-distributed.

6. Conclusions

One of the aims of this paper was to describe the principles upon which a fluidsimulation tool can be built, and then to show the efficiency of this approach (severalminutes of computing time in a modern workstation, for simulating a traffic flow equiv-alent to several billions of ATM cells).

We presented the adopted fluid network model and the equations governing its be-havior, as well as the basics of the simulation technique and the computation of lossperformance measures that, in general, cannot be obtained by currently-known analyt-

100 ROS AND MARIE

ical methods. To illustrate the efficiency of fluid-based simulation, several numericalexamples were presented, showing the computation of loss burst and buffer occupationstatistics with confidence intervals.

Moreover, the technique of “fluid molecules” briefly outlined in section 3.3 may beused both for measuring purposes [19] and for simulating discrete entities such as RMcells; in this way, we may study both open-loop (i.e., VBR) and closed-loop (i.e., ABR)traffic sources, as well as the related congestion control algorithms [18].

References

[1] D. Anick, D. Mitra and M.M. Sondhi, Stochastic theory of a data-handling system with multiplesources, Bell System Technical Journal 61(8) (October 1982) 1871–1894.

[2] ATM Forum, Traffic management specification – version 4.0 (April 1996);ftp://ftp.atmforum.com/pub/approved-specs/{af-tm-0056.000.pdf,af-tm-0077.000.pdf} .

[3] D.R. Cox, Long-range dependence: A review, in:Statistics: An Appraisal – Proc. of the 50th An-niversary Conf. of Iowa State Statistical Laboratory, eds. H.T. David and H.A. David (The Iowa StateUniv. Press, 1984) pp. 55–74.

[4] N. Golmie, F. Mouveaux, L. Hester, Y. Saintillan, A. Koenig and D. Su,The NIST ATM/HFC NetworkSimulator – Operation and Programming Guide, version 4.0(December 1998).

[5] J. Incera, R. Marie, D. Ros and G. Rubino, FluidSim: A tool to simulate fluid models of high-speednetworks, in: Proc. of the 11th Internat. Conf. on Modelling Techniques and Tools for ComputerPerformance Evaluation, Lecture Notes in Computer Science, Vol. 1786 (Springer, New York, 2000)pp. 230–246.

[6] ITU-T Study Group 13, Recommendation I.371: Traffic control and congestion control in B-ISDN(November 1995).

[7] P.R. Jelenkovic, A.A. Lazar and N. Semret, Multiple time scales and subexponentiality inMPEG video streams, in:Proc. of the Internat. IFIP–IEEE Conf. on Broadband Communications,Montreal, Canada, April 1996;ftp://ftp.ctr.columbia.edu/CTR-Research/comet/public/papers/96/JEL96.ps.gz .

[8] G. Kesidis,ATM Network Performance(Kluwer Academic, Dordrecht, 1996).[9] G. Kesidis, A. Singh, D. Cheung and W.W. Kwok, Feasibility of fluid event-driven simulation for

ATM networks, in: Proc. of IEEE Globecom’96, London, November 1996;http://cheetah.vlsi.uwaterloo.ca/˜kesidis/fluid.ps .

[10] V.G. Kulkarni, Fluid models for single buffer systems, in:Frontiers in Queueing: Models and Appli-cations in Science and Engineering, ed. J.H. Dshalalow (CRC Press, Boca Raton, FL, 1997) chap-ter 11, pp. 321–338.

[11] K. Kumaran and D. Mitra, Performance and fluid simulations of a novel shared buffer manage-ment system, in:Proc. of IEEE INFOCOM 98, March 1998;http://cm.bell-labs.com/cm/ms/who/mitra/papers/infocom.ps .

[12] A.M. Law and M.G. McComas, Simulation of communications networks, in:Proc. of the 1996 WinterSimulation Conf., 1996, pp. 73–77.

[13] B. Liu, Y. Guo, J. Kurose, D. Towsley and W. Gong, Fluid simulation of large scale networks: issuesand tradeoffs, in:Proc. of the Internat. Conf. on Parallel and Distributed Processing Techniques andApplications (PDPTA’99), Vol. IV, Las Vegas, 1999, pp. 2136–2142.

[14] A.K. Parekh and R.G. Gallager, A generalized processor sharing approach to flow control in integratedservices networks: The single node case, IEEE/ACM Transactions on Networking 1(3) (June 1993)344–357.

LOSS CHARACTERIZATION 101

[15] K. Pawlikowski, Simulation studies of telecommunication networks and their credibility, in:Proc. ofthe 13th European Simulation Multiconference, June 1999.

[16] J.M. Pitts, L.G. Cuthbert, M. Bocci and E.M. Scharf, An accelerated simulation technique for mod-elling burst scale queueing behaviour in ATM, in:Proc. of the 14th Internat. Teletraffic Congress,June 1994, pp. 777–786.

[17] J. Roberts, U. Mocci and J. Virtamo (eds.),Broadband Network Teletraffic: Performance Evaluationand Design of Broadband Multiservice Networks – Final Report of Action COST 242, Lecture Notesin Computer Science, Vol. 1155 (Springer, New York, 1996).

[18] D. Ros, Study of high-speed networks via fluid-model simulation, Ph.D. thesis, Institut National desSciences Appliquées (INSA) de Rennes, France (January 2000) (in French).

[19] D. Ros and R. Marie, Estimation of end-to-end delay in high-speed networks by means of fluid modelsimulations, in:13th European Simulation Multiconference, Vol. 1, Warsaw, June 1999, pp. 375–381.