CN100596114C - Credit based flow control system, apparatus and method - Google Patents

Credit based flow control system, apparatus and method Download PDF

Info

Publication number
CN100596114C
CN100596114C CN200710120753A CN200710120753A CN100596114C CN 100596114 C CN100596114 C CN 100596114C CN 200710120753 A CN200710120753 A CN 200710120753A CN 200710120753 A CN200710120753 A CN 200710120753A CN 100596114 C CN100596114 C CN 100596114C
Authority
CN
China
Prior art keywords
flow control
module
arbitration
value
send
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.)
Active
Application number
CN200710120753A
Other languages
Chinese (zh)
Other versions
CN101115008A (en
Inventor
王达伟
安学军
刘新春
曹政
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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN200710120753A priority Critical patent/CN100596114C/en
Publication of CN101115008A publication Critical patent/CN101115008A/en
Application granted granted Critical
Publication of CN100596114C publication Critical patent/CN100596114C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a reputation-based flow control system, device and method, the system comprises a multiport switch device. The switch device comprises a plurality of port modules, arbitrationmodules, and routing modules. The port module comprises a transmit module, a receiver module, and a flow control module; the receiver module comprises a plurality of virtual channel receiving buffer zones. The arbitration module also comprises a recording module to record arbitration failure FPL value according to the transfer request; the flow control module comprises a judge module, so that whenthe transmit module at the receiving end has data packet to be transmitted to receiver module at the transmitting end, the flow control module at the receiving end compares the remaining local reputation value and the current remaining resource with the arbitration failure FPL value received at the transmitting end and transmitted by the transmit module to judge whether to transmit flow control packet to the receiver module at the transiting end. The invention improves the efficiency of the flow control method of data communication networks and the utilization of the links in the networks andresources in the buffer zones.

Description

A kind of flow control system, apparatus and method based on prestige
Technical field
The present invention relates to the data communication network field, particularly relate to a kind of flow control system, apparatus and method, be applicable to the flow control of high-speed data communication network end-to-end link based on prestige.
Background technology
In the network based on the switch interconnection, adopt the mode of point-to-point to connect between exchange apparatus and processing node or the exchange apparatus, form the network link of data communication.Exchange apparatus comprises a plurality of communication port, and each communication port inside comprises transmission, reception and three modules of Flow Control, and the communication port two ends of a plurality of switches connect respectively, forms the network link of data communication.
Sending module is used to send packet and Flow Control bag.
Receiver module is used for extracting packet and Flow Control bag from receiving data stream.The typical high-performance network switch adopts many queue structures that data are cushioned at its receiver module, the corresponding Virtual Channel (Virtual Channel) of each formation, comprise data buffer area in the Virtual Channel, this buffer area is used to cushion the packet that its destination interface wouldn't be available.
Each module in port, also comprise routing module, arbitration modules and the cross bonding between them in the exchange apparatus.
The destination interface that routing module provides according to packet, the application corresponding ports is carried out transfer of data; Arbitration modules is then arbitrated the routing module of applying for same destination interface, arbitrate successfully can transfer data to its destination interface; Next arbitration result is waited in the continuation of failure.
Flow control is called for short Flow Control, is that receiving terminal is in order to prevent that receiving buffer area overflows, the mechanism that the data of control transmitting terminal send.Flow control is based on that each Virtual Channel carries out.
The high-performance switch usually adopts the flow control methods of two kinds of flow control methods: Xon/Xoff or based on the flow control methods of prestige (Credit-based).Wherein, the flow control methods of Xon/Xoff generally is applicable to worm hole (Wormhole) exchanged form, and for adopting empty incision (Virtual CutThrough, the VCT) switch of exchanged form, the general flow control methods that adopts based on prestige.
In the flow control methods based on prestige, sending module is informed the maximum amount of data-credit value that can send in advance, and this value is a unit with prestige piece (Credit Block).Described prestige piece is exactly the base unit of flow control, and it equals the byte units of some in size, and as 64 bytes, 128 bytes etc., sending module can not send above this quantity data.
Send in the process of data at sending module, transmission along with packet, credit value reduces gradually, when sending data packet length greater than remaining credit value, sending module stops to send data, the other side up to communication replenishes new credit value, and sending module is judged when enough credit values are arranged could send data.
In the flow control methods based on prestige, transmission opportunity of packet, the performance to the data communication network had material impact.On the one hand when the sending module credit value is not enough, if when communication the opposing party has enough free spaces but not have in time additional new credit value, then sending module just can not send new packet, causes the waste of physical link, causes the decline of switch throughput; On the other hand,, will take a large amount of physical channels, cause normal packet to send, also can influence switch performance if the opposing party of communication frequently sends reputation information.Therefore, how the transmission opportunity of judgment data bag, be based in the flow control methods of prestige, need the urgent problem that solves.
In addition, in the flow control methods based on prestige of the prior art, the generation of new credit value is based on that in the buffer area existing free space calculates.For the switch that adopts input rank, arbitrate successful packet and also can think and discharged the buffer area resource.Therefore when calculating new credit value, current resources left comprises the space of not depositing any data and has arbitrated successful packet but also remain in the space of buffering area.Adopt this method of allocating resource in advance, can further improve the buffer resource utilance.
Summary of the invention
The object of the present invention is to provide a kind of flow control system, apparatus and method based on prestige.It has improved the efficient of the flow control methods of data communication network, and has improved the gentle utilance of depositing area resource of link in the switching network.
Be a kind of flow control system based on prestige that realizes that the object of the invention provides, comprise the exchange apparatus of a plurality of transmitting terminals and receiving terminal, described exchange apparatus comprises a plurality of port modules, arbitration modules and routing module; Described port module comprises sending module, receiver module, Flow Control module;
Described receiver module comprises that a plurality of Virtual Channels receive buffer area;
Described arbitration modules is used for arbitrating judgement according to the far-end credit value that obtains from described Flow Control module to the input requested packets is arranged, and will arbitrates the sending module that the miss data packet length value is issued transmitting terminal, and it comprises:
Record sub module is used for according to the transmission request record arbitration following data packet length value of failing;
Described Flow Control module is used at process of transmitting, provides current far-end credit value to the arbitration modules of transmitting terminal; In receiving course, judge to send the Flow Control bag a suitable opportunity that it comprises:
Judge submodule, be used for when the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal, the arbitration of sending according to the sending module that the receives transmitting terminal following data packet length value of failing, compare with the local credit value of residue and the current resources left of current receiving terminal respectively, judge whether to send the receiver module of Flow Control bag to transmitting terminal.
Described sending module, be used to send packet and Flow Control bag, it comprises following data packet length register, the arbitration that is used for receiving the record sub module record of the arbitration modules following data packet length value of failing, and by sending module when sending packet, send to the receiver module of receiving terminal; Simultaneously the Flow Control bag that produces is inserted in the packet and sends;
Described receiver module, be used for extracting packet or Flow Control bag from receiving data stream, it comprises the extraction submodule, extracts the following data packet length value of arbitration failure from the packet that receives, and the Flow Control module that the following data packet length value of this arbitration failure is sent to receiving terminal is judged.
Described judgement submodule judges whether to send the receiver module of Flow Control bag to transmitting terminal, is meant:
When the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal,, then do not send the Flow Control bag if the local credit value of current residual is enough to satisfy the length of data package demand;
Otherwise, if do not satisfy, then observe and read the resources left situation of buffer area in the receiver module of current receiving terminal, judge the resources left situation;
If the resources left of buffer area can satisfy data packet length, just send the receiver module of Flow Control bag immediately to transmitting terminal;
Otherwise just do not send the Flow Control bag, and continue to read and judge the resources left situation of buffer area in the receiver module of current receiving terminal,, send till the receiver module of Flow Control bag to transmitting terminal until satisfying data packet length.
Described routing module also is used for providing to the Flow Control module arbitrates success, but remaining data is also arranged in buffer area, and the preassignment space of not transmitted carries out pre-allocation of resources and calculate.
Described resources left comprises current idling-resource situation and preassignment space resources situation.
Described receiver module also is used for receiving the process of packet, and whether do not stop to detect has the Flow Control bag to be inserted in the packet; If have, need extract the Flow Control bag that is embedded into packet, co-current flow control module provides parameter.
Described receiver module provides parameter to four of Flow Control modules
First parameter is used for the buffer memory free space that the Flow Control module is carried out Flow Control bag transmission judgement on opportunity and generated;
Second parameter is used for receiver module and sends the new credit value that the Flow Control bag extracts from the other side;
The 3rd parameter is used to notify the local credit value of Flow Control module from subtracting 1;
The 4th parameter is the following data packet length value of arbitration failure.
Described Flow Control module comprises two counters, and one is that can also remaining credit value, sending module are judged with this credit value send packet after far-end credit value counter was represented to receive the other side's Flow Control bag from last time; Another is local credit value counter, this counter represent from last time send the Flow Control bag to the other side after, local also remaining credit value.
Described record sub module, when being used for record arbitration and failing following data packet length value, if there is not the packet of failure in the arbitrated procedure, the following data packet length value of then should arbitration failing is assigned system default value.
Described default value is that the average packet of the packet that analyzes according to network flow statistic is long, as to wrapping long general estimation.
The described arbitration following data packet length value of failing perhaps is a length minimal data packet length value in all arbitration miss data bags; Perhaps arbitrate the mean value of the data packet length value of failure for all; Perhaps be the long data packet length value of all arbitration failures.
For realizing that the object of the invention also provides a kind of exchange apparatus of the flow control based on prestige, comprises a plurality of port modules, arbitration modules and routing module; Described port module comprises sending module, receiver module, Flow Control module;
Described receiver module comprises that a plurality of Virtual Channels receive buffer area;
Described arbitration modules is used for arbitrating judgement according to the far-end credit value that obtains from described Flow Control module to the input requested packets is arranged, and will arbitrates the sending module that the following data packet length value of failure is issued transmitting terminal, and it comprises:
Record sub module is used for providing the arbitration failure following data packet length value according to the transmission request to sending module;
Described Flow Control module is used at process of transmitting, provides current far-end credit value to the arbitration modules of transmitting terminal; In receiving course, judge to send the Flow Control bag a suitable opportunity that it comprises:
Judge submodule, be used for when the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal, the arbitration of sending according to the sending module that the receives transmitting terminal following data packet length value of failing, compare with the local credit value of residue and the current resources left of current receiving terminal respectively, judge whether to send the receiver module of Flow Control bag to transmitting terminal.
Described sending module, be used to send packet and Flow Control bag, it comprises following data packet length register, the arbitration that is used for receiving the record sub module record of the arbitration modules following length of data package value of failing, and by sending module when sending packet, send to the receiver module of receiving terminal; Simultaneously the Flow Control bag that produces is inserted in the packet and sends;
Described receiver module, be used for extracting packet or Flow Control bag from receiving data stream, it comprises the extraction submodule, extracts the following data packet length value of arbitration failure from the packet that receives, and the Flow Control module that the following data packet length value of this arbitration failure is sent to receiving terminal is judged.
Described judgement submodule judges whether to send the receiver module of Flow Control bag to transmitting terminal, is meant:
When the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal,, then do not send the Flow Control bag if the local credit value of current residual is enough to satisfy the length of data package demand;
Otherwise, if do not satisfy, then observe and read the resources left situation of buffer area in the receiver module of current receiving terminal, judge the resources left situation;
If the resources left of buffer area can satisfy data packet length, just send the receiver module of Flow Control bag immediately to transmitting terminal;
Otherwise just do not send the Flow Control bag, and continue to read and judge the resources left situation of buffer area in the receiver module of current receiving terminal,, send till the receiver module of Flow Control bag to transmitting terminal until satisfying data packet length.
Described routing module also is used for providing to the Flow Control module arbitrates success, but remaining data is also arranged in buffer area, and the preassignment space of not transmitted carries out pre-allocation of resources and calculate.
Described resources left comprises current idling-resource situation and preassignment space resources situation.
Described receiver module also is used for receiving the process of packet, and whether do not stop to detect has the Flow Control bag to be inserted in the packet;
If have, need extract the Flow Control bag that is embedded into packet, co-current flow control module provides parameter.
Described parameter comprises following four parameters:
First parameter is used for the Flow Control module and carries out the current free buffer space that new local credit value is judged and generated in the transmission of Flow Control bag opportunity;
Second parameter is used for receiver module and sends the new credit value that the Flow Control bag extracts from the other side;
The 3rd parameter is used to notify the local credit value of Flow Control module from subtracting 1;
The 4th parameter is the following data packet length value of arbitration failure.
Described Flow Control module comprises two counters, and one is that can also remaining credit value, sending module are judged with this credit value send packet after far-end credit value counter was represented to receive the other side's Flow Control bag from last time; Another is local credit value counter, this counter represent from last time send the Flow Control bag to the other side after, local also remaining credit value.
When described record sub module record arbitration was failed following data packet length value, if there is not the packet of failure in the arbitrated procedure, the following data packet length value of then should arbitration failing was assigned system default value.
Described default value is that the average packet of the packet that analyzes according to network flow statistic is long, as to wrapping long general estimation.
Fail following data packet length or be length minimal data packet length value in all arbitration miss data bags of described arbitration; Perhaps arbitrate the mean value of miss data packet length values for all; Perhaps be the long data packet length value of all arbitration failures.
For realizing that the object of the invention also provides a kind of flow control methods based on prestige, comprise the following steps:
Steps A, the sending module request of transmitting terminal is when the receiver module transfer data packets of receiving terminal, the Flow Control module of transmitting terminal sends current far-end credit value to the arbitration modules of transmitting terminal, the transmitting terminal arbitration modules is arbitrated according to transmission request and this credit value, simultaneously, provide the arbitration failure following data packet length value according to the transmission request to the transmitting terminal sending module;
Step B, the sending module of transmitting terminal will be arbitrated the following data packet length value of failure as notifying the other side's data packet length that will send future to embed the receiver module that packet sends receiving terminal to, and when the transmission content reached a prestige piece, the Flow Control module of notice transmitting terminal subtracted 1 to current far-end credit value;
Step C, the packet that the receiver module receiving end/sending end of receiving terminal sends extracts arbitration in the packet following data packet length value of failing and sends to the Flow Control module of receiving terminal, and provides in the current cache district free space to the Flow Control module of receiving terminal;
Step D, receiving terminal is according to the situation of receiving terminal and the transmission of transmitting terminal packet, and the fail local credit value of residue and the current resources left of following data packet length value and current receiving terminal of the arbitration of sending that receives the sending module of transmitting terminal compare, and judges whether to send the receiver module of Flow Control bag to transmitting terminal;
Step e when the sending module of receiving terminal sends the Flow Control bag, is updated to new credit value with local credit value in the Flow Control module of receiving terminal;
After step F, the receiver module of transmitting terminal receive this Flow Control bag, send the Flow Control module of transmitting terminal to, the Flow Control module then the far-end credit value be updated to new credit value.
Can also comprise the following steps: before the described flow control methods, described steps A based on prestige
Steps A ', the Flow Control module of transmitting terminal is initialized as current credit value the credit value that receives buffer size.
Described flow control methods based on prestige, described step D comprises the following steps:
When receiving terminal does not have packet to send to transmitting terminal, there is not the link competitive relation between Flow Control bag and the packet in step D1, and receiving terminal will constantly send the receiver module of Flow Control bag to transmitting terminal this moment;
Step D2, when the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal, there are competitive relation in packet and Flow Control bag, then according to the arbitration that the receives following data packet length value of failing, compare with the local credit value of residue and the current resources left of current receiving terminal respectively, judge whether to send the Flow Control bag to transmitting terminal.
Among the described step D2,, compare with the local credit value of residue and the current resources left of current receiving terminal respectively, judge whether to send the Flow Control bag, comprise the following steps: to transmitting terminal according to the arbitration that the receives following data packet length value of failing
Step D21 after the Flow Control module of receiving terminal receives the following data packet length value of arbitration failure, compares with the local credit value of current residue;
Step D22 if the local credit value of current residual is enough to satisfy the length of data package demand, does not then send the Flow Control bag;
Step D23, otherwise, if do not satisfy, then read the resources left situation of buffer area in the receiver module of current receiving terminal, judge the resources left situation:
Step D24, if the resources left of buffer area can satisfy data packet length, just the sending module by receiving terminal sends the receiver module of Flow Control bag to transmitting terminal;
Step D25, otherwise just do not send the Flow Control bag, and continue to read and judge and the resources left situation of buffer area in the receiver module of current receiving terminal, thereby send till the receiver module of Flow Control bag to transmitting terminal until the transmission demand that can satisfy data packet length.
Described steps A can also comprise the following steps:
If do not arbitrate the packet of failure, then the following data packet length value of this arbitration failure is assigned system default value.
Fail following data packet length value or be length minimal data packet length value in all arbitration miss data bags of described arbitration; Perhaps arbitrate the mean value of miss data packet length values for all; Perhaps be the long data packet length value of all arbitration failures.
The invention has the beneficial effects as follows: the flow control system based on prestige of the present invention, apparatus and method, increased the buffer area resources left by pre-allocation of resources on the one hand, on the other hand by predicting and calculate the transmission opportunity of Flow Control bag accurately, this two aspects factor, make in flow control process, can blindly not send flow control information, only can be according to the situation of current data stream, under the situation that needs send, transmitted traffic control data bag immediately, guarantee link utilance efficiently, thereby improve the flow control methods and the efficient of data communication network, and improve the gentle utilance of depositing area resource of link in the switching network.
Description of drawings
Fig. 1 is a data packet format schematic diagram of the present invention;
Fig. 2 is a Flow Control packet format schematic diagram of the present invention;
Fig. 3 is the flow control system schematic diagram that the present invention is based on prestige;
Fig. 4 the present invention is based on that sending module sends packet or Flow Control packet procedures flow chart in the flow control methods of prestige;
Fig. 5 the present invention is based on that receiver module receives packet or Flow Control packet procedures flow chart in the flow control methods of prestige;
Fig. 6 A the present invention is based on Flow Control module far-end credit value counter works process flow diagram in the flow control methods of prestige;
Fig. 6 B the present invention is based on the local credit value counter works of Flow Control module process flow diagram in the flow control methods of prestige;
Fig. 6 C the present invention is based on that the Flow Control module sends Flow Control packet procedures flow chart in the flow control methods of prestige.
Embodiment
In order to make purpose of the present invention, technical scheme and advantage clearer,, a kind of flow control system based on prestige of the present invention, apparatus and method are further elaborated below in conjunction with drawings and Examples.Should be appreciated that specific embodiment described herein only in order to explanation the present invention, and be not used in qualification the present invention.
Flow control system based on prestige of the present invention, link communication by two communication entity-two ends of equity all be exchange apparatus 31 or an end for the switch other end be processing node-form, two communication port of interconnection, in embodiments of the present invention, one of them port is called upstream port, and another one is called downstream port.
Each communication port comprises sending module 33, receiver module 35 and Flow Control module 34.The sending module 33 of upstream and the receiver module 35 in downstream link to each other, and data flow is by upstream flow downstream; The sending module 33 in downstream and the receiver module 35 of upstream link to each other, and data flow is that the downstream flows to the upstream.Flow control (also being Flow Control) is separate and function is identical on two flow directions.For convenience of description, the embodiment of the invention adopts by upstream transmitting terminal (transmitting terminal) to downstream receiving terminal (receiving terminal), and downstream for example is described, but it is not a limitation of the present invention to data flow by upstream flow.
When the direction of packet from the upstream transmitting terminal to the downstream receiving terminal transmitted, then the direction of the Flow Control bag of flow control arrived the upstream transmitting terminal for the downstream receiving terminal.
Flow control (Flow Control) is that receiving terminal is in order to prevent that receiving buffer area overflows, the method that the data of control transmitting terminal send.Wherein flow control magnitude unit is prestige piece (Credit Block).Need to prove that especially flow control is that thorium carries out each Virtual Channel, therefore, in embodiments of the present invention, described method also all is the description of carrying out at Virtual Channel.
Simultaneously, for the flow control system based on prestige of the present invention is described, the packet format that is transmitted in the link of the flow control system that the present invention is based on prestige is described at first.
The packet format that transmits in the link includes two kinds: data packet format and Flow Control packet format.
Data packet format as shown in Figure 1, it comprises packet packet header opening flag symbol (Start of DataPacket, SDP), header packet information (Packet Information, PI), routing iinformation (Route Information), data packet payload (Payload), bag tail check field (CRC) and packet end-of-packet symbol (Endof Data Packet, EDP).
Wherein, header packet information comprises Virtual Channel number (VC ID), this data packet length and will send data packet length (Future Packet Length, FPL) field, and this field is carried out error checking, and (Error Checking and Correcting ECC) is worth with correcting verification.
Routing iinformation comprises the every grade of destination slogan that will apply for.After finishing the one-level route, routing iinformation at the corresponding levels is thrown away by switch, and route team head is the routing address of next stage switch.
The bag tail of packet adopts CRC check method, the information of last byte of verification from packet header to the payload.
The Flow Control packet format as shown in Figure 2, comprise Flow Control bag packet header opening flag symbol (Start of Flow ControlPacket, SFP), prestige field bag and Flow Control bag end-of-packet symbol (End of Flow Control Packet, EFP).The prestige field comprises Virtual Channel number (VC ID), credit value, and error checking and correction verification (Error Checking and Correcting, ECC) position.ECC can correct a mistake, thereby guarantees the correctness of Flow Control bag.
As shown in Figure 3, flow control system based on prestige of the present invention, the exchange apparatus 31 that comprises a plurality of transmitting terminals and receiving terminal, described exchange apparatus 31 comprises a plurality of port modules 32, Virtual Channel 0, Virtual Channel 1 ..., Virtual Channel m routing module 36, arbitration modules 37, the cross bonding (not shown); Described port module comprises sending module 33, receiver module 35 and Flow Control module 34.
The destination interface that provides according to packet is provided described routing module 36, and the application corresponding ports is carried out transfer of data.
In the present invention, for support resource preassignment, routing module 36 is returned Flow Control module 34 and is provided and arbitrate success, but remaining data is also arranged in buffer area, and the data space that has not transmitted carries out pre-allocation of resources and calculate.
Preassignment space (PreAllocSpace:Pre-allocated Space) is meant arbitrates success, but remaining data is also arranged, the data space value that has not transmitted in buffer area.
Arbitration modules 37 is used for arbitrating judgement according to priority and credit value to the input requested packets is arranged.
Arbitration modules 37 will license to sending module 33 the input request of the current far-end credit value that the highest and data packet length of priority provides less than Flow Control module 34.
If the ruling success, packet will arrive destination interface by cross bonding; If ruling is unsuccessful, then this packet also is kept at and receives the result who waits for arbitration next time in the buffer area.
Arbitration modules 37 among the present invention also comprises record sub module 38, is used for data packet length (FPL) value according to the failure of input request record arbitration.
The data packet length value of this arbitration failure, i.e. arbitration failure FPL value can be a length minimal data packet length value in all arbitration miss data bags, i.e. the minimum FPL value of arbitration failure; Also can be the mean value of the data packet length value of all arbitration failures, i.e. arbitration failure mean F PL value; Also can be the long data packet length value of all arbitration failures, i.e. the maximum FPL value of arbitration failure.It can also be data packet length (FPL) value etc. of other the arbitration of determining failure.
The sending module 33 of arbitration failure FPL value representation upstream transmitting terminal will send to the length of data package value of the receiver module 35 of downstream receiving terminal, also can be called following FPL value.
In the present invention, with this arbitration failure FPL value serves as that the minimum FPL value of arbitration failure is an example and the present invention will be described, but present embodiment is equally applicable to arbitrate the fail execution mode of the packet FPL value that maximum FPL value or other definite arbitration fail of failure mean F PL value, arbitration.
Record sub module 38 provides arbitration failure FPL value to sending module 33 according to the input request, and this value is the data packet length value of arbitration failure.
Preferably, if there is not the packet of failure in the arbitrated procedure, the FPL value of then should arbitration failing is assigned default value, and described default value is that the average packet of the packet that analyzes according to network flow statistic is long, as to wrapping long general estimation.
Sending module 33 is used to send packet and Flow Control bag.
After sending module 33 is finished the link initialization process, state to be sent such as enter; If there is packet to send request, sending module 33 will send packet according to data packet format; Simultaneously, sending module 33 detects constantly and has or not the request of Flow Control bag to send, even in sending process data packet, if the request of Flow Control bag is arranged, sending module 33 also can be inserted into the Flow Control bag in the packet, with the promptness (promptly in time sending the Flow Control bag) that guarantees flow-control information.
The new credit value (New_Credit) that sending module 33 sends in the Flow Control bag is provided by Flow Control module 34.
Sending module 33 detects the data that send simultaneously and whether has reached 1 prestige piece, if reach, then the local 34 pairs of current far-end credit values of Flow Control module of notice carry out from subtracting 1 operation.
In order to support the flow control system based on prestige of the present invention, the arbitration failure FPL value (following FPL value) that sending module 33 also provides arbitration modules 37 is embedded in the packet and sends.
The data packet length that the conduct of this arbitration failure FPL value notifies the receiver module of the other side's receiving terminal will send for 35 futures, send the receiver module 35 of the other side's receiving terminal to by sending module 33, send the Flow Control module 34 of receiving terminal after extracting by the receiver module 35 of receiving terminal again to.
Preferably, described sending module 33 also comprises FPL register 39, is used for receiving the arbitration failure FPL value of record sub module 38 records of arbitration modules 37, and by sending module 33 when the transmission packet, send to the receiver module 35 of receiving terminal.
Receiver module 35 is used for extracting packet and Flow Control bag from receiving data stream.
After receiver module 35 is finished the link initialization process, just enter the wait accepting state.
Comprise in the receiver module 35 Virtual Channel 0, Virtual Channel 1 ..., Virtual Channel m receives buffer area, is used for packet on the temporary network.
In the process that receives packet, whether receiver module 35 also ceaselessly detects has the Flow Control bag to be inserted in the packet; If have, then the Flow Control bag that is embedded into packet is extracted.
Among the present invention, receiver module 35 is according to the Flow Control bag that receives, and in the process that receives packet, whether receiver module also has the Flow Control bag to be inserted in the packet not stopping to detect.If have, need extract the Flow Control bag that is embedded into packet.
Receiver module 35 provides four parameters to Flow Control module 34:
First parameter is Creditof (FreeSpace), wherein, FreeSpace represents free space in the current cache district, Creditof (FreeSpace) carries out regularization operation to FreeSpace by the prestige block size, and this parameter is used for Flow Control module 34 and carries out Flow Control bag transmission judgement on opportunity and generate new local credit value;
Second parameter is New_Credit, and New_Credit represents that receiver module 35 sends the new credit value that extracts the Flow Control bag from the other side.Receiver module 35 will notify Flow Control module 34 to carry out far-end credit value renewal operation, and this value implication is the maximum amount of data that local sending module 33 can send.
The 3rd parameter subtracts 1 certainly for notice Flow Control module 34 local credit values.Receiver module 35 is when receiving a prestige blocks of data amount, and notice Flow Control module 34 is carried out local credit value from subtracting 1 operation.
The 4th parameter is arbitration failure FPL value (promptly will send the data packet length value, following FPL value), and receiver module 35 will extract the arbitration failure FPL value of prior notice from the packet that receives, this value is sent to Flow Control module 34.
Preferably, described receiver module 35 also comprises and extracts submodule 310, is used for from the bag extracting data arbitration failure FPL value that receives, and the Flow Control module 34 that this arbitration failure FPL value is sent to receiving terminal is judged.
Flow Control module 34 is used at process of transmitting, provides current far-end credit value to arbitration modules 37, and flow control parameters is offered sending module 33, and request sending module 33 sends this value to receiving terminal; In receiving course, the far-end credit value of the reception of receiving terminal flow control parameters-Xin credit value (New_Credit)-assignment in the Flow Control module.
Comprise two counters in the Flow Control module 34.One is far-end credit value counter 312 (RemoteCreditCnt), after these counter 312 expressions received the other side's Flow Control bag from last time, and also remaining credit value.Can this credit value of sending module 33 usefulness is judged send packet; Another is a local credit value counter 313 (LocalCreditCnt), 313 expressions of this counter from last time send the Flow Control bag to the other side after, local also remaining credit value, this counter 313 in size, approximate the value of the other side's far-end prestige counter 312, be a estimation to this value, this counter 313 has been arranged after, local Flow Control module 34 just can be estimated the data volume size that the other side's sending module 33 can send.
Flow Control module 34 carries out local credit value counter 313 (LocalCreditCnt) being carried out from subtracting 1 operation according to the indication of receiver module 35 from subtracting 1 operation to far-end credit value counter 312 (RemoteCreditCnt) according to the indication of sending module 33.
In the present invention, Flow Control module 34 also will be judged to send the Flow Control bag a suitable opportunity according to current cache district free space and preallocated free space.Can guarantee that packet continues to flow this opportunity on the one hand, can also reduce the expense of flow control information on the other hand to band width in physical as far as possible, minimizing is to the influence of normal data communication, improve data throughput, reduce the packet average latency, can adapt to the influence of different data streams simultaneously flow control.
Preferably, described Flow Control module 34, also comprise and judge submodule 311, be used for when the sending module 33 of receiving terminal has packet to send to the receiver module 35 of transmitting terminal, the arbitration failure FPL value of sending according to the sending module 33 that receives transmitting terminal, compare with the local credit value of residue and the current resources left of current receiving terminal, judge whether to send the Flow Control bag to the upstream port module.
After the Flow Control module 34 of receiving terminal receives arbitration failure FPL value, compare with current residue credit value:
If the current residual value is enough to satisfy the length of data package demand, then do not send the Flow Control bag;
Otherwise, if do not satisfy, then read the resources left situation of buffer area in the receiver module 35 of current receiving terminal, comprise current idling-resource situation and preassignment space resources situation, judge the resources left situation:
If the resources left of buffer area can satisfy data packet length, just send the receiver module 35 of Flow Control bag immediately to transmitting terminal;
Otherwise just do not send the Flow Control bag, and continue to read and judge the resources left situation of buffer area in the receiver module 35 of current receiving terminal,, send till the receiver module 35 of Flow Control bag to transmitting terminal until satisfying data packet length.
When the sending module 33 of downstream receiving terminal sent the Flow Control bag, local credit value counter 313 (LocalCreditCnt) was updated to new credit value in the Flow Control module 34 with the downstream receiving terminal;
After the receiver module 35 of upstream transmitting terminal receives this Flow Control bag, send the Flow Control module 34 of transmitting terminal to, 34 of Flow Control modules far-end credit value counter 312 (RemoteCreditCnt) be updated to new credit value.
Like this, the present invention is based on the flow control system and the device of prestige, judge, the opportunity of selecting the Flow Control bag to send by the judgement submodule 311 in the Flow Control module 34, and choose a suitable transmission on opportunity, just can reach flow control effect in time and accurately.
Below in conjunction with flow control system and the device based on prestige of the present invention, as Fig. 4, Fig. 5, Fig. 6 A shown in Fig. 6 B and Fig. 6 C, further describes the flow control methods based on prestige of the present invention:
Wherein, Fig. 4 is that sending module 33 sends packet or Flow Control packet procedures flow chart; Fig. 5 is that receiver module 35 receives packet or Flow Control packet procedures flow chart; Fig. 6 A is Flow Control module 34 far-end credit value counters 312 course of work flow charts; Fig. 6 B is Flow Control module 34 local credit value counter 313 course of work flow charts; Fig. 6 C is that Flow Control module 34 sends Flow Control packet procedures flow chart.
Step S100, shown in Figure 5 as Fig. 4, at initial phase, the Flow Control module 34 of upstream transmitting terminal is initialized as the credit value that receives buffer size to far-end prestige counter 312 (RemoteCreditCnt), with creditof (RxBuf) expression.
Wherein, creditof (X) expression is carried out regularization operation to the X variable according to credit value.
RxBuf represents buffer size in the receiving terminal receiver module 35, and the size that receives the buffer area free space in the initial phase receiver module 35 is exactly to receive buffer size itself.
Simultaneously, the local credit value counter 313 (LocalCreditCnt) of downstream receiving terminal Flow Control module 34 also is initialized to creditof (RxBuf) respectively.
Step S200, as Fig. 4, Fig. 5, Fig. 6 A, Fig. 6 B shown in Fig. 6 C, is normal work stage.
Step S210, the sending module 33 of transmitting terminal is asked when the receiving terminal block movement packet of receiving terminal, the Flow Control module 34 of transmitting terminal sends the credit value in the current far-end prestige counter (RemoteCreditCnt) to the arbitration modules 37 of transmitting terminal, transmitting terminal arbitration modules 37 is arbitrated according to transmission request and this credit value, simultaneously, provide arbitration failure FPL value according to the transmission request to sending module 33.
Arbitration modules 37 adopts the last minimum method of priority that obtains serving to guarantee fairness for guaranteeing fairness, and arbitration modules 37 also will be considered data packet length simultaneously, and the data length of application transmission and current far-end credit value are compared.
Arbitration modules 37 will license to the highest and long packet less than credit value of bag of priority, make this packet can arrive destination interface.
Arbitration modules 37 also will be got off FPL value record in the arbitration failure, send to the FPL register 39 in the sending module 33 of transmitting terminal.If do not arbitrate the packet of failure, this arbitration failure FPL value is assigned default value.
The sending module 33 of upstream transmitting terminal will send the successful packet of arbitration according to data packet format, the FPL of arbitration failure simultaneously value also will send with packet.
Simultaneously, the data volume of a prestige piece of every transmission, then the Flow Control module 34 of the sending module 33 notice transmitting terminals of transmitting terminal subtracts 1 (RemoteCreditCnt=RemoteCreditCnt-1) certainly to current far-end credit value, after this credit value is reduced to neither one and sends request and can satisfy, sending module 33 can not send this Virtual Channel data, and this Virtual Channel is in and stops wait state.
Step S220, this arbitration failure FPL value sends the Flow Control module 34 of receiving terminal to as the receiver module 35 of notifying the other side's data packet length that will send future to send receiving terminal to after being extracted by receiver module 35 again.
The sending module 33 of transmitting terminal receives the arbitration failure FPL value of arbitration modules 37 records, and by sending module 33 when sending packet, embed this arbitration and fail the FPL value to packet, send to the receiver module 35 of receiving terminal.
Step S230, the packet that receiver module 35 receiving end/sending ends of receiving terminal send, the arbitration failure FPL value that transmitting terminal is sent sends to the Flow Control module 34 of receiving terminal, and provides free space in the current cache district (FreeSpace) to give the Flow Control module 34 of receiving terminal.
The routing module 36 of receiving terminal is returned Flow Control module 34 and is provided and arbitrate success, but remaining data is also arranged in buffer area, and the preassignment space of the data space that has not transmitted carries out pre-allocation of resources and calculate.
Simultaneously, when the receiver module 35 of downstream receiving terminal received the data traffic of a prestige block size, the current local credit value of the Flow Control module 34 of notice downstream receiving terminal was from subtracting 1 (LocalCreditCnt=LocalCreditCnt-1).
Step S240, receiving terminal is according to the situation of downstream receiving terminal and the transmission of upstream transmitting terminal packet, and the arbitration of the sending failure FPL value that receives the sending module 33 of transmitting terminal compares with the residue this locality credit value and the current resources left of current receiving terminal, judges whether to send the receiver module 35 of Flow Control bag to transmitting terminal.
Step S241, when the downstream receiving terminal does not have packet to send to the upstream transmitting terminal, do not have the link competitive relation between Flow Control bag and the packet, the downstream receiving terminal will constantly send the receiver module 35 of Flow Control bag to the upstream transmitting terminal this moment, guarantee the promptness of flow-control information.
As a kind of enforceable mode, the credit value that comprises in this Flow Control bag is:
New_Credit=FreeCredit dw=creditof(FreeSpace)+creditof(PreAllocSpace)
Wherein, FreeCredit DwThe idle credit value in expression downstream;
FreeSpace represents not deposit the free space of any data;
PreAllocSpace represents to remain in the successful packet of modulated degree the space of buffer area;
Step S242, when the sending module 33 of downstream receiving terminal has packet to send to the receiver module 35 of upstream transmitting terminal, there are competitive relation in the packet of receiving terminal and Flow Control bag, then compare with the residue credit value of current receiving terminal, judge whether to send the Flow Control bag to transmitting terminal according to the arbitration failure FPL value that receives.
In step S242, compare with the residue credit value of current receiving terminal according to the arbitration failure FPL value that receives, judge whether to send the Flow Control bag to transmitting terminal, specifically comprise the following steps:
Step S2421 after the Flow Control module 34 of receiving terminal receives arbitration failure FPL value, compares with current residue credit value;
Step S2422, if the current residual value is enough to satisfy the length of data package demand, promptly surplus value does not then send the Flow Control bag greater than arbitration failure FPL value;
Step S2423, otherwise, if do not satisfy, then read the resources left situation of buffer area in the receiver module 35 of current receiving terminal, comprise current idling-resource situation and preassignment space resources situation, judge the resources left situation:
The preassignment space is meant and arbitrates success, but remaining data also arranged, the data space value that has not transmitted in buffer area.
Idling-resource, be meant in the receiver module 35 do not use in the buffer area or discharged data cached spatial cache size.
Step S2424 will send data packet length if the resources left of buffer area can satisfy, and the sending module 33 that just passes through receiving terminal immediately sends the receiver module 35 of Flow Control bags to transmitting terminal;
Step S2425, otherwise just do not send the Flow Control bag, and continue to read and judge and, thereby send the resources left situation of buffer area in the receiver module 35 of current receiving terminal till the receiver module 35 of Flow Control bag to transmitting terminal until the transmission demand that can satisfy length of data package.
As the enforceable a kind of mode of the present invention, shown in Fig. 6 C,, also avoid sending simultaneously unnecessary Flow Control bag and cause the link bandwidth waste owing to there is not credit value cutout to occur in order to prevent the upstream transmitting terminal, whether send the Flow Control bag to the upstream transmitting terminal according to condition judgment suc as formula (1) and formula (2).
If the residue credit value of downstream receiving terminal is:
RemainCredit dw=LocalCreditCnt;
Free space is in the reception buffer area of downstream receiving terminal:
FreeCredit dw=creditof(FreeSpace)+creditof(PreAllocSpace)
Then work as:
RemainCredit dw<creditof(FPL)+creditof(RTT×BW)(1)
FreeCredit dw>=creditof(FPL)+creditof(RTT×BW)(2)
During establishment, the Flow Control module 34 of receiving terminal sends the Flow Control bag by sending module 33.
Creditof (FPL) carries out carrying out regularization operation by the prestige block size to FPL.
Promptly when formula (1) and formula (2) when satisfying simultaneously, the Flow Control module 34 of receiving terminal sends the receiver module 35 of Flow Control bags to transmitting terminal by the sending module 33 of receiving terminal, wherein comprises new Flow Control credit value FreeCredit Dw, this value will be upgraded the far-end credit value RemoteCreditCnt=FreeCredit of the Flow Control module 34 of upstream transmitting terminal DwLocal credit value LocalCreditCnt=FreeCredit is also upgraded in the downstream simultaneously Dw
That is to say, can hold the FPL data package length if current downstream receiving terminal still possesses enough spaces, then the sending module 33 of upstream transmitting terminal will continue to send, and link will can not stop.
Preferably, because upstream transmitting terminal and downstream receiving terminal link delay are also considered creditof (RTT * BW), get rid of this difference.
Wherein, RTT (Round Trip Time) the expression physical link winding time;
BW represents the physical link bandwidth;
RTT * BW is illustrated in the flow-control information that is comprised in this winding time.
Creditof (RTT * BW) carry out carrying out regularization operation by the prestige block size to RTT * BW by expression.
Step S250, when the sending module 33 of downstream receiving terminal sent the Flow Control bag, the credit value in the Flow Control module 34 with the downstream receiving terminal in the local credit value counter 313 (LocalCreditCnt) was updated to new credit value FreeCredit Dw, i.e. LocalCreditCnt=FreeCredit Dw
Step S260, after the receiver module 35 of upstream transmitting terminal receives this Flow Control bag, send the Flow Control module 34 of transmitting terminal to, 34 of Flow Control modules current far-end credit value counter 312 (RemoteCreditCnt) in credit value be updated to new credit value FreeCredit Dw, i.e. RemoteCreditCnt=FreeCredit Dw
Flow control methods based on prestige of the present invention is arbitrated relatively current residual credit value of failure FPL values by Flow Control module 34 employings of downstream receiving terminal.If the current residual value is enough to satisfy length requirement, just do not send the Flow Control bag; If can not satisfy on the contrary, just observe current cache area resource residue situation, comprise the resources left situation in current free time and preassignment space; Will send data packet length if resource can satisfy, and just send packet immediately, otherwise do not send the Flow Control bag.It can blindly not send flow-control information, only can under the situation that needs send, send the Flow Control bag immediately according to current data stream situation, guarantees link utilance efficiently.
More than specific embodiments of the invention are described and illustrate it is exemplary that these embodiment should be considered to it, and be not used in and limit the invention, the present invention should make an explanation according to appended claim.

Claims (26)

1, a kind of flow control system based on prestige comprises the exchange apparatus of a plurality of transmitting terminals and receiving terminal, and described exchange apparatus comprises a plurality of port modules, arbitration modules and routing module; Described port module comprises sending module, receiver module, Flow Control module; Described receiver module comprises that a plurality of Virtual Channels receive buffer area;
It is characterized in that:
Described arbitration modules is used for arbitrating judgement according to the far-end credit value that obtains from described Flow Control module to the input requested packets is arranged, and will arbitrates the sending module that the following data packet length value of failure is issued transmitting terminal, and it comprises:
Record sub module is used for according to the transmission request record arbitration following data packet length value of failing;
Described Flow Control module is used at process of transmitting, provides current far-end credit value to the arbitration modules of transmitting terminal; In receiving course, judge to send the Flow Control bag a suitable opportunity that it comprises:
Judge submodule, be used for when the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal, the arbitration of sending according to the sending module that the receives transmitting terminal following data packet length value of failing, compare with the local credit value of residue and the current resources left of current receiving terminal respectively, judge whether to send the receiver module of Flow Control bag to transmitting terminal.
Described sending module, be used to send packet and Flow Control bag, it comprises following data packet length register, the arbitration that is used for receiving the record sub module record of the arbitration modules following data packet length value of failing, and by sending module when sending packet, send to the receiver module of receiving terminal; Simultaneously the Flow Control bag that produces is inserted in the packet and sends;
Described receiver module, be used for extracting packet or Flow Control bag from receiving data stream, it comprises the extraction submodule, extracts the following data packet length value of arbitration failure from the packet that receives, and the Flow Control module that the following data packet length value of this arbitration failure is sent to receiving terminal is judged.
2, the flow control system based on prestige according to claim 1 is characterized in that, described judgement submodule judges whether to send the receiver module of Flow Control bag to transmitting terminal, is meant:
When the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal,, then do not send the Flow Control bag if the local credit value of current residual is enough to satisfy the length of data package demand;
Otherwise, if do not satisfy, then observe and read the resources left situation of buffer area in the receiver module of current receiving terminal, judge the resources left situation;
If the resources left of buffer area can satisfy data packet length, just send the receiver module of Flow Control bag immediately to transmitting terminal;
Otherwise just do not send the Flow Control bag, and continue to read and judge the resources left situation of buffer area in the receiver module of current receiving terminal,, send till the receiver module of Flow Control bag to transmitting terminal until satisfying data packet length.
3, the flow control system based on prestige according to claim 2 is characterized in that:
Described routing module also is used for providing to the Flow Control module arbitrates success, but remaining data is also arranged in buffer area, and the preassignment space of not transmitted carries out pre-allocation of resources and calculate.
4, the flow control system based on prestige according to claim 3 is characterized in that, described resources left comprises current idling-resource situation and preassignment space resources situation.
5, the flow control system based on prestige according to claim 1 is characterized in that, described receiver module also is used for receiving the process of packet, and whether do not stop to detect has the Flow Control bag to be inserted in the packet;
If have, need extract the Flow Control bag that is embedded into packet, co-current flow control module provides parameter.
6, the flow control system based on prestige according to claim 5 is characterized in that, described parameter comprises following four parameters:
First parameter is used for the Flow Control module and carries out the current free buffer space that new local credit value is judged and generated in the transmission of Flow Control bag opportunity;
Second parameter is used for receiver module and sends the new credit value that the Flow Control bag extracts from the other side;
The 3rd parameter is used to notify the local credit value of Flow Control module from subtracting 1;
The 4th parameter is the following data packet length value of arbitration failure.
7, the flow control system based on prestige according to claim 1, it is characterized in that, described Flow Control module comprises two counters, one is after far-end credit value counter is represented to receive the other side's Flow Control bag from last time, can also remaining credit value, sending module are judged with this credit value send packet; Another is local credit value counter, this counter represent from last time send the Flow Control bag to the other side after, local also remaining credit value.
8, the flow control system based on prestige according to claim 1, it is characterized in that, when described record sub module record arbitration is failed following data packet length value, if there is not the packet of failure in the arbitrated procedure, then the following data packet length value of this arbitration failure is assigned system default value.
9, the flow control system based on prestige according to claim 8 is characterized in that, described default value is that the average packet of the packet that analyzes according to network flow statistic is long, as to wrapping long general estimation.
10, the flow control system based on prestige according to claim 1 is characterized in that, the described arbitration following data packet length value of failing perhaps is a length minimal data packet length value in all arbitration miss data bags; Perhaps arbitrate the mean value of the data packet length value of failure for all; Perhaps be the long data packet length value of all arbitration failures.
11, a kind of exchange apparatus of the flow control based on prestige comprises a plurality of port modules, arbitration modules and routing module; Described port module comprises sending module, receiver module, Flow Control module;
Described receiver module comprises that a plurality of Virtual Channels receive buffer area;
It is characterized in that:
Described arbitration modules is used for arbitrating judgement according to the long-range credit value that obtains from described Flow Control module to the input requested packets is arranged, and will arbitrates the sending module that the following data packet length value of failure is issued transmitting terminal, and it comprises:
Record sub module is used for providing the arbitration failure following data packet length value according to the transmission request to sending module;
Described Flow Control module is used at process of transmitting, provides current far-end credit value to the arbitration modules of transmitting terminal; In receiving course, judge to send the Flow Control bag a suitable opportunity that it comprises:
Judge submodule, be used for when the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal, the arbitration of sending according to the sending module that the receives transmitting terminal following data packet length value of failing, compare with the local credit value of residue and the current resources left of current receiving terminal respectively, judge whether to send the receiver module of Flow Control bag to transmitting terminal.
Described sending module, be used to send packet and Flow Control bag, it comprises following data packet length register, the arbitration that is used for receiving the record sub module record of the arbitration modules following data packet length value of failing, and by sending module when sending packet, send to the receiver module of receiving terminal; Simultaneously the Flow Control bag that produces is inserted in the packet and sends;
Described receiver module, be used for extracting packet or Flow Control bag from receiving data stream, it comprises the extraction submodule, extracts the following data packet length value of arbitration failure from the packet that receives, and the Flow Control module that the following data packet length value of this arbitration failure is sent to receiving terminal is judged.
12, the flow control system based on prestige according to claim 11 is characterized in that, described judgement submodule judges whether to send the receiver module of Flow Control bag to transmitting terminal, is meant:
When the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal,, then do not send the Flow Control bag if the local credit value of current residual is enough to satisfy the length of data package demand;
Otherwise, if do not satisfy, then observe and read the resources left situation of buffer area in the receiver module of current receiving terminal, judge the resources left situation;
If the resources left of buffer area can satisfy data packet length, just send the receiver module of Flow Control bag immediately to transmitting terminal;
Otherwise just do not send the Flow Control bag, and continue to read and judge the resources left situation of buffer area in the receiver module of current receiving terminal,, send till the receiver module of Flow Control bag to transmitting terminal until satisfying data packet length.
13, the exchange apparatus of the flow control based on prestige according to claim 12, it is characterized in that described routing module also is used for providing to the Flow Control module arbitrates success, but remaining data is also arranged in buffer area, the preassignment space of not transmitted is carried out pre-allocation of resources and is calculated.
14, the flow control system based on prestige according to claim 13 is characterized in that, described resources left comprises current idling-resource situation and preassignment space resources situation.
15, the exchange apparatus of the flow control based on prestige according to claim 11 is characterized in that described receiver module also is used for receiving the process of packet, and whether do not stop to detect has the Flow Control bag to be inserted in the packet;
If have, need extract the Flow Control bag that is embedded into packet, co-current flow control module provides parameter.
16, the flow control system based on prestige according to claim 15 is characterized in that, described parameter comprises following four parameters:
First parameter is used for the Flow Control module and carries out the current free buffer space that new local credit value is judged and generated in the transmission of Flow Control bag opportunity;
Second parameter is used for receiver module and sends the new credit value that the Flow Control bag extracts from the other side;
The 3rd parameter is used to notify the local credit value of Flow Control module from subtracting 1;
The 4th parameter is the following data packet length value of arbitration failure.
17, the flow control system based on prestige according to claim 11, it is characterized in that, described Flow Control module comprises two counters, one is after far-end credit value counter is represented to receive the other side's Flow Control bag from last time, can also remaining credit value, sending module are judged with this credit value send packet; Another is local credit value counter, this counter represent from last time send the Flow Control bag to the other side after, local also remaining credit value.
18, the flow control system based on prestige according to claim 11, it is characterized in that, when described record sub module record arbitration is failed following data packet length value, if there is not the packet of failure in the arbitrated procedure, then the following data packet length value of this arbitration failure is assigned system default value.
19, the flow control system based on prestige according to claim 18 is characterized in that, described default value is that the average packet of the packet that analyzes according to network flow statistic is long, as to wrapping long general estimation.
20, the exchange apparatus of the flow control based on prestige according to claim 11 is characterized in that, the described arbitration following data packet length value of failing perhaps is a length minimal data packet length value in all arbitration miss data bags; Perhaps arbitrate the mean value of miss data packet length values for all; Perhaps be the long data packet length value of all arbitration failures.
21, a kind of flow control methods based on prestige is characterized in that, comprises the following steps:
Steps A, the sending module request of transmitting terminal is when the receiver module transfer data packets of receiving terminal, the Flow Control module of transmitting terminal sends current far-end credit value to the arbitration modules of transmitting terminal, the transmitting terminal arbitration modules is arbitrated according to transmission request and this credit value, simultaneously, provide the arbitration failure following data packet length value according to the transmission request to sending module;
Step B, the sending module of transmitting terminal will be arbitrated the following data packet length value of failure as notifying the other side's data packet length that will send future to embed the receiver module that packet sends receiving terminal to, and when the transmission content reached a prestige piece, the Flow Control module of notice transmitting terminal subtracted 1 to current far-end credit value;
Step C, the packet that the receiver module receiving end/sending end of receiving terminal sends extracts arbitration in the packet following data packet length value of failing and sends to the Flow Control module of receiving terminal, and provides in the current cache district free space to the Flow Control module of receiving terminal;
Step D, receiving terminal is according to the situation of receiving terminal and the transmission of transmitting terminal packet, and the fail local credit value of residue and the current resources left of following data packet length value and current receiving terminal of the arbitration of sending that receives the sending module of transmitting terminal compare, and judges whether to send the receiver module of Flow Control bag to transmitting terminal;
Step e, when the sending module of receiving terminal sent the Flow Control bag, local credit value current in the Flow Control module with receiving terminal was updated to new credit value;
After step F, the receiver module of transmitting terminal receive this Flow Control bag, send the Flow Control module of transmitting terminal to, the Flow Control module then current far-end credit value be updated to new credit value.
22, the flow control methods based on prestige according to claim 21 is characterized in that, also comprises the following steps: before the described steps A
Steps A ', the Flow Control module of transmitting terminal is initialized as current credit value the credit value that receives buffer size.
23, according to claim 21 or 22 described flow control methods, it is characterized in that described step D comprises the following steps: based on prestige
When receiving terminal does not have packet to send to transmitting terminal, there is not the link competitive relation between Flow Control bag and the packet in step D1, and receiving terminal will constantly send the receiver module of Flow Control bag to transmitting terminal this moment;
Step D2, when the sending module of receiving terminal has packet to send to the receiver module of transmitting terminal, there are competitive relation in packet and Flow Control bag, then according to the arbitration that the receives following data packet length value of failing, compare with the local credit value of residue and the current resources left of current receiving terminal respectively, judge whether to send the Flow Control bag to transmitting terminal.
24, the flow control methods based on prestige according to claim 23, it is characterized in that, among the described step D2, according to the arbitration that the receives following data packet length value of failing, compare with the local credit value of residue and the current resources left of current receiving terminal respectively, judge whether to send the Flow Control bag to transmitting terminal, comprise the following steps:
Step D21 after the Flow Control module of receiving terminal receives the following data packet length value of arbitration failure, compares with the local credit value of current residue;
Step D22 if the local credit value of current residual is enough to satisfy the length of data package demand, does not then send the Flow Control bag;
Step D23, otherwise, if do not satisfy, then read the resources left situation of buffer area in the receiver module of current receiving terminal, judge the resources left situation:
Step D24, if the resources left of buffer area can satisfy data packet length, just the sending module by receiving terminal sends the receiver module of Flow Control bag to transmitting terminal;
Step D25, otherwise just do not send the Flow Control bag, and continue to read and judge and the resources left situation of buffer area in the receiver module of current receiving terminal, thereby send till the receiver module of Flow Control bag to transmitting terminal until the transmission demand that can satisfy data packet length.
25, the flow control methods based on prestige according to claim 21 is characterized in that, described steps A also comprises the following steps:
If do not arbitrate the packet of failure, then the following data packet length value of this arbitration failure is assigned system default value.
26, the flow control methods based on prestige according to claim 21 is characterized in that, the described arbitration following data packet length value of failing perhaps is a length minimal data packet length value in all arbitration miss data bags; Perhaps arbitrate the mean value of miss data packet length values for all; Perhaps be the long data packet length value of all arbitration failures.
CN200710120753A 2007-08-24 2007-08-24 Credit based flow control system, apparatus and method Active CN100596114C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710120753A CN100596114C (en) 2007-08-24 2007-08-24 Credit based flow control system, apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710120753A CN100596114C (en) 2007-08-24 2007-08-24 Credit based flow control system, apparatus and method

Publications (2)

Publication Number Publication Date
CN101115008A CN101115008A (en) 2008-01-30
CN100596114C true CN100596114C (en) 2010-03-24

Family

ID=39023132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710120753A Active CN100596114C (en) 2007-08-24 2007-08-24 Credit based flow control system, apparatus and method

Country Status (1)

Country Link
CN (1) CN100596114C (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534173B (en) * 2009-04-20 2011-11-09 福建星网锐捷网络有限公司 Method and system for controlling data flow
CN101964745B (en) * 2010-06-12 2012-06-27 福建星网锐捷网络有限公司 Network forwarding equipment and message forwarding method thereof
CN102075436B (en) * 2011-02-10 2014-09-17 华为数字技术(成都)有限公司 Ethernet, and data transmitting method and device thereof
US9729459B2 (en) 2012-11-19 2017-08-08 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for credit-based link level flow control
US10462156B2 (en) * 2014-09-24 2019-10-29 Mcafee, Llc Determining a reputation of data using a data visa
CN104363200B (en) * 2014-10-10 2018-08-28 福建联迪商用设备有限公司 A kind of control method and device of Bluetooth transmission
WO2017107083A1 (en) * 2015-12-23 2017-06-29 华为技术有限公司 Data sending method and receiving method, apparatus and system
CN110580202A (en) * 2019-06-04 2019-12-17 阿里巴巴集团控股有限公司 Method, device and system for processing messages in server system
CN110750486A (en) * 2019-09-24 2020-02-04 支付宝(杭州)信息技术有限公司 RDMA data stream control method, system, electronic device and readable storage medium
CN112230880B (en) * 2020-10-23 2023-08-11 浪潮(北京)电子信息产业有限公司 Data transmission control method and device, FPGA and medium
CN112398921A (en) * 2020-11-02 2021-02-23 北京左江科技股份有限公司 Design method of in-band flow control
CN114422441A (en) * 2022-03-30 2022-04-29 北京奥星贝斯科技有限公司 Method and device for controlling flow
CN115378873A (en) * 2022-08-23 2022-11-22 山东云海国创云计算装备产业创新中心有限公司 Flow control method and system for improving Ethernet data transmission efficiency

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1778078A (en) * 2003-04-21 2006-05-24 西门子公司 Network traffic control system
CN1828550A (en) * 2005-02-28 2006-09-06 中国科学院计算技术研究所 RAM accessing information real-time capturing device and method
US20070133415A1 (en) * 2005-12-13 2007-06-14 Intel Corporation Method and apparatus for flow control initialization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1778078A (en) * 2003-04-21 2006-05-24 西门子公司 Network traffic control system
CN1828550A (en) * 2005-02-28 2006-09-06 中国科学院计算技术研究所 RAM accessing information real-time capturing device and method
US20070133415A1 (en) * 2005-12-13 2007-06-14 Intel Corporation Method and apparatus for flow control initialization

Also Published As

Publication number Publication date
CN101115008A (en) 2008-01-30

Similar Documents

Publication Publication Date Title
CN100596114C (en) Credit based flow control system, apparatus and method
US7161907B2 (en) System and method for dynamic rate flow control
EP0829986B1 (en) System for improving data throughput of a TCP/IP Network connection with slow return channel
CN102084627B (en) By the method for transmitted data on network
CN101227402B (en) Method and apparatus for sharing polymerization link circuit flow
US7145914B2 (en) System and method for controlling data paths of a network processor subsystem
EP0823166B1 (en) Flow control protocol system and method
US7957293B2 (en) System and method to identify and communicate congested flows in a network fabric
JP3211833B2 (en) ATM switch
US5787071A (en) Hop-by-hop flow control in an ATM network
EP0744850B1 (en) Digital network including early packet discard mechanism with adjustable threshold
CN106664290B (en) data transmission method and device of photoelectric hybrid network
US8819265B2 (en) Managing flow control buffer
US7633861B2 (en) Fabric access integrated circuit configured to bound cell reorder depth
CN1136376A (en) Control of overload situations in frame relay network
CN105391567A (en) Traffic management implementation method and device, and network equipment
CN102090030A (en) Method of data delivery across a network
WO2010007339A1 (en) Switching device
JPH1141255A (en) Call connection controller for cell transmission exchange
JPH1198148A (en) Rate controller
CN114124826A (en) Low-delay data center network transmission system and method capable of sensing congestion position
CN103516619A (en) Bandwidth adjusting method and device in network virtualization system
WO2001067672A2 (en) Virtual channel flow control
JP3227133B2 (en) ATM switch
JP2001111556A (en) Device and method for avoiding congestion according to red

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant