Traffic Control through In-Service Monitoring for QoS ... - CiteSeerX

0 downloads 0 Views 387KB Size Report
Traffic Control through In-Service Monitoring for QoS. Improvement in ATM Networks. Yaw-Chung Chen, Shuo-Cheng Hu, Chia-Tai Chan, and Pi-Chung Wang.
286

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL.1, NO.4, DECEMBER 1999

Traffic Control through In-Service Monitoring for QoS Improvement in ATM Networks Yaw-Chung Chen, Shuo-Cheng Hu, Chia-Tai Chan, and Pi-Chung Wang Abstract: Asynchronous transfer mode (ATM) networks are expected to support multimedia communications with diverse traffic characteristics, these traffic are statistically multiplexed to efficiently utilize the network bandwidth. However, the high bandwidth utilization may deteriorate traffic-dependent quality of service (QoS). To accommodate QoS requirements while still maintaining high bandwidth utilization, it is necessary to prioritize user’s service requirements through effective resource management. This article presents a traffic control approach through inservice monitoring, which employs dynamic buffer allocation to allow complete buffer sharing by all service classes as well as improves QoS of delay-sensitive traffic using the so-called Earliest Expected Due-time First scheduling. The simulation results demonstrate that diverse multimedia traffic achieves satisfactory performance using our scheme. A feasible implementation architecture is also addressed. Index Terms: Asynchronous transfer mode, quality of service, inservice monitoring.

I. INTRODUCTION Multimedia communication services in ATM networks usually have diverse requirements on quality of services (QoS) [10] such as cell delay bound and cell loss probability. Since ATM takes the statistical multiplexing technique to efficiently utilize the network bandwidth, it provides a flexible and efficient mechanism to transfer different types of traffic. However, the high bandwidth utilization may cause the deterioration of trafficdependent QoS, therefore, an efficient traffic control approach may be necessary. In ATM networks, Connection Admission Control (CAC) is the primary means for preventing congestion and maintaining QoS. The effectiveness of CAC depends on the preciseness of the source traffic models and the optimization criteria of resource allocation mechanism. Due to unpredictability of traffic, it is hard to develop accurate source models. Furthermore, the interaction between the aggregated traffic streams may lead to the bias of CAC. Thus performance monitoring is essential to support precise and optimized control decisions. Furthermore, the monitored results can be used to evaluate the effectiveness of a control mechanism. In this work, we investigate a traffic control approach through in-service monitoring to improve the QoS. There are two objectives, to maintain different Manuscript received September 9, 1998; approved for publication by Byung G. Kim, Division III Editor, November 24, 1999. Y. C. Chen, S. C. Hu, and P. C. Wang are with the Department of Computer Science and Info. Engineering, National Chiao Tung University, Hsinchu, Taiwan 30050, R.O.C., e-mail: [email protected]. C. T. Chan is with the Telecommunication Lab., Chunghwa Telecom Co., Ltd.

QoSs for multiple classes under limited resources, and to provide higher priority classes with better services under fair condition. Several buffer architectures have been compared [3], in which output queuing and complete buffer sharing are used to achieve the optimal throughput-delay performance in a packet switching system. However, these architectures employ the FIFO scheme, in which higher priority cells may suffer excessive delay and loss under heavy traffic load. To support the QoS guarantee while still maintaining the high bandwidth utilization, prioritizing user’s service requirements may be necessary. A better approach is using priority queues to accommodate different QoS classes. Most buffer management schemes either consider space priority solely, or only deal with the time priority, thus they are unable to accommodate different QoSs of multiple traffic classes. The queue management in [24] supports QoS with both delay sensitive and loss sensitive parameters specified for each connection. It is different from our proposed method in that we use a dynamic buffer allocation scheme to improve the buffer utilization, while in [24], only a push-out policy is used. Our proposed scheme consists of the intelligent buffer management and the Earliest Expected Due-time First (EEDF) scheduling discipline. The former maintains a dynamic protective threshold for each class and adjusts the maximum queue size to improve the cell loss ratio (CLR) through in-service monitoring. While the latter ensures the cell delay performance of each individual class based on a due time concept [5]. The rest of this article is organized as follows. In Section II, we make a brief overview of related buffer management schemes. In Section III, we address our priority buffer management scheme in detail. In Section IV, the simulation model and results are discussed, also comparisons with other schemes are presented. Section V concludes the work.

II. RELATED BUFFER MANAGEMENT SCHEMES Most ATM buffer management schemes fall into one of two categories: space priority policies and time priority policies. The former focuses on different cell loss classes, while the latter emphasizes different cell delay classes. In addition, there are schemes which combine both two policies to support various QoS requirements. Space Priority Policies: These policies assign a higher priority to the traffic requiring a smaller cell loss ratio. Many space priority policies have been proposed. Typical examples are partial buffer sharing (threshold) policy [4], [7], [18], [19] and push-out policy [4], [7], [14], [19], [20]. The former has

1229-2370/99/$10.00 c 1999 KICS

CHEN et al.: TRAFFIC CONTROL THROUGH IN-SERVICE MONITORING FOR QOS...

a problem in choosing the proper threshold T , while the latter has two variations, the threshold push-out scheme and the parameter push-out scheme [8], both have little modifications to the original one. In addition, the separate buffers, the dynamic threshold, the extended threshold, the simulated protective policy [21], etc. are all categorized into the push-out policy. These methods are simple with low processing complexities. However, their service scheduling disciplines are mostly first-come-firstserve (FCFS) which is not appropriate for supporting multiple cell delay classes. Nested Threshold Cell Discarding (NTCD) [13] has attracted a great deal of attention as a simple ATM network congestion control mechanism. However, its obvious drawback is that some cells may be discarded even the buffer space is not full. To improve NTCD, NTCD/suspended execution (SE) and Dual queue NTCD are proposed [15], but these two schemes can not distinguish different levels of cell queuing delay. Time Priority Policies: A time priority policy supports multiple delay classes since it provides the delay quality by giving higher priority to those services requiring shorter cell transfer delay. Various time priority scheduling schemes such as headof-line (HOL) service policy, head-of-line with priority jump (HOL-PJ) [22], earliest due date (EDD) [1], [2], oldest customer first (OCF) [6], and earliest deadline first (EDF) [12] have been discussed. There are several other disciplines such as virtual clock, fair queuing, and self-clocked fair queuing [11] which consider the virtual time priority to schedule cell departures. In the aspect of supporting multimedia communications, these schemes still have some deficiencies. First, the required processing overhead of cell monitoring for priority change is large. Second, a low priority class often suffers from large cell loss ratio because it is lack of a selective discarding mechanism. Third, they are unable to accommodate different CLR requirements for multimedia traffic with multiple service classes. The queuing analysis-based scheme is a synthesis method regarding the buffer allocation for multimedia traffic based on the conservation law of M/D/1 queue with finite-capacity [8]. It follows two principles: the service discipline controls the cell delay, and the buffer management handles the cell loss. It needs to compromise between the delay and the loss probability in designing the output buffer management. This method guarantees the QoS of no more than two classes precisely. It is neither practical nor feasible in implementation. The gated priority scheme [23] concerns both cell delay and cell loss of each class in an ATM switch with finite output buffers. For each class, it is able to control the delay time by adjusting the threshold and handle the cell loss ratio by presetting the buffer size. It improves the QoS by choosing an appropriate threshold. Again, this scheme neither controls the QoS precisely nor handles more than two classes. Furthermore, an incoming delay-sensitive cell will be discarded if the buffer is full, but a loss-sensitive cell will be stored by replacing a delay-sensitive cell, thus the delay-sensitive class may suffer large cell loss in gated priority scheme. Several in-service CLR monitoring methods have been proposed [25], [27]. The basic idea of these works is to employ pseudo-buffers, and their associated cell-overflow events can be detected and counted dynamically. Then, a linear regression al-

287

gorithm is applied to estimate the CLR based on a given physical buffer size. Buffering policies discussed in this section have a common problem that is the difficulty to accommodate different QoSs (both cell delay and cell loss requirements) of multiple traffic classes. In this work, we propose an effective buffer management scheme to resolve the issue. What we focus on is to adjust the buffer size dynamically according to the result of inservice monitoring, and to exploit the advantages of the dynamic buffer adjustment. III. PROPOSED TRAFFIC CONTROL APPROACH Services provided at the ATM layer consists of five classes, which feature either real-time or non-real-time characteristic. For real-time traffic, there are Constant Bit Rate (CBR) and real-time Variable Bit Rate (rtVBR). While three non-real-time classes are non-real-time Variable Bit rater (nrtVBR), Available Bit Rate (ABR) and Unspecified Bit Rate (UBR). The QoS parameters are negotiated between the end-systems and the network using UNI and network signaling protocol. In this work, the QoS parameters including bounded end-to-end cell delay and cell loss ratio are offered on a per connection basis. In ITU Recommendation I.361 the coding of ATM cells is described in detail. The Cell Loss Priority (CLP) bit indicates whether a cell has a higher priority (CLP=0) or it subjects to discarding in the network (CLP=1). The value may be set by the user or by the network as a result of the policing function, such as the Usage Parameter Control (UPC). UPC ensures that network resources are fairly allocated among users according to their traffic contracts. Two equivalent versions for Generic Cell Rate Algorithm (GCRA) are defined in ITU Recommendation I.371, namely Virtual scheduling (VS) and continuousstate Leaky Bucket (LB) algorithm. Both algorithms determine whether an arriving cell is conforming (CLP=0) or nonconforming (CLR=1). Since the UPC intends to ensure conformance by a connection with the negotiated traffic contract. The UPC functions may include cell passing, cell tagging and cell discarding. The UPC functions assumed in this work is a cell discarding strategy that discards a cell when it is identified as non-conforming. Therefore, cells belonging to a connection only has a single priority (CLP=0). To accommodate various QoS requirements for multimedia traffic, we employs a dynamic buffer adjustment scheme to deal with various cell loss probabilities for different service classes, as well as uses a time-priority scheduling technique to handle the delay-guaranteed traffic. The dynamic buffer adjustment is based on monitoring the cell loss ratio of each queue, regardless of the traffic intensity and the arriving traffic patterns. The timepriority scheduling discipline serves arriving cells based on their expected due-time. A. The Framework Assume that each output port has a finite buffer of size B . To achieve the QoS for multiple traffic classes with various celldelay and cell-loss requirements, we use multiple queues for each output port. That is, dividing the output buffer into N queues for N service classes. The value N is equal to Nd  Nl

288

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL.1, NO.4, DECEMBER 1999

  ,QSXW /LQN

&'

1

6

2XWSXW /LQN

6 ((') 6FKHGXOHU &' &HOO 'LVWULEXWRU &0 &HOO 0RQLWRU '%0 '\QDPLF %XIIHU 0DQDJHPHQW a1 /RJLFDO SDUWLWLRQ RI VKDUHG EXIIHU SRRO

byte 63

2

Á

Á

Á

byte

Á

9

(Pointer)

(Incoming Cell)

5

4

53 bytes

6KDUHG %XIIHU 3RRO &0

Á

61

3

0

2 3

(Reserved) (Address)

(CI) (due-date)

Fig. 2. The structure of the cell-buffer-unit.

'%0 1F



Fig. 1. The logical structure of proposed priority queuing control.

where Nd and Nl are the number of delay classes and the number of loss classes respectively. The proposed structure for each port consists of a cell distributor (CD), a cell-loss ratio (CLR) monitor, an earliest expected due-time first (EEDF) scheduler, and N logically partitioned queues as shown in Fig. 1. Different connections with identical end-to-end delay requirement may have different end-to-end path configurations. A switch may have to treat these connections in different time priorities, even they are with the same traffic type. During the connection setup process, the calling party inserts the end-to-end transit delay requirement into the SETUP message. Each intermediate node then adds the fixed processing delay and the expected queuing delay of the connection to the cumulative transit delay in the SETUP message. When the SETUP message arrives at the destination, the expected end-to-end transit delay can be obtained. If this expected end-to-end delay is greater than the allowed value, the CAC process will reject the connection request. Through this manner, an intermediate switch is able to assign the connection to a proper delay class and deal with different QoS classes in terms of queuing delay more precisely. In addition, we also need a CAC mechanism to derive the CLR requirement for each connection in the switch and the connection can be assigned a loss1 class . Then, we can map a connection to one of the service class that fits its minimum QoS requirements. We denote the expected queuing delay and CLR requirement for class i in a switch by the expected cell delay (ECDi ) and the expected cell loss ratio (ECLRi ) respectively, where 1  i  N . B. Earliest Expected Due-time First Service Discipline For the sake of memory alignment, we allocate 64 bytes for each incoming cell, called cell-buffer-unit (CBU). Similar approach can be found in some commercial ATM switches. There are 11 extra bytes available for the switching system. In our scheme, we use 2 bytes for the CBU address, 2 bytes for the pointer pointing to the next CBU, 3 bytes for the due-date including a 23-bit expected due-time field and a one-bit cycle indicator (CI), as shown in Fig. 2. The reason for choosing these values is attributed to the practical requirement in realization. The remaining 4 bytes are reserved for future purposes. The cell distributor consists of a common clock and a one-bit indicator. The clock starts at time t = 0 and restarts when the largest 23-bit value Nc is reached. It counts up to more than 5 sec (223 cell time for OC-12 transmission rate). The indicator bit 1 The detailed CAC algorithm is beyond the scope of this work.

Q WK FO RFN SHULRG

,



Q WK FO RFN SHULRG

,



Q WK FO RFN SHULRG

,



$



%

1F



;

7LPH6WDPS

Fig. 3. Example for distinguishing the service order.

distinguishes two adjacent counting cycles. The time stamping is performed whenever an incoming cell is admitted and classified. Suppose that tji is the arrival time of the j th cell of class i. The expected due-time (ED) of the cell, EDij , is equal to tji + ECDi , where ECDi is the expected cell delay of class i. The ED value will be inserted to the CBU due-date field. In the mean time, the CI bit will be automatically set/reset based on the counting cycle. After time-stamping, the CBU is appended to the tail of its associated FIFO queue and waits for the scheduling. The service discipline of EEDF is explained as follows. When the EEDF scheduler is serving a cell, it compares the ED fields of those HOL cells for all nonempty queues. If all cells have the same CI value, it means that their EDs are within the same clock cycle, so the cell with the smallest expected due-time is most urgent, which is then chosen as the candidate for transmission. If HOL cells have different CI values, these EDs must be within two adjacent clock cycles. The cell with the largest ED value is most urgent. Since Nc is longer than 5 sec, it is normally large enough to accommodate any class of cell delay for most ATM link rates. A cell’s ED in a clock cycle will never have smaller time-stamp value than that in the next clock cycle. An example is illustrated in Fig. 3. Given EDs of both cell A and cell B in the same clock cycle with zero CI value, since cell A’s timestamp is smaller than cell B’s, cell A has a shorter expected duetime. When the CI values of cell A and another cell X are not equal and A has a larger time-stamp value than X, cell A will be chosen for transmission first by the EEDF server, because it has a more urgent delay requirement. If two or more HOL cells have same ED value and same indicator value, the EEDF scheduler will give the preference to the highest priority class. The major complexity of EEDF scheduler is to select the most urgent HOL cells from nonempty queues. A software implementation is prohibitively inefficient with ATM speeds, e.g., 2.726 s for transmitting a cell at 155.52 Mbps. We propose a feasible architecture to implement the EEDF server as shown in Fig. 4, which is similar to the available VLSI Sequencer chips [17], [24], [28]. The EEDF scheduler consists of N modules, which are corresponding to at most N HOL cells. Each module stores an HOL cell’s physical address (A), the time-stamp value

CHEN et al.: TRAFFIC CONTROL THROUGH IN-SERVICE MONITORING FOR QOS...

0RGXOH M

0RGXOH M

ÇÃ

4

− 

08;

ÇÃ ÇÃ

4−

4−

 − 

4

%LW

Ä

= 4 

%LW &RPSDUDWRU 

L

PD[ L

Fig. 5. Buffer configuration of the ith queue.

Ä

= 4 



Ä

Ä

Ä

ÇÃ

ÇÃ

Ä

PLQ

 

Ä

&RPSDUDWRU

4

ÇÃ

4−

 

− 

L

4

4− =

E

ÇÃ

TXHXH

0RGXOH M %LW 5HJLVWHU

%LW 5HJLVWHU

08;

0RGXOH M

289

ERXW

RXW

&RQWUROOHU

E

LQ

E

RXW

Ä

ERXW &RQWUROOHU

E

LQ

= − 

Fig. 4. The EEDF scheduler architecture.

(ED), and the CI value (CI). These (A, ED, CI) triples are stored in the EEDF scheduler in descending order so that the triple with a smaller ED value will be to the right of that with a larger ED value. When a class i cell is selected for transmission, its address field is first retrieved from EEDF scheduler to identify the cell location in the shared buffer. Once a cell is transmitted, the contents of all other registers will be shifted one position to the right, hence their (A, ED, CI) triples in the EEDF scheduler will be overwritten automatically. In the mean time the address of the transmitted cell will be written into the idle-address pool, and the new HOL cell of class i will be inserted into the EEDF scheduler if the ith queue is not empty. When a new triple (A, ED, CI), represented by a 40-bits value Z0,39 , is to be inserted into the EEDF scheduler, it is broadcasted to all modules. By comparing the newly broadcasted value Z1,23 with the ED value of module j (j = 1; 2;    ; N ) through a 23-bit comparator, it is able to decide whether to retain or to shift the register contents of an EEDF module. After the shifting process, the new value can be moved to its correct position. The controller in the scheduler has two action states, the shift-state and the insert-state. Whenever a newly broadcasted 40-bit value is received, the controller enters the shift-state. By checking bits bout and bin , the controller shifts left the contents of those modules with bout = 1 because they have larger ED values than the newly arrived triple. Then the controller enters the insert-state, in which the new triple will be inserted into module j whose bit values bout and bin are 1 and 0 respectively. Through this hardware realization, the EEDF scheduler is able to handle the time-priority cell scheduling for ATM switching systems. C. Dynamic Buffer Management through In-Service Monitoring We design a statistical prediction method based on cell loss characteristics of multiplexed traffic to improve the CLR. C.1 The CLR monitor The CLR monitor consists of a cell-loss counter and a cellarrival counter to record the number of discarded cells and the number of arriving cells respectively in the most recent monitor-

ing period. After an incoming cell is classified, the cell distributor determines whether a cell is accepted or not and informs the CLR monitor to update the contents of corresponding counters. To achieve the CLR requirement for each class, the CLR monitor measures the cell loss ratio once every time interval. The short-term cell loss ratio (SCLR) can be calculated as the total number of discarded cells DCs divided by the total number of arriving cells ACs in a short time period Ts . Similarly, the long-term cell loss ratio (LCLR) is evaluated as the CLR in a long time period Tl (a multiple of Ts ). Then we can derive the relations between the ECLR and the SCLR (or LCLR) for each class. Besides, the CLR monitor also needs a mechanism to adjust both the maximum queue size and the protective threshold for each queue. The maximum queue size is adjusted based on the relation between SCLR and ECLR, and this process allows us to track the instantaneous traffic fluctuation. It causes the SCLR to approach the ECLR as closely as possible within a shortterm period. The CLR monitor also sets the protective threshold based on the relation between LCLR and ECLR, which gives the minimum queue size and causes the LCLR to approach the ECLR as closely as possible in a long-term period. C.2 Long-term monitoring and the protective threshold Given N service classes, let ECLRi of class i, i = ; ;    ; N , be specified according to user requirements. The long-term monitoring interval (Tl ) is a multiple of short-term monitoring interval (Tsi ). Let Tl be Ki Tsi , and LCLRi of class i P =1 SCLR be equal to , where SCLRi;j is the CLR of j th K 1 2

Ki j

i;j

i

short-term monitoring period. According to the relation between LCLRi and ECLRi , the CLR monitor dynamically adjusts the protective threshold Qmin;i of queue i, as shown in Fig. 5. When the measuring interval Tl is expired, the algorithm in Fig. 6 for long-term monitoring will be executed. In Section III.B, we proposed a service discipline, EEDF, which time-stamps an arriving cell with the expected due time. Under the ideal situation that no cells will stay in a switch longer than the delay bound of that switch, and the cell arrival pattern is comforming to the original traffic descriptor, then the delay quality of class i can be provided if the buffer size of class i in the switch never exceeds xi , which can be derived as follows

NC X  ECDi  xi = ; i;j j =1 tmin i

(1)

th where ti;j min is the minimum cell inter-arrival time of the j connection of class i and NCi is the number of connections in class i. Initially, the protective threshold Qmin;i is set to

290

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL.1, NO.4, DECEMBER 1999

Procedure CLR Monitor: Var: , : application-controlled ratio; B: total available buffer size; Lup;i: the increase quantum for Qmin;i ; Ldown;i : the reduce quantum for Qmin;i ; Sup;i: the increase quantum for Qmax;i; Sdown;i : the reduce quantum for Qmax;i ; suspend: the number of chances of decreasing Qmax;i need to be given up; Fi : a flag bit, which is equal to 0 initially and reset to 1 when SCLRi is larger than ECLRi at the first time.



Initialization:

i s



f

f

f

j Ts



f

 ECLRi.//

g

g

f

f

HSCLR ; LCLRi = K If (LCLRi >  ECLRi ) //Increase Qmin;i .// Calculate Lup;i by Eq. (6); Qmin;i = Qmin;i + Lup;i; else If (LCLRi <  ECLRi ) //Decrease Qmin;i .// Calculate Ldown;i by Eq. (6); Qmin;i = Qmin;i , Ldown;i; Ki j =1

i;j

i

g

//END For// P If ( N j =1 Qmin;j

> B) Normalize(Qmin;j ; j = 1; 2;    ; N ); For (i = 1; 2;    ; N ) If (Qmax;i < Qmin;i ) Qmax;i = Qmin;i ;

g //END If// g //END Loop//

End; //Procedure CLR//

Fig. 6. Algorithm of cell loss ratio monitor.

xi and the output buffer size B is no less than PNi=1 Qmin;i . In general, however, the ideal situation is not true, so Qmin;i

needs to be adjusted by CLR monitor afterward. Once the value PN i=1 Qmin;i becomes larger than B , we have to normalize the protected threshold. The normalizing function is given as

  Q0min;i = B  PNQmin;i ; i = 1; 2;    ; N: j =1 Qmin;j

Qmin;j )  PNQmin;i + Qmin;i : j =1 Qmin;j j =1

(3)

The value of Qmax;i can either increase or decrease according to the result of in-service CLR monitoring, but it can never be smaller than Qmin;i .

We adopt the prediction method to dynamically adjust the maximum queue size, and set the protective threshold for each queue according to the characteristics of the multiplexed traffic. The initial values of both the maximum queue size and the protective threshold for each class can be assigned. Although these values may be inaccurate initially, it will not affect the final results, because the CLR monitor will re-adjust them by continuously monitoring the current traffic characteristics. Whenever a cell of class i arrives, it enters the buffer directly if the occupancy of queuei is less than Qmax;i and otherwise, the cell is dropped. When the buffer is full, the following criteria can determine which cell should be dropped.

,,

 P

N X

C.4 The CLR monitoring algorithm

,

g

s;i

i Ts

Qmax;i = (B ,

If (SCLRi > ECLRi ) //Increase Qmax;i .// Calculate Sup;i by Eq. (5); Qmax;i = Qmax;i + Sup;i ;  SCLR  i suspend = suspend + ECLR ; i Fi = 1; //Set Fi to 1 once SCLRi is larger than else If (SCLRi < ECLRi ) //Decrease Qmax;i .// If (Fi ) Sdown;i = 1; else Calculate Sdown;i by Eq. (5); If (suspend == 0) Qmax;i = Qmax;i Sdown;i; else //Give up the chance of decreasing Qmax;i :// suspend ; //END If// If (Qmax;i < Qmin;i ) Qmax;i = Qmin;i ; //END If// //END For// If (time interval Tl is expired) //Long-term Monitoring// ; N) For (i = 1; 2;



SCLRi is equal to DC AC , where DCs;i is the total number of lost cells and ACT is the total number of arriving cells within a short-term monitoring interval Tsi . According to the relation of SCLRi and ECLRi , the CLR monitor dynamically adjusts the maximum queue size Qmax;i for queue i. The algorithm in

Fig. 6 for short-term monitoring will be executed whenever a measuring interval Tsi is expired. Assuming the size of the output buffer is B , then initially the maximum queue size, Qmax;i , of queue i is equal to

Begin: Loop until stop condition If (a cell arrives) Classify the incoming cell into class i; If (d = InsertCell(i)) DCs;d + +; ACTsi + +; //END If// ; N ) //Short-term Monitoring// For (i = 1; 2; If (Tsi is expired) s;j SCLRi = DC AC ;

g

C.3 Short-term monitoring and dynamic adjustment of the maximum queue size

i s

LCLRi = ECLRi; SCLRi = ECLRi; Tl = M  lcm(Ts1 ; Ts2 ;    ; TsN ); //M is a positive integer and lcm represents the least common multiple.// DCs;i = 0; i = 1; 2;    ; N ; ACT = 0; i = 1; 2;    ; N ; suspend = 0;

f

Then the new protected threshold Qmin;i is set to Q0min;i , and can be done through the procedure call Normalize(), as shown in Fig. 6.

(2)

1. If the queue occupancy of queuei is no less than Qmax;i then the newly arriving cell will be dropped. 2. If Qmin;i  queuei  Qmax;i , then push-out a cell from queuej whose size is larger than Qmin;j , and class j has a lower ECLR priority than class i. 3. If the occupancy of queuei is smaller than Qmin;i , push-out a cell from queuej which has queue occupancy larger than Qmin;j .

The above criteria is realized through the procedure InsertCell() (i.e., it can be found in Fig. 6), which returns the cell’s class index if it is dropped and 0 otherwise. Initially, SCLRi and LCLRi of class i are set to ECLRi . When the system is running, there are historical arrays HCLR(i; j ), i = 1; : : : ; N , j = 1; : : : ; K , where each component of the array, HCLR(i; j ), stores the cell loss ratio for the interval Tsi . Subsequently LCLRi can be calculated through the following equation.

CHEN et al.: TRAFFIC CONTROL THROUGH IN-SERVICE MONITORING FOR QOS...

291

Table 1. Parameters and QoS requirements of traffic sources.

Classification Class 1 Class 2 Class 3 Class 4

LCLRi =

Mean Burst Length (cells) 100 120 90 150

PK j =1 HSCLR(i; j ) : Ki

Mean Silence Period (s) 1002.726 1202.726 1802.726 3002.726

i

(4)

Each class has its own short-term monitoring interval, Tsi , 1  i  N , depending on the CLR requirement and the traffic characteristic. The number of cell arrivals during the time interval Tsi should be no less than the reciprocal of ECLRi . The long-term monitoring interval is a common multiple of all N short-term monitoring intervals (i.e., Tl = K1Ts1 = K2 Ts2 =    = KN TsN ). We also introduce two parameters and ( ;  1), called application-controlled ratios, to our system. When the measuring intervals, Tsi and Tl , are expired, if both measured cell loss ratios SCLRi and LCLRi are larger than  ECLRi , the protective threshold and the maximum queue size will be increased by Sup;i and Lup;i respectively. On the contrary, if the measured cell loss (either SCLRi or LCLRi ) is less than  ECLRi , we reduce the protective threshold by Ldown;i, and the maximum queue size by Sdown;i. Initially, the whole output buffer is allocated to all classes according to the proportion of their protected thresholds. If the initial value of Qmax;i is much larger than the real need of class i, it is desired that Qmax;i will converge to the required value as fast as possible. When Qmax;i approaches the required value that fulfills the loss requirement, it will be detected if SCLRi becomes larger than  ECLRi at the first time, and Sdown;i should be selected carefully if the short-term monitoring leads to the decreasing of Qmax;i . Since an inappropriate Sdown;i may cause severe cell loss if a large traffic burst is generated suddenly. As to Sup;i , it should always reflect the relationship between the monitored CLR and the required queue size. According to [26], the authors showed an asymptotically linear relationship between the queue size and ln(CLR) for systems with general Markovian sources. At the beginning, therefore, we set Sup;i and Sdown;i as follows:



Sup;i

=

Sdown;i

=

 SCLR ) i (1 , )  Qmax;i ln(  ECLRi )   ln(SCLRi ) ( , 1)  Qmax;i : ln(  ECLR ) ln(

i

and (5)

However, once Qmax;i is increased by Sup;i at the first time, Sdown;i is reset to 1. If SCLRi is equal to zero, we set it to 0:1  ECLRi . When the traffic load is heavy (e.g., over 0.8), a severe cell loss may happen if cell bursts from different classes arrive simultaneously and consequently, these lost cells may cause unacceptable cell loss quality. Since it is indispensable to compensate the cell loss quality by providing a larger queue for a longer

PCR (cells/slot time) 1/2 1/3 1/6 1/6

ECD (s) 100 200 300 400

ECLR 1.0E-6 1.0E-3 1.0E-5 1.0E-4

period, the following mechanism is considered. If SCLRi is K times of ECLRi , K > 1, then we should skip the actions of decreasing Qmax;i for K times. If the size of the output buffer is much larger than the required size for satisfying CLR of all classes, the protective threshold will have no impact on the monitored CLR. However, the protective threshold may restrict the queue size which is occupied by those classes with more stringent ECLR when the output buffer size is close to the required value. Under this circumstance, cell loss requirements for more classes can be fulfilled, and the buffer utilization will be higher. Since LCLR is measured over a longer time period, it is more accurate than SCLR. As a sequel, both the increased and the decreased quanta for the protective threshold should reflect the relationship between the monitored CLR and the required queue size. Therefore,



Lup;i

=

Ldown;i

=

 i) )  Q , ln(ln (LCLR min;i ECLRi )  ln(LCLRi) , 1)  Q : ( min;i ln(  ECLRi ) (1

and (6)

IV. SYSTEM SIMULATION AND RESULTS A. Source Traffic Model Assuming that all ATM switches use 155.52 Mb/s output link rate, that is, the service time of EEDF for a cell is 2.726 s. The traffic characteristic is based on a two-state discrete-time Markov chain On-Off model [16]. Assume that each class consists of homogeneous connections, cells of each class can be 1 ) during generated with minimum cell inter-arrival time ( PCR “On” state, and no cell is generated during “Off” state. The traffic parameters and ECD and ECLR of each class are listed in Table 1. In our simulation, we assume that there are four classes, and the ECD values of these classes be 100 s, 200 s, 300 s and 400 s respectively. These values are reasonable for switch nodes with queue size of hundreds of cells. The ECLR is defined as the cell loss requirement in the switch node for each class.

B. System Model and Parameter Specification Assume that the monitor process is running all the time and the measurement is performed every time period Tsi , 1  i  N . The short-term monitoring interval of class i is derived from the

292

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL.1, NO.4, DECEMBER 1999

  (   

  (    





























  (   























) ,) 2

  (   

) L [ H G / H Q J WK

&HOO /RVV 5DWLR

  (   

(& /5

  (   

  (   

) ,) 2

  (  

3 UR S R V H G 6 WUD WH J \

&HOO /RVV 5DWLR



  (  

) L [ H G / H Q J WK 3 UR S R V H G 6 WUD WH J \ ( & /5

  (  

  (  

  (   

  (     (   

  (  

  (   

6 K D UH G % X IIH U 6 L ] H F H O O V

6 K D UH G % X I IH U 6 L ] H F H O O V

Fig. 9. Comparison for class 3 in average cell loss ratio.

Fig. 7. Comparison for class 1 in average cell loss ratio.

  (   

 (   

















































 (   

  (   

&HOO /RVV 5DWLR



) ,) 2 ) L[ H G / H Q J WK 3 U R S R V H G 6 WU D WH J \ (&/5

  (   

) ,) 2

&HOO /RVV 5DWLR



) L[ H G / H Q J W K  (   

3 U R S R V H G 6 W U D WH J \ (&/5

 (   

  (     (   

  (   

 (   

6 K D UH G % X IIH U 6 L ] H F H OO V

Fig. 8. Comparison for class 2 in average cell loss ratio.

following equation.

Tsi

=

ECLRi  1

MSLi + MBSi =PCRi ; MBSi =PCRi

MBS and MSL denote the Mean Burst Size and Mean Silence Length respectively. Other parameters used in the simulation are listed in Table 2. C. Analysis of Simulation Results In this subsection, the comparisons of average cell delay and cell loss ratio are made among the shared buffering schemes with FIFO service discipline (Shared Queue Scheme; SQS), the fixed-length separate queue buffering with EDD service discipline (Fixed Length Scheme; FLS), and our proposed prioritybuffer management scheme (Proposed Priority Scheme; PPS). The service discipline of FLS is same as our proposed scheme and the queue size allocated to class i is Qmax;i derived from Eq. (1) and Eq. (3). The only difference in the simulation between our proposed scheme and FLS is that the latter uses a fixed queue size for each class all the time. C.1 Comparison in Average Cell Loss Ratio From Fig. 7 to Fig. 10, the average CLR of simulation results are shown. The output buffer size varies from 84 to 500 cells in Fig. 7 and from 84 to 276 cells in the others. The dashed line represents the ECLR. We can observe that the average CLR decreases as the output buffer size increases. At first, we compare PPS with FLS. In Fig. 7, the cell loss quality of PPS is better than that of FLS until the output buffer size is larger than 436

6 K D U H G % X I I H U 6 L ] H F H OOV

Fig. 10. Comparison for class 4 in average cell loss ratio.

cells. It is attributed to fact that the fixed-length queue of class 1 derived from Eq. (1) and Eq. (2) is smaller than the required value until buffer size increases to 436 cells. Since class 1 has the highest loss priority, according to PPS, it has the privilege to push-out the cells of other classes with lower loss priority. Therefore, PPS has better performance than FLS. There are similar results in Fig. 9 and Fig. 10, because both class 3 and class 4 have higher loss priority than class 2. In Fig. 8, since class 2 has the loosest loss requirement, FLS can gain better loss quality than PPS. In these Figs., the curves of FLS drop quickly when the allocated queue size exceeds the required value, while PPS can release the extra buffer space and keeps the average CLR at a stable level. Next, we compare PPS with SQS. In Fig. 7, due to the higher loss priority of class 1, PPS performs better than FLS in an average CLR when the output buffer size is no greater than 276 cells. In Fig. 9 and Fig. 10, PPS fulfills the ECLRs when the buffer size reaches 100 cells and 132 cells respectively, and obviously PPS experiences much better performance than SQS. Since the peak rates of class 3 and class 4 are smaller than the other two classes, it causes them to contend the buffer space under the single queue case. In PPS, however, each class can reserve its protected threshold. In Fig. 8, SQS always has better CLR than PPS because class 2 has a higher peak rate and thus, SQS has the advantage in buffer contention. Through dynamically adjusting the queue size, once the ECLR is met, our algorithm can keep the average CLR close to the ECLR regardless the increment of output buffer size. That is, the queue size allocated to the class with ECLR fulfilled can be bounded to its required value. The advantage of our scheme

CHEN et al.: TRAFFIC CONTROL THROUGH IN-SERVICE MONITORING FOR QOS...

293

Table 2. Specification of simulation parameters.

Parameter

Tl Nc

Explanation Application-controlled ratio Application-controlled ratio Long-term monitoring interval Max. value of clock



Experiment value 0.9 0.7 lcm(Ts1 ; Ts2 ; : : : ; TsN ) 1.28E+07







$YHUDJH 4XHXHLQJ 'HOD\ FHOO WLPH VORWV

$YHUDJH 4XHXHLQJ 'HOD\ FHOO WLPH VORWV





) ,) 2 ) L [ H G / H Q J WK



3 UR S RV H G 6 WUD WHJ \ 







) ,) 2 ) L [ H G / H Q J WK



3 U R S R V H G 6 WU D WHJ \











 





















































Fig. 13. Comparison for Class 3 in average cell delay.

Fig. 11. Comparison for Class 1 in average cell delay.



$YHUDJH 4XHXHLQJ 'HOD\ FHOO WLPH VORWV



$YHUDJH 4XHXHLQJ 'HOD\ FHOO WLPH VORWV



6 K D U H G % X I I H U 6 L] H F H O O V

6 K D U H G % X I IH U 6 L] H F H O O V



) ,) 2 ) L[ H G / H Q J WK 3 U R S R V H G 6 WU D WHJ \













) ,) 2 ) L[ H G / H Q J W K 3 UR S R V H G 6 WU D W H J \











 

 

 

 

 

 

 

 

 

 

 

 

 

 





























6 K D U H G % X IIH U 6 L] H F H OOV

6 K D U H G % X I I H U 6 L ] H F H OOV

Fig. 12. Comparison for Class 2 in average cell delay.

Fig. 14. Comparison for Class 4 in average cell delay.

is twofold. Firstly, once certain classes meet their ECLRs, the extra buffer space can be released, that allows the average CLRs of other classes to converge to their ECLR under smaller buffer size. This effect is especially obvious in Fig. 7, in which the loss requirement is met when the buffer size is larger than 260 cells in PPS, and larger than 436 cells in FLS respectively. Secondly, since the individual queue size is bounded, this delay quality can be improved for all classes if their ECLRs have been met, and this can be demonstrated in the following section.

In our simulation, we use a buffer size of several hundred cells (about 260 cells, see Figs. 7–14) which is acceptable for implementation. As addressed in [9], a few hundred cells of buffer is the appropriate size, not to mention that nowadays VLSI technologies is further advanced.

C.2 Comparison in Average Cell Delay From Fig. 11 to Fig. 14, we show the average queuing delay of four service classes versus the buffer size, ranging from 84 to 500 cells. The SQS has similar delay for all service classes. Obviously, PPS and FLS can distinguish four delay classes because both of them use EEDF scheduler. While it is hard to tell the performance difference among four classes under FIFO discipline. Besides, PPS has better delay performance than FLS for all four classes when the buffer size is larger than 212 cells. The reason is that PPS has the bounded buffer size as described in the previous section.

V. CONCLUSION AND FUTURE WORKS We propose a traffic control approach which combines a timepriority service discipline with a dynamic buffer adjustment scheme to improve QoS in ATM networks. The time-priority service discipline is accomplished through EEDF. A feasible architecture to implement the EEDF server for high-speed transmission is also addressed. The queue size allocated to each class is adjusted dynamically according to the collected information through in-service CLR monitoring. The advantages of our method are summarized as follows. Firstly, the proposed scheme can tolerate traffic fluctuation by dynamically adjusting the allocated buffer size. Secondly, the queue size allocated to each class can be bounded around the required value as long as the ECLR is met. In this way, the QoS of all classes can be fulfilled with least buffer size, and the output buffer can be uti-

294

JOURNAL OF COMMUNICATIONS AND NETWORKS, VOL.1, NO.4, DECEMBER 1999

lized more efficiently. Thirdly, since the allocated queue size is restricted, the cell delay of each class can also be reduced. Our method has shown its effectiveness for the guarantee of CLR. However, it can only provide cell delay improvement but not delay guarantee. To achieve cell delay guarantee, a more sophisticated scheduling algorithm that guarantees the transmission rate, a bandwidth reservation process, and a complicated buffer architecture are all needed. Nevertheless, this will increase both the system complexity and cost. In case that the loss requirement is very stringent (e.g., less than 10,9 ), at least 10 billion cells have to be monitored before any statistically meaningful information can be collected. In other word, direct statistical methods is impractical for estimating such small probabilities. In [25] and [27], a means to obtain an estimation of CLR by observing fewer arriving cells has been proposed. For the future work, we will investigate the impact on buffer adjustment when this approach is considered.

REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18]

C. L. Liu and J. W. Layland, “Scheduling algorithms for multiprogramming in a hard real time environment,” J. ACM, vol. 20, no. 1, pp. 46–61, Jan. 1973. H. Goldberg, “Analysis of the earliest due date scheduling rule in queueing systems,” Math. Oper. Res., vol. 2, pp. 145–154, May 1977. M. G. Hluchyj and M. J. Karol, “Queuing in high-performance packet switching,” IEEE J. Select. Areas Commun., vol. 6, no. 9, pp. 1587–1597, Dec. 1988. S. Sumita and T. Qzawa, “Achievability of performance objectives in ATM switching nodes,” in Proc. ISPDPS, Kyoto, Japan, 1988, pp. 45–46. P. P. Bhattacharya and A. Ephremides, “Optimal scheduling with strict deadline,” IEEE Trans. Automatic Control, vol. 34, no. 7, pp. 721–728, July 1989. T. M. Chen, J. Walrand, and D. G. Messerschmitt, “Dynamic priority protocols for packet voice,” IEEE J. Select. Areas Commun., vol. 7, no. 5, pp. 632–643, June 1989. H. Kroner, “Comparative performance study of space priority mechanisms for ATM networks,” in Proc. IEEE INFOCOM’90, 1990, pp. 1136–1143. S. Sumita, “Synthesis of an output buffer management scheme in a switching system for multimedia communications,” in Proc. IEEE INFOCOM’90, 1990, pp. 1226–1233. N. Endo, T. Ohuchi, T. Kozaki, and H. Kuwahara, “Traffic characteristics evaluation of a shared buffer ATM switch,” in Proc. IEEE GLOBECOM’90, vol. 3, 905.1, Dec. 1990, pp. 1913–1918. G. M. Woodruff and R. Kositpaiboon, “Multimedia traffic manage-ment principles for guaranteed ATM network performance,” IEEE J. Select. Areas Commun., vol. 8, no. 3, pp. 437–446, Apr. 1990. S. J. Golestani, “A self-clocked fair queueing scheme for broadband applications,” J. ACM, pp. 113–121, 1991. J. M. Peha and F. A. Tobagi, “Implementation strategies for scheduling algorithms in integrated-services packet-switched networks,” in Proc. IEEE GLOBECOM’91, 1991, pp. 1733–1740. D. W. Petr and V. S. Frost, “Nested threshold cell discard for ATM overload control: Optimization under cell loss constraints,” in Proc. IEEE INFOCOM’91, 1991, pp. 1090–1108. S. Cheng and I. F. Akyildiz, “A finite buffer two class queue with different scheduling and push-out schemes,” in Proc. IEEE INFOCOM’92, 1992, pp. 231–241. V. Yau and K. Pawlikowski, “Improved nested-threshold-cell-discard buffer management mechanisms,” in Proc. IEEE Tencon’92, Nov. 1992, pp. 820–824. S. Kowtha and D. R. Vaman, “A generalized ATM traffic model and its application in bandwidth allocation,” in Proc. ICC’92, 1992, pp. 1009– 1013. H. J. Chao, and N. Uzun, “A VLSI sequencer chip for ATM traffic shaper and queue management,” IEEE J. Solid-State Circuits, vol. 27, no. 11, pp. 1634–1643, Nov. 1992. C. G. Chang and H. H. Tan, “Queueing analysis of explicit priority assignment partial buffer sharing schemes for ATM networks,” in Proc. IEEE INFOCOM’93, 1993, pp. 810–819.

[19] S. Suri, D. Tipper, and G. Meempat, “A comparative evaluation of space priority strategies in ATM networks,” in Proc. IEEE INFOCOM’94, vol. 2, 1994, pp. 516–523. [20] C. G. Chang and H. H. Tan, “Queueing analysis of explicit priority assignment push-out buffer schemes for ATM networks,” in Proc. IEEE INFOCOM’94, 1994, pp. 500–509. [21] I. Cidon, R. Guerin, and A. Khamisy, “On protective buffer policies,” IEEE/ACM Trans. Networking, vol. 2, no. 3, pp. 240–246, June 1994. [22] Y. Lim and J. Kobza, “Analysis of a delay-dependent priority discipline in a multi-class traffic packet switching node,” in Proc. IEEE INFOCOM’94, pp. 636–646. [23] T.-Y. Huang and J.-L. C. Wu, “Performance analysis of ATM switches using priority schemes,” Proc. IEE Commun., vol. 141, no. 4, Aug. 1994. [24] H. J. Chao, and N. Uzun, “An ATM queue manager handling multiple delay and loss priorities,” IEEE/ACM Trans. Networking, vol. 3, no. 6, pp. 652–659, Dec. 1995. [25] C. Courcoubetis, G. Kesidis, A. Ridder, J. Walrand, and R. Weber, “Admission control and routing in ATM networks using inferences from measured buffer occupancy,” IEEE Trans. Commun., vol. 43, p. 1778, 1995. [26] A. Elwalid, D. Heyman, T. V. Lakshman, D. Mitra, and A. Weiss, “Fundamental bounds and approximation for ATM multiplexers with applications to video teleconferencing,” IEEE J. Select. Areas Commun., pp. 1004– 1016, Aug. 1995. [27] H. Zhu and V. S. Frost, “In-service monitoring for cell loss quality of service violations in ATM networks,” IEEE/ACM Trans. Networking, vol. 4, no. 2, pp. 240–248, Apr. 1996. [28] M. W. Garrett, “A service architecture for ATM: From applications to scheduling,” IEEE Network, pp. 6–14, May/June 1996.

Yaw-Chung Chen received his Ph.D. degree in computer science from Northwestern University, Evanston, Illinois in 1987. During 1987-1990, he worked at AT&T Bell Laboratories as a Member of Technical Staff. Since 1990, he has been an Associate Professor in the Department of Computer Science and Information Engineering of National Chiao Tung University. His research interests include multimedia communications, high speed networking, and ATM traffic management. He is a member of IEEE and ACM. Shuo-Cheng Hu received his M.S. degree degree in Applied Mathematics from National Sun Yat-Sen University in 1994. He is currently approaching the Ph.D. degree in computer science, National ChiaoTung University. His research interests include traffic control and resource management on broadband multiservice networks.

Chia-Tai Chan received his Ph.D. degree in computer science from National Chiao Tung University, Hsinchu, Taiwan in 1998. He is now with the Telecommunication Laboratories Chunghwa Telecom Co., Ltd. His current research interests include the design, analysis and traffic engineering of broadband multiservice networks.

Pi-Chung Wang received both his B.S. degree and M.S. degree in Computer Science and Information Engineering from National Chiao-Tung University in 1994 and 1996. He is currently prusuing his Ph.D. degree in computer science. His research interests include Internet multimedia communications and traffic control on high speed networks.

Suggest Documents