7
Multiple Flows Crossing One Server

A network is generally composed of several flows and servers. Each server can be shared by several flows, with each flow crossing a sequence of servers. In Chapter 5, we presented the model of one server crossed by a single flow, and in Chapter 6, we presented the model of one flow crossing a sequence of servers. In this chapter, we focus on the model of one server crossed by several flows.

The network calculus theory is based on the computation of performances of one flow crossing one server. The main argument of the previous chapter is that a sequence of servers can be modeled as a server whose service curve is the (min,plus) convolution of the service curves of the servers of that sequence.

In this chapter, we address the complementary problem: if one server is crossed by several flows, our goal is to compute the individual guarantee for each flow, or more precisely, a service curve for each individual flow. We will call this type of service curve a residual service curve. The other denominations found in the literature are left-over service curves and individual service curves.

Different characteristics of the server must be known before computing residual service curves:

  • – the global service offered by the server, which will be given by a service curve. The result will depend on the type of service curve;
  • – the arrival curve of each flow crossing the server;
  • – the service policy, which tells at each time what flow will be served.

The global service is the service offered to the global flow of data. In section 7.1, we will formalize the notions of server with multiple inputs and multiple outputs (MIMO server) and the aggregation of flows.

Different policies can be handled by network calculus, but it may happen that it is unknown. In that case, it is still possible to compute a residual service curve of a flow by considering the worst-case scenario that can happen to that flow. Intuitively, data from every other flow will be served before the data of that flow. This service policy is called blind or arbitrary multiplexing. This will be the subject of section 7.2.

Several service policies will be described and analyzed in section 7.3. The most classical one is the FIFO (first-in-first-out) policy, where data are served in their order of arrival, which will be addressed in section 7.3.1. We will also discuss in section 7.3.2 the SP (static priority) policies, where each flow is given a priority and will be served before the flows with lower priorities. Then, we will focus in section 7.3.3 on the general processor sharing policy, where each flow is guaranteed a fraction of the service. Finally, in section 7.3.4, we will study the EDF (earliest-deadline-first) policy, where each bit of data is assigned a deadline and data are served in increasing order of the deadlines. We note that these policies are fluid, and the packet-based policies will be discussed in Chapter 8.

7.1. MIMO servers and aggregation of flows

Roughly speaking, a MIMO (multiple inputs, multiple outputs) server is a server crossed by several flows. In the context of network calculus, such a server is still described by a service curve (and a service policy, which will be introduced later in this chapter). A service curve describes the total service offered by the server to the global arrival process. For this reason, we will first define the notion of aggregate flow. Then, we will give a formal definition of a MIMO server in terms of cumulative arrival and departure processes.

7.1.1. Aggregate flow

DEFINITION 7.1 (Aggregate cumulative process).– Let I be a finite set, and for all iI, let AiC be a cumulative arrival process. The aggregate cumulative process of (Ai)iI is

eq

It should be obvious that AC.

PROPOSITION 7.1 (Arrival curve of an aggregate flow).– Let I be a finite set, and for all i I, let Ai C be a cumulative arrival process with respective arrival curve αi. Then, α = ∑iI αi is an arrival curve for the aggregate cumulative processiI Ai.

PROOF.– image with imageimage, hence the result.

We note that this formula is not tight: consider the example of Figure 7.1. Set image (plain) and image (dashed). Then, α =A1 is an arrival curve for both A1 and A2. From the previous proposition, image is also an arrival curve for image. However, as shown in Figure 7.1, image is a better (i.e. smaller) arrival curve for A1 + A2. We refer the reader to section 6.3.2.3 for discussion about the modeling of such arrival curves.

image

Figure 7.1. Loss of accuracy in the aggregation of arrival curves. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

PROPOSITION 7.2 (Arrival curve of sub-flow).– If α is an arrival curve for some aggregate cumulative process image, then it is also an arrival curve for any Aj, image.

This proposition can be useful in at least two cases: first, when only an arrival curve of the aggregate flow has been computed; second, and more importantly, as in [BOY 10a], when the maximum service curve of a server is known, it enables us to use the results of Chapter 5 and improve the arrival curve of the aggregate departure process and thus of each flow.

PROOF.– For all image. As Ai are non-decreasing functions, for all image.

7.1.2. MIMO servers

In this section, we define servers with multiple inputs and multiple outputs. Here, we restrict the definitions to the cases where the number of inputs and outputs are equal. We will discuss the more general case at the end of the section.

DEFINITION 7.2 (MIMO Server).– A server image with multiple input and multiple output of dimension n is a relation between vectors of cumulative functions image such that image. To enforce the dimension of the server, we will call such a server an n-server in the following.

We will indistinctly use the notations image or image. When focusing on the pair of processes (Ai, Di), we will use the term flow i. As in the case of servers with a single input and output, we assume that for each flow, data are served in their arrival order (we call this a FIFO-per-flow policy).

If for each image there exists a unique image such that image, then server S is said to be deterministic, otherwise, it is said to be non-deterministic.

DEFINITION 7.3 (Aggregate server).– Let S be an n-server. The aggregate server S is the server associated with the aggregate processes:

[7.1]eq

DEFINITION 7.4 (Residual server).– Let S be an n-server. The residual server for flow i is

[7.2]eq

When focusing on flow i, we call the rest of the flows the cross-traffic.

We remark that, even when considering a deterministic MIMO server, each residual server can be non-deterministic since, in general, one departure process Di is related to the other processes image. This is another reason why the non-deterministic definition of a server is necessary.

The above two definitions allow us to reduce the analysis to the case of servers with a single input and a single output and then to use the results of Chapters 5 and 6. The aggregate server gives a global description of the server, i.e. it models the amount of data that can be served independently of the flows. On the contrary, a residual server only focuses on one flow and on that amount of data used for that flow.

The next two definitions are the counterpart of the service curve definition to the aggregate and residual servers.

DEFINITION 7.5 (Aggregate service curve).– A MIMO server S offers an aggregate service curve β of type image if and only if its aggregate server S offers a service curve β of type image.

DEFINITION 7.6 (Residual service curve).– A MIMO server S offers a residual service curve β of type image to flow i if and only if its residual server Si offers a minimal service curve β of type image.

In these definitions, the types image and image of the service curves refer to any definition of a service curve defined in Chapter 5, such as min-plus, strict, maximal and shaper. The notions of aggregate and residual service curves are illustrated in Figure 7.2.

image

Figure 7.2. Aggregate and residual servers

In the case of a strict service curve, the service curve definition depends on the backlogged period and the following lemma might be useful.

LEMMA 7.1 (MIMO and backlogged period).– Let S be an n-server, and image. Let A and D be the aggregate arrival and departure processes, respectively. We have the following properties:

  • – (s, t] is a backlogged period for imageimage;
  • if (s, t] is a backlogged period for flow i, then it is also a backlogged period for the aggregate server;
  • for all image, set s = Start A,D (t); for all image.

PROOF.– Recall that (s, t] is a backlogged period for (A, D) if and only if image, image and that image.

The three statements are then a direct consequence of the equivalence A(t) = image, which is true since AiDi for all i.

In fact, the residual service offered to a flow depends on the characteristics of the other flows and the scheduling policy of the server. The following sections are devoted to the computation of residual service curves depending on these parameters.

Different number of inputs and outputs: in this chapter, we will only focus on servers in which the number of inputs and outputs is the same and the data that arrived as flow i depart as flow i. It is possible to generalize this framework and to define MIMO servers in which the number of inputs and outputs differ. Chang has defined matrix extensions in [CHA 98], where each departure process in a (min,plus) combination of the arrival processes (the matrix operations are the minimum and the (min,plus) convolution). It should be possible to extend this matrix extension to the case where the number of inputs and outputs differ.

Without being so general, we can restrict to multicast, and in that case, it is possible to model it at no cost by duplicating the processes: for a server with one input and two outputs, for example, we will simply consider it as one server S, and for (A, D) ∈ S, we will define the two outputs as D1 = D and D2 = D.

7.2. Blind or arbitrary multiplexing

We say that the multiplexing is blind or arbitrary if no information about the service policy is available. In other words, every service policy needs to be taken into account, and thus the results hold for any service policy.

In this section, we will first show the fundamental result (Theorem 7.1) that enables us to compute the residual min-plus service curves from a server guaranteeing a strict aggregate service curve. In the rest of this section, we will precisely comment on the results, and in particular, the hypothesis made concerning the type of service curves and how to improve the result.

More precisely, in section 7.2.2, we will show that it is possible to compute strict residual service curves, where more knowledge in acquired about the server (maximum service curve or shaper), or at the cost of computing smaller residual service curves (which leads to worse performances). In section 7.2.3, we show that computing a useful min-plus service curve is not possible. The goal of this section is therefore to warn the reader against using service curves with negative values.

7.2.1. Blind multiplexing from an aggregate strict service

We now state the fundamental result of this section: we show how to compute a residual service curve for a flow crossing a server. This result does not depend on the service policy: it is a minimal guarantee. In the following section, more precise results, depending on the service policy, will be given.

THEOREM 7.1 (Blind multiplexing from a strict service curve).– Let S be an n-server offering a strict service curve image . If each cumulative arrival process Ai, i {1,…, n} has an arrival curve αi, then the residual server for flow i offers a minimal min-plus service curve βi,

[7.3]eq

Here, we have to be careful of the hypothesis about the type of service curves. We will illustrate after the proof that they are necessary.

PROOF.– With the notations of the statement, set image, image the start of the backlogged period (defined in equation [5.10]) and some u ∈ (s, t]. From Proposition 5.5, (s, u] is also a backlogged period, so by definition of the strict service curve, image. As s is the start of a backlogged period for the aggregate flow, from Lemma 7.1, image, Ai(s) = Di(s), and we can write

eq

where we used Dj (u) ≤ Aj (u) in the second line. Since the Dj’s are non-decreasing,image,

eq

As we assumed that β (0) = 0, and αj (0) ≥ 0, the inequality also holds for u = s. Then, substituting us by v leads to

eq

To conclude, with the definition of βi in the statement, imageimage.

image

Figure 7.3. Min-plus service curve for the aggregate server is not valid. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

Let us now comment on the hypothesis and tightness of this result.

Tightness. We note that if Ai = αi and the service offered is exactly β(t) in the first backlogged period starting at time 0, then the inequalities in the proof become equalities. The cumulative process is exactly βj in the first backlogged period, and the result can be considered as tight.

Strict service curve assumption. The result does not hold when the service offered to the aggregate server is a min-plus service curve. For example, consider a 2-server offering the min-plus service curve β2,2, A1 = λ1 and image. Assume D = (A1+ A2) ∗ β2,2, as depicted in Figure 7.3. Note that DA1, so the departure process for flow 1 can be chosen as D1 = D. Then, D2 = DD1 = 0. However, image β1,5, which is obviously not a service curve for flow 2. In this example, the priority is given to flow 1. As flow 1 always has some data arriving, these data are served and no service is available for flow 2. The key argument in this example is that the backlogged period is infinite. Another example can be found in [LEB 01, S. 6.2] and [BOU 11a, Proof of Thm. 2].

Nevertheless, this theorem does not state the impossibility of computing residual service curves from a min-plus service curve. In fact, one could have computed a min-plus residual service curve, but it might have taken negative values, which prevents its application for computing performances. This will be the object of Theorem 7.2. More interestingly, it will be possible for the FIFO service policies in section 7.3.1.

Min-plus residual service curve. The computed residual service curve is not a strict service curve. Consider, for instance, a 2-server which serves data at a constant rate 2: it has β = λ2 as a strict service curve. Let two flows cross this server with respective cumulative arrival processes A1 (t) = t+ 1 and A2 (t) = t. An arrival curve of flow 2 is α2 (t) = t. Figure 7.4 shows the trajectory of the system for the following policy: first, for 0 ≤ t ≤1, flow 1 is given top priority, then for t > 1, flow 2 is given top priority. Since the sum A1(t) + A2(t) = 2t + 1, the server is always backlogged and the sum of the cumulative departure functions is D1(t) + D2(t) = 2t. It can be checked that image is a service curve for flow 1 image, but it is not a strict service curve: during the period 1 ≤ t ≤ 2, flow 1 has some data backlogged in the server, but these data are not served at all.

image

Figure 7.4. Residual service curves are not necessarily strict. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

This counter-example also does not state that it is impossible to obtain a strict residual service: Corollary 7.1 will give a strict residual service curve, but it will not be tight. Also, several service policies, such as static priorities, general processor sharing or earliest deadline first, and tight residual strict service curves will be computed in the following section.

7.2.2. Blind multiplexing and strict residual service curves

THEOREM 7.2 (Strict residual service curve).– Let S be an n-server offering a strict service curve image. Suppose that the aggregate departure process of flows 2,…,n is constrained by the arrival curve α. Then, the residual server for flow 1 offers a strict service curve image.

PROOF.– The proof is similar to the one of Theorem 7.1, and even simpler: let (s, t] be a backlogged period of the aggregate server, for all u ∈ (s, t], we have

eq

so, similarly to the proof of Theorem 7.1,

eq

This holds for any s and t in the same backlogged period, so β1 is a strict service curve for flow 1.

This theorem can be applied in several cases. First, it can be combined with the results of Theorem 5.3. It suffices to compute the arrival curve of the appropriate departure processes. Suppose that αi is an arrival curve for the arrival process Ai.

For example:

  • – if the aggregate server is a σ-shaper, then σ is an arrival curve for the aggregate departure process, and thus, applying Proposition 7.2, it is for the aggregation of flows 2,…, n;
  • – if a min-plus service curve image is known for each flow j (e.g. by applying Theorem 7.1), then image is an arrival curve for the departure process of the aggregation of flows 2,…, n;
  • – it is also possible to apply Theorem 7.1 to flow 1 and the aggregation of flows 2,….,n. Then, image is a min-plus service curve for the aggregation of flows 2,….,n, and image is an arrival curve for the departure process of flows 2,…,n.

Combining the properties of Proposition 5.2 and all of these solutions leads to a strict service curve for flow 1

eq

In particular, we can apply this reasoning to obtain a strict service curve under the same hypothesis as in Theorem 7.1.

COROLLARY 7.1.– Let S be an n-server offering a strict service curve β. If each cumulative arrival process Ai, i ∈ {1,…,n} has an arrival curve αi, then the residual server for flow i offers a strict service curve

[7.4]eq

The above computation is quite general and might be used for different purposes. It can be seen as quite technical and with no practical interest, since the residual service curve will, in many cases, be smaller than the min-plus service curve image computed in Theorem 7.1 and, in particular, will not lead to better performance bounds.

It can also be applied in two cases:

  • Hierarchical scheduling: a residual service curve is computed for a flow, and this flow might be decomposed into sub-flows. It might be mandatory (depending on the scheduling policy) that the residual service curve that is computed is strict.
  • Improving a strict residual service curve: we will show in the following that for some scheduling policies, it is possible to compute strict residual service curves β1. If image is the service curve computed by Theorem 7.2, then image is also a strict service curve. It is especially the case when a σ-shaper is known. In this case, it is also possible to apply this theorem iteratively, by replacing β1 by image and applying Theorem 7.2 again.

7.2.3. Blind multiplexing and aggregate min-plus service curve

Theorem 7.1 derives a min-plus residual service curve from a strict aggregate service curve and we gave some illustrations as to why the strict and min-plus hypotheses are necessary. In this section, we attempt to find a min-plus residual service from a min-plus aggregate service.

WARNING.– This only has a theoretical interest, and we want to warn the reader against using it in practice, as the result cannot be applied to compute performance bounds.

THEOREM 7.3 (Blind multiplexing from a min-plus service curve).– Let S be an n-server offering a left-continuous min-plus service curve β. If each cumulative arrival process image has an arrival curve αi, then the residual server for flow i offers a min-plus service curve image,

[7.5]eq

PROOF.– Let image. The server offers a min-plus service curve, so image. From Proposition 3.10, since β is left-continuous, there exists s ∈ [0,t] such that

eq

This result does not contradict Theorem 7.1. The key point is that the residual curve image may take negative values, and, as it has been discussed in section 5.2.1, Theorem 5.2 does not hold in such a case. The property image holds, but Di (t) may remain null for all values of t, since image may remain negative.

Consider the same example as in Figure 7.3. We have A1 = λ1 and the service curve β2,2, so the residual service curve for flow 2 can be computed as image, which is shown in Figure 7.5. The theorem ensures that image. However, as image, no guarantee on the service is in fact computed.

image

Figure 7.5. The residual service curve in Theorem 7.3 can be negative. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

7.3. Some service policies

In this section, we study the most useful service policies:

  • – the first-in-first-out (FIFO) policy, where data are served in their order of arrival, which is presented in section 7.3.1;
  • – the static priority (SP), where flows are given different levels of priority and the flows with higher priorities are served first, which is presented in section 7.3.2;
  • – the general processor sharing (GPS), where the service available is shared in a configurable and fair way among the flows, which is presented in section 7.3.3;
  • – the earliest-deadline-first (EDF) policy, where each bit of data is given a deadline, and data are served in an increasing order of the deadlines, which is presented in section 7.3.4.

Before dealing with these different policies, let us give the two key points for the proofs that are similar in the four cases mentioned above.

  • The aggregate service equation: the aggregate server has a service curve (min-plus or strict), which gives the relation between A and D the respective aggregate arrival and departure process, in a way similar to Theorem 7.1.
  • The scheduling fundamental equation: the arrival and departure processes of each flow are related by some equations that depend on the service policy. These equations have to be clearly stated when defining the service policies.

Those two elements are then combined in order to obtain residual service curves.

7.3.1. First-in-first-out

The FIFO policy is one of the most famous service policies that is easy to implement in a per-packet server. Basically, a packet is served after every packet that arrive before it, but before every packet that arrive after it. In the context of network calculus, the FIFO policy needs to be defined in the general context of the cumulative arrival and departure functions of the server, i.e. without mentioning packets.

In this section, we will first give a formal definition of the FIFO policy and then demonstrate how to derive residual service curves of a FIFO server.

We note that, despite its quite intuitive semantics, the formal definition of the FIFO policy is not so straightforward (Definition 7.7) because of the potential discontinuities of the cumulative processes. We will give two kinds of residual service curves in Theorems 7.4 and 7.5. The first is based on the maximal delay and the second type will be more precise. The section ends with a discussion about the state of the art of this policy.

7.3.1.1. FIFO service policy with cumulative processes

Consider the example of a 2-server, with two cumulative arrival processes A1 and A2. Their respective departure processes D1 and D2 can be computed as illustrated in Figure 7.6.

  • FIFO multiplexing of several cumulative arrival functions: the aggregate cumulative function is A = A1 + A2;
  • Input-output transformation DA β;
  • FIFO demultiplexing of flows at the exit of the server, compute D1 and D2, exploiting the FIFO property of the server.

In the simple case of continuous cumulative arrival processes A1 and A2, we denote by D1 and D2 their respective departure processes and set A = A1 + A2 and D = D1 + D2. With the informal definition given above, it is easy to see that for all t ≥ 0, there exists u t such that A(u) = D(t) (β is continuous) and that image. If there are some discontinuities, this has to be adapted as in the next definition, because such a u may not exist.

image

Figure 7.6. FIFO multiplexing for cumulative processes. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

DEFINITION 7.7 (FIFO service policy).– Let image be an n-server. It is a FIFO server (or a FIFO n-server) ifimageimage,

[7.6]eq
[7.7]eq

These equations model the fact that if data of flow i arrived at time t are gone at time image, the same is true for any other flow and conversely.

The order of service of data that arrived simultaneously is not defined by Definition 7.7, so we might consider it as arbitrary.

The next lemma characterizes the FIFO policy as a function of the aggregate process, which will help in computing the residual service curves.

LEMMA 7.2 (Aggregation of FIFO flows).– Let image be a FIFO n-server. For all image, set image. Then,image,

eq

PROOF.– The two implications from the right-hand side to the left-hand side are direct consequences of the definitions of A and D.

For the two other implications, we proceed by contraposition. Let i ∈ {1,…, n} and suppose that image. Then, from Definition 7.7, for all ji, Dj (t) ≤ Aj (u) and consequently D(t) < A(u), hence the first implication.

The second is similar: suppose that image. Then, for all ji, Dj (t) ≥ Aj (u) and D(t) > A(u).

7.3.1.2. Delay bound for the FIFO policy

From the properties shown above, let us now compute the worst-case delay of a flow crossing a server. It is quite intuitive that it should be the same delay as the worst-case delay of the aggregate flow. Indeed, we assume a FIFO-per-flow policy; the delay defined for one flow is the maximum delay of any bit of data when served in their arrival order. This property is maintained for FIFO servers on the aggregate flow. Here, we give a formal proof of this fact.

THEOREM 7.4 (FIFO delay).– Let image be a FIFO n-server offering a min-plus service curve image. Suppose that for all i ∈ {1,…, n}, image is an arrival curve for each flow i. Then, S offers the residual service curve image to each flow i and image is an upper bound on the delay of the flow i.

Moreover, if image and are sub-additive, there exists A1,…,An respecting the constraints such that image is the worst-case delay for flow i.

PROOF.– For image, set image and image.

From Corollary 6.1, image is a service curve for the aggregate server: DAimage and image. From Lemma 7.2, this implies that for all image. Thus, image

Under the additional hypotheses and from Theorem 5.2, there exists (A1,A2, …, An, D1, D2,…, Dn) ∈ S such that there exists t with image. Indeed, it suffices to take Ai = αi (as αi is sub-additive) and image0). Finally, the two equivalences of Lemma 7.2 lead to image, which terminates the proof.

7.3.1.3. Residual service curves for a FIFO server

The maximum delay of a flow crossing a server is simple to compute: it is the delay of the aggregate flow. Dealing with residual service curves is much more involving. Indeed, an infinite family of residual service curves can be found, that cannot be compared. But, in contrast to the case of blind multiplexing, we do not need to consider strict service curves: min-plus service curves are enough.

THEOREM 7.5 (FIFO residual service curve).– Let image be a FIFO n-server offering a min-plus service curve image. Suppose that for all i ∈{1,…,n}, αiimage is an arrival curve for flow i. Then,image is a min-plus service curve for flow i with

eq

The existence of an arbitrary θ parameter is intriguing at first, but an interpretation will be given in section 7.3.1.4.

PROOF.– Let image.

Fix image and define image. Informally, u is the arrival time of the data that depart at time t, and because of the left-continuity of A and D, image. But, from Lemma 7.2, it holds that image,

eq

Now, fix image. Intuitively, we differentiate two cases: if the arrival time u is before or after tθ. If u < tθ, because of the FIFO hypothesis, no data that exit before time t arrived after time tθ. If utθ, we cannot say anything concerning the arrivals after t θ.

In the latter case, image. This means that imageimage.

In the first case, Proposition 3.10 together with the left-continuity of β and A implies that there exists image such that image and image, necessarily image, we also have imageimage for all flow j. Then,

eq

As we also have image, we obtain imageimage. This finishes the proof.

This theorem does not improve the worst-case delay that has already been computed in Theorem 7.4. However, Theorem 7.5 is much more precise as it computes residual service curves. First, better arrival curves for the output flows can be computed. Second, computing service curves can improve the performance bounds when dealing with a network of servers, as stated in section 6.1.2. This will be more precisely discussed in section 7.3.1.4.

EXAMPLE 7.1.– Consider a FIFO server crossed by two flows. Suppose that image is an arrival curve for flow 2 and that image is a service curve for the server, with R >r. Let us compute the residual service curves for flow 1 using Theorem 7.5.

If image, then image . In this case, the curves can be compared and the greatest is with image.

If image, then image. This function is represented in Figure 7.7. This figure also illustrates the fact that those curves cannot be compared.

COROLLARY 7.2 (Arrival curve of the departure function of a FIFO server).– Let image be a FIFO n-server offering a min-plus service curve image. Suppose that for all image is an arrival curve for each arrival flow i. With image defined as in Theorem 7.5, an arrival curve for the cumulative departure process of flow i is

[7.8]eq

PROOF.– From Theorem 5.3, for each image is an arrival curve for the departure process of flow i. Then, from Proposition 5.2, the infimum of arrival curves for a cumulative process is still an arrival curve for this process, hence the result.

image

Figure 7.7. A residual service curve for a FIFO server with a rate-latency service curve and affine arrival curves. Plain curve: image. Dashed curve: image. The dotted line is a construction line: from image, draw a line of slope R until θ to have the starting point of the positive part of the curve. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

EXAMPLE 7.2.– Continuing Example 7.1, assume that the arrival curve for flow 1 is image and that image. For all image. Arrival curves can be compared and the smallest is for image. The departure process has then arrival curve

eq

7.3.1.4. Discussing FIFO results

The FIFO service policy is a very special case in network calculus theory. Indeed, since the service inside each flow is also FIFO, the aggregate flow is also served in a FIFO way, so the analysis can be done using the results of Chapter 5, and in particular, Theorem 5.2 can be applied, which leads to Theorem 7.4. We also showed the optimality of this theorem in the sense that the computed delay bound cannot be improved by the more complex Theorem 7.5.

Using this latter theorem allows us to analyze a FIFO server per-flow and compute a residual service curve. The surprising fact here is that an infinite family of service curves, parametrized by θ , is then computed, and that these service curves are not comparable.

The θ parameter is a bet on the waiting time d of flow i. If the waiting time is less than θ , then βθ does not give any information about the service offered to the flow (βθ (d) = 0). However, if the waiting time is greater than θ, it means that the server has begun to send some data of others flows. With the notations of Example 7.1, the discontinuity of the service curve represents the amount of data image that can be reserved for data that spent more than a duration θ in the server for flow 1.

The parameter θ is important when analyzing a sequence of FIFO servers. It will be detailed in one example in Chapter 10, but roughly speaking, one parameter θj is computed for each server j, and from these parameters, the performance bounds can be computed. Choosing adequate θj parameters to get the smallest delay bound is the core of the works of [LEN 04] and [BIS 10].

We note that the delays of the FIFO policy on a full topology can also be analyzed without resorting to Theorem 7.5 but by using linear programming, as in Chapter 11.

Finally, the arrival curve of the departure process computed with Corollary 7.2 is more accurate than considering only the global delay [BOY 08]. Some analytic expressions have been developed for some sub-classes of functions. In [LEB 01, Thm. 6.2.2], the authors consider a minimal rate-latency service curve image, any sub-additive function α2 and image and prove that image, with an analytic expression of image. This result is generalized by [CHO 02], where Theorem 7.5 is not used; instead, the authors consider a λR-greedy shaper, and that α1 and α2 are both piecewise linear concave; they give a tight characterization of an arrival curve of the departure process image and an analytic expression if image. Conversely, in [BOY 08], the author considers α1 as any piecewise linear concave function and image and gives an analytic expression for image.

7.3.2. Static priority

Consider a server crossed by two flows. Suppose that flow 2 has a higher priority than flow 1. At first sight, one could say that this is the worst service policy for flow 1 and that the only residual service curve that can be computed is the one from Theorem 7.1. This is not completely true, as when the service policy is known, we can ensure that the residual service curves that are computed are strict.

DEFINITION 7.8 (Preemptive static priority (SP)).– Let image be an n-server crossed by flows 1,…,n and < be a total order on {1,…, n}. This server is a (preemptive) SP n-server with priority order < if imageimage,

eq

In other words, if some data with higher priority than flow i are backlogged, then flow i is not served. With our convention, if i < j, then flow i has a higher priority than flow j. From the definition, it is natural to consider strict service curves.

THEOREM 7.6 (Residual service curve for SP).– Let S be a preemptive SP n-server taking the natural order as priority order, offering an aggregate strict service curve β. Suppose that for all image is an arrival curve for each arrival flow i. Then, βi is a strict service curve offered to flow i, with

eq

PROOF.– From the definition, the flows with lower priority than flow i have no influence on the service offered to flow i, and only the aggregation of flows with higher priority matters. Therefore, it is sufficient to consider a server crossed by two flows: the flow of interest, which we now rename flow 2, and the aggregate flow of flows j, j <i, that has an arrival curve image, which we rename flow 1.

Let u and v with u < v, be two times in the same backlogged period for flow 2 in the server. From Lemma 7.1, u and v are in the same backlogged period of the aggregate flow, and we have image.

Let p be the start of the backlogged period of u for flow 1. From the definition, no data can be served for flow 2 between p and u, and we have:

eq

Between times p and v, we also have image. As image, we obtain

eq

We can apply the above formula for every image, as w remains in the same backlogged period as v:

eq

As D2 is non-decreasing, we also have imageimage and

[7.9]eq
[7.10]eq
[7.11]eq

As image, we have

eq

Moreover, as D2 is non-decreasing,

eq

This result considers that the scheduler is preemptive: if some data of a high priority flow arrives in the server, then is it served even if some data of a low priority flow were being served. Non-preemptive policies are often used when flows are made of packets. This will be studied in Chapter 8 and residual service curves will be computed in Theorem 8.3.

7.3.3. General processor sharing

General processor sharing (GPS) is a policy that guarantees a proportion of the global service to each flow. When some flow has no data in the server, then its remaining service is shared among the other flows.

DEFINITION 7.9 (GPS).– Let S be an n-server. This server is a GPS server (or GPS n-server) with parameters image, for all i, for all interval (s, t] such that flow i is backlogged, and for all j,

[7.12]eq

With the same notations as in the definition, we say that image is the parameter of flow i, and flow i is guaranteed a proportion image of the service. If image for all flows i, then the multiplexing is blind: there is no knowledge about the service policy. If flows exist (but not all) with null parameters, then those flows are given the lowest priority compared to flows with positive parameters. As a result, in the following, we will only consider flows with positive parameters.

The guarantee on the service depends on the difference image. Therefore, it is natural to consider strict service curves.

THEOREM 7.7 (GPS residual service curve).– Let S be a GPS n-server offering a strict service curve β , with non-null parameters image. Then, image is a strict service curve offered to flow i, where

[7.13]eq

PROOF.– Consider flow i, and s t in the same backlogged period for flow i. Then, s and t are in the same backlogged period of the aggregate flow and imageimage. On the other hand, we have imageimage. Summing those terms leads to

eq

So

eq

Theorem 7.7 gives a residual service curve regardless of the intensity of the crosstraffic. It allows us to get some bounds independent of the cross-traffic1, but these bounds can be very loose and can even be infinite although the server is stable. For example, consider two flows with respective arrival curves image crossing a server with service curve image. Suppose that image and image. Then, Theorem 7.7 guarantees a strict service curve image to flow 2. As α2 > image, stability is not ensured. However, from Theorem 7.1, the service curve imageimage is a min-plus service curve that is guaranteed for flow 2: this guarantee is ensured regardless of the service policy. We now show that this service curve can be used to improve the one of Theorem 7.7 under some additional assumptions.

THEOREM 7.8.– Consider a GPS n-server with positive parameters image offering a strict service curve β. Suppose that each flow i is αi-upper constrained. If β is convex and there exists image such that image is concave, then a strict service curve for flow n is

eq

Note that in the proof, we will use variable capacity nodes curves. It will be shown in Chapter 9 that strict and variable capacity node service curves are equivalent in the class of functions that we consider (convex, with a finite asymptotic service rate).

Informally, a variable capacity node (vnc) is a server for which a function C can be defined in such a way that C(t) is the amount of service that has been offered to data up to time t. Then, if (s, t] is a backlogged period, the amount of data served between time s and t is exactly C(t) − C(t). If (s, t] is not a backlogged period, the amount of data served is less than C(t) − C(s): some available service is when the server is empty. A server has a vnc service curve β if C(t) − C(s) ≥ β(ts) for all st.

Before proving this theorem, let us state some preliminary lemmas. First, we can generalize the definition of GPS to a subset of flows J ⊆ {1,…,n}.

LEMMA 7.3.– Suppose that flows 1,…,n cross S a GPS n-server with parameters image and suppose that βJ is a strict service curve for the aggregation of flows iJ ⊆{1,…n}. Then, the curve image is a strict service curve for flow i, iJ.

PROOF.– Let s < t such that (s, t] is a backlogged period of flow i. Then,

eq

We will use the property that in a variable capacity node with service curve β, there exists a non-decreasing function C such that for s and t in the same backlogged period, D(t) — D(s) = C(t) — C(s) ≥ β(ts).

Set image. Define image.

LEMMA 7.4.– Under the same hypothesis as in Theorem 7.8, image is a strict service curve for the aggregation of flows 2,…,n.

PROOF.– In this proof, in order to avoid too many normalizations, we assume that image. This is done without loss of generality, as the final result only depends on the ratios between parameters.

Let (s, t] be a backlogged period for the aggregation of flows 2,…,n. It is also a backlogged period for the total aggregate flow including flow 1. Let us denote image and image. Then, we have

eq

and

eq

Let p be the start of the backlogged period at s for flow 1. In the interval of time (p, s], the service offered to flow 1 is then at least image and D1(p) = A1(p):

eq

Combining the last two equations gives

eq

which can be rewritten as

eq

and using the arrival and service curves (and D1(t) ≤ A1(t))

eq

As β is convex and non-negative and non-decreasing and α1 concave, image is convex and non-decreasing from time t1.

Suppose that tst1. As ps by definition, tpts and imageimage. Then

eq

When tst1, as the Dis are non-decreasing, image, which ends the proof.

Now, we can derive a new service curve for each flow 2,…,n.

LEMMA 7.5.– Under the same hypothesis as in Theorem 7.8, for each i ≥ 2,

eq

is a strict service curve for flow i.

PROOF.– From Theorem 7.7 and Lemma 7.3, image and image are strict service curves for flow i. Then, the maximum of the two curves is also a strict service curve for flow i.

It remains to show that if image This is the case since if t t1, then image and image.

We can now prove Theorem 7.8.

PROOF OF THEOREM 7.8.– The result is proved by induction and by combining Lemmas 7.3 and 7.4. Define image (so that image and image) and image and

eq

We will prove that for all image is a strict service curve for the aggregation of flows i, …,n.

This is true for i = 1 by Theorem 7.7. Suppose it is true for i < n. Then image is a strict service curve for flows i, . . . , n. Again, by Lemma 7.4, image is a strict service curve for flows i + 1, . . . , n. But, as titi+1 by construction,

eq

As a result, image . It remains to check that for all imageimage. The reasoning is exactly the same as in the proof of Lemma 7.5.

The service curve computed in Theorem 7.8 can be optimized by setting a specific numbering for the flows. This ordering always consists in taking the flow minimizing ti. If we assume that image (which ensures that the backlogged periods are finite) for some t, all the tis are then finite: indeed, otherwise, one would have image, which is in contradiction with the hypothesis. Taking this order for the flows is optimal. Indeed, take Ai = αi for all flow i and C(t) = β(t) (satisfying the convexity and concavity assumptions). At time t1 , flow 1 is not backlogged anymore, while the other flows are backlogged. The service offered from time t1 is exactly β(t) − α1(t), and this service divides into the other flows and so on.

We note that the convexity and concavity hypothesis have only been used for ensuring that image is positive and non-decreasing from t1. The result could be applied in a more general setting by taking the non-decreasing envelope of image(and recursively for each flow).

Consider the same example as earlier: image and image and image, image. We can compute t1 = 0.5, and the residual strict service curve for flow 2 is image. The construction is illustrated in Figure 7.8.

image

Figure 7.8. Residual service curve for a GPS server. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

As mentioned in [PAR 93], GPS is an idealized discipline that assumes that bits of data are infinitely divisible. Practical implementations of GPS will be presented in Chapter 8.

7.3.4. Earliest-deadline-first

The earliest-deadline-first (EDF) service policy has been defined for scheduling tasks on a processor. Each task i has a release time ri and a deadline di, sometimes called the relative deadline. The scheduler always chooses to run the task i with the smallest value ri + di (called the absolute deadline). This is a preemptive scheduling policy: if a task is running, and if a new task is released with the smallest absolute deadline, the scheduler selects this new task, and suspends the current task, which will be resumed once it gets the smallest absolute deadline again.

The EDF policy is widely used and has been proved optimal in [BAR 90, BAR 99], in the context of a constant rate service.

EDF can be generalized as network packet scheduling: with each packet is associated a deadline di, and an arrival time ri; the scheduler then always selects the packet with the smallest value ri + di. In the case of the equality of absolute deadline, no priority is defined. This generalization is mainly theoretical, since preemption is very rare in networks.

There are few works on EDF in the network calculus framework. These works are mainly stated in the context of constant rate servers. Some recent works [LIE 11] present EDF as a generalization of FIFO and static priority and introduce the notion of Δ-scheduler. In this section, we present the results of the literature in the more general context of strict service curves and discuss the results of [LIE 11] in section 7.3.4.3. The scheduling problem has also been discussed in [LIE 96], and scheduling algorithms following EDF have been defined in [SAR 99].

7.3.4.1. EDF modeling

The definition of the EDF service policy as a formal relation on cumulative functions is not as straightforward as the previous service policies. For A, a cumulative arrival process, let us introduce the notations image and image, the respective processes before and after T. It can be easily checked that image. We also denote by image the departure process corresponding to the arrival process image (we take into account departures that correspond to data arrived after T). More formally, image and image.

In our model, we associate a deadline di with each flow i (each bit of data of flow i has the same relative deadline di) and define image.

Figure 7.9 illustrates the behavior of the EDF policy: consider flows i and j and time T. Data in image all have an absolute deadline before T, whereas data in image all have a deadline after T. As a result, image has a higher priority than image.

image

Figure 7.9. EDF scheduling: image has higher priority than image. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

DEFINITION 7.10 (EDF scheduler).– An n-server S is an EDF server (or EDF n-server) with deadline parameters imageimage,image has a higher priority than image. Equivalently (replacing T by image, we can write that image has a higher priority than image.

The aim of the next theorem is to compute the residual service curve for a given flow i. For this flow i, and a given time t, we can define

eq

the start of the backlogged period at time t of the flows with deadline before image, i.e. flows image. We then have

  • image;
  • – for all image;
  • – no data from flows with lower priority than flows image are served between times image and image, with image. Indeed, either a higher-priority flow imageis backlogged (between times image and t) or flow image is backlogged (between times t and image).

With these remarks, it is now possible to compute residual service curves under the EDF policy. Similar to the FIFO case, we will compute an infinite family of residual service curves, indexed by a parameter θ.

THEOREM 7.9 (EDF residual service curve).– Let image be an EDF n-server offering a strict service curve β C. Suppose that each flow i ∈ {1,…,n} has a deadline di and is constrained by the arrival curve image. Then, image is a min-plus service curve for flow i with

eq

PROOF.– Let image, set image and image.

Fix image and image. Let image.

As in the proof of Theorem 7.5, we distinguish two cases, whether image or image. We also note that u is in the same backlogged period as t for flow i.

If image, then, image.

If image, then image, so:

1) image;

2) image and t are in the same backlogged period for flow i, no data from the lower-priority flows image are served so between times image and image.

We can proceed as in Theorem 7.6 where the cross-traffic is composed of flows image:

eq

The second line uses image and image, the third line uses that image is an arrival curve for image and the last inequality uses that imageimage. Finally, as image, we can write

eq

Finally, as minimage, then imageimage and a min-plus service curve for flow i is imageimage.

7.3.4.2. Deadline compatibility and optimality of EDF

If every flow is assigned a (relative) deadline, then a service policy is deadline compatible if the delays of those flows never exceed their deadline.

DEFINITION 7.11 (Deadline compatibility).– An n-server S is said to be deadline compatible with parameters image and under constraints image if for all image such that for all i, Ai is αi-constrained and

[7.14]eq

Remember that from Proposition 3.2, for all image. A necessary condition for deadline compatibility is valid for any service policy.

THEOREM 7.10 (Necessary condition for deadline compatibility).– For all image , if an n-server with aggregate service image is deadline compatible image under constraints image, then

PROOF.– Set image and choose image such that image, with image and image (this is possible since the aggregate server is image. If S is deadline compatible, then image. Therefore, for all image and all image and, in particular, with image,

eq

This condition is not sufficient, especially because we consider min-plus service curves. Consider a 2-server and that the two flows have respective arrival curves image and image and deadlines 3 and 5. Assume that the server guarantees a min-plus service curve image. Now consider the arrival processes image and image two units of data arrive at time 0 for flow 2 and at time 0.5 for flow 1. If the departure process is as depicted in Figure 7.10, then data of flow 2 are served by time 0.5 (before the arrival of flow 1, which has a smaller deadline) and those of flow 1 are served by time 4, which means its delay is 3.5 > 3. This example is quite generic, so from now on, we will focus on strict service curves only, where the above condition is necessary and sufficient.

image

Figure 7.10. The condition image is not sufficient for the deadline compatibility of image. For a color version of this figure, see www.iste.co.uk/bouillard/calculus.zip

THEOREM 7.11 (Deadline compatibility condition).– For all β C super-additive, there exists an n-server with aggregate service Sstrict(β) that is deadline compatible images under sub-additive constraints images if and only if

[7.16]eq

The additional condition is here only to restrict to the maximal length of a backlogged period.

PROOF.– We show that the EDF server is deadline compatible. Set imagesimages.

On the one hand, set Ai = αi and choose D1, …,Dn such that D = β on [0, v). If S is deadline compatible, then for all t ∈ [0, v), images. Therefore, one must have

eq

On the other hand, suppose that images for all t ∈ [0,v) and consider the EDF policy for this server. For each flow i, set θ = di, so imagesimages. Then, images, so the deadline di is satisfied.

Combining Theorems 7.10 and 7.11 yields EDF optimality with regard to deadline compatibility. Given a strict service curve, if a scheduler respects the given set of deadlines, then its capacity satisfies equation [7.15], and if this condition holds, then the EDF scheduler also respects the deadlines.

This result was already known in the context of scheduling (see [BAR 90]) but only for sporadic tasks and constant rate service.

7.3.4.3. EDF, FIFO, SP and images-schedulers

The EDF policy can be seen as a generalization of the FIFO policy in the context of strict service curves. Indeed, if a server guarantees a strict service curve, then it also guarantees a min-plus service curve and Theorem 7.9 still holds. Then, it can be interpreted in the EDF context with images for all i and j: when all deadlines are equal and an EDF scheduler behaves as a FIFO scheduler.

The EDF policy can also be interpreted as a generalization of the static priority policy, if we allow infinite values for images if images, di can be interpreted as infinitely larger than dj, then flow j will have the priority over flow i and image . On the contrary, if image, flow i will have the priority over flow j and image. The residual curve computed for image is image, where image is the set of flows with higher priority than flow i.

These remarks and the results about the EDF residual service curve we presented come from [LIE 11], where the proof is done for constant rate servers under the name of Δ-schedulers. The proof we gave here is a corrected and direct adaptation to the strict service curve case.

7.4. Summary

The results of this chapter are recapitulated in the following figure and table. For the sake of simplicity, we write the formulas for two flows.

image

Table 7.1. Summary of the residual service curves

Policy

Agg. sc type image

Residual service curve

Res. sc type image

Blind (p. 156)

strict

image

min-plus

Blind (p. 160)

strict

image

strict

FIFO (p. 165)

min-plus

image

min-plus

FIFO (p. 166)

min-plus

image

min-plus

SP (p. 170)

strict

image

strict

GPS (p. 171)

strict

image

strict

EDF (p. 178)

strict

image

min-plus

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset