Buffer allocation for advanced packet segmentation in Network Processors

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Llorente, D., Karras, K., Wild, T., Herkersdorf, A.
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 226
container_issue
container_start_page 221
container_title
container_volume
creator Llorente, D.
Karras, K.
Wild, T.
Herkersdorf, A.
description 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.
doi_str_mv 10.1109/ASAP.2008.4580182
format Conference Proceeding
fullrecord <record><control><sourceid>ieee_6IE</sourceid><recordid>TN_cdi_ieee_primary_4580182</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>4580182</ieee_id><sourcerecordid>4580182</sourcerecordid><originalsourceid>FETCH-LOGICAL-i175t-64836f462612f5c42f970200523d264a106a9bd7c636812f6a4c266561c3ee703</originalsourceid><addsrcrecordid>eNpVkM9KAzEYxCNasK19APGyL7A1f78kx7VYKxQtqOcSs19k7XZTklXx7V1oL56GgZnhxxByzeicMWpvq5dqM-eUmrlUhjLDz8jMasMkl5IZa9T5P6_NBRkzCqIEA3xEJkNVW2oMt5dkkvMnpVwLMGOyuvsKAVPh2jZ61zexK0IcbP3tOo91cXB-h32R8WOPXX8MNF3xhP1PTLtik6LHnGPKV2QUXJtxdtIpeVvevy5W5fr54XFRrcuGadWXII2AIIED40F5yYPVdKBTXNQcpBugnX2vtYcBb4iAk54DKGBeIGoqpuTmuNsg4vaQmr1Lv9vTK-IPLARQVQ</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Buffer allocation for advanced packet segmentation in Network Processors</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Llorente, D. ; Karras, K. ; Wild, T. ; Herkersdorf, A.</creator><creatorcontrib>Llorente, D. ; Karras, K. ; Wild, T. ; Herkersdorf, A.</creatorcontrib><description>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.</description><identifier>ISSN: 1063-6862</identifier><identifier>ISBN: 9781424418978</identifier><identifier>ISBN: 1424418976</identifier><identifier>EISBN: 9781424418985</identifier><identifier>EISBN: 1424418984</identifier><identifier>DOI: 10.1109/ASAP.2008.4580182</identifier><identifier>LCCN: 2007908829</identifier><language>eng</language><publisher>IEEE</publisher><subject>Bandwidth ; Buffer Management ; Dynamic Memory Allocation ; Internet ; Memory management ; Memory Subsystem ; Multiplexing ; Network Processor ; Program processors ; Random access memory ; Resource management</subject><ispartof>2008 International Conference on Application-Specific Systems, Architectures and Processors, 2008, p.221-226</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/4580182$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,776,780,785,786,2052,27902,54895</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/4580182$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Llorente, D.</creatorcontrib><creatorcontrib>Karras, K.</creatorcontrib><creatorcontrib>Wild, T.</creatorcontrib><creatorcontrib>Herkersdorf, A.</creatorcontrib><title>Buffer allocation for advanced packet segmentation in Network Processors</title><title>2008 International Conference on Application-Specific Systems, Architectures and Processors</title><addtitle>ASAP</addtitle><description>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.</description><subject>Bandwidth</subject><subject>Buffer Management</subject><subject>Dynamic Memory Allocation</subject><subject>Internet</subject><subject>Memory management</subject><subject>Memory Subsystem</subject><subject>Multiplexing</subject><subject>Network Processor</subject><subject>Program processors</subject><subject>Random access memory</subject><subject>Resource management</subject><issn>1063-6862</issn><isbn>9781424418978</isbn><isbn>1424418976</isbn><isbn>9781424418985</isbn><isbn>1424418984</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2008</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNpVkM9KAzEYxCNasK19APGyL7A1f78kx7VYKxQtqOcSs19k7XZTklXx7V1oL56GgZnhxxByzeicMWpvq5dqM-eUmrlUhjLDz8jMasMkl5IZa9T5P6_NBRkzCqIEA3xEJkNVW2oMt5dkkvMnpVwLMGOyuvsKAVPh2jZ61zexK0IcbP3tOo91cXB-h32R8WOPXX8MNF3xhP1PTLtik6LHnGPKV2QUXJtxdtIpeVvevy5W5fr54XFRrcuGadWXII2AIIED40F5yYPVdKBTXNQcpBugnX2vtYcBb4iAk54DKGBeIGoqpuTmuNsg4vaQmr1Lv9vTK-IPLARQVQ</recordid><startdate>200807</startdate><enddate>200807</enddate><creator>Llorente, D.</creator><creator>Karras, K.</creator><creator>Wild, T.</creator><creator>Herkersdorf, A.</creator><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>200807</creationdate><title>Buffer allocation for advanced packet segmentation in Network Processors</title><author>Llorente, D. ; Karras, K. ; Wild, T. ; Herkersdorf, A.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i175t-64836f462612f5c42f970200523d264a106a9bd7c636812f6a4c266561c3ee703</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2008</creationdate><topic>Bandwidth</topic><topic>Buffer Management</topic><topic>Dynamic Memory Allocation</topic><topic>Internet</topic><topic>Memory management</topic><topic>Memory Subsystem</topic><topic>Multiplexing</topic><topic>Network Processor</topic><topic>Program processors</topic><topic>Random access memory</topic><topic>Resource management</topic><toplevel>online_resources</toplevel><creatorcontrib>Llorente, D.</creatorcontrib><creatorcontrib>Karras, K.</creatorcontrib><creatorcontrib>Wild, T.</creatorcontrib><creatorcontrib>Herkersdorf, A.</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Llorente, D.</au><au>Karras, K.</au><au>Wild, T.</au><au>Herkersdorf, A.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Buffer allocation for advanced packet segmentation in Network Processors</atitle><btitle>2008 International Conference on Application-Specific Systems, Architectures and Processors</btitle><stitle>ASAP</stitle><date>2008-07</date><risdate>2008</risdate><spage>221</spage><epage>226</epage><pages>221-226</pages><issn>1063-6862</issn><isbn>9781424418978</isbn><isbn>1424418976</isbn><eisbn>9781424418985</eisbn><eisbn>1424418984</eisbn><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.</abstract><pub>IEEE</pub><doi>10.1109/ASAP.2008.4580182</doi><tpages>6</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1063-6862
ispartof 2008 International Conference on Application-Specific Systems, Architectures and Processors, 2008, p.221-226
issn 1063-6862
language eng
recordid cdi_ieee_primary_4580182
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Bandwidth
Buffer Management
Dynamic Memory Allocation
Internet
Memory management
Memory Subsystem
Multiplexing
Network Processor
Program processors
Random access memory
Resource management
title Buffer allocation for advanced packet segmentation in Network Processors
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-05T02%3A48%3A00IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-ieee_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Buffer%20allocation%20for%20advanced%20packet%20segmentation%20in%20Network%20Processors&rft.btitle=2008%20International%20Conference%20on%20Application-Specific%20Systems,%20Architectures%20and%20Processors&rft.au=Llorente,%20D.&rft.date=2008-07&rft.spage=221&rft.epage=226&rft.pages=221-226&rft.issn=1063-6862&rft.isbn=9781424418978&rft.isbn_list=1424418976&rft_id=info:doi/10.1109/ASAP.2008.4580182&rft_dat=%3Cieee_6IE%3E4580182%3C/ieee_6IE%3E%3Curl%3E%3C/url%3E&rft.eisbn=9781424418985&rft.eisbn_list=1424418984&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=4580182&rfr_iscdi=true