1. Introduction
From the very beginning of packet-switching networks, it was understood that buffers for packets are absolutely necessary to achieve reasonably low loss ratios and high network throughput.
As a consequence, queueing theory for packets in buffers began to be widely used to evaluate the performance of packet networks, and one of the founding fathers of the Internet, Leonard Kleinrock, is also an expert in queueing theory. Since the first packet transmission conducted in ARPANET by Kleinrock’s student, many papers have been devoted to modeling queues of packets in buffers in order to predict queueing delay, delay jitter, throughput, and packet loss induced by the buffers.
However, a great majority of these papers and monographs have been committed to the analysis of the impact that a buffer has on aggregated traffic, differentiating among separate flows. Namely, the obtained formulae provide the delay, loss probability, etc., of an average packet belonging to a random flow among all the flows multiplexed in the buffer.
On the other hand, it is easy to show, using simulations or network measurements, that packet flows with different statistical properties may behave very differently when traversing a common buffer. For instance, in simulations of [
1], it can be seen that per-flow loss ratios may differ from each other by an order of magnitude, no matter that they share the same rate and differ only in the specific interarrival time distribution. This is a drastic difference for flows that, at first glance, seem to be similar (same rate).
The distinction between flows with separate statistical behavior is not only theoretical but also has strong practical motivation. Traffic in contemporary IP networks is highly inhomogeneous. It often consists of a large number of flows of distinct types, such as web browsing, teleconferencing, gaming, and TV streaming. All these flows may differ greatly from each other in a statistical sense.
A comparable circumstance may be encountered in sensor networks. Flows of packets from various sensors incoming to aggregation points may have very different statistical properties due to the various types of sensors and the data streams they produce.
Therefore, the primary aim of this paper is to derive the throughput and loss ratio of every flow traversing a common FIFO buffer, assuming the buffer is loaded by complex traffic consisting of many flows, possibly with totally different statistical properties.
This goal is achieved in three steps. First, a full, precise model of traffic consisting of N flows is used. In this model, every flow can be modeled separately with high precision, including not only interarrival time moments but also the shape of the distribution. Unfortunately, as will be argued, this model cannot be solved in practice. Therefore, in the second step, a simplification of the full model is used. In this simplification, one particular flow of interest is modeled precisely, while all the remaining flows are combined into simplified background traffic. Such an approach is justified by one of the limiting theorems of probability theory.
In the third step, an exact, explicit solution of the simplified model is found, i.e., formulae for throughput and loss ratio for the flow of interest are derived (Theorem 1). To fully solve a system with N flows, this simplification procedure has to be performed N times, i.e., Theorem 1 has to be applied N times. Specifically, a model with a precise characterization of flow number 1 and simplified background traffic consisting of flows 2–N has to be solved first. Then, a model with a precise characterization of flow number 2 and simplified background traffic consisting of flows 1 and 3–N has to be solved, and so on. By doing so, N throughput values and N loss ratios can be obtained.
Naturally, the results obtained via the simplified model are only approximations of the precise values offered by the full model. To evaluate the errors of these approximations, several numerical experiments were performed. In these experiments, the reference values were obtained using simulations of the full model with large numbers of packets traversing the FIFO buffer.
As will be seen, the relative error of per-flow throughput prediction was about 8% in some very demanding cases, i.e., with a very small number of flows, highly diversified flow characteristics (rates and coefficients of variation), a very small buffer, high system load, and high variance of packet transmission time. In other, less extreme scenarios, the results predicted by Theorem 1 were much better, often offering an error below 1%.
Summarizing, the principal contributions of this paper are:
The derivation of an exact analytical solution for per-flow throughput and loss ratio in a simplified model of a FIFO buffer fed by multi-flow traffic (Theorem 1);
A numerical validation of the accuracy of the simplified model across a range of scenarios characterized by heterogeneous flow statistics, varying buffer sizes, system loads, and transmission time distributions;
A discussion of the impact of these parameters on per-flow throughput.
The article continues as follows. In
Section 2, prior research on multi-flow and single-flow queueing models related to this study is reviewed. In
Section 3, the full, precise multi-flow model of a FIFO buffer is presented, along with arguments showing that its numerical solution is, in practice, far beyond reach. Then, a simplified, analytically and numerically tractable model is described in
Section 4.
In
Section 5, an exact, explicit solution of the simplified model is obtained (Theorem 1). Specifically, formulae for the per-flow throughput and loss ratio are proved. In
Section 6, the results of numerical experiments are presented and discussed. Specifically, in various scenarios, the results calculated using Theorem 1 are compared with those obtained via simulation of the full model. Flows with various rates and interarrival time variability are considered, together with different buffer sizes, system loads, and transmission times.
Finally, concluding remarks are offered in
Section 7. These include a discussion of the limitations of the simplified model and ideas for subsequent work.
2. Prior Research
There is a body of literature on experimental measurements of throughput and losses [
2,
3,
4,
5,
6,
7], with no mathematical modeling of these characteristics.
Mathematical modeling of FIFO buffer’s throughput and losses, for basic models of aggregate traffic, is presented in classic queueing monographs–see, e.g., [
8,
9] and the references therein. More advanced models, incorporating autocorrelation, batch arrivals, or special loss characteristics, are studied in [
10,
11,
12,
13,
14,
15], but again only at the level of aggregate traffic.
Studies of multi-flow queueing models began with the assumption that all flows are Poisson [
16,
17,
18,
19]. Unfortunately, when all flows are Poisson, all of them share a common loss ratio equal to the aggregate loss ratio. This is in blatant contradiction with networking reality, as demonstrated in [
1]. Namely, when separate flows are non-Poisson–as commonly occurs in practice–they may have loss ratios that differ by an order of magnitude.
Multi-flow queueing models in which each flow has a separate, general interarrival time distribution were investigated in [
20,
21,
22,
23,
24]. However, all the models in [
20,
21,
22,
23,
24] assume infinite buffering space. Hence, none of them accounts for packet losses and throughput degradation caused by buffer overflow.
There are also a few studies of multi-flow queueing models in which the transmission time is constant [
25,
26,
27,
28]. Constant packet/cell sizes are used in ATM networks, which were more popular in the past. In most contemporary networks, packets can have variable sizes, which results in variable service (transmission) times. From elementary queueing theory, it is known that variability of service time may strongly affect queueing performance.
Summarizing, there is no published multi-flow model with:
An arbitrary interarrival time distribution for each flow;
An arbitrary transmission time distribution;
A FIFO buffer with finite capacity.
Each of these features may have a significant impact on per-flow throughput. Therefore, incorporating all of them into a single mathematical model is essential.
The model presented in this paper addresses all the points listed above and enables the calculation of the throughput and loss ratio for each individual flow.
The method of analysis used here is similar to the method presented in [
29]. However, a single-flow model is considered there, and the paper focuses on the buffer occupancy, whereas this study focuses on per-flow throughput and losses.
A recap of the related research is presented in
Table 1.
3. Full Multi-Flow Model
The full model considered here is schematically depicted in
Figure 1.
Namely, consider N flows of packets arriving at a common FIFO buffer. Arriving packets are loaded into the buffer in order of arrival, regardless of the flow to which they belong.
Hence, a queue of packets is formed in the buffer. This queue is emptied from the head by an output link. The transmission (service) time of every packet is random and follows a distribution function , which may be arbitrary.
The buffer volume is K packets, including the first position, which is occupied by the packet in transmission, if the buffer is not empty.
When the buffer contains K packets, every newly arriving packet is discarded. This mechanism (tail drop) may potentially decrease the throughput of all flows.
Each flow may have a different, possibly complex interarrival time distribution. To model this, each flow is represented by a separate Markovian Arrival Process (MAP) (see, e.g., [
13]).
Thus, there are N separate MAP processes in the full model: MAP1, …, MAPn. Specifically, flow number n is parameterized by matrices and , each of size , where is the number of modulating states of MAPn. Naturally, flows may have distinct statistical properties, so all matrices , , as well as their sizes , may differ from one another.
The following notations of parameters of flows, aggregate traffic and service process are employed:
: arrival rate of the n-th flow [pkts/s];
: arrival rate of the aggregate traffic [pkts/s];
: rate of the background traffic for the n-th flow [pkts/s];
: standard deviation of the interarrival time of the n-th flow;
: coefficient of variation of the interarrival time of the n-th flow;
S: mean packet service (transmission) time.
Naturally, for full system parametrization, it suffices to specify the matrices and , , the distribution , and the buffer size K. All the other parameters mentioned above, i.e., , , , and S, can be computed either from the parameter matrices or from the distribution F.
The performance characteristics of interest are the throughput of the n-th flow, , and the loss ratio of the n-th flow, . The throughput is defined as the number of packets belonging to the n-th flow departing the buffer per second, averaged over an extended time span. It is therefore expressed in units of [pkts/s]. The loss ratio is the fraction of packets from the n-th flow that are discarded upon arrival at a full buffer, measured over a long time interval. Thus, is unitless and satisfies .
Moreover, T denotes the aggregate throughput, i.e., the total number of packets leaving the buffer per second, averaged over an extended time span, while L denotes the aggregate loss ratio, i.e., the fraction of all packets discarded upon arrival at a full buffer over a long time interval.
Finally, the Laplace–Stieltjes transform of
F will be needed in what follows:
and the system load:
The full model presented in this section can mimic real multi-flow traffic with arbitrary precision due to the powerful modeling capabilities of MAP processes. Specifically, it is established that a MAP can capture not only the moments but also the exact shape of an arbitrary interarrival time distribution, as well as temporal correlations.
In [
30,
31,
32], complex examples of very precise fitting Markovian processes to interarrival time distributions can be found. Other methods for fitting MAPs to trace files are available, e.g., in [
33,
34].
In theory, the full model defined above can be solved analytically. To achieve that, a Markov chain that keeps track of the modulating states of all flows, as well as the buffer occupancy, has to be used. Hence, the state space of this Markov chain must have elements, while the transition matrix entries.
For instance, if flows are considered, and , the transition matrix has over 400 billion entries. Operating on such a matrix is beyond the limit of contemporary computational capabilities, while traffic consisting of only 10 flows is still a very modest scenario, without mentioning a very small buffer.
In other words, the analytical solution of the full model would involve extremely large matrices, even in modest practical cases. Hence, obtaining numerical results would be infeasible in most practical scenarios.
Therefore, in the next section, a simplified model is presented. The matrices involved in the simplified model are only of size , while the model remains quite accurate, as will be highlighted in the examples.
4. Simplified Model
The idea of the simplified model is depicted in
Figure 2.
Namely, assume that the throughput of a particular flow, say flow number
n (orange packets in
Figure 2), has to be computed. To obtain
, all flows except flow
n are combined and constitute background traffic (grey packets in
Figure 2). This background traffic is modeled as a Poisson process with intensity
. Flow
n, however, is still modeled precisely by the MAP
n process using matrices
and
.
Such a simplification of the full model has theoretical support based on the Palm–Khinchin limiting theorem (see, e.g., [
35], page 146) concerning the convergence of the superposition of many point processes to a Poisson process. The applied simplification also indicates that, in typical situations, the model should be more accurate (i.e., closer to the full model when deriving
) as the total number of flows
N increases. At the same time, it requires operations only on matrices of size
, regardless of
N. This is in sharp contrast to the matrices of size
required in the full model.
In the next section, exact formulae for throughput and loss ratio of the flow of interest (MAPn) in the simplified model will be derived. Before that, some additional notation has to be introduced.
First, it is easy to see that the combined arrival process in the simplified model, consisting of the MAP
n process and a Poisson process of rate
, is stochastically equivalent to another Markovian process, denoted by MAP’. The parameter matrices of this MAP’ process are as follows:
where
I denotes the identity matrix of dimension
.
Let denote the modulating state of the MAP’ process at time t, while be the buffer occupancy at t in the simplified model, including the transmission position, if taken.
Several important characteristics of the simplified model are expressed in terms of the function , which is the probability that in a time interval of span x, m new packets arrive and modulating state at the end of the interval is j, given that at the beginning of the interval the modulating state was i.
In particular, the following two functionals based on
are very often in use:
usually in the matrix form:
Matrices and are commonly used in the analysis of queues with Markovian arrivals. Specifically, represents the probability that within a service interval, m new packets arrive and modulating state jumps from i to j in this interval, whereas represents the probability that within a remaining service time in equilibrium, m new packets arrive and modulating state jumps from i to j.
The stationary distribution for the modulating process of (
5) will be denoted by
. It may be calculated using the well-known relations:
where
.
The probabilities
of jump of the modulating state from
i to
j in MAP’, accompanied by arrival of a packet (
), or without arrival (
), can be computed as:
where
Finally, the following square matrices are often of use:
Naturally, they are all of dimensions
.
Matrices
,
and
have no special meaning. They are just used to shorten the notation of equations and formulae. Sequence
plays a special role because equations characterizing the performance of Markovian queues often have solutions that can be presented in a similar, specific form involving
(see Lemma 3.2.1 of [
36]).
It was already mentioned that a MAP process can accurately capture virtually any form of the interarrival-time distribution, its moments, and the temporal correlation. In the full model, a separate MAP process is assigned to each flow, potentially with different forms of all these characteristics.
At first glance, it may appear that the simplified model of this section loses this information for all flows except one. However, this apparent loss is somewhat misleading.
Note that when analyzing a real system with N flows, the simplified model is not used just once, but N times–each time preserving the statistical properties and structure of a different flow. In other words, the full model is effectively replaced not by a single simplified model, but by N such models. Taken together, these N models retain all the information for all flows.
5. Exact Solution of the Simplified Model
Assuming the model of the previous section, the following theorem will be proven.
Theorem 1.
The throughput of MAPn flow equals:while the loss ratio of MAPn flow equals:wherewhile if and otherwise. Sketch of the proof. Initially, it is assumed (temporarily) that the stationary full-buffer probability, , and the empty-buffer probability, , are known.
In the first step of the proof, the loss ratio of the flow of interest,
, is computed as a function of
. This can be achieved using a simple relation between all the rates and loss ratios involved (formula (
28)), as well as the well-known general relation between
L and
(formula (
30)). The resulting formula for
, (
31), contains the unknown loss ratio of the background traffic,
.
Hence, in the next step of the proof,
must be eliminated. This is done using the fact that the probability of finding the buffer full at arbitrary times is the same as the probability of finding the buffer full at Poisson times (PASTA theorem). As the background traffic is Poisson, its loss ratio must be the same as the probability of finding the buffer full at arbitrary times (formula (
32)).
Using this fact and the relation between the throughput and the loss ratio, in the next step, the final formulae for the flow of interest, i.e., (
20) and (
21), are obtained.
This is, however, not the end of the proof, because (
20) and (
21) depend on
and
. The rest of the proof is therefore devoted to computing these two values.
To achieve that, in the next step, a set of equations for
is built.
denotes the probability of having
l packets in the buffer at time
t, given that there were
m packets in the buffer at the initial time and the modulating state was
i. This set of Equations (
35) and (
36), is obtained by conditioning on the time of the first event in the arrival process and the end of the first transmission time, respectively.
Equations (
35) and (
36) have a Volterra integral form. The easiest way to treat them is to apply the Laplace transform, which is done in the next step. Then, a solution of the resulting simplified set (
43), (
44) is obtained using the sequence
and Lemma 3.2.1 of [
36].
In the final step of the proof, the limit as of and is computed, to obtain and , respectively. From the final value theorem, it is known that this is equivalent to computing the limit as of and , respectively, where is the Laplace transform of .
Proof of Theorem 1. Using an obvious formula:
yields:
Exploiting the relation between
L and
:
together with formula (
29), yields:
Using PASTA property (see, e.g., [
8], page 175), it can be concluded that for background traffic, its loss ratio equals the stationary full-buffer probability:
The latter, together with (
32), completes the proof of (
21).
Having (
21) and (
20) can be obtained immediately by exploiting the relation:
Now what is left is to derive the missing probabilities
and
, i.e., to prove formulae (
22) and (
23). Define:
Assuming
and conditioning on
y, i.e., the time of first event in the MAP’ (arrival, change of state, or both), it holds:
Indeed, in MAP’ the time of the first event, denoted by y, has density . Assume first that . At time y, the modulating state changes to j, either together with a packet arrival, with probability , or without a packet arrival, with probability . Therefore, at time y, either or , depending on which case occurs.
If , which happens with probability , then .
Assuming
and conditioning on
x, i.e., the end of first transmission time, it holds:
where
Namely, the first component of (
36) reflects the situation in which the first transmission is completed by time
t (i.e.,
) and
new packets arrive by time
x, so the buffer is not full before
x. In this case, immediately after the first packet departs at time
x, it holds
. The second component of (
36) represents the situation where again
, but
new packets arrive by time
x, making the buffer full before
x. Hence, at time
x, immediately after the first departure, it holds
. The third component,
, represents the situation where
, which occurs with probability
. In this case, the formula for
depends on
l. Specifically,
at time
t can happen only if
new packets arrive by
t, which has probability
, as expressed in the first component of (
37). Then, for
, the probability is
, while
is impossible.
Denoting:
Equations (
35) and (
36) yield:
and
respectively. Using vectors:
(
39) and (
40) yield:
respectively. Exploiting the replacement of variables as follows:
Equations (
43) and (
44) transform to:
respectively, with:
From Lemma 3.2.1 of [
36], it can be deduced that Equation (
47) has the solution:
where
is an unknown vector independent of
m. Using (
49) with
yields:
whereas using (
47) with
yields:
Then, exploiting (
46) we arrive at:
where
and
are given in (
24) and (
25), respectively.
Having
, one can quickly determine the empty and full buffer probabilities by applying the final value theorem. Namely, it holds:
(Note that the initial state vector,
, does not influence the stationary outcome, so any other can be used instead, e.g.,
.
Therefore, (
53) and (
54), combined with (
52), complete the proof of Theorem 1. □
It is essential to highlight that all matrices used in Theorem 1 are of small size, i.e.,
, and can be computed numerically. In particular, the matrices
and
can be calculated via the uniformization method (see [
13], page 66),
are trivial, while the matrices
,
, and
can be computed using
. The limit
in (
22) and (
23) can be calculated numerically by using small values of
s and observing convergence. In the examples shown in the next section,
is used.
It is easy to check that the number of flops needed in a single application of the formulae of Theorem 1 grows as
, assuming the cost of inversion and multiplication of
matrices is
. The primary expense is linked to the calculation of the matrices
from (
19).
When solving the multi-flow system with respect to every flow, we need to apply Theorem 1 N times. Hence, the cost of obtaining the complete solution grows as , where .
The complexity of solving the simplified model, , is in striking contrast with that of solving the full model, which would be , or simply when .
Finally, Theorem 1 may have two main areas of application. First, it may be used to compute the throughput values of flows in a concrete, practical networking scenario. For this, a precise estimation of MAP matrices is needed, which can be performed using one of the methods of [
30,
31,
32,
33,
34], assuming precise knowledge of arrival statistics is available.
The second area of application of Theorem 1 is to provide general insight into the impact of particular system parameters on the throughput values of individual flows. For instance, we can answer the following questions using Theorem 1: How will the throughputs of the flows change when the buffer size changes from 50 to 100? How will the throughputs of the flows change if flow rate proportions change from 1:2:3 to 1:9:50? How will the throughputs of the flows change if the number of flows increases from 90 to 900? How will the throughputs of the flows change if the load drops from 100% to 70%? The answers to many such questions can be found in the next section.
6. Examples
In the examples, flows with three different coefficients of variation of the interarrival time: , , and will be used. The latter value represents very high variability of the interarrival time; is still quite high, and is moderate. Moreover, the flows will have three different arrival rates: 100, 200, and 300 pkts/s.
Combining the three coefficients of variation with the three arrival rates gives flows in total, each with a distinct statistical characterization. The specific parameterizations of the nine flows, chosen to satisfy the assumptions of the previous paragraph, are as follows:
Flow 1:
pkts/s,
, MAP
1 matrices:
Flow 2:
pkts/s,
, MAP
2 matrices:
Flow 3:
pkts/s,
, MAP
3 matrices:
Flow 4:
pkts/s,
, MAP
4 matrices:
Flow 5:
pkts/s,
, MAP
5 matrices:
Flow 6:
pkts/s,
, MAP
6 matrices:
Flow 7:
pkts/s,
, MAP
7 matrices:
Flow 8:
pkts/s,
, MAP
8 matrices:
Flow 9:
pkts/s,
, MAP
9 matrices:
It is straightforward to determine the aggregate arrival rate:
pkts/s.
A highly variable distribution for the service time will be used; specifically, a gamma distribution with parameters and . Hence, the service rate is 1800 pkts/s and (the system is fully loaded), while the packet service time has a coefficient of variation of 2.
In every scenario and for each considered flow, the results obtained from a simulation of the full model of
Section 3 and the results derived via the simplified model and Theorem 1 will be compared. All simulations were implemented and run in OMNeT++, version 6.3, [
37]. In scenarios with 3 and 9 flows,
packets were used in simulations, while in scenarios with 90 and 900 flows, it was
and
packets, respectively. These large numbers of simulated packets enabled obtaining the per-flow throughput with a precision of 0.1 pkts/s, which was confirmed in 5 runs of each simulation. This precision is therefore used in all the tables below.
Firstly, the per-flow throughput for a very small FIFO buffer,
, will be examined. The results are presented in
Table 2.
As shown in
Table 2, the maximum relative error of throughput prediction provided by Theorem 1 is
, and about 2–
for the majority of flows. The error is higher for the highly variable flows 7–9. Among these, the worst result is observed for flow 7, where very high variability is combined with a relatively low arrival rate.
This maximum error of
can be considered satisfactory because the scenario in
Table 2 is particularly challenging. Specifically, the buffer is very small, there are very few flows (so the limiting theorem is barely applicable), the flows are highly diverse in terms of coefficient of variation and rate, and the service time is highly variable.
Let us now examine the effect of increasing the buffer size on the per-flow throughput.
Table 3 and
Table 4 present the results for buffer sizes of 50 and 100 packets, respectively.
For a buffer of 50 packets–which is still relatively small–the maximum error is only 2.1%, and less than 1% for the majority of flows. For packets, the maximum error drops to 0.5%, and the simplified model becomes highly accurate.
Furthermore, it is evident that increasing the buffer size leads to an increase in per-flow throughput in all considered cases (see
Table 2,
Table 3 and
Table 4 for a comparison across individual flows).
In
Figure 3, the full dependence of the simulated and derived per-flow throughput for all buffer sizes in the range 20–100 packets is shown. To keep
Figure 3 readable, only six selected flows are depicted, namely flows 4–9, which produced the largest errors in
Table 2.
As seen in
Figure 3, the curves derived using Theorem 1 largely overlap the simulated curves. Differences are noticeable only for relatively small buffers.
These differences, expressed as relative errors, are shown separately in
Figure 4. As observed, the error generally decreases with increasing buffer size, and this trend holds for every flow in
Figure 4.
So far, only scenarios with full load () have been considered. Now we may examine what happens when the load is lower than that. To vary the load, the parameter of the service time may be scaled. This operation modifies the service rate while preserving the coefficient of variation, which remains equal to 2.
In
Figure 5, the simulated and derived per-flow throughput is shown as a function of the system load, varying from 0.1 to 1.
Figure 6 presents the corresponding relative errors.
As seen in
Figure 5 and
Figure 6, the error does not change monotonically with
. Specifically, the maximum error within a flow occurs roughly between
and
, and its precise position depends on the statistical characteristics of the flow.
It is interesting to check what happens if the variability of the service time is increased. For this purpose, a gamma service distribution with parameters
and
= 0.0088888888, can be used. It has a coefficient of variation twice as large,
, but the same average value. The results are shown in
Table 5 and should be compared with the results of
Table 2, which were obtained for a similar set of parameters, except for
in the service time distribution. As can be seen, the throughput drops significantly for every flow in the mix, but the maximum relative error in
Table 5 is not greater than that in
Table 2.
To complicate the scenario in another way, the proportions of the rates of flows can be altered so that some of them are 50 times higher than the others (so-called elephant versus mice flows). Specifically, assume:
pkts/s, pkts/s, pkts/s,
, , .
where matrices
–
are given in (
55)–(
63).
The results are shown in
Table 6 and should be compared with those in
Table 2, which were obtained for a similar set of parameters, except that the proportions of flow rates in
Table 6 are 1:9:50, while in
Table 2 they are 1:2:3. As can be observed, the maximum relative error in
Table 6 reaches
and is only slightly greater than that in
Table 2.
So far, the examples were focused on the accuracy of predictions provided by Theorem 1. It is also interesting to examine how the statistical properties of a flow influence its throughput.
In
Figure 7, the simulated throughput of flows 3, 6, and 9 is shown as a function of buffer size. All three flows have the same arrival rate of 300 pkts/s but differ in the variability of their interarrival times, ranging from the least variable flow 3 to the most variable flow 9. (We are back in the original flow parameterization, i.e., (
55)–(
63)).
As seen in
Figure 7, the variability of a flow has a tremendous impact on throughput, especially when the buffer is small or moderate. For instance, when
, two flows with the same arrival rate may have throughput values as different as 172.5 and 273.9 pkts/s.
We may now return to the accuracy of predictions offered by Theorem 1. In all the previous results, a highly variable service (transmission) time was used. Assume now that the transmission time is constant. In
Table 7, results for a buffer of 20 packets are shown;
Table 8 presents results for a buffer of 50 packets, while
Table 9 shows results for a buffer of 100 packets.
Table 7 ought to be considered in comparison with
Table 2, which uses the same parameters except for the transmission time distribution. As observed, the less variable service time reduces the maximum error from 7.5% in
Table 2 to 5.7% in
Table 7. Moreover, the error for the majority of flows is also significantly smaller in
Table 7 than in
Table 2. Similarly,
Table 8 ought to be considered in comparison with
Table 3, differing only in the transmission time distribution. The maximum error in
Table 8 is 1.1%, compared with 2.1% in
Table 3. Then,
Table 9 ought to be considered in comparison with
Table 4. The maximum error in
Table 9 is 0.4%, while in
Table 4 it is 0.5%.
Moreover, when comparing
Table 7 with
Table 2,
Table 8 with
Table 3, and
Table 9 with
Table 4, it becomes clear that a reduction in the variance of the service time increases per-flow throughput for every specific flow, and every specific buffer size.
Finally, similarly to the case of gamma service, enlarging the buffer leads to an increase in per-flow throughput–see
Table 7,
Table 8 and
Table 9 for a comparison across individual flows.
In
Figure 8, the simulated and derived per-flow throughput is shown for buffer sizes ranging from 20 to 100 packets, while
Figure 9 presents the corresponding relative errors.
Figure 8 and
Figure 9 were obtained assuming a constant service time and should be compared with
Figure 3 and
Figure 4, which were obtained for highly variable service times.
As seen in
Figure 8 and
Figure 9, the error decreases monotonically with increasing buffer size for all flows, except for flow 9, for which it remains close to zero across all buffer sizes.
In
Figure 10, the simulated and derived per-flow throughput is shown for system loads varying from 0.1 to 1, while
Figure 11 presents the corresponding relative errors. (Variable load was obtained by scaling the constant service time).
Figure 10 and
Figure 11 should be compared with
Figure 5 and
Figure 6, respectively.
As observed in
Figure 10 and
Figure 11, in the case of constant service time, the error also does not vary monotonically with
. Its maximum values occur around
–
, depending on the flow.
In the next set of results, the accuracy of predictions from Theorem 1 when the number of flows is 90 and 900 is tested.
Specifically, in the scenario with 90 flows, 10 flows of type (
55), 10 flows of type (
56), 10 flows of type (
57), and so on, are used. This gives a total arrival rate of
= 18,000 pkts/s. The service time is again gamma-distributed with parameters
and
, i.e., scaled to provide a service rate of 18,000 pkts/s (
), with
.
Similarly, in the scenario with 900 flows, 100 flows of type (
55), 100 flows of type (
56), and so on, are used. Hence,
= 180,000 pkts/s. The service time is gamma with the same
and
, i.e., scaled to a service rate of 180,000 pkts/s, while preserving
and
.
The results for the most demanding case–a very small buffer of 20 packets–are shown in
Table 10 and
Table 11, for 90 and 900 flows, respectively. These should be compared with the results in
Table 2, obtained for 9 flows of the same types with other parameters unchanged. As observed, the maximum error is 4% in
Table 10 and 1.2% in
Table 11, compared with 7.5% in
Table 2.
This result could have been expected. In the simplified model of
Section 3, on which Theorem 1 is based, the limiting theorem is applied to the background traffic. Therefore, the simplified model better approximates the background traffic as the number of flows increases. And, vice versa, it may lead to substantial errors with a small number of flows.
The final scenario will be devoted to a stress test of the simplified model, to check how much its accuracy can deteriorate. Specifically, a very small buffer will be assumed (10 packets), accompanied by very few flows (3 flows), a very high diversity of flow rates (10:90:1700 pkts/s), very high variability of interarrival times (
), and very high variability of service times (
). Specifically, the following MAP matrices will be exploited:
together with gamma service with parameters
and
.
The results are shown in
Table 12. As can be seen, the maximum error is now 22.9%, which is perhaps unacceptable in most applications. However, this outcome should be considered in light of two key factors.
Firstly, such parameterization is very unrealistic in the networking context. Specifically, it is unlikely that such a small buffer is used in a real networking device. It is also very unlikely that all the flows have such high variability of the interarrival time (with a standard deviation five times greater than the mean interarrival time). It is even less likely that the service time distribution has . For instance, in a typical IP network, packet sizes vary between 40 and 1500 bytes only. Hence, the greatest achievable coefficient of variation is far less than (consider a 50/50 split between minimum and maximum packet sizes as the worst case).
Secondly, and most importantly, there is no need to use the simplified model in the case of very few flows and a small buffer. In such a case, it is possible to solve the full model of
Section 3, because it involves matrices of reasonable size. For instance, in the stress-test scenario, these matrices would have sizes of only
.
7. Conclusions and Future Work
In the paper, the per-flow throughput of a FIFO buffer fed by complex traffic consisting of many flows with different statistical properties, was studied. Using a simplification based on a limiting theorem, formulae for per-flow throughput and loss ratio were derived (Theorem 1).
Due to the complexity of the model, it is practically impossible to prove rigorous error bounds for these formulae with respect to the full model, as functions of the model parameters.
Hence, the accuracy of the approximate results offered by Theorem 1 was tested in numerous demanding scenarios, involving flows with diversified rates and proportions, interarrival time variability, various buffer sizes, different system loads, three transmission time distributions, and four numbers of flows: 3, 9, 90, and 900.
The maximum error produced by Theorem 1 was about 8% in all scenarios with 9 or more flows, a buffer of at least 20 packets, and bandwidth consumed by any single flow no greater than 25%.
The maximum error dropped quickly with the buffer size, to 2.1% for and 0.5% for . It also dropped with the number of flows, to 4% for and 1.2% for , even when a small buffer was used.
In a stress-test scenario, with only 3 highly variable flows, one of which is consuming most of the bandwidth, a buffer of 10 packets, and highly variable service time, the maximum error was 23%, which is perhaps too much for most applications. This scenario was, however, highly unrealistic with respect to the very small buffer and extreme variability of the service time. Furthermore, it was argued that scenarios with a low number of flows can be solved numerically using the full model, with no approximations involved.
Finally, the impact of all system parameters on per-flow throughput was examined experimentally. In particular, it was observed that per-flow throughput decreases with increasing the variability of the interarrival time within the flow, decreases with increasing the variability of the service time, and increases with enlarging the buffer.
Future research directions may explore distributions of per-flow queueing delay or per-flow queue length, i.e., number of packets from each flow stored in the buffer at an arbitrary time. It may also consist of a comparison of the model with experiment results based on trace-fitted or real traffic data.