skip to main content
article
Free Access

An architecture for packet-striping protocols

Published:01 November 1999Publication History
Skip Abstract Section

Abstract

Link-striping algorithms are often used to overcome transmission bottlenecks in computer networks. Traditional striping algorithms suffer from two major disadvantages. They provide inadequate load sharing in the presence of variable-length packets, and may result in non-FIFO delivery of data. We describe a new family of link-striping algorithms that solves both problems. Our scheme applies to any layer that can provide multiple FIFO channels. We deal with variable-sized packets by showing how fair-queuing algorithms can be transformed into load-sharing algorithms. Our transformation results in practical load-sharing protocols, and shows a theoretical connection between two seemingly different problems. The same transformation can be applied to obtain load-sharing protocols for links with different capacities. We deal with the FIFO requirement for two separate cases. If a sequence number can be added to each packet, we show how to speed up packet processing by letting the receiver simulate the sender algorithm. If no header can be added, we show how to provide quasi FIFO delivery. Quasi FIFO is FIFO except during occasional periods of loss of synchronization. We argue that quasi FIFO is adequate for most applications. We also describe a simple technique for speedy restoration of synchronization in the event of loss. We develop an architectural framework for transparently embedding our protocol at the network level by striping IP packets across multiple physical interfaces. The resulting stripe protocol has been implemented within the NetBSD kernel. Our measurements and simulations show that the protocol offers scalable throughput even when striping is done over dissimilar links, and that the protocol synchronized quickly after packet loss. Measurements show performance improvements over conventional round-robin striping schemes and striping schemes that do not resequence packets. Some aspects of our solution have been implemented in Cisco's router operating system (IOS 11.3) in the context of Multilink PPP striping.

References

  1. BENNETT,J.C.R.,PARTRIDGE, C., AND SHECTMAN, N. 1999. Packet reordering in not pathological behavior. IEEE/ACM Trans. Netw. 7, 6 (Dec.), 789-798. Google ScholarGoogle Scholar
  2. BORMAN, C. 1999. The multi-class extension to Multi-Link PPP. RFC 2686. Google ScholarGoogle Scholar
  3. CHANDY,K.M.AND LAMPORT, L. 1985. Distributed snapshots: Determining global states of distributed systems. ACM Trans. Comput. Syst. 3, 1 (Feb.), 63-75. Google ScholarGoogle Scholar
  4. DEMERS, A., KESHAV, S., AND SHENKER, S. 1989. Analysis and simulation of a fair queuing algorithm. In Proceedings of the ACM Conference on Communications Architectures and Protocols (SIGCOMM '89, Austin, TX, Sept. 19-22), L. H. Landweber, Ed. ACM Press, New York, NY, 3-12. Google ScholarGoogle Scholar
  5. DRUSCHEL, P., PETERSON,L.L.,AND DAVIE, B. S. 1994. Experiences with a high-speed network adaptor: A software perspective. SIGCOMM Comput. Commun. Rev. 24, 4 (Oct.), 2-13. Google ScholarGoogle Scholar
  6. DUNCANSON, J. 1994. Inverse multiplexing. IEEE Commun. Mag. 32, 4 (Apr.), 34-41.Google ScholarGoogle Scholar
  7. FLOYD,S.AND JACOBSON, V. 1995. Link-sharing and resource management models for packet networks. IEEE/ACM Trans. Netw. 3, 4 (Aug.), 365-386. Google ScholarGoogle Scholar
  8. FREDETTE, P. H. 1994. The past, present and future of inverse multiplexing. IEEE Commun. Mag. 32, 4 (Apr.), 41-47.Google ScholarGoogle Scholar
  9. KUNG,H.T.AND CHAPMAN, A. 1993. The FCVC (Flow Controlled Virtual Channel) proposal for ATM networks. In Proceedings of the International Conference on Network Protocols 116-127.Google ScholarGoogle Scholar
  10. MCKENNEY, P. E. 1991. Stochastic fair queueing. Internetworking Res. Exp. 2, 113-131.Google ScholarGoogle Scholar
  11. LYNCH,N.A.AND TUTTLE, M. R. 1989. An introduction to input/output automata. CWI Q. 2, 3, 219-246.Google ScholarGoogle Scholar
  12. ROMANOV,A.AND FLOYD, S. 1994. Dynamics of TCP traffic over ATM networks. In Proceedings of the ACM Conference on Applications, Technologies, Architectures, and Proto-cols for Computer Communication (SIGCOMM '94). ACM, New York, NY, 79-88. Google ScholarGoogle Scholar
  13. SHREEDHAR,M.AND VARGHESE, G. 1995. Efficient fair queueing using deficit round robin. SIGCOMM Comput. Commun. Rev. 25, 4 (Oct.), 231-242. Google ScholarGoogle Scholar
  14. THE ATM FORUM TECHNICAL COMMITTEE. 1999. Inverse multiplexing for ATM (IMA) specification. Version 1.1. ATM Forum Doc. AF-PHY-0086.001.Google ScholarGoogle Scholar
  15. THEOHARAKIS,V.AND GUERIN, R. 1993. SONET OC12 interface for variable length packets. In Proceedings of the 2nd International Conference on Computer Communications and Net-works (June). 28-30.Google ScholarGoogle Scholar
  16. TRAW,C.B.S.AND SMITH, J. 1995. Striping within the network subsystem. IEEE Network 9, 4 (Jan.), 22-29. Google ScholarGoogle Scholar
  17. VARGHESE, G. 1993. Self-stabilization by local checking and correction. Ph.D. Dissertation. Massachusetts Institute of Technology, Cambridge, MA. Google ScholarGoogle Scholar
  18. RICHARD,W.D.AND FIGERHUT, J. A. 1998. The gigabit switch (WUGS-20) link interface specification. Tech. Rep. ARL-94-17. Computer Science Department, Washington Univer-sity, St. Lous, MO.Google ScholarGoogle Scholar

Index Terms

  1. An architecture for packet-striping protocols

    Recommendations

    Reviews

    Cui-Qing Yang

    With the ever-growing power of computer CPUs (such as the recent advent of 1.0 GHz PC processors), network speeds for Internet access and Internet service provider (ISP) backbones usually become the bottlenecks. Although many new technologies, such as DSL, cable modems, Gigabit Ethernet, and WDM fiber, will certainly offer great promise in the future, some of the old gimmicks, such as data striping or reverse multiplexing, which increase communication throughput by “striping” data across multiple network links, can still work their charm. This paper presents a new set of data-striping (packet-striping or channel-striping) algorithms that efficiently handle issues of variable-packet-size and first-in-first-out (FIFO) delivery with packet losses and dynamically varying skews. The most interesting feature of the proposed algorithms is that a theoretical connection (“transformation theorem”) is first established between the well-studied fair-queueing algorithms and the data-striping algorithms of load sharing, and new data striping algorithms surplus round robin (SRR) and generalized round robin (GRR) are then derived as the results of transformation from existing fair-queue ing algorithms. As a demonstration, the implementation, within the NetBSD kernel, of a simple architectural framework for striping IP packets using SRR over multiple data link interfaces (“stripe” protocol) is also included. The performance measurements and simulations show improved results over available striping schemes with scalable throughput, even when striping is done over dissimilar links (ATM and Ethernet), and the protocol synchronizes quickly after packet losses.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader