• DocumentCode
    1214065
  • Title

    Designing Packet Buffers for Router Linecards

  • Author

    Iyer, Sundar ; Kompella, Ramana Rao ; McKeown, Nick

  • Author_Institution
    Dept. of Comput. Sci., Stanford Univ., Palo Alto, CA
  • Volume
    16
  • Issue
    3
  • fYear
    2008
  • fDate
    6/1/2008 12:00:00 AM
  • Firstpage
    705
  • Lastpage
    717
  • Abstract
    Internet routers and Ethernet switches contain packet buffers to hold packets during times of congestion. Packet buffers are at the heart of every packet switch and router, which have a combined annual market of tens of billions of dollars, and equipment vendors spend hundreds of millions of dollars on memory each year. Designing packet buffers used to be easy: DRAM was cheap, low power and widely used. But something happened at 10 Gb/s when packets started to arrive and depart faster than the access time of a DRAM. Alternative memories were needed, but SRAM is too expensive and power-hungry. A caching solution is appealing, with a hierarchy of SRAM and DRAM, as used by the computer industry. However, in switches and routers it is not acceptable to have a ldquomiss-raterdquo as it reduces throughput and breaks pipelines. In this paper we describe how to build caches with 100% hit-rate under all conditions, by exploiting the fact that switches and routers always store data in FIFO queues. We describe a number of different ways to do it, with and without pipelining, with static or dynamic allocation of memory. In each case, we prove a lower bound on how big the cache needs to be, and propose an algorithm that meets, or comes close, to the lower bound. These techniques are practical and have been implemented in fast silicon; as a result, we expect the techniques to fundamentally change the way switches and routers use external memory.
  • Keywords
    Internet; local area networks; random-access storage; telecommunication network routing; telecommunication switching; DRAM; Ethernet switches; FIFO queues; Internet routers; SRAM; dynamic allocation; packet buffers; router linecards; static allocation; Cache; hit-rate; line-card; memory hierarchy; packet buffer; router; switches;
  • fLanguage
    English
  • Journal_Title
    Networking, IEEE/ACM Transactions on
  • Publisher
    ieee
  • ISSN
    1063-6692
  • Type

    jour

  • DOI
    10.1109/TNET.2008.923720
  • Filename
    4515889