[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN116489091A - Flow scheduling method and device based on remote in-band telemetry and time delay - Google Patents

Flow scheduling method and device based on remote in-band telemetry and time delay Download PDF

Info

Publication number
CN116489091A
CN116489091A CN202310318525.9A CN202310318525A CN116489091A CN 116489091 A CN116489091 A CN 116489091A CN 202310318525 A CN202310318525 A CN 202310318525A CN 116489091 A CN116489091 A CN 116489091A
Authority
CN
China
Prior art keywords
congestion
determining
control factor
data
trip time
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.)
Pending
Application number
CN202310318525.9A
Other languages
Chinese (zh)
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202310318525.9A priority Critical patent/CN116489091A/en
Publication of CN116489091A publication Critical patent/CN116489091A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present application relates to a method, apparatus, computer device, storage medium and computer program product for traffic scheduling based on remote in-band telemetry and time delay. The method comprises the following steps: acquiring the length of an accumulated queue and the round trip time of data; for different flow scheduling paths, determining a control factor corresponding to each flow scheduling path according to a proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path; and controlling the size of a congestion window according to the control factor corresponding to each flow scheduling path and the target flow scheduling strategy corresponding to the flow scheduling path, and scheduling the flow of the flow scheduling path. The method can accelerate the convergence rate of the congestion signal and solve the congestion problem in the flow scheduling process.

Description

Flow scheduling method and device based on remote in-band telemetry and time delay
Technical Field
The present application relates to the field of internet information technology, and in particular, to a traffic scheduling method, apparatus, computer device, storage medium, and computer program product based on remote in-band telemetry and time delay.
Background
With the development of cloud service technology, the link bandwidth of the data center increases rapidly, however, the size of the switch buffer area cannot meet the link bandwidth of the data center, so that the traffic between the data centers often generates deeper queues, resulting in higher traffic delay.
In the conventional technology, there is a method of mixed congestion control for the situations that the traffic delay between data centers is high and the bottleneck link capacity is difficult to estimate. In a cross data center, mixed congestion control handles congestion of the data center and congestion of the wide area network, respectively, based on heterogeneity of the wide area network and the data center, and interactions of different source traffic.
However, in the current mixed congestion control method, because the congestion signal in the data center is obtained inaccurately under the control of mixed congestion and the information amount is less, the problem of thicker granularity of the congestion signal exists, which results in slow convergence.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a method, apparatus, computer device, computer readable storage medium, and computer program product for traffic scheduling based on remote in-band telemetry and latency.
In a first aspect, the present application provides a method for traffic scheduling based on remote in-band telemetry and time delay. The method comprises the following steps:
Acquiring the length of an accumulated queue and the round trip time of data; the accumulated queue length represents the total length of a buffer queue of a programmable switch among all data centers in a first traffic scheduling path; the data round trip time represents the round trip time of traffic data between a local data center and a wide area network in a second traffic scheduling path;
for different flow scheduling paths, determining a control factor corresponding to each flow scheduling path according to a proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path;
and controlling the size of a congestion window according to the control factor corresponding to each flow scheduling path and the target flow scheduling strategy corresponding to the flow scheduling path, and scheduling the flow of the flow scheduling path.
In one embodiment, the determining, for different traffic scheduling paths, a control factor corresponding to each traffic scheduling path according to a proportional-integral controller, the accumulated queue length, and the data round trip time corresponding to each traffic scheduling path includes:
determining first congestion information according to the length of an accumulated queue among all data centers in the first traffic scheduling path;
Determining second congestion information according to the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;
and determining a first control factor according to the first congestion information and the first proportional-integral controller, and determining a second control factor according to the second congestion information and the second proportional-integral controller.
In one embodiment, the determining the first congestion information according to the length of the accumulated queue between the data centers in the first traffic scheduling path includes:
accumulating according to the queue length of the data packet at the programmable switch port of each data center to obtain the accumulated queue length;
determining the first congestion information according to the length of the accumulated queue;
the determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
and predicting second congestion information in the wide area network according to the round trip time of the congestion-free condition and the round trip time of congestion occurrence in the round trip process of the data packet between the data center and the wide area network.
In one embodiment, the first congestion information includes a first congestion level and a first congestion tendency, and the second congestion information includes a second congestion level and a second congestion tendency; the determining the first congestion information according to the length of the accumulated queue among the data centers in the first traffic scheduling path includes:
Determining a difference between an accumulated queue length when congestion occurs between each data center in the first traffic scheduling path and a queue length threshold value as the first congestion degree, determining a difference between the accumulated queue length when congestion occurs and the accumulated queue length when congestion does not occur as a first congestion change trend, and taking the first congestion degree and the first congestion change trend as first congestion information;
the determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
determining a difference between a round-trip time of data when congestion occurs and a round-trip time threshold value as the second congestion degree, and determining a difference between the round-trip time of data when congestion occurs and the round-trip time of data when no congestion occurs as a second congestion variation trend; and taking the second congestion degree and the second congestion change trend as second congestion information.
In one embodiment, the determining the first control factor according to the first congestion information and the first proportional-integral controller, and determining the second control factor according to the second congestion information and the second proportional-integral controller includes:
In the current flow control period, weight is distributed to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller, and a first initial control factor is obtained;
summing the first initial control factor and a first control factor of a previous period to obtain a current first control factor;
in the current flow control period, weight is distributed to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller, so that a second initial control factor is obtained;
and summing the second initial control factor and the second control factor of the previous period to obtain the current second control factor.
In one embodiment, the controlling the congestion window size according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path, and scheduling the traffic of the traffic scheduling path includes:
determining the occurrence position of the congestion condition of the local data center according to the magnitude relation between the first control factor and the second control factor;
under the condition that the congestion situation occurrence position of the local data center is between the data centers, determining a congestion window between the data centers according to the first control factor and a preset weight function;
And determining a congestion window between the wide area networks according to the second control factor under the condition that the congestion situation occurrence position of the local data center is between the wide area networks.
In one embodiment, in the case that the congestion situation occurrence position of the local data center is between data centers, determining, according to the first control factor and a preset weight function, a congestion window between the data centers includes:
under the condition that the congestion condition of the local data centers occurs between the data centers, determining the value of the weight function according to the byte length of the transmitted data packet;
and determining a congestion window among the data centers according to a preset activation function, the value of the weight function and the first control factor.
In a second aspect, the present application also provides a traffic scheduling device based on remote in-band telemetry and time delay. The device comprises:
the acquisition module is used for acquiring the length of the accumulated queue and the round-trip time of the data; the accumulated queue length represents the total length of a buffer queue of a programmable switch among all data centers in a first traffic scheduling path; the data round trip time represents the round trip time of traffic data between a local data center and a wide area network in a second traffic scheduling path;
The determining module is used for determining control factors corresponding to each flow scheduling path according to the proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path aiming at different flow scheduling paths;
and the control module is used for controlling the size of the congestion window according to the control factor corresponding to each flow scheduling path and the target flow scheduling strategy corresponding to the flow scheduling path, and scheduling the flow of the flow scheduling path.
In one embodiment, the determining module is specifically configured to:
determining first congestion information according to the length of an accumulated queue among all data centers in the first traffic scheduling path;
determining second congestion information according to the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;
and determining a first control factor according to the first congestion information and the first proportional-integral controller, and determining a second control factor according to the second congestion information and the second proportional-integral controller.
In one embodiment, the determining module is specifically configured to:
accumulating according to the queue length of the data packet at the programmable switch port of each data center to obtain the accumulated queue length;
Determining the first congestion information according to the length of the accumulated queue;
the determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
and predicting second congestion information in the wide area network according to the round trip time of the congestion-free condition and the round trip time of congestion occurrence in the round trip process of the data packet between the data center and the wide area network.
In one embodiment, the determining module is specifically configured to:
determining a difference between an accumulated queue length when congestion occurs between each data center in the first traffic scheduling path and a queue length threshold value as the first congestion degree, determining a difference between the accumulated queue length when congestion occurs and the accumulated queue length when congestion does not occur as a first congestion change trend, and taking the first congestion degree and the first congestion change trend as first congestion information;
the determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
determining a difference between a round-trip time of data when congestion occurs and a round-trip time threshold value as the second congestion degree, and determining a difference between the round-trip time of data when congestion occurs and the round-trip time of data when no congestion occurs as a second congestion variation trend; and taking the second congestion degree and the second congestion change trend as second congestion information.
In one embodiment, the determining module is specifically configured to:
in the current flow control period, weight is distributed to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller, and a first initial control factor is obtained;
summing the first initial control factor and a first control factor of a previous period to obtain a current first control factor;
in the current flow control period, weight is distributed to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller, so that a second initial control factor is obtained;
and summing the second initial control factor and the second control factor of the previous period to obtain the current second control factor.
In one embodiment, the control module is specifically configured to:
determining the occurrence position of the congestion condition of the local data center according to the magnitude relation between the first control factor and the second control factor;
under the condition that the congestion situation occurrence position of the local data center is between the data centers, determining a congestion window between the data centers according to the first control factor and a preset weight function;
And determining a congestion window between the wide area networks according to the second control factor under the condition that the congestion situation occurrence position of the local data center is between the wide area networks.
In one embodiment, the control module is specifically configured to:
under the condition that the congestion condition of the local data centers occurs between the data centers, determining the value of the weight function according to the byte length of the transmitted data packet;
and determining a congestion window among the data centers according to a preset activation function, the value of the weight function and the first control factor.
In a third aspect, the present application also provides a computer device. The computer device comprises a memory storing a computer program and a processor which when executing the computer program performs the steps of:
acquiring the length of an accumulated queue and the round trip time of data; the accumulated queue length represents the total length of a buffer queue of a programmable switch among all data centers in a first traffic scheduling path; the data round trip time represents the round trip time of traffic data between a local data center and a wide area network in a second traffic scheduling path;
for different flow scheduling paths, determining a control factor corresponding to each flow scheduling path according to a proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path;
And controlling the size of a congestion window according to the control factor corresponding to each flow scheduling path and the target flow scheduling strategy corresponding to the flow scheduling path, and scheduling the flow of the flow scheduling path.
In one embodiment, the determining, for different traffic scheduling paths, a control factor corresponding to each traffic scheduling path according to a proportional-integral controller, the accumulated queue length, and the data round trip time corresponding to each traffic scheduling path includes:
determining first congestion information according to the length of an accumulated queue among all data centers in the first traffic scheduling path;
determining second congestion information according to the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;
and determining a first control factor according to the first congestion information and the first proportional-integral controller, and determining a second control factor according to the second congestion information and the second proportional-integral controller.
In one embodiment, the determining the first congestion information according to the length of the accumulated queue between the data centers in the first traffic scheduling path includes:
Accumulating according to the queue length of the data packet at the programmable switch port of each data center to obtain the accumulated queue length;
determining the first congestion information according to the length of the accumulated queue;
the determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
and predicting second congestion information in the wide area network according to the round trip time of the congestion-free condition and the round trip time of congestion occurrence in the round trip process of the data packet between the data center and the wide area network.
In one embodiment, the first congestion information includes a first congestion level and a first congestion tendency, and the second congestion information includes a second congestion level and a second congestion tendency; the determining the first congestion information according to the length of the accumulated queue among the data centers in the first traffic scheduling path includes:
determining a difference between an accumulated queue length when congestion occurs between each data center in the first traffic scheduling path and a queue length threshold value as the first congestion degree, determining a difference between the accumulated queue length when congestion occurs and the accumulated queue length when congestion does not occur as a first congestion change trend, and taking the first congestion degree and the first congestion change trend as first congestion information;
The determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
determining a difference between a round-trip time of data when congestion occurs and a round-trip time threshold value as the second congestion degree, and determining a difference between the round-trip time of data when congestion occurs and the round-trip time of data when no congestion occurs as a second congestion variation trend; and taking the second congestion degree and the second congestion change trend as second congestion information.
In one embodiment, the determining the first control factor according to the first congestion information and the first proportional-integral controller, and determining the second control factor according to the second congestion information and the second proportional-integral controller includes:
in the current flow control period, weight is distributed to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller, and a first initial control factor is obtained;
summing the first initial control factor and a first control factor of a previous period to obtain a current first control factor;
in the current flow control period, weight is distributed to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller, so that a second initial control factor is obtained;
And summing the second initial control factor and the second control factor of the previous period to obtain the current second control factor.
In one embodiment, the controlling the congestion window size according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path, and scheduling the traffic of the traffic scheduling path includes:
determining the occurrence position of the congestion condition of the local data center according to the magnitude relation between the first control factor and the second control factor;
under the condition that the congestion situation occurrence position of the local data center is between the data centers, determining a congestion window between the data centers according to the first control factor and a preset weight function;
and determining a congestion window between the wide area networks according to the second control factor under the condition that the congestion situation occurrence position of the local data center is between the wide area networks.
In one embodiment, in the case that the congestion situation occurrence position of the local data center is between data centers, determining, according to the first control factor and a preset weight function, a congestion window between the data centers includes:
Under the condition that the congestion condition of the local data centers occurs between the data centers, determining the value of the weight function according to the byte length of the transmitted data packet;
and determining a congestion window among the data centers according to a preset activation function, the value of the weight function and the first control factor.
In a fourth aspect, the present application also provides a computer-readable storage medium. The computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
acquiring the length of an accumulated queue and the round trip time of data; the accumulated queue length represents the total length of a buffer queue of a programmable switch among all data centers in a first traffic scheduling path; the data round trip time represents the round trip time of traffic data between a local data center and a wide area network in a second traffic scheduling path;
for different flow scheduling paths, determining a control factor corresponding to each flow scheduling path according to a proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path;
and controlling the size of a congestion window according to the control factor corresponding to each flow scheduling path and the target flow scheduling strategy corresponding to the flow scheduling path, and scheduling the flow of the flow scheduling path.
In one embodiment, the determining, for different traffic scheduling paths, a control factor corresponding to each traffic scheduling path according to a proportional-integral controller, the accumulated queue length, and the data round trip time corresponding to each traffic scheduling path includes:
determining first congestion information according to the length of an accumulated queue among all data centers in the first traffic scheduling path;
determining second congestion information according to the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;
and determining a first control factor according to the first congestion information and the first proportional-integral controller, and determining a second control factor according to the second congestion information and the second proportional-integral controller.
In one embodiment, the determining the first congestion information according to the length of the accumulated queue between the data centers in the first traffic scheduling path includes:
accumulating according to the queue length of the data packet at the programmable switch port of each data center to obtain the accumulated queue length;
determining the first congestion information according to the length of the accumulated queue;
The determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
and predicting second congestion information in the wide area network according to the round trip time of the congestion-free condition and the round trip time of congestion occurrence in the round trip process of the data packet between the data center and the wide area network.
In one embodiment, the first congestion information includes a first congestion level and a first congestion tendency, and the second congestion information includes a second congestion level and a second congestion tendency; the determining the first congestion information according to the length of the accumulated queue among the data centers in the first traffic scheduling path includes:
determining a difference between an accumulated queue length when congestion occurs between each data center in the first traffic scheduling path and a queue length threshold value as the first congestion degree, determining a difference between the accumulated queue length when congestion occurs and the accumulated queue length when congestion does not occur as a first congestion change trend, and taking the first congestion degree and the first congestion change trend as first congestion information;
the determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
Determining a difference between a round-trip time of data when congestion occurs and a round-trip time threshold value as the second congestion degree, and determining a difference between the round-trip time of data when congestion occurs and the round-trip time of data when no congestion occurs as a second congestion variation trend; and taking the second congestion degree and the second congestion change trend as second congestion information.
In one embodiment, the determining the first control factor according to the first congestion information and the first proportional-integral controller, and determining the second control factor according to the second congestion information and the second proportional-integral controller includes:
in the current flow control period, weight is distributed to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller, and a first initial control factor is obtained;
summing the first initial control factor and a first control factor of a previous period to obtain a current first control factor;
in the current flow control period, weight is distributed to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller, so that a second initial control factor is obtained;
And summing the second initial control factor and the second control factor of the previous period to obtain the current second control factor.
In one embodiment, the controlling the congestion window size according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path, and scheduling the traffic of the traffic scheduling path includes:
determining the occurrence position of the congestion condition of the local data center according to the magnitude relation between the first control factor and the second control factor;
under the condition that the congestion situation occurrence position of the local data center is between the data centers, determining a congestion window between the data centers according to the first control factor and a preset weight function;
and determining a congestion window between the wide area networks according to the second control factor under the condition that the congestion situation occurrence position of the local data center is between the wide area networks.
In one embodiment, in the case that the congestion situation occurrence position of the local data center is between data centers, determining, according to the first control factor and a preset weight function, a congestion window between the data centers includes:
Under the condition that the congestion condition of the local data centers occurs between the data centers, determining the value of the weight function according to the byte length of the transmitted data packet;
and determining a congestion window among the data centers according to a preset activation function, the value of the weight function and the first control factor.
In a fifth aspect, the present application also provides a computer program product. The computer program product comprises a computer program which, when executed by a processor, implements the steps of:
acquiring the length of an accumulated queue and the round trip time of data; the accumulated queue length represents the total length of a buffer queue of a programmable switch among all data centers in a first traffic scheduling path; the data round trip time represents the round trip time of traffic data between a local data center and a wide area network in a second traffic scheduling path;
for different flow scheduling paths, determining a control factor corresponding to each flow scheduling path according to a proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path;
and controlling the size of a congestion window according to the control factor corresponding to each flow scheduling path and the target flow scheduling strategy corresponding to the flow scheduling path, and scheduling the flow of the flow scheduling path.
According to the traffic scheduling method, the traffic scheduling device, the computer equipment, the storage medium and the computer program product based on the remote in-band telemetry and the time delay, the queue length in each data center switch can be accurately obtained through the programmable switch among the data centers, further, according to the accumulated queue length, the data round trip time and the proportional integral controller, the more accurate congestion degree used for quantifying each traffic scheduling path can be obtained, the control factor used for traffic scheduling is determined based on the congestion degree, the convergence speed of congestion signals can be accelerated, and the congestion problem in the traffic scheduling process is solved.
Drawings
FIG. 1 is an application environment diagram of a flow scheduling method based on remote in-band telemetry and latency in one embodiment;
FIG. 2 is a flow diagram of a method of traffic scheduling based on remote in-band telemetry and latency in one embodiment;
FIG. 3 is a flowchart illustrating steps for determining a first control factor and a second control factor in one embodiment;
FIG. 4 is a flow chart illustrating steps for determining first congestion information and second congestion information in one embodiment;
fig. 5 is a flowchart illustrating steps of calculating first congestion information and second congestion information according to an embodiment;
FIG. 6 is a flowchart illustrating steps for calculating the first control factor and the second control factor according to an embodiment;
FIG. 7 is a flow diagram of the steps of determining congestion windows for different traffic scheduling paths in one embodiment;
FIG. 8 is a flow diagram of the steps for determining congestion windows for a first traffic scheduling path in one embodiment;
FIG. 9 is a flow diagram of an example of a flow scheduling method based on remote in-band telemetry and time delay in one embodiment;
FIG. 10 is a block diagram of a flow scheduler based on remote in-band telemetry and latency in one embodiment;
FIG. 11 is an internal block diagram of a computer device in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
The flow scheduling method based on remote in-band telemetry and time delay provided by the embodiment of the application can be applied to an application environment shown in fig. 1. Wherein the local data center server 102 communicates with another data center server 104 via a network and the local data center 102 communicates with the wide area network 106 via the network. The data storage system may store data that server local data center server 102 needs to process. The data storage system may be integrated on the local data center server 102 or may be located on the cloud or other network server. The local data center server 102 obtains the accumulated queue length and the data round trip time; the local data center server 102 determines control factors corresponding to each flow scheduling path according to the proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path for different flow scheduling paths; the local data center server 102 controls the congestion window size and schedules the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path. The local data center 102 or the additional data center servers 104 may be implemented as individual servers or as a cluster of servers.
In one embodiment, as shown in fig. 2, a traffic scheduling method based on remote in-band telemetry and time delay is provided, and the method is applied to the local data center server in fig. 1 for illustration, and includes the following steps:
step 202, the accumulated queue length and the round trip time of the data are obtained.
The accumulated queue length represents the total length of the buffer queues of the programmable switch among the data centers in the first traffic scheduling path. The data round trip time represents the round trip time of traffic data between the local data center and the wide area network in the second traffic scheduling path.
In this embodiment, the switch used in the data center is a p4 programmable switch, and the programmable switch supports INT (Inband Network Telemetry in-band network telemetry), and in this embodiment, the queue length of the port in the switch can be recorded in the data packet in real time through the p4 programmable switch, and the local data center server can accurately obtain the queue length in each data center after receiving the data packet.
The local data center server obtains the accumulated queue length between the local data center and other data centers, and the Round-Trip Time (RTT Round-Trip Time) of traffic data between the local data center and the wide area network.
Step 204, for different traffic scheduling paths, determining a control factor corresponding to each traffic scheduling path according to the proportional-integral controller, the accumulated queue length and the data round trip time corresponding to each traffic scheduling path.
In the embodiment of the application, the local data center server has different proportional integral controllers aiming at the flow scheduling paths among the data centers and the flow scheduling paths among the local data centers and the wide area network, and proportional integral parameters of the different flow scheduling paths are determined through the proportional integral controllers. The local data center server can determine a control factor between the data centers according to the proportional integral parameter corresponding to the first flow scheduling path and the accumulated queue length. And then, determining a control factor between the local data center and the wide area network according to the proportional-integral parameter corresponding to the second scheduling path and the data round trip time.
And 206, controlling the size of the congestion window according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling strategy corresponding to the traffic scheduling path, and scheduling the traffic of the traffic scheduling path.
In the embodiment of the application, different traffic scheduling paths have different target traffic scheduling strategies, and specifically, the traffic scheduling strategy of the traffic scheduling path between data centers comprises the step of adjusting a congestion window according to the data traffic length of a data packet; and determining a flow scheduling strategy corresponding to a flow scheduling path between the local data center and the wide area network according to a control factor between the local data center and the wide area network.
The local data center server determines a traffic scheduling path corresponding to the congestion occurrence position according to control factors corresponding to different traffic scheduling paths, and controls the size of a congestion window according to a traffic scheduling strategy corresponding to the traffic scheduling path of the congestion occurrence position so as to schedule the data traffic of the traffic scheduling path.
Optionally, the local data center server performs traffic scheduling on a plurality of data packets, has a plurality of traffic scheduling periods, and performs traffic scheduling by controlling the congestion window in real time according to the data packets in different periods.
In the flow scheduling method based on remote in-band telemetry and time delay, the programmable switches among the data centers can acquire the accurate queue length in each data center switch, further acquire more accurate congestion degree for quantifying each flow scheduling path according to the accumulated queue length, the data round-trip time and the proportional integral controller, determine the control factor for flow scheduling based on the congestion degree, accelerate the convergence speed of congestion signals and accelerate the congestion problem in the flow scheduling process.
In one embodiment, as shown in fig. 3, step 204 determines, for different traffic scheduling paths, a control factor corresponding to each traffic scheduling path according to a proportional-integral controller, an accumulated queue length, and a data round trip time corresponding to each traffic scheduling path, including:
Step 302, determining first congestion information according to the length of the accumulated queue among the data centers in the first traffic scheduling path.
In this embodiment of the present application, in a process that a data packet passes through a programmable switch of each data center, the data packet may record a queue length carried by an INT of a port of the programmable switch.
After the local data center sends the data packet to the receiver data center, the data packet accumulates the queue length in each programmable switch port to obtain the accumulated queue length, after the data packet arrives at the receiver data center, the receiver data center server inserts the accumulated queue length into the ACK (Acknowledge character, confirm character), when the local data center receives the ACK, the accurate accumulated queue length can be obtained, and according to the accumulated queue length determined by the data packet in different periods, the first congestion information can be obtained.
Step 304, determining second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path.
In this embodiment of the present application, after the local data center receives the ACK, the local data center may calculate the data round trip time according to the ACK, and may determine the second congestion information according to the data round trip time calculated by the data packets in different periods.
Step 306, determining a first control factor according to the first congestion information and the first proportional-integral controller, and determining a second control factor according to the second congestion information and the second proportional-integral controller.
In this embodiment of the present application, the local data center server determines a ratio of the first control factor to the second control factor according to a PI (proportion integral proportional integral) controller corresponding to each traffic scheduling path.
In this embodiment, the length of the queue carried by the INT of the port of the programmable switch may obtain an accurate cumulative queue length, and the first congestion information may be obtained by using the accurate cumulative queue length, so as to obtain a first control factor corresponding to the traffic scheduling path between the data centers, and at the same time, the local data center may predict the second congestion information by using the round-trip time of the data, so as to obtain the second control factor. In determining the first control factor and the second control factor, the PI controller may ensure that the congestion signal converges to a fixed point quickly.
In one embodiment, as shown in fig. 4, step 302 determines first congestion information according to a cumulative queue length between data centers in the first traffic scheduling path, including:
Step 402, accumulating according to the queue length of the data packet at the programmable switch port of each data center to obtain the accumulated queue length.
In this embodiment of the present application, the local data center server may accumulate queue lengths of programmable switch ports in each data center carried by a data packet in a current period, and may determine an accumulated queue length for calculating first congestion information.
Step 404, determining first congestion information according to the length of the accumulation queue.
In the embodiment of the present application, the local data center server determines, according to the accumulated queue lengths carried by the data packets in different periods, the minimum accumulated queue length observed in the last RTT and the minimum accumulated queue length in the current period, and simultaneously sets a queue length threshold in the data center, and determines the minimum accumulated queue length observed in the last RTT, the minimum accumulated queue length in the current period and the queue length threshold in the data center as the first congestion information.
Thus, the step 304 determines second congestion information according to a round trip time of data between the local data center and the wide area network in the second traffic scheduling path, including:
step 406, predicting second congestion information in the wide area network according to the round-trip time of the data packet in the data center and the wide area network and the round-trip time of the data in the congestion-free condition.
In this embodiment, the local data center server determines the minimum round-trip time observed in a long period of time as the base round-trip time, that is, the round-trip time without congestion, determines the minimum round-trip time observed in the last period as the round-trip time with congestion, sets a round-trip time threshold for the user, and determines the minimum round-trip time observed in the last period of the current period, the base round-trip time, the round-trip time with congestion, and the round-trip time threshold as the second congestion information.
In this embodiment, the programmable switch determines the accurate accumulated queue length and the data round trip periods of different periods, so that the first congestion information and the second congestion information for calculating the control factor can be determined respectively, and congestion detection between the data centers and congestion monitoring between the local data center and the wide area network can be completed.
In one embodiment, as shown in fig. 5, step 302 determines first congestion information according to a cumulative queue length between data centers in the first traffic scheduling path, including:
step 502, determining a difference between an accumulated queue length and a queue length threshold when congestion occurs between data centers in a first traffic scheduling path as a first congestion degree, determining a difference between an accumulated queue length when congestion occurs and an accumulated queue length when no congestion occurs as a first congestion change trend, and determining the first congestion degree and the first congestion change trend as first congestion information.
The first congestion information comprises a first congestion degree and a first congestion change trend, and the second congestion information comprises a second congestion degree and a second congestion change trend.
In this embodiment of the present application, the local data center server determines, as the first congestion degree, a difference between an accumulated queue length when congestion occurs and a queue length threshold, as shown in the following formula:
ΔqLen=(qLen-min-qLen T )
wherein ΔqLen is the first congestion level, qLen_min is the accumulated queue length when congestion occurs, qLen T Is a queue length threshold.
The local data center server determines the difference between the length of the accumulated queue when congestion occurs and the length of the accumulated queue when no congestion occurs as a first congestion variation trend, as shown in the following formula:
wherein,,for the first congestion tendency, qlen_old is the cumulative queue length without congestion.
And finally, the local data center server determines the first congestion degree and the first congestion change trend as first congestion information.
Thus, the step 304 determines second congestion information according to a round trip time of data between the local data center and the wide area network in the second traffic scheduling path, including:
step 504, determining a difference between the round-trip time of the data when congestion occurs and the round-trip time threshold value as a second congestion degree, and determining a difference between the round-trip time of the data when congestion occurs and the round-trip time of the data when no congestion occurs as a second congestion variation trend; and taking the second congestion degree and the second congestion change trend as second congestion information.
In this embodiment of the present application, the local data center server determines, as the second congestion degree, a difference between the round trip time when congestion occurs and the round trip time threshold, as shown in the following formula:
Δrtt=(rtt_min-rtt T )
wherein Δrtt is the second congestion level, rtt_min is the round trip time when congestion occurs, rtt T Is a round trip time threshold.
The local data center server determines a difference between the round trip time when congestion occurs and the round trip time when no congestion occurs as a second congestion variation tendency, as shown in the following formula:
wherein,,for the second congestion variation trend, rtt_old is the round trip time without congestion.
In this embodiment, the first congestion variation trend and the second congestion variation trend are derivatives, so that rapid convergence can be achieved in calculating the first control factor and the second control factor, and the first control factor and the second control factor can quantify the congestion degree, so that the congestion signal can be rapidly converged.
In one embodiment, as shown in fig. 6, step 306 of determining a first control factor according to the first congestion information and the first proportional-integral controller, and determining a second control factor according to the second congestion information and the second proportional-integral controller, includes:
in step 602, in the current flow control period, a weight is assigned to the first congestion degree and the first congestion variation trend according to the first proportional integral parameter in the first proportional integral controller, so as to obtain a first initial control factor.
In the embodiment of the application, the proportional-integral controller is used for correcting the proportional and derivative terms to reduce the error of the proportion used for determining the weight. And in the current flow control period, the local data center server adjusts a first proportional integral parameter of the first proportional integral controller, and determines a first initial control factor according to the first proportional integral parameter and the distribution weight of the first congestion degree and the first congestion change in the first congestion information.
Step 604, summing the first initial control factor and the first control factor of the previous period to obtain the current first control factor.
In this embodiment of the present application, the local data center server sums the first initial control factor and the first control factor of the previous period to obtain the first control factor of the current streaming control period, where the following formula is shown:
wherein u (t) is the first control factor, u (t-1) is the first control factor of the previous period, K p1 For the first congestion degree proportional integral parameter, K d1 And the first congestion variation trend proportional integral parameter is used.
And step 606, in the current flow control period, weight is distributed to the second congestion degree and the second congestion change trend according to the first proportional integral parameter in the second proportional integral controller, so as to obtain a second initial control factor.
In this embodiment of the present application, during a current flow control period, the local data center server adjusts a second proportional-integral parameter of the second proportional-integral controller, and determines a second initial control factor according to an allocation weight of the second proportional-integral parameter to a second congestion degree and a second congestion change in the second congestion information.
Step 608, summing the second initial control factor and the second control factor of the previous period to obtain the current second control factor.
In this embodiment of the present application, the local data center server sums the second initial control factor with the second control factor of the previous period to obtain the current second control factor, where the following formula is shown:
wherein m (t) is a second control factor, m (t-1) is a second control factor of the previous period, K p2 For the second congestion degree proportional integral parameter, K d2 And the second congestion variation trend proportional integral parameter.
In this embodiment, the proportional-integral controller may ensure that the first control factor and the second control factor converge to a fixed point, and the first congestion variation trend and the second congestion variation trend are derivatives, so as to achieve rapid convergence.
In one embodiment, as shown in fig. 7, step 206 controls the congestion window size according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path, and schedules the traffic of the traffic scheduling path, including:
Step 702, determining a congestion situation occurrence position of the local data center according to the magnitude relation between the first control factor and the second control factor.
In the embodiment of the application, the first control factor characterizes the quantification of the congestion condition between the data centers, the second control factor characterizes the quantification of the congestion condition between the local data center and the wide area network, and when the value of the first control factor is larger than that of the second control factor, namely u (t) > m (t), the local data center server determines that the congestion condition occurs between the data centers; when the value of the first control factor is less than the value of the second control factor, i.e., u (t) < m (t), the local data center server determines that a congestion condition occurs between the local data center and the wide area network.
Step 704, determining a congestion window between the data centers according to the first control factor and a preset weight function in the case that the congestion situation occurrence position of the local data center is between the data centers.
Wherein, the weight function adjusts the value of the weight function according to the size of the data packet flow.
In this embodiment of the present application, since the congestion situation occurs between data centers, the local data center server needs to consider the influence between the long traffic and the short traffic, so the size of the congestion window is adjusted according to the value of the first control factor and the weight function, the congestion window becomes small when the data packet is the long traffic, the congestion window becomes large when the data packet is the short traffic, and by increasing the transmission speed of the short traffic, the performance of the short traffic is increased, so as to avoid the situation of packet loss of the short traffic.
Step 706, determining a congestion window between wide area networks according to the second control factor in the case that the congestion situation occurrence position of the local data center is between wide area networks.
In the embodiment of the application, when the congestion situation occurrence position of the local data center is between the wide area networks, the local data center server adaptively adjusts the congestion window between the wide area networks according to the second control factor.
In this embodiment, the congestion window between the data centers is adjusted according to the flow size of the first control factor data packet, so as to optimize the transmission rate of the short flow between the data centers and improve the transmission performance of the short flow between the local data centers.
In one embodiment, as shown in fig. 8, step 704, where the congestion situation occurrence location of the local data center is between data centers, determining a congestion window between the data centers according to the first control factor and the preset weight function includes:
in step 802, in the case where congestion conditions of the local data centers occur between the data centers, the value of the weight function is determined according to the byte length of the transmitted data packet.
In this embodiment of the present application, in the case where congestion situations of the local data center occur between data centers, the local data center server adjusts the value of the weight function according to the byte length of the transmitted data packet, and specifically, the value of the weight function increases with the increase of the number of bytes transmitted by the data packet.
Step 804, determining a congestion window between data centers according to a preset activation function, a value of a weight function and a first control factor.
In this embodiment of the present application, the activation function may be determined as 1-tanh (), and the local data center server scales the adjustment size of the congestion window to the (0, 2) interval, so as to eliminate the limitation of the MIMD (multiplication increase and multiplication decrease) algorithm, thereby determining the size of the congestion window between the data centers according to the value of the weight function and the first control factor, as shown in the following formula:
cwnd=cwnd×(1-tanh(max(u(t),m(t)))
where cwnd represents the congestion window.
In this embodiment, the congestion window between the data centers is determined by the weight function, so that a smaller rollback penalty can be generated for the short traffic containing the data packets with fewer bytes, so that the transmission of the short traffic between the data centers occupies a larger bandwidth, the queue occupied by the short traffic is reduced, and the transmission performance of the short traffic between the data centers is improved.
The embodiment of the application also provides an example of a flow scheduling method based on remote in-band telemetry and time delay, as shown in fig. 9, specifically comprising the following steps:
step 901, receiving an ACK;
step 902, extracting a congestion signal;
step 903, determining first congestion information according to INT, and determining a first control factor according to the first congestion information;
Step 904, predicting second congestion information according to the round trip time of the delay data, and determining a second control factor according to the second congestion information;
step 905, judging whether congestion occurs between data centers, when congestion occurs between data centers, executing step 906, and when congestion occurs between a local data center and a wide area network, executing step 907;
step 906, adjusting a control window based on the short flow optimization;
step 907, adapt the congestion window.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a flow scheduling device for realizing the flow scheduling method based on the remote in-band telemetry and the time delay. The implementation of the solution provided by the device is similar to that described in the above method, so the specific limitation in the embodiments of the flow scheduling device based on remote in-band telemetry and time delay provided below may be referred to above for limitation of the flow scheduling method based on remote in-band telemetry and time delay, and will not be repeated here.
In one embodiment, as shown in fig. 10, there is provided a flow scheduling apparatus 1000 based on remote in-band telemetry and time delay, comprising: an acquisition module 1001, a determination module 1002, and a control module 1003, wherein:
an obtaining module 1001, configured to obtain an accumulated queue length and a data round trip time; the accumulated queue length represents the total length of the buffer queues of the programmable switch among the data centers in the first traffic scheduling path; the data round trip time represents the round trip time of traffic data between the local data center and the wide area network in the second traffic scheduling path;
a determining module 1002, configured to determine, for different traffic scheduling paths, a control factor corresponding to each traffic scheduling path according to a proportional-integral controller, an accumulated queue length, and a data round trip time corresponding to each traffic scheduling path;
And a control module 1003, configured to control the congestion window size and schedule the traffic of the traffic scheduling path according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path.
In one embodiment, the determining module 1002 is specifically configured to:
determining first congestion information according to the length of an accumulated queue among all data centers in a first traffic scheduling path;
determining second congestion information according to the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;
the first control factor is determined according to the first congestion information and the first proportional-integral controller, and the second control factor is determined according to the second congestion information and the second proportional-integral controller.
In one embodiment, the determining module 1002 is specifically configured to:
accumulating according to the queue length of the data packet at the programmable switch port of each data center to obtain accumulated queue length;
determining first congestion information according to the length of the accumulated queue;
determining second congestion information according to a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, including:
And predicting second congestion information in the wide area network according to the round trip time of the congestion-free condition and the round trip time of congestion occurrence in the round trip process of the data packet in the data center and the wide area network.
In one embodiment, the determining module 1002 is specifically configured to:
determining a difference between an accumulated queue length and a queue length threshold value when congestion occurs among data centers in a first traffic scheduling path as a first congestion degree, determining a difference between the accumulated queue length when congestion occurs and the accumulated queue length when congestion does not occur as a first congestion change trend, and taking the first congestion degree and the first congestion change trend as first congestion information;
determining second congestion information according to a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, including:
determining a difference between the round-trip time of the data when congestion occurs and the round-trip time threshold value as a second congestion degree, and determining a difference between the round-trip time of the data when congestion occurs and the round-trip time of the data when no congestion occurs as a second congestion variation trend; and taking the second congestion degree and the second congestion change trend as second congestion information.
In one embodiment, the determining module 1002 is specifically configured to:
In the current flow control period, weight is distributed to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller, and a first initial control factor is obtained;
summing the first initial control factor and the first control factor of the previous period to obtain a current first control factor;
in the current flow control period, weight is distributed to the second congestion degree and the second congestion change trend according to the first proportional integral parameter in the second proportional integral controller, and a second initial control factor is obtained;
and summing the second initial control factor and the second control factor of the previous period to obtain the current second control factor.
In one embodiment, the control module 1003 is specifically configured to:
determining the occurrence position of the congestion condition of the local data center according to the magnitude relation between the first control factor and the second control factor;
under the condition that the congestion situation occurrence position of the local data center is between the data centers, determining a congestion window between the data centers according to the first control factor and a preset weight function;
and determining a congestion window between the wide area networks according to the second control factor under the condition that the congestion situation occurrence position of the local data center is between the wide area networks.
In one embodiment, the control module 1003 is specifically configured to:
under the condition that the congestion condition of the local data centers occurs between the data centers, determining the value of the weight function according to the byte length of the transmitted data packet;
and determining a congestion window between the data centers according to the preset activation function, the value of the weight function and the first control factor.
The various modules in the traffic scheduling device described above may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, a computer device is provided, which may be a terminal, and the internal structure thereof may be as shown in fig. 11. The computer device includes a processor, a memory, a communication interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The communication interface of the computer device is used for carrying out wired or wireless communication with an external terminal, and the wireless mode can be realized through WIFI, a mobile cellular network, NFC (near field communication) or other technologies. The computer program, when executed by a processor, implements a method of traffic scheduling based on remote in-band telemetry and time delay.
It will be appreciated by those skilled in the art that the structure shown in fig. 11 is merely a block diagram of a portion of the structure associated with the present application and is not limiting of the computer device to which the present application applies, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
In one embodiment, a computer device is provided comprising a memory and a processor, the memory having stored therein a computer program, the processor when executing the computer program performing the steps of:
acquiring the length of an accumulated queue and the round trip time of data; the accumulated queue length represents the total length of the buffer queues of the programmable switch among the data centers in the first traffic scheduling path; the data round trip time represents the round trip time of traffic data between the local data center and the wide area network in the second traffic scheduling path;
for different flow scheduling paths, determining control factors corresponding to each flow scheduling path according to a proportional integral controller, an accumulated queue length and data round trip time corresponding to each flow scheduling path;
and controlling the size of the congestion window according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling strategy corresponding to the traffic scheduling path, and scheduling the traffic of the traffic scheduling path.
In one embodiment, the processor when executing the computer program further performs the steps of:
determining first congestion information according to the length of an accumulated queue among all data centers in a first traffic scheduling path;
determining second congestion information according to the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;
the first control factor is determined according to the first congestion information and the first proportional-integral controller, and the second control factor is determined according to the second congestion information and the second proportional-integral controller.
In one embodiment, the processor when executing the computer program further performs the steps of:
accumulating according to the queue length of the data packet at the programmable switch port of each data center to obtain accumulated queue length;
determining first congestion information according to the length of the accumulated queue;
determining second congestion information according to a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, including:
and predicting second congestion information in the wide area network according to the round trip time of the congestion-free condition and the round trip time of congestion occurrence in the round trip process of the data packet in the data center and the wide area network.
In one embodiment, the processor when executing the computer program further performs the steps of:
Determining a difference between an accumulated queue length and a queue length threshold value when congestion occurs among data centers in a first traffic scheduling path as a first congestion degree, determining a difference between the accumulated queue length when congestion occurs and the accumulated queue length when congestion does not occur as a first congestion change trend, and taking the first congestion degree and the first congestion change trend as first congestion information;
determining second congestion information according to a round-trip time of data between the local data center and the wide area network in the second traffic scheduling path, including:
determining a difference between the round-trip time of the data when congestion occurs and the round-trip time threshold value as a second congestion degree, and determining a difference between the round-trip time of the data when congestion occurs and the round-trip time of the data when no congestion occurs as a second congestion variation trend; and taking the second congestion degree and the second congestion change trend as second congestion information.
In one embodiment, the processor when executing the computer program further performs the steps of:
in the current flow control period, weight is distributed to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller, and a first initial control factor is obtained;
Summing the first initial control factor and the first control factor of the previous period to obtain a current first control factor;
in the current flow control period, weight is distributed to the second congestion degree and the second congestion change trend according to the first proportional integral parameter in the second proportional integral controller, and a second initial control factor is obtained;
and summing the second initial control factor and the second control factor of the previous period to obtain the current second control factor.
In one embodiment, the processor when executing the computer program further performs the steps of:
determining the occurrence position of the congestion condition of the local data center according to the magnitude relation between the first control factor and the second control factor;
under the condition that the congestion situation occurrence position of the local data center is between the data centers, determining a congestion window between the data centers according to the first control factor and a preset weight function;
and determining a congestion window between the wide area networks according to the second control factor under the condition that the congestion situation occurrence position of the local data center is between the wide area networks.
In one embodiment, the processor when executing the computer program further performs the steps of:
under the condition that the congestion condition of the local data centers occurs between the data centers, determining the value of the weight function according to the byte length of the transmitted data packet;
And determining a congestion window among the data centers according to a preset activation function, the value of the weight function and the first control factor.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored which, when executed by a processor, implements the steps of the method embodiments described above.
In an embodiment, a computer program product is provided, comprising a computer program which, when executed by a processor, implements the steps of the method embodiments described above.
It should be noted that, user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, presented data, etc.) referred to in the present application are information and data authorized by the user or sufficiently authorized by each party.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in the various embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magnetic random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (Phase Change Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in the form of a variety of forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), and the like. The databases referred to in the various embodiments provided herein may include at least one of relational databases and non-relational databases. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processors referred to in the embodiments provided herein may be general purpose processors, central processing units, graphics processors, digital signal processors, programmable logic units, quantum computing-based data processing logic units, etc., without being limited thereto.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples only represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the present application. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application shall be subject to the appended claims.

Claims (10)

1. A traffic scheduling method based on remote in-band telemetry and time delay, the method comprising:
acquiring the length of an accumulated queue and the round trip time of data; the accumulated queue length represents the total length of a buffer queue of a programmable switch among all data centers in a first traffic scheduling path; the data round trip time represents the round trip time of traffic data between a local data center and a wide area network in a second traffic scheduling path;
For different flow scheduling paths, determining a control factor corresponding to each flow scheduling path according to a proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path;
and controlling the size of a congestion window according to the control factor corresponding to each flow scheduling path and the target flow scheduling strategy corresponding to the flow scheduling path, and scheduling the flow of the flow scheduling path.
2. The method of claim 1, wherein the determining, for each of the traffic scheduling paths, the control factor corresponding to each of the traffic scheduling paths according to the proportional-integral controller, the accumulated queue length, and the data round trip time corresponding to each of the traffic scheduling paths comprises:
determining first congestion information according to the length of an accumulated queue among all data centers in the first traffic scheduling path;
determining second congestion information according to the round-trip time of data between the local data center and the wide area network in the second traffic scheduling path;
and determining a first control factor according to the first congestion information and the first proportional-integral controller, and determining a second control factor according to the second congestion information and the second proportional-integral controller.
3. The method of claim 2, wherein determining the first congestion information based on the accumulated queue length between data centers in the first traffic scheduling path comprises:
accumulating according to the queue length of the data packet at the programmable switch port of each data center to obtain the accumulated queue length;
determining the first congestion information according to the length of the accumulated queue;
the determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
and predicting second congestion information in the wide area network according to the round trip time of the congestion-free condition and the round trip time of congestion occurrence in the round trip process of the data packet between the data center and the wide area network.
4. The method of claim 2, wherein the first congestion information includes a first degree of congestion and a first congestion tendency, and the second congestion information includes a second degree of congestion and a second congestion tendency; the determining the first congestion information according to the length of the accumulated queue among the data centers in the first traffic scheduling path includes:
Determining a difference between an accumulated queue length when congestion occurs between each data center in the first traffic scheduling path and a queue length threshold value as the first congestion degree, determining a difference between the accumulated queue length when congestion occurs and the accumulated queue length when congestion does not occur as a first congestion change trend, and taking the first congestion degree and the first congestion change trend as first congestion information;
the determining the second congestion information according to the round-trip time of the data between the local data center and the wide area network in the second traffic scheduling path includes:
determining a difference between a round-trip time of data when congestion occurs and a round-trip time threshold value as the second congestion degree, and determining a difference between the round-trip time of data when congestion occurs and the round-trip time of data when no congestion occurs as a second congestion variation trend; and taking the second congestion degree and the second congestion change trend as second congestion information.
5. The method of claim 4, wherein the determining a first control factor based on the first congestion information and a first proportional-integral controller and determining a second control factor based on the second congestion information and a second proportional-integral controller comprises:
In the current flow control period, weight is distributed to the first congestion degree and the first congestion change trend according to a first proportional integral parameter in a first proportional integral controller, and a first initial control factor is obtained;
summing the first initial control factor and a first control factor of a previous period to obtain a current first control factor;
in the current flow control period, weight is distributed to the second congestion degree and the second congestion change trend according to a first proportional integral parameter in a second proportional integral controller, so that a second initial control factor is obtained;
and summing the second initial control factor and the second control factor of the previous period to obtain the current second control factor.
6. The method of claim 1, wherein controlling the congestion window size according to the control factor corresponding to each traffic scheduling path and the target traffic scheduling policy corresponding to the traffic scheduling path, and scheduling the traffic of the traffic scheduling path comprises:
determining the occurrence position of the congestion condition of the local data center according to the magnitude relation between the first control factor and the second control factor;
Under the condition that the congestion situation occurrence position of the local data center is between the data centers, determining a congestion window between the data centers according to the first control factor and a preset weight function;
and determining a congestion window between the wide area networks according to the second control factor under the condition that the congestion situation occurrence position of the local data center is between the wide area networks.
7. The method of claim 6, wherein the determining a congestion window between the data centers based on the first control factor and a preset weight function in the case where the congestion situation occurrence location of the local data center is between the data centers, comprises:
under the condition that the congestion condition of the local data centers occurs between the data centers, determining the value of the weight function according to the byte length of the transmitted data packet;
and determining a congestion window among the data centers according to a preset activation function, the value of the weight function and the first control factor.
8. A traffic scheduling device based on remote in-band telemetry and time delay, the device comprising:
the acquisition module is used for acquiring the length of the accumulated queue and the round-trip time of the data; the accumulated queue length represents the total length of a buffer queue of a programmable switch among all data centers in a first traffic scheduling path; the data round trip time represents the round trip time of traffic data between a local data center and a wide area network in a second traffic scheduling path;
The determining module is used for determining control factors corresponding to each flow scheduling path according to the proportional integral controller, the accumulated queue length and the data round trip time corresponding to each flow scheduling path aiming at different flow scheduling paths;
and the control module is used for controlling the size of the congestion window according to the control factor corresponding to each flow scheduling path and the target flow scheduling strategy corresponding to the flow scheduling path, and scheduling the flow of the flow scheduling path.
9. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor implements the steps of the method of any of claims 1 to 7 when the computer program is executed.
10. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 7.
CN202310318525.9A 2023-03-28 2023-03-28 Flow scheduling method and device based on remote in-band telemetry and time delay Pending CN116489091A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310318525.9A CN116489091A (en) 2023-03-28 2023-03-28 Flow scheduling method and device based on remote in-band telemetry and time delay

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310318525.9A CN116489091A (en) 2023-03-28 2023-03-28 Flow scheduling method and device based on remote in-band telemetry and time delay

Publications (1)

Publication Number Publication Date
CN116489091A true CN116489091A (en) 2023-07-25

Family

ID=87220414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310318525.9A Pending CN116489091A (en) 2023-03-28 2023-03-28 Flow scheduling method and device based on remote in-band telemetry and time delay

Country Status (1)

Country Link
CN (1) CN116489091A (en)

Similar Documents

Publication Publication Date Title
CN110266551A (en) A kind of bandwidth prediction method, apparatus, equipment and storage medium
US7944838B2 (en) Apparatus, method and computer program for traffic control
CN112512018B (en) Method for dynamically unloading tasks among cooperative vehicles based on mobile edge calculation
US7324535B1 (en) Methods and apparatus for maintaining a queue
US10419965B1 (en) Distributed meters and statistical meters
CN111444021A (en) Synchronous training method, server and system based on distributed machine learning
CN104734985A (en) Data receiving flow control method and system
CN113315716A (en) Method and equipment for training congestion control model and method and equipment for congestion control
CN114064394A (en) Safety monitoring method and device based on edge calculation and terminal equipment
CN113328953B (en) Method, device and storage medium for network congestion adjustment
CN109688065B (en) Parameter processing method and device and storage medium
CN116055406A (en) Training method and device for congestion window prediction model
CN113364701B (en) RTT (round trip time) -based congestion control method and equipment combining proportional-integral-derivative control
CN103825963B (en) Virtual Service moving method
CN114422438A (en) Link adjusting method and device of power communication network
CN116489091A (en) Flow scheduling method and device based on remote in-band telemetry and time delay
CN115801639B (en) Bandwidth detection method and device, electronic equipment and storage medium
CN111278039B (en) User perception suppression identification method, device, equipment and medium
WO2024088079A1 (en) Request processing method and system
CN116828017A (en) Data processing method and device in frame synchronization game and computer equipment
JP2014112779A (en) Data transmission controller, data transmission control method, and computer program
CN112019443A (en) Multi-path data transmission method and device
US20200067845A1 (en) Mobile packet data rate control based on radio load and other measures
Rath et al. Cross layer based congestion control in wireless networks
CN117938750B (en) Method, device, equipment, storage medium and product for processing scheduling route information

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination