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 PDF

Info

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
Application number
US09/126,608
Other languages
English (en)
Inventor
Yu-Sheng Lin
C. Bernard Shung
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Accton Technology Corp
Original Assignee
Accton Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Accton Technology Corp filed Critical Accton Technology Corp
Assigned to ACCTON TECHNOLOGY CORPORATION reassignment ACCTON TECHNOLOGY CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIN, YU-SHENG, SHUNG, C. BERNARD
Application granted granted Critical
Publication of US6272143B1 publication Critical patent/US6272143B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow 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)
US09/126,608 1998-03-20 1998-07-31 Quasi-pushout method associated with upper-layer packet discarding control for packet communication systems with shared buffer memory Expired - Lifetime US6272143B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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