Buffer allocation for advanced packet segmentation in Network Processors

  • Authors:
  • Daniel Llorente;Kimon Karras;Thomas Wild;Andreas Herkersdorf

  • Affiliations:
  • Lehrstuhl für Integrierte Systeme, Technische Universität München, Arcisstraβe 21, D-80290, Munich, Germany;Lehrstuhl für Integrierte Systeme, Technische Universität München, Arcisstraβe 21, D-80290, Munich, Germany;Lehrstuhl für Integrierte Systeme, Technische Universität München, Arcisstraβe 21, D-80290, Munich, Germany;Lehrstuhl für Integrierte Systeme, Technische Universität München, Arcisstraβe 21, D-80290, Munich, Germany

  • Venue:
  • ASAP '08 Proceedings of the 2008 International Conference on Application-Specific Systems, Architectures and Processors
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

in current Network Processors, incoming variable-length packets are sliced using only one small segment size and then stored in the buffer. Inconveniently, short data bursts are inadequate for accessing SDRAM, commonly used for packet buffers, due to high activation and pre-charging latencies. Using large segment sizes is not optimal either because though it increases memory bandwidth, the benefit comes at the price of a heavy reduction in storing efficiency. A good solution to achieve simultaneously high performance and memory utilization consists in storing a single packet segmented using multiple segment sizes. In this paper, we study how to allocate memory for these different-sized segments in an efficient way. First we analyze the appropriate segment pool size for a multitude of traffic scenarios. Our experiments show that simple static buffer allocation does not always suffice as different segment pools may be exhausted depending on traffic. Hence we introduce a method for handling multiple segment pools not only in a static but also in a dynamic way, taking advantage of a new set of control structures based on a combination of bitmaps and linked lists. We demonstrate that our method achieves a huge reduction in control buffer size requirements in comparison to state-of-the-art control structures, together with decreasing the average number of accesses to control data.