A kind of jamming control method for data center
Technical field
The present invention relates to a kind of jamming control methods, more particularly, to a kind of jamming control method for data center.
Background technique
The development achievements of high-speed network technology data center.Data center has unique network topology structure, high band
Wide and low delay data link and the workload flow rate mode of high burst.In order to guarantee data interaction in data center
Order and timeliness need to be monitored the data congestion situation of data center and controlled according to detection case.Mesh
Before, in order to reduce the deadline of low-volume traffic stream (being less than 200KB), meet the need of the deadline to the data flow of time-sensitive
Ask and maximize the handling capacity of high amount of traffic (being greater than 1MB), the TCP congestion control of some specific customizations for data center
Method is suggested, such as DCTCP and L2DCT。
In network data transmission, data flow is typically divided into multiple data packets and sequentially sends, and all data packets are sent
It completes to indicate that data flow is sent completely.DCTCP and L2Both jamming control methods of DCT are all by congestion window
The control of size is to realize congestion control.Both jamming control methods, sender maintain a congestion window, congestion window
Size depend on the Congestion Level SPCC of network, and dynamic change, the principle that sender controls congestion window is: as long as network does not have
Congestion is occurred, congestion window just increases, to send data packets more in data flow;As long as network occurs
Congestion, congestion window are reduced by, to reduce the data packet being injected into network.DCTCP is utilized explicit in interchanger
Congestion notification (ECN) function combines ECN function with the control strategy of data source, to guarantee interchanger spatial cache
Data occupy rate and be consistently lower than some threshold value.When a packet is lost, DCTCP adjusts congestion window using network congestion degree.
On switches, DCTCP is arrived using very simple Active Queue for Management Mechanism when queue occupies over the threshold value of setting
Labeled upper congestion (CE) mark of the data packet reached, indicates that congestion has occurred in data packet.ECN passback is carried out in receiving end, i.e.,
Which data packet the receiving end DCTCP can accurately convey experienced congestion.And can data be coated with the probability α of label in transmitting terminal
Estimated, whenever a data packet of transmitting terminal transmission data flow is to receiving end, receiving end can be sent after receiving the data packet
ACK (confirmation message) is updated congestion probability α according to the quantity of the confirmation message received to transmitting terminal, transmitting terminal.
Illustrate that congestion may be low when α>0 and α<1;Work as α > 1 and illustrate that congestion possibility is high, thus according to and the value of probability α to congestion window
Mouth size is adjusted.But DCTCP needs to come the support of the good ecn (explicit congestion notification) of configuration of interchanger in automatic network,
It is more complicated, and DCTCP does not account for the transmission feature of high amount of traffic and low-volume traffic stream, therefore is unfavorable for reducing low-volume traffic stream
Transmission delay.L2DCT considers data stream size, and the data packet number and net sent so far is flowed to according to a data
Network Congestion Level SPCC adjusts congestion window.L2DCT is the adjustment that congestion window is carried out using the data volume of transmission, hidden to realize
Formula priority scheduling and lowest service (LAS).But same, L2DCT is a deadline unknowable method, it cannot be guaranteed that cutting
The only transmission performance of the data flow of time-sensitive.
DCTCP and L as a result,2Both jamming control methods of DCT are not able to satisfy the big data sensitive to deadline
The demand of stream cannot be the high amount of traffic distribution more bandwidth sensitive to deadline before deadline reaches, once
The data flow sensitive to deadline cannot complete transmission, big number sensitive to deadline at this time before deadline reaches
According to stream will Retransmission timeout, thus cause the deadline of low-volume traffic stream elongated, the throughput degradation of long data flow.
Summary of the invention
Technical problem to be solved by the invention is to provide the data flows of a kind of pair of different priorities to carry out differentiation control,
When to deadline sensitive high amount of traffic Retransmission timeout, it is possible to reduce the deadline of low-volume traffic stream improves long data flow
Handling capacity a kind of jamming control method for data center.
The technical scheme of the invention to solve the technical problem is: a kind of congestion control side for data center
Method is updated according to the size of the priority of data flow, queuing delay and congestion level to congestion window.
It is updated according to the size of the priority of data flow, queuing delay and congestion level to congestion window specific
Process are as follows:
1. setting reference value: congestion window size, the data flow weight threshold upper limit, data flow weight threshold lower limit, data
The stream size threshold value upper limit, data stream size bottom threshold, decision threshold, the minimum two-way time of data packet, transmitting terminal receive
The total quantity of ACK, transmitting terminal receive total quantity, weighted factor, congestion level and congestion threshold with congestion marking ACK,
The size of congestion window is denoted as cwnd, the data flow weight threshold upper limit is denoted as Smax, enable Smax=2.5, by data flow weight
Bottom threshold is denoted as Smin, enable Smin=0.125, data stream size upper threshold is denoted as ce, enable ce=1MB, by data stream size
Bottom threshold is denoted as mc, mcDecision threshold is denoted as p by=200KBc, enable pc=0.125, the minimum two-way time of data packet is remembered
For RTTmin, the total quantity that transmitting terminal receives ACK is denoted as ACKo, transmitting terminal receives the total quantity with congestion marking ACK
It is denoted as ACKs, weighted factor is denoted as g, enables g=0.0625, congestion level is denoted as α, congestion variable is denoted as α 1;
2. following the steps below control when the data packet that one transmits round, which reaches transmitting terminal, to be sent
2. the priority of data flow belonging to each data packet is respectively calculated in -1 pair of transmission round, detailed process
Are as follows:
A. the priority of each data packet is equal to the priority of the data flow belonging to it, therefore by data flow belonging to data packet
Priority weighting be denoted as sc, the priority of the data flow is denoted as p, obtains the size of the data flow, by the size of the data flow
It is denoted as fs;
B. the priority weighting s of the data flow is determinedcIf: fs≤mc, enable sc=SmaxIf fs≥ce, enable sc=Smin,
If mc< fs< ce, then enableSymbol * is multiplication symbol;
C. determine the priority p of the data flow: priority threshold value is denoted as p1, using formula by setting priority threshold valueP1 is calculated, if p1 < pc, then by pcValue be assigned to p, if p1 >=pc, then the value of p1 is assigned to p;
2. -2 couples of congestion level α are updated, detailed process are as follows:
D. to RTTmin、ACKo、ACKsIt is initialized with α, enables RTTmin=0, ACKo=0, ACKs=0, α=0;
E. in a network, each data flow is sequentially transmitted after being divided into multiple data packets, by a data in data flow
It wraps and is denoted as since the ACK time experienced for the data packet for receiving receiving end transmission to transmitting terminal being sent transmitting terminal
RTT obtains the RTT of data packet corresponding to the ACK when transmitting terminal receives an ACK of receiving end sending;
F. transmitting terminal often receives an ACK, then according to following rule to RTTmin、ACKo、ACKsIt is successively carried out more with α 1
It is new: first to RTTminCurrent value determined, if RTTminCurrent value be equal to 0 or RTTminCurrent value be greater than work as
The RTT of data packet corresponding to preceding received ACK, the value of the RTT of data packet corresponding to currently received ACK is assigned to
RTTmin, to RTTminCurrent value be updated, otherwise RTTminCurrent value remain unchanged;Then by ACKoCurrent value add 1
Obtained value assignment ACKo, to ACKoCurrent value be updated;Subsequently determine that data packet corresponding to currently received ACK
Whether RTT is greater than RTTmin+ Oth, wherein Oth=0.17d, d are equal to the RTT of data packet corresponding to currently received ACK, such as
The RTT of data packet corresponding to the currently received ACK of fruit is greater than RTTmin+ Oth is then marked the ACK, which is marked
For an ACK with congestion marking, and by ACKsCurrent value add 1 obtained value to be assigned to ACKS,To ACKsCurrent value into
Row updates, if the RTT of data packet corresponding to currently received ACK is less than or equal to RTTminWhen+Oth, then ACKsWork as
Preceding value remains unchanged;Last set intermediate variable parameter alpha 1 is calculated using formula α 1=(1-g) * α+g* (ACKs/ACKo)
The value for the α 1 being calculated is assigned to α, is updated to the current value of α by α 1;
As soon as 2. the every reception ACK of -3 transmitting terminals, according to corresponding to the α and currently received ACK that are currently calculated
The value of the priority p of the affiliated data flow of data packet is updated the size cwnd of congestion window, and according to updated congestion
The size cwnd of window adjusts congestion window: if currently received ACK is the ACK with congestion marking, usingValue go update congestion window size cwnd, if currently received ACK is not with congestion marking
ACK, the size cwnd of congestion window keeps its current value constant;
2. -4 after transmitting terminal receives the ACK of all data packets of current transmission round, are gone using the value of cwnd+cinc
The size cwnd of congestion window is updated, whereinWherein Qd indicates that queuing delay, queuing delay Qd are
The RTT of the last one data packet subtracts the difference of RTTmin in current transmission round, and the congestion control of the transmission round terminates;
3. return step is 2. to next transmission round when the data packet of next transmission round, which reaches transmitting terminal, to be sent
Congestion control is carried out, in cycles.In this method, network congestion is predicted using the delay of data packet rather than ECN label, this
There is no need to the supports of intermediate equipment, when α is zero, i.e., when network is without congestion, the data flow of high priority and low priority
The speed that data flow occupies bottleneck bandwidth is identical, this can guarantee the high link utilization of bottleneck link, work as α > 0, i.e. network is light
When spending congestion or severe congestion, low priority flows reduce transmission rate than high priority congestion mechanism earlier, both mechanism
The common guarantee performance of system, therefore this method can guarantee high-priority traffic in the case where network congestion degree is high
Transmission.
Compared with the prior art, the advantages of the present invention are as follows by according to the priority of data flow, queuing delay and gathering around
Plug grade is updated the size of congestion window, thus carries out differentiation control to the data flows of different priorities, when to cutting
Only when the high amount of traffic Retransmission timeout of time-sensitive, it is possible to reduce the deadline of low-volume traffic stream improves handling up for long data flow
Amount.
Specific embodiment
Present invention is further described in detail with reference to embodiments.
Embodiment one: a kind of jamming control method for data center, according to the priority of data flow, queuing delay with
And congestion level is updated the size of congestion window.
Embodiment two: the present embodiment is basically the same as the first embodiment, and difference is: according to the priority of data flow, being lined up
The detailed process that time delay and congestion level are updated the size of congestion window are as follows:
1. setting reference value: congestion window size, the data flow weight threshold upper limit, data flow weight threshold lower limit, data
The stream size threshold value upper limit, data stream size bottom threshold, decision threshold, the minimum two-way time of data packet, transmitting terminal receive
The total quantity of ACK, transmitting terminal receive total quantity, weighted factor, congestion level and congestion threshold with congestion marking ACK,
The size of congestion window is denoted as cwnd, the data flow weight threshold upper limit is denoted as Smax, enable Smax=2.5, by data flow weight
Bottom threshold is denoted as Smin, enable Smin=0.125, data stream size upper threshold is denoted as ce, enable ce=1MB, by data stream size
Bottom threshold is denoted as mc, mcDecision threshold is denoted as p by=200KBc, enable pc=0.125, the minimum two-way time of data packet is remembered
For RTTmin, the total quantity that transmitting terminal receives ACK is denoted as ACKo, transmitting terminal receives the total quantity with congestion marking ACK
It is denoted as ACKs, weighted factor is denoted as g, enables g=0.0625, congestion level is denoted as α, congestion variable is denoted as α 1;
2. following the steps below control when the data packet that one transmits round, which reaches transmitting terminal, to be sent
2. the priority of data flow belonging to each data packet is respectively calculated in -1 pair of transmission round, detailed process
Are as follows:
A. the priority of each data packet is equal to the priority of the data flow belonging to it, therefore by data flow belonging to data packet
Priority weighting be denoted as sc, the priority of the data flow is denoted as p, obtains the size of the data flow, by the size of the data flow
It is denoted as fs;
B. the priority weighting s of the data flow is determinedcIf: fs≤mc, enable sc=SmaxIf fs≥ce, enable sc=Smin,
If mc< fs< ce, then enableSymbol * is multiplication symbol;
C. determine the priority p of the data flow: priority threshold value is denoted as p1, using formula by setting priority threshold valueP1 is calculated, if p1 < pc, then by pcValue be assigned to p, if p1 >=pc, then the value of p1 is assigned to p;
2. -2 couples of congestion level α are updated, detailed process are as follows:
D. to RTTmin、ACKo、ACKsIt is initialized with α, enables RTTmin=0, ACKo=0, ACKs=0, α=0;
E. in a network, each data flow is sequentially transmitted after being divided into multiple data packets, by a data in data flow
It wraps and is denoted as since the ACK time experienced for the data packet for receiving receiving end transmission to transmitting terminal being sent transmitting terminal
RTT obtains the RTT of data packet corresponding to the ACK when transmitting terminal receives an ACK of receiving end sending;
F. transmitting terminal often receives an ACK, then according to following rule to RTTmin、ACKo、ACKsIt is successively carried out more with α 1
It is new: first to RTTminCurrent value determined, if RTTminCurrent value be equal to 0 or RTTminCurrent value be greater than work as
The RTT of data packet corresponding to preceding received ACK, the value of the RTT of data packet corresponding to currently received ACK is assigned to
RTTmin, to RTTminCurrent value be updated, otherwise RTTminCurrent value remain unchanged;Then by ACKoCurrent value add 1
Obtained value assignment ACKo, to ACKoCurrent value be updated;Subsequently determine that data packet corresponding to currently received ACK
Whether RTT is greater than RTTmin+ Oth, wherein Oth=0.17d, d are equal to the RTT of data packet corresponding to currently received ACK, such as
The RTT of data packet corresponding to the currently received ACK of fruit is greater than RTTmin+ Oth is then marked the ACK, which is marked
For an ACK with congestion marking, and by ACKsCurrent value add 1 obtained value to be assigned to ACKs, to ACKsCurrent value into
Row updates, if the RTT of data packet corresponding to currently received ACK is less than or equal to RTTminWhen+Oth, then ACKsWork as
Preceding value remains unchanged;Last set intermediate variable parameter alpha 1 is calculated using formula α 1=(1-g) * α+g* (ACKs/ACKo)
The value for the α 1 being calculated is assigned to α, is updated to the current value of α by α 1;
As soon as 2. the every reception ACK of -3 transmitting terminals, according to corresponding to the α and currently received ACK that are currently calculated
The value of the priority p of the affiliated data flow of data packet is updated the size cwnd of congestion window, and according to updated congestion
The size cwnd of window adjusts congestion window: if currently received ACK is the ACK with congestion marking, usingValue go update congestion window size cwnd, if currently received ACK is not with congestion marking
ACK, the size cwnd of congestion window keeps its current value constant;
2. -4 after transmitting terminal receives the ACK of all data packets of current transmission round, are gone using the value of cwnd+cinc
The size cwnd of congestion window is updated, whereinWherein Qd indicates that queuing delay, queuing delay Qd are
The RTT of the last one data packet subtracts the difference of RTTmin in current transmission round, and the congestion control of the transmission round terminates;
3. return step is 2. to next transmission round when the data packet of next transmission round, which reaches transmitting terminal, to be sent
Congestion control is carried out, in cycles.
The working principle of jamming control method for data center of the invention are as follows: be to replace network with time delay first
The ECN of interior interchanger is marked, and then adjusts transmitting terminal by the priority of data flow, queuing delay and network congestion degree
Congestion window size, when data are coated with virtual ECN label, expression may occur congestion, just reduce congestion window, one
After a transmission round, the size of congestion window is just updated by data stream priority and network congestion degree.