Elsevier

Computer Communications

Volume 21, Issue 9, 1 July 1998, Pages 839-852
Computer Communications

An efficient packet service algorithm for high-speed ATM switches

https://doi.org/10.1016/S0140-3664(98)00144-3Get rights and content

Abstract

The unprecedent development of the World Wide Web, and the emerging of new types of applications such as video-on-demand and teleconferencing put an increasing pressure on the communication infrastructure. One of the main components that directly determine the communication bandwidth and the quality of services that are provided are the communication switches. In this paper, we propose a new scheduling algorithm for servicing the output sessions of a high-speed ATM switch that is both accurate and efficient. To each session we associate a weight w that represents the share of the communication bandwidth it should receive. To characterize the allocation accuracy we give bounds for the difference (called lag) between the number of time slots that each session should receive and the number of time slots it actually receives. Specifically, we show that in the particular case in which the aggregate weight W over all sessions is a power of two, the lag of a session with weight w is bounded by O(ones(w)), where ones(w) represents the number of ones in the binary representation of w. In the general case in which the aggregate weight has an arbitrary value, we show that the session's lag is bounded by O(log w). The selection of the session to be serviced during the next time slot takes O(log log W). We also propose a simple hardware implementation that reduces the selection time complexity to O(1). Finally, we discuss the application of our algorithm in the context of both work-conserving and non-work-conserving disciplines.

Introduction

With the exponential growth of the Internet traffic, and with the development of new types of multimedia applications that require both large bandwidth and service guarantees, the necessity of designing high performance switches becomes more and more important. Since ATM seems to become the standard of choice for future high-speed networks, in this paper we propose a new weighted fair-queueing scheme for ATM switches, which is both accurate and efficient.

To each session we associate a weight that represents the relative share of the bandwidth the session should receive. Two of the main parameters used in characterizing many allocation algorithms are the accuracy and efficiency. The accuracy is measured in terms of the difference between the service time that a session should receive in an idealized system in which the service time is allocated in arbitrarily small increments, and the service time that the session actually receives. By bounding this difference, called service lag, it is theoretically possible to derive bounds for the delay and the loss probability of a session, once the shape of the incoming traffic is known. We note that previous studies of the idealized system, such the one of Zhang et al. [1], can be used as starting points in deriving such bounds. Another major concern in developing a scheduling scheme for a high-speed ATM switch is its efficiency. This is simply because the transmission time of a cell, during which the selection of the next session is usually done, is very short. For example, for a 1 Gb/s switch, this time is about 0.4 μs.

Previously proposed solutions have demonstrated the two-way tension between the allocation accuracy, and the implementation efficiency. For example, while the newly developed weighted fair-queueing algorithms, such as WF2Q [2]and EEVDF [3], achieve optimal constant lag bounds, their implementation makes use of priority queues, which exhibit an O(log n) time complexity, where n represents the number of active sessions. Unfortunately, in a real system, where the number of sessions can be of the order of tens or hundreds of thousands, a software implementation is not feasible, while a hardware implementation may be expensive due to the high complexity of supporting priority queues. On the other hand, to the best of our knowledge, the existing weighted fair algorithms that can be efficiently implemented (such the ones based on the round-robin scheme 4, 5) do not guarantee lag bounds better than O(n).

In this paper we propose a new scheduling algorithm that can be both efficiently implemented, and guarantees low lag bounds. More precisely, our algorithm guarantees that in the particular case in which the aggregate weight of all sessions is a power of two, the lag bound of any session with weight w is bounded by O(ones(w)), where ones(w) represents the number of ones in the binary representation of w. We note that when the switch bandwidth can be expressed as a power of two, this result gives us tight bounds for the session's lag in the worst case, when all the switch bandwidth is allocated (see Section 6for details). In the general case in which the aggregate weight can have an arbitrarily value we show that the session's lag is bounded by O(log w). In addition, our algorithm can be efficiently implemented in software in O(log log Wtotal), where Wtotal represents the switch bandwidth expressed in some basic allocation units. For example, in the case of a 1 Gb/s ATM switch, whose bandwidth is allocated in increments of 1 Kb/s, log log Wtotal is as low as 5.1 Moreover, we propose a straightforward hardware implementation, that can perform the selection of the next session to be serviced in constant time.

The remainder of this paper is organized as follows. Section 2presents a new proportional share allocation algorithm, called bit reversal (BR). Based on the BR algorithm, Section 3proposes a hierarchical scheme (called HBR), which reduces the time complexity of the session's selection procedure. Further, Section 4proposes a simple hardware implementation of the HBR scheme in which the selection operation can be performed in constant time. Section 5discusses possible implementations of both work-conserving and non-work-conserving policies, by using the HBR scheme. Section 6presents the lag bounds for both BR and HBR and discusses their implications. Finally, Section 7presents the related work, while Section 8concludes the paper.

Section snippets

The bit reversal algorithm

In this section we present a new proportional-share algorithm, called bit reversal (BR), used to select the next session to be serviced. To each session we associate a weight that represents the relative fraction of the communication bandwidth allocated to that session. More precisely, the fraction allocated to a session i with weight wi isfi=wiWwhere W represents the total weight over all sessions that participate in the selection process. Thus, out of m consecutive time slots (here we assume

The hierarchical bit reversal algorithm

As suggested in Ref. [6], the above algorithm can be easily implemented, by using a tree data structure that stores in its leaves the sessions' weights, and in its internal nodes the partial sum over all its descendant leaves. This simple implementation yields an O(log n) time complexity, where n represents the number of sessions. Although optimal, this implementation might not be fast enough for very high-speed networks. To have a quantitative view consider a 1 Gbit/s ATM communication switch

The HBR implementation

In this section we propose a simple parallel implementation in hardware for the HBR algorithm. As shown in Fig. 3, the implementation consists of L simple processing elements (PE), where L represents the number of levels where the bandwidth can be allocated. We note that in practice, when the session weight also represents the bandwidth allocated to the session expressed in some basic allocation unit (see next section for an example), the number of levels L is typically small. For example, in

Using HBR for implementing work- and non-work-conserving policies

In general, scheduling policies for communication switches are classified as work-conserving and non-work-conserving. A policy is called work-conserving if the switch cannot stay idle as long as there is at least one packet to send, and non-work-conserving otherwise. While work-conserving policies achieve a better utilization, non-work-conserving policies tend to require less buffer space inside the network. This is because, in general, a switch employing a non-work-conserving policy smoothes

The session lag

As we will prove in Appendix A, both the BR algorithm and the HBR scheme ensure that if the aggregate weight W over all sessions that participate in the selection process is a power of two, the lag of any session i is bounded as follows (see Theorem 1 and Lemma 9, respectively):−2×ones(wi)<lagi<2×ones(wi)where ones(wi) represents the number of ones in the binary representation of session's weight wi. For example, the lag of a session with weight 20 (=10100) is bounded by −4 and 4. Thus, when

Related work

Many of the previous solutions proposed for bandwidth allocation have underlined the difficulty of achieving both allocation accuracy and implementation efficiency simultaneously. Due to the huge number of existing algorithms we cannot hope to cover them exhaustively in this section (for a more detailed comparative discussion the reader is referred elsewhere [8]). Instead, we concentrate on presenting the algorithms that are most closely related to our scheme. Our discussion includes both

Conclusions

We have described a new weighted fair algorithm for high-speed ATM switches, which achieves both good allocation accuracy, and allows efficient implementation. Specifically, if the aggregate weight over all sessions is a power of two, we have shown that out of m consecutive time slots the difference between the number of time slots that a session should ideally receive, and the number of time slots it actually receives (i.e. the session lag) is bounded by 2×ones(w), where ones(w) represents the

References (23)

  • Z. Zhang, Z. Liu, J. Kurose, D. Towsley, Call admission control schemes under the generalized processor sharing...
  • J.C.R. Bennett, H. Zhang, WF2Q: worst-case fair queueing, INFOCOM'96, San Francisco, March...
  • I. Stoica, H. Abdel-Wahab, K. Jeffay, S.K. Baruah, J.E. Gehrke, C.G. Plaxton, A proportional share resource allocation...
  • C.R. Kalmanek, H. Kanakia, S. Keshav, Rate control servers for very high-speed networks. IEEE Global Telecommunications...
  • M. Shreedhar, G. Varghese, Efficient fair queueing using deficit round-robin. Technical Report no. 94-17, Department of...
  • C.A. Waldspurger, W.E. Weihl, Lottery scheduling: flexible proportional-share resource management, Proceedings of the...
  • T.H. Cormen, C.E. Leiserson, R.L. Rivest, Introduction to Algorithms, MIT Press,...
  • H Zhang

    Service disciplines for guaranteed performance service in packet-switching networks

    Proceedings of the IEEE

    (1995)
  • S.J. Golestani, A stop-and-go queueing framework for congestion management. Proceedings of ACM SIGCOMM'90, September...
  • M Katevenis et al.

    Weighted round-robin cell multiplexing in a general-purpose ATM switch chip

    IEEE Journal on Selected Areas in Communications

    (1991)
  • A. Demers, S. Keshav, S. Shenkar, Analysis and simulation of a fair queueing algorithm, Proceedings of ACM SIGCOMM'89,...
  • Cited by (2)

    View full text