Abstract
In this paper, we propose and analyze a methodology for providing absolute
differentiated services for real-time applications in networks that use
static priority scheduler.
We extend the previous work on the worst case delay analysis and develop a
method that can
be used to derive delay bound without specific information on flow population.
With this new method,
we are able to successfully employ Utilization-based Admission Control
(UBAC) approach
in flow admission. The UBAC does not require explicit delay computation at
admission time
and hence is scalable to large systems.
We also design and analyze several priority assignment algorithms, and
investigate their capability
of achieving higher utilization bounds. Traditional method of priority
assignment in this
domain has been one-to-one: all the flows in one class are assigned to one
priority. We find that
our newly designed algorithm many-to-many outperforms the one-to-one
algorithm significantly.
absolute differentiated services, static priority scheduling, utilization-based admission control, priority assignment.
Term | Description |
f(i)p,k,j(t) | The amount of the traffic with priority p of Class i arriving at Server k at input link j during time interval [0,t) |
F(i)p,k,j(I) | The traffic constraint function of f(i)p,k,j(t) |
s(i) | The burst size of a flow of Class i |
r(i) | The average rate of a flow of Class i |
D(i) | The end-to-end deadline requirement of traffic of Class i |
dp,k | The worst case queuing delay suffered by the traffic with priority p at Server k |
G(i)p,j,k | The set of all flows with priority p of Class i going throught Server k from input link j |
n(i)p,j,k | The number of flows in Group of Flow G(i)p,j,k |
a(i)p,k | The ratio of the link server bandwidth allocated to traffic with priority p of Class i at Server k |
Y(i)p,k | The maximum of the worst case delays experienced by all flows with priority p of Class i before arriving at Server k |
N(i)p,k | The number of flows of Class i with priority p at Server k |
M | The number of classes |
N | The maximum number of available priorities |
L | The number of input links for a router |
V | The set of all link servers in network G |
E | The set of edges in network G |
C | The link capacity |
1 Introduction
In this paper, we study a methodology for providing absolute differentiated services for real-time applications in networks that uses static priority scheduler. We extend the previous results on delay analysis, address the priority assignment problem, and hence are able to provide a solution that is practical and effective.
1.1 Absolute Differentiated Services
The recent development of the differentiated service (Diffserv) Internet model is aimed at supporting service differentiation for aggregated traffic in a scalable manner. Many approaches have been proposed to realize the Differv model. At one end of the spectrum, absolute differentiated services [16,17,18] seek to provide Intserv-type end-to-end absolute performance measures without per-flow state in network core. In this approach, the user receives an absolute service profile (e.g., certain guarantees on bandwidth, or any end-to-end delay). For example, assuming that no dynamic routing occurs, the premium service can offer the user a performance level that is similar to that a leased-line, as long as the user's traffic is limited to a given bandwidth [16]. At the other end of spectrum, relative differentiated services seek to provide per-hop, per-class relative services [8]. Consequently, the network cannot provide worst case bounds for a service metric. Instead, each router only guarantees that the service invariant is locally maintained, even though the absolute end-to-end service might vary with networking conditions.
Many real-time applications, e.g., Voice over IP, DoD's C4I, and industrial control systems, demand efficient and effective communication services. In this context, by real time we mean that a packet is delivered from its source to the destination within a predefined end-to-end deadline. Packets delivered beyond these end-to-end deadlines are considered useless. Real-time applications need absolute differentiated services in order to have a guarantee on the end-to-end delay. Consequently, in this paper, we will focus on a quality-of-service architecture that provides end-to-end absolute differentiated services.
Progress has been made to provide absolute differentiated services for real-time applications in networks with rate-based scheduling algorithms [18]. In this paper, we consider networks that use static priority scheduler. Given the static priority schedulers have been supported in many current routers, our approaches can be easily implemented in the existing networks.
1.2 Admission Control
Clearly, admission control is critical to provide absolute differentiated services. In the Diffserv domain, admission control must be realized in a scalable fashion. We will use Utilization-based Admission Control (UBAC) approach in this study. The key idea behind the UBAC approach is the employment of a utilization bound which has the following physical meaning: as long as the utilization values of links along the path of a flow is not beyond the bound value, the end-to-end deadline requirement of the flow can be met. The correctness of the utilization bound is verified at the system configuration time. Once verified, the use of the utilization bound is relatively simple at flow admission time: Upon the arrival of a flow establishment request, the admission control admits the flow if the utilization values of links along the path of the new flow are no more than the bound. Thus, the UBAC approach eliminates explicit delay computation at admission time, and helps the system to scale up.
1.3 Flow-Population-Insensitive Delay Analysis
The challenge of using the UBAC method is how to verify the correctness of a utilization bound at the configuration time. Obviously, the verification will have to be involved with delay analysis. We will follow the approach proposed by Cruz [5] for analyzing delays. While Cruz's approach has been widely investigated in many studies, we need to modify it in order to achieve our objective. In particular, the delay derivation proposed in [5] depends on the information of flow population, i.e., the number of flows at input links and the traffic characteristics (e.g., the average rate and burst size) of flows. However, in our case the delay analysis is done at the system configuration time and hence the information of flow population is not available. We will extend the Cruz's approach and develop a method that allows us to analyze the delays without depending on the dynamic status of flow population.
1.4 Priority Assignment
Priority Assignment is an inherent issue in the networks with static priority scheduling. As priority assignment has direct impact on the delay performance of individual packets, it must be carefully addressed. In Diffserv domain, applications are differentiated by their classes. Accordingly, many previous studies assume that priorities are assigned based on classes only, typically, the flows in a class are assigned by the same priority [4]. Flows from different classes are given different priority. We study more generalized priority assignment algorithms. We allow that the flows in a class may be assigned by different priorities and flows from different classes may share a same priority. While the proposed algorithms are still relatively simple and efficient, we find they are effective in achieving higher utilization bounds.
1.5 Organization of this Paper
The rest of the paper is organized as follows. In Section II, we describe previous work that is related to our work. The underlying network and traffic models for this study are introduced in Section III. In Section IV, we introduce our proposed architecture on providing absolute differentiated services in the networks with static priority scheduling. In Section V, we derive delay computation formula that is insensitive to the information of flow population. In Section VI, we discuss our heuristic algorithms for priority assignments. In Section VII, we illustrate with extensive experimental data that the utilization achieved by our new algorithms is much higher than traditional methods. A summary of this paper and motivation of future work are given in Section VIII.
2 Previous Works
2.1 Absolute Differentiated Services
A good survey to the recent work on absolute differentiated services and relative
differentiated services has been done in [17]. Here, we compare
our work with others from the view point of providing absolute differentiated services. Nicols et. al. [16] have proposed
premium service model that provides the equivalent of a dedicated link between two
access routers. It provides absolute differentiated
services in
priority-driven scheduling networks with two priorities, in which the high
priority is reserved for premium service. The algorithm in [6] provides both guaranteed and statistical rate and delay bounds, and
addresses scalability through traffic aggregation and statistical multiplexing.
Stoica and Zhang describe
an architecture to provide guaranteed service without per-flow state management by
using a technique called dynamic packet state (DPS) [18]. Our work is
based on static priority scheduling algorithm, which is relatively simple and widely
supported.
2.2 Admission Control
Admission control is a mean to provide service guarantees. Admission control has been investigated widely [7,9,15]. They are different from each other in the senses of the different scheduling schemes involved, and their complexity.
The traditional admission control in the static priority scheduling network is very complicated. Due to absence of flow separation, for any new arrival flow request, the traditional admission control need perform an explicit delay computation and verification for all existing flows plus the new flow. This procedure introduces significant flow-number-dependent run-time overhead. In this paper, Utilization-based Admission Control (UBAC) is adopted, and the complexity is reduced dramatically.
Utilization-based Admission Control (UBAC) was first proposed in [14] on preemptive scheduling of periodic tasks. A variety of the utilization levels for different settings have been found, e.g., 69% and 100% for periodic tasks on a single server using rate-monotonic and earliest-deadline-first scheduling, respectively[14], or 33% for synchronous traffic over FDDI networks [22]. In this paper, we adopt this approach in providing absolute differentiated services in static priority scheduling networks.
2.3 Priority Assignment
This paper focuses on priority assignment in static priority scheduling networks for real-time communication applications, within Diffserv domain. [5] proposed a two-priority assignment scheme for a ring network. [13] described and examined various priority assignment methods for ATM networks. Our work is the very first on priority assignment for proving absolute differentiated services.
3 Network and Traffic Models
In this section, we describe the model and define the terminology that will be used in the rest of this paper.
DEFINITION 1 The traffic function f(i)p,k,j(t) is defined as the amount of the traffic with priority p of Class i arriving at Server k at input link j during time interval [0,t).
Traffic functions are cumbersome to handle and not of much help in admission control, as they are time dependent. A time-independent traffic characterization is given by the traffic constraint function, which is defined as follows [5]:
DEFINITION 2
Function F(i)p,k,j(I) is called the traffic constraint function of f(i)p,k,j(t) if
f(i)p,k,j(t+I) - f(i)p,k,j(t) £ F(i)p,k,j(I). (1)
We assume that the source traffic of a flow in Class i is controlled by a leaky bucket with burst size s(i) and average rate r(i). The total amount of traffic generated by this source during any time interval [t,t+I) is bounded by min{CI, s(i) + r(i) I}.
The QoS requirements of flows (in our case, end-to-end delay requirements) are specified on a class-by-class basis as well. For our purpose, we define the end-to-end deadline requirement of Class i traffic to be D(i) and use a triple ás(i),r(i), D(i) ñ to represent Class i traffic. As no distinction is made between flows belonging to the same class, all flows in the same class are guaranteed the same delay. We use dp,k to denote the worst-case delay suffered by flows with priority p at Server k. We use vector [d\vec] to denote the upper bounds of the delays suffered by the traffic with all priorities at all servers:
|
In the following discussion, we will rely heavily on vector notation. If the symbol a(i) denotes some value specific to Class i traffic, then the notation [a\vec] denotes the M-dimensional vector (a(1),a(2),...,a(M)). We will use the operator ``°" for the inner product and the operator ``|| ·||" for the zero norm, that is,
|
|
4 A QoS Architecture for Absolute Differentiated Services
In this section, we introduce an architecture which is used to provide absolute differentiated services in static priority scheduling networks. This architecture consists of three major modules:
For simplicity, we also consider this architecture within a single domain. For each domain, we designate a domain resource manager (DRM), which is performed after the Bandwidth Broker in [16]. The DRM has access to the whole domain topology and link capacity information. It performs the delay computation and verification at configuration time as well as admission control at run time.
In addition to forwarding packets, the edge routers participate in the flow establishment. They are responsible for communicating with the DRM. For communication between edge routers and the DRM, we use the policy client-server protocol, such as COPS [2].
Upon receiving a flow admission request, the ingress router forwards it requests to the DRM. The DRM invokes its admission control function, and sends a policy (for example, the admission decision and traffic shaping policing parameters) to the edge router.
Once a flow is admitted, the edge routers will appropriately filter the incoming traffic according to the policies just set. For each packet passing through the filter, the priority is marked in the TOS field in the packet header and the packet is forwarded to the appropriate output links. Core routers then honor the priority in their packet forwarding scheduling.
The information maintained in the DRM is limited to one counter for each class per priority per link server, requiring very little memory storage. Also, in admission control the DRM need only check the bandwidth usage along the path of the flow in its local database, making the run time overhead very low. Based on this consideration, we believe that the DRM will not be a bottleneck for the performance of network.
In the rest of this paper, we will focus on two critical issues that must be addressed in order to realize this architecture: flow-population-insensitive delay computation analysis and priority assignment.
5 Flow-Population-Insensitive Delay Computation
In this section, we will present our new delay computation formula that is insensitive to flow population. We then discuss the approach with which this delay formula is derived.
5.1 Main Result
Generally speaking, with static priority scheduling, the worst-case delays on link servers depend on the number and traffic characteristics of flows competing for the server. Inside the network, the traffic characteristics of a flow at the input of a server depends on the amount of contention experienced upstream by that flow. Intuitively, all the flows currently established in the network must be known in order to compute delays when no flow separation is provided, which is the case when static priority scheduling is used. Delay formulas for this type of systems have been derived for a variety of scheduling algorithms [12]. While such formulas could be used (at quite some expense) for flow establishment at system run-time, they are not applicable for delay computation during configuration time, as they rely on information about flows population.
As the information is not available at configuration time, the worst case delays may be determined under the assumption of the worst case combination of flows has been established. An impractical way is to exhaustively enumerate all possible combinations of flows in the system and compute the delays on the servers for the every possible combination to gain the worst case delays. Fortunately, we can derive an upper bound on the worst case delay without having to exhaust all the flow combinations as shown in the following theorem:
Theorem 1
The worst case queuing delay dp,k suffered by the traffic with priority p at Server k is bounded by
dp,k £
å
q £ p
(
®
a
q,k
°
®
Z
q,k
) - (1 -
å
q £ p
||
®
a
q,k
||)
®
a
p,k
°
®
Z
p,k
L-||
®
a
p,k<