US6272143B1 - Quasi-pushout method associated with upper-layer packet discarding control for packet communication systems with shared buffer memory - Google Patents
Quasi-pushout method associated with upper-layer packet discarding control for packet communication systems with shared buffer memory Download PDFInfo
- Publication number
- US6272143B1 US6272143B1 US09/126,608 US12660898A US6272143B1 US 6272143 B1 US6272143 B1 US 6272143B1 US 12660898 A US12660898 A US 12660898A US 6272143 B1 US6272143 B1 US 6272143B1
- Authority
- US
- United States
- Prior art keywords
- queue
- packet
- quasi
- longest
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
Definitions
- the present invention relates to packet communication systems.
- the present invention is directed to the method and system for selective pushout in packet communication queuing modules with shared buffer.
- the present invention relates to the method and system for selective pushout with upper-layer discarding control in packet communication queuing modules with shared buffer.
- packet processing systems such as switches and multiplexers for ATM and Ethernet are usually implemented in the shared-buffer memory-based architecture.
- packet processing systems such as switches and multiplexers for ATM and Ethernet are usually implemented in the shared-buffer memory-based architecture.
- incoming packets from all input ports to different output ports are buffered in logical output queues within the same shared buffer.
- the packet discarding control method A good packet discarding control method should be fair and efficient, i.e., the shared buffer should be fairly used by all output queues, and the discarded packets should be selected to have the least impact on system performance.
- Pushout Selective pushout
- packet discarding control was found to achieve fair buffer utilization and optimal packet loss performance for the shared-buffer switching systems (see I. Cidon, et. al. “Optimal buffer sharing,” IEEE Journal on selected areas in communications, vol. 13, no. 7, pp. 1229-1239, September 1995 and L. Tassiulas, et. al. “Optimal buffer control during congestion in an ATM network node,” IEEE/ACM Trans. On Networking, vol. 2, no. 4, pp. 374-386, August 1994).
- the basic concept of Pushout packet discarding is to discard packet from the head of the longest queue to accommodate the incoming packet.
- Pushout is very difficult to implement because it must sort out the longest of all queues in the shared buffer on every packet arrival events. When the number of queues is large and the arrival of packets is frequent, the sorting operation may become the bottleneck for practical implementation.
- an upper-layer packet is segmented into several small lower-layer packets.
- an upper-layer packet For each upper-layer packet, if one or more lower-layer packets of it have been discarded, its integrity is damaged and the whole upper-layer packet should be retransmitted. Therefore, if a to-be-discarded lower-layer packet is selected from a damaged upper-layer packet, the upper-layer packet loss performance will not be affected.
- Such discarding control associated with the status of upper-layer packets shall reduce the damage to upper-layer packets and thus provide better upper-layer packet loss performance.
- Pushout packet discarding method it is necessary to provide a better implementation of Pushout packet discarding method.
- the upper-layer packets status should also be considered to achieve better upper-layer packet loss performance.
- the main objective of this invention is to provide a packet discarding control method for packet communication systems with shared buffer.
- the packet communication system has a pointer (Qmax) to indicate the quasi-longest queue in the shared buffer and a corresponding queue length counter (QL[Qmax]) thereof.
- the pointer Qmax is updated on every packet arrival and/or departure events. If the length of the destination queue of an arriving packet grows longer than QL[Qmax] after the arrival, Qmax is updated to point to this new quasi-longest queue. Similarly, if the length of the output queue of a departing packet is found longer than QL[Qmax] after the departure, Qmax is updated to point to this new quasi-longest queue.
- pointer Qmax is updated on every packet arrival and/or departure events (queue length change events), it tracks the real longest queue closely.
- the shared buffer when the shared buffer is full and there are packets arriving at the inputs of the system, some packets must be discarded to make space for the arriving ones.
- the to-be-discarded packet is selected from the head of the quasi-longest queue. Since the quasi-longest queue pointer tracks the real longest queue closely, quasi-pushout (QPO) is able to provide the fairness and efficiency of the conventional Pushout packet discarding control method. It is also suitable for practical implementation because the update of the quasi-longest queue pointer, Qmax, involves only one comparison between two queue length counters, instead of sorting out the maximum among all queue length counters.
- a damage flag and a damaged-queue pointer can be employed to identify the presence of a damaged upper-layer packet and to point to the queue which stores the damaged upper-layer packet respectively.
- the packet to be discarded to make space for the arriving one is first selected from the damaged upper-layer packet, and then, from the head of the quasi-longest queue.
- the associated upper-layer packet status control will improve the upper-layer packet loss performance by accumulating discarded lower-layer packets in damaged upper-layer packets.
- FIG. 1 illustrates a packet communication module
- FIG. 2 is a logic diagram of a shared buffer in a packet communication module.
- FIG. 3 a to 3 c illustrates the process of quasi-pushout associated with upper-layer packet discarding control.
- packet refers to a unit of data segment encapsulated with identification information.
- the size of packets in a specific system may be fixed (e.g. ATM) or variable within a range (e.g. Ethernet).
- the described embodiment is a fixed-size packet switch with multi-input and multi-output ports, for example, an ATM switch.
- the present invention can be applied for multi-input/single-output system, such as a multiplexer, or single-input/multi-output system, such as a demultiplexer.
- the present invention can also be applied in other embodiments with fixed or variable length packets.
- the packet communication module 10 is connected to single or multiple input ports 12 , from which the module 10 receives packets.
- the packet communication module 10 is also connected to a single or multiple output ports 14 for transmitting switched packets.
- Input ports 12 and output ports 14 are connected to the input/output circuitry 16 coupled to the processor 18 and the shared buffer memory 20 .
- the input/output circuitry 16 may consist the phase-alignment circuitry and the serial-parallel converters. For packets received in input ports 12 , their encapsulated identification information is forwarded to and processed by the processor 18 .
- the shared buffer memory 20 serves as the storage for packet data.
- the processor 18 contains the quasi-longest-queue pointer 22 which points to one of the queues in memory 20 .
- This quasi-longest queue is possibly, but not necessarily, the longest queue in the shared buffer memory 20 . In case the quasi-longest queue is not the real longest one, its queue length will be still quite close to the real longest one.
- the quasi-longest queue pointer 22 is updated whenever a packet is buffered into or retrieved from the shared buffer memory 20 .
- FIG. 2 shows the logic diagram of the queues in the shared buffer memory 20 . However, the realization may differ from this diagram.
- Each queue if not empty, consists of one or more packets organized as a First-In-First-Out (FIFO) data structure.
- FIFO First-In-First-Out
- a comparison is performed to update the quasi-longest-queue pointer 22 to point to the longer one of the quasi-longest queue and the served queue. Whenever there is a queue length change. the quasi-longest-queue pointer 22 is updated to point to the longer one.
- the content of the damage flag 24 represents whether a damaged upper-layer packet exists in one of the queues in the shared buffer memory 20 . That is, if the damage flag is set to “1”, part of an upper-layer packet has been damaged due to lower-layer packet discarding, and parts of the damaged upper-layer packet are still buffered in the shared buffer memory 20 . The queue storing the remained part of a damaged upper-layer packet is indicated by the damaged-queue pointer 26 .
- the damage flag 24 is examined. If the damage flag is “0”, which indicates no damaged upper-layer packet, the packet at the head of the quasi-longest queue is selected to be discarded. If the damaged flag is “1”, which indicates a damaged upper-layer packets in the shared buffer memory, the to-be-discarded packet is selected from the damaged upper-layer packet, i.e., from the head of the queue pointed by the damaged-queue pointer 26 .
- FIG. 3 shows the process of packet discarding and the status change of queues in the shared buffer memory 20 .
- each queue has five buffered packets, thus the queue length QL[1], QL[2], and QL[3] are all equal to 5.
- the end packet of an upper-layer packet is labeled as EOUP.
- the discarding process is initiated. Based on the contents of the damage flag 24 , there is no damaged upper-layer packet. Thus, the head packet A is discarded from the head of the quasi-longest queue Q2. After that, packet B is stored into the buffer, and the contents of QuasiMax, damage flag, and DamageQ are updated to the status in FIG. 3 b.
- destination [i] means the destination queue of the incoming packet at port i.
- the present invention can be implemented without the upper-layer packet discarding control.
- the embodiment of the present invention without the upper-layer packet discarding control is similar to the above-mentioned preferred embodiment with both the damage flag and the damaged-queue pointer being always set to zero.
- the present invention employ the quasi-longest-queue pointer to track the real longest queue closely.
- a corresponding input or output comparison is performed to update the quasi-longest-queue pointer on every packet arrival or departure.
- the conventional Pushout packet discarding control which sorts out the real longest one among all the queues, the number of comparisons as well as the complexity of the system is significantly reduced.
- one of the input and output comparisons can be omitted to become either the input-only quasi-pushout or the output-only quasi-pushout.
- the former compares only the destination queues and the quasi-longest queue, while the latter compares only the output queues and the quasi-longest queue.
- the present invention tracks the quasi-longest queue instead of the real longest one for selective pushout packet discarding control, thus greatly reduces the number of queue length comparisons and achieves packet loss performance compatible to the conventional Pushout.
- the present invention can achieve a better upper-layer packet loss performance by accumulating lower-layer packet losses in damaged upper-layer packets.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW87104148 | 1998-03-20 | ||
TW087104148A TW463092B (en) | 1998-03-20 | 1998-03-20 | Quasi-pushout method with upper layer packet discarding discipline and packet communication system implementing the method |
Publications (1)
Publication Number | Publication Date |
---|---|
US6272143B1 true US6272143B1 (en) | 2001-08-07 |
Family
ID=21629720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/126,608 Expired - Lifetime US6272143B1 (en) | 1998-03-20 | 1998-07-31 | Quasi-pushout method associated with upper-layer packet discarding control for packet communication systems with shared buffer memory |
Country Status (2)
Country | Link |
---|---|
US (1) | US6272143B1 (zh) |
TW (1) | TW463092B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393027B1 (en) * | 1998-02-24 | 2002-05-21 | Accton Technology Corporation | Quasi-pushout packet discarding method for packet communication systems with shared buffer |
US20020131419A1 (en) * | 2001-03-19 | 2002-09-19 | Hiroaki Tamai | Packet switch apparatus and multicasting method |
US20030223442A1 (en) * | 2002-05-29 | 2003-12-04 | Huang Anguo T. | Buffer memory reservation |
US6700894B1 (en) * | 2000-03-15 | 2004-03-02 | Broadcom Corporation | Method and apparatus for shared buffer packet switching |
US20080077763A1 (en) * | 2003-01-13 | 2008-03-27 | Steinmctz Joseph H | Method and system for efficient queue management |
US20090199061A1 (en) * | 2008-01-31 | 2009-08-06 | Nec Corporation | Method and device for processing data in retransmission processes |
US20130003752A1 (en) * | 2011-06-30 | 2013-01-03 | Vitaly Sukonik | Method, Network Device, Computer Program and Computer Program Product for Communication Queue State |
US20140226561A1 (en) * | 2013-02-13 | 2014-08-14 | Alcatel-Lucent Usa, Inc. | Method and apparatus for video or multimedia content delivery |
WO2017176539A1 (en) * | 2016-04-06 | 2017-10-12 | Alcatel-Lucent Usa Inc. | Longest queue identification |
US11003385B2 (en) * | 2018-04-16 | 2021-05-11 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory in which write data are stored in a shared device side write buffer shared by a plurality of write destination blocks |
US11463382B2 (en) * | 2018-08-27 | 2022-10-04 | Nippon Telegraph And Telephone Corporation | Communication control system and communication control method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475682A (en) * | 1994-06-10 | 1995-12-12 | At&T Corp. | Method of regulating backpressure traffic in a packet switched network |
US5521916A (en) | 1994-12-02 | 1996-05-28 | At&T Corp. | Implementation of selective pushout for space priorities in a shared memory asynchronous transfer mode switch |
US5561663A (en) | 1994-12-30 | 1996-10-01 | Stratacom, Inc. | Method and apparatus for performing communication rate control using geometric weighted groups |
-
1998
- 1998-03-20 TW TW087104148A patent/TW463092B/zh not_active IP Right Cessation
- 1998-07-31 US US09/126,608 patent/US6272143B1/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5475682A (en) * | 1994-06-10 | 1995-12-12 | At&T Corp. | Method of regulating backpressure traffic in a packet switched network |
US5521916A (en) | 1994-12-02 | 1996-05-28 | At&T Corp. | Implementation of selective pushout for space priorities in a shared memory asynchronous transfer mode switch |
EP0715436A2 (en) * | 1994-12-02 | 1996-06-05 | AT&T Corp. | ATM buffer memory priority controller |
US5561663A (en) | 1994-12-30 | 1996-10-01 | Stratacom, Inc. | Method and apparatus for performing communication rate control using geometric weighted groups |
Non-Patent Citations (5)
Title |
---|
A. Choudhury et al, Dynamic Queue Length Thresholds in a Shared Memory ATM Switch, 1996 IEEE, pp. 679, 687. |
I. Cidon, Optimal Buffer Sharing, Sep. 7, 1995, IEEE Journal, vol. 13, No. 7, pp. 1229-1240. |
J.F. Meyer et al, Dimensioning of an ATM Switch with Shared Buffer and Threshold Priority, 1993, pp. 96-108. |
L. Tassiulas, Optimal Buffer Control During Congestion in an ATM Network Node, IEE/ACM Transactions on Networking, vol. 2, No. 4, Aug. 4, 1994, pp. 374-386. |
Y. Lin et al, Quasi-Pushout Cell Discarding, Sep. 5, 1997, IEEE Communications Letters vol. 1, No. 5., pp. 146-148. |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393027B1 (en) * | 1998-02-24 | 2002-05-21 | Accton Technology Corporation | Quasi-pushout packet discarding method for packet communication systems with shared buffer |
US6700894B1 (en) * | 2000-03-15 | 2004-03-02 | Broadcom Corporation | Method and apparatus for shared buffer packet switching |
US20040090976A1 (en) * | 2000-03-15 | 2004-05-13 | Broadcom Corporation | Method and apparatus for shared buffer packet switching |
US7315550B2 (en) | 2000-03-15 | 2008-01-01 | Broadcom Corporation | Method and apparatus for shared buffer packet switching |
US20020131419A1 (en) * | 2001-03-19 | 2002-09-19 | Hiroaki Tamai | Packet switch apparatus and multicasting method |
US20030223442A1 (en) * | 2002-05-29 | 2003-12-04 | Huang Anguo T. | Buffer memory reservation |
US7801120B2 (en) * | 2003-01-13 | 2010-09-21 | Emulex Design & Manufacturing Corporation | Method and system for efficient queue management |
US20080077763A1 (en) * | 2003-01-13 | 2008-03-27 | Steinmctz Joseph H | Method and system for efficient queue management |
US20090199061A1 (en) * | 2008-01-31 | 2009-08-06 | Nec Corporation | Method and device for processing data in retransmission processes |
EP2086152A3 (en) * | 2008-01-31 | 2014-08-27 | NEC Corporation | Method and device for processing data in retransmission processes |
US20130003752A1 (en) * | 2011-06-30 | 2013-01-03 | Vitaly Sukonik | Method, Network Device, Computer Program and Computer Program Product for Communication Queue State |
US9749255B2 (en) * | 2011-06-30 | 2017-08-29 | Marvell World Trade Ltd. | Method, network device, computer program and computer program product for communication queue state |
US20140226561A1 (en) * | 2013-02-13 | 2014-08-14 | Alcatel-Lucent Usa, Inc. | Method and apparatus for video or multimedia content delivery |
WO2017176539A1 (en) * | 2016-04-06 | 2017-10-12 | Alcatel-Lucent Usa Inc. | Longest queue identification |
US11003385B2 (en) * | 2018-04-16 | 2021-05-11 | Toshiba Memory Corporation | Memory system and method for controlling nonvolatile memory in which write data are stored in a shared device side write buffer shared by a plurality of write destination blocks |
US11669269B2 (en) | 2018-04-16 | 2023-06-06 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
US11868653B2 (en) | 2018-04-16 | 2024-01-09 | Kioxia Corporation | Memory system and method for controlling nonvolatile memory |
US11463382B2 (en) * | 2018-08-27 | 2022-10-04 | Nippon Telegraph And Telephone Corporation | Communication control system and communication control method |
Also Published As
Publication number | Publication date |
---|---|
TW463092B (en) | 2001-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5278828A (en) | Method and system for managing queued cells | |
CA2156654C (en) | Dynamic queue length thresholds in a shared memory atm switch | |
US5732087A (en) | ATM local area network switch with dual queues | |
US5233606A (en) | Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment | |
US6529478B1 (en) | Pass/drop apparatus and method for network switching node | |
US7050440B2 (en) | Method and structure for variable-length frame support in a shared memory switch | |
US5521916A (en) | Implementation of selective pushout for space priorities in a shared memory asynchronous transfer mode switch | |
EP0960536B1 (en) | Queuing structure and method for prioritization of frames in a network switch | |
CA2153172C (en) | Controlled access atm switch | |
US7773602B2 (en) | CAM based system and method for re-sequencing data packets | |
US8995445B2 (en) | System and method for re-sequencing data packets on a per-flow basis | |
EP0512495B1 (en) | Switching node in a network with label multiplexed information | |
US7480242B2 (en) | Pass/drop apparatus and method for network switching node | |
US20040141504A1 (en) | Method and system for resequencing data packets switched through a parallel packet switch | |
JP2004015561A (ja) | パケット処理装置 | |
US6272143B1 (en) | Quasi-pushout method associated with upper-layer packet discarding control for packet communication systems with shared buffer memory | |
GB2365665A (en) | Switching arrangement for data packets | |
US5732082A (en) | System and method for multi-frame received queuing with sorting in an asynchronous transfer mode (ATM) system | |
US6490640B1 (en) | Packet data switching apparatus | |
US6393027B1 (en) | Quasi-pushout packet discarding method for packet communication systems with shared buffer | |
US20020107974A1 (en) | Data traffic manager | |
Huang et al. | Performance analysis of a new cell discarding scheme in ATM networks | |
JP3848962B2 (ja) | パケット交換機およびセル転送制御方法 | |
Chan et al. | A FIFO-based buffer management approach for the ATM GFR services | |
EP1209865B1 (en) | Method and structure for variable-length frame support in a shared memory switch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ACCTON TECHNOLOGY CORPORATION, TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIN, YU-SHENG;SHUNG, C. BERNARD;REEL/FRAME:009355/0248 Effective date: 19980721 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
SULP | Surcharge for late payment |
Year of fee payment: 7 |
|
FPAY | Fee payment |
Year of fee payment: 12 |