Decoupling Bandwidth and Delay Properties in Class Based Queuing Fulvio Risso Dipartimento di Automatica e Informatica – Politecnico di Torino Corso Duca degli Abruzzi, 24 – 10129 Torino, Italy risso@polito.it Abstract— This paper presents the Decoupled Class Based Scheduling, a CBQ-derived scheduling algorithm. Main advantages of D-CBQ are a new set of rules for distributing excess bandwidth and the ability to guarantee bandwidth and delay in a separate way, whence the name “decoupled”; moreover D-CBQ guarantees better delay bounds and more precise bandwidth assignment. This paper presents D-CBQ main points and discusses the choices for the implementation of the algorithm. 1 Introduction Historically, networks carried only predetermined types of traffic. For instance, the telephone network was able to transport voice, the Internet was able to transport data, and so on. Nowadays, networks want to integrate different kinds of traffic on the same physical infrastructure. For doing that, a modern network must be able to guarantee at least a certain amount of bandwidth and a maximum delay bound to each session. These parameters are usually independent each one from the others; for instance a session that requires assured bandwidth (for example a video stream) might not require strict delays. Networks usually guarantee differentiation among traffic by means of properly configured schedulers that are able to forward traffic in different ways according to the service required. Priority Queuing (PQ) is the most effective scheduler from the “low delay service” standpoint, because it is able to forward prioritized traffic as soon as possible. Several other schedulers, particularly non-work conserving ones, are also excellent choices for delay requirements because they are able to forward traffic at predetermined intervals. Traffic is “paced”; therefore they are able to guarantee a maximum end-to-end delay bound to each session. However non-work conserving schemas are not widely accepted because they cannot exploit network resources at best (the output link can be idle even if there are packets in queue); moreover the guaranteed delay is usually higher than PQ schemas. Fair schedulers [4] such as Weighted Fair Queuing [5] (WFQ) or Weighted Round Robin (WRR) are excellent choices for the “guaranteed bandwidth service” because of their ability to guarantee a predetermined amount of bandwidth to each session. Since WFQ is able to guarantee also a maximum delay bound ([6],[7]) to leaky bucket constrained sessions, it seems to be an excellent choice to satisfy bandwidth and delay requirements. However the delay experimented by a session in a WFQ scheduler could be larger than the PQ one; most important, delay is controlled by changing the bandwidth assigned to each session [11]. Since delay and bandwidth cannot be modified independently, the network may not be able to prevent a low-delay session from sending a large amount of data as well. This is a non-negligible issue in a modern network because a malicious user can exploit this point to overload the network; hence the network has to control (policing) explicitly the amount of traffic of each user. For this reason, the ability to decouple bandwidth and delay (i.e. granting bandwidth and delay bounds independently) is becoming a major point. Besides guaranteeing bandwidth and delay, hierarchical link-sharing is getting increased importance. This requirement can be thought as a generalization of the “assured bandwidth” service because it guarantees that leaf classes receive their assigned bandwidth (for example class Data1 in Figure 1 must be able to get at least 40% of the total bandwidth), in the same way as fair schedulers do. Moreover, hierarchical link-sharing is used to impose specific rules for the distribution of bandwidth among different agencies sharing the same physical link. For instance, it guarantees the Data1 class to be able to use up to 60% of the link bandwidth (i.e. all the bandwidth granted to Agency A) when the Real-Time1 class is idle. Hierarchical schemas allow link-sharing to be potentially repeated inside each class of the hierarchy, moreover granting each class a minimum amount of bandwidth. Previous schedulers are not able to meet delay, bandwidth and hierarchical-link sharing requirements at