WO2020248857A1 - Data congestion control and bandwidth prediction method - Google Patents

Data congestion control and bandwidth prediction method Download PDF

Info

Publication number
WO2020248857A1
WO2020248857A1 PCT/CN2020/093714 CN2020093714W WO2020248857A1 WO 2020248857 A1 WO2020248857 A1 WO 2020248857A1 CN 2020093714 W CN2020093714 W CN 2020093714W WO 2020248857 A1 WO2020248857 A1 WO 2020248857A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
post
bandwidth
information
data
Prior art date
Application number
PCT/CN2020/093714
Other languages
French (fr)
Chinese (zh)
Inventor
曹政
刘小丽
高山渊
Original Assignee
阿里巴巴集团控股有限公司
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 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2020248857A1 publication Critical patent/WO2020248857A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour

Definitions

  • the invention relates to the field of system bus interconnection, in particular to a method for data congestion control and bandwidth estimation.
  • the current system bus lacks an effective congestion control mechanism, such as the PCIE bus, which relies on the backpressure mechanism of point-to-point Credit (credit) flow control for flow control.
  • point-to-point Credit flow control refers to buffering the receiver for data transmission on a link.
  • the free space in the zone informs the sender of flow control in reverse.
  • the lack of an effective congestion control mechanism makes it impossible for the data transmission of the system bus interconnection network to reduce the source-end traffic for effective congestion control, thereby affecting the execution performance of system applications.
  • the present application provides a data congestion control method, which can perform effective congestion control on data transmission in a system bus interconnection network and improve the execution performance of system applications.
  • This application provides a data congestion control method, including:
  • Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message
  • the confirmation message is the confirmation response message returned by the destination device to the Non-post message sent by the source device through the system bus;
  • the Non-post message is The source device sends to the destination device via the system bus a request message that requires the destination device to return a confirmation message;
  • congestion control is performed on the data transmitted through the system bus.
  • the performing congestion control on the data transmitted through the system bus according to the first data and the second data includes:
  • congestion control is performed on the data transmitted through the system bus.
  • the performing congestion control on the data transmitted through the system bus according to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information includes:
  • congestion control is performed on the data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information.
  • the performing congestion control on data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information includes:
  • the performing congestion control on data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information includes:
  • the second bandwidth prediction state indicated by the second bandwidth prediction state information is not the response message drain state, and the first bandwidth prediction state indicated by the first bandwidth prediction state information is not the Post message drain state, or if the second bandwidth
  • the predicted state information is the confirmation message empty state, and the Post message congestion control is performed according to the preset Post message congestion control strategy.
  • the performing congestion control on the Post message according to a preset Post message congestion control strategy includes:
  • the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value satisfies the Post message bandwidth threshold condition, or the bandwidth prediction status information indicates the Post message backlog status Source device.
  • controlling the processing speed of the non-post message includes:
  • the performing congestion control on the data transmitted through the system bus according to the first data and the second data includes:
  • the confirmation message includes at least one of the following messages:
  • the obtaining first data used to indicate that the Post message occupies communication bandwidth includes:
  • first data is obtained.
  • Optional also includes:
  • the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
  • the obtaining the second data used to indicate that the confirmation message occupies the communication bandwidth includes: generating the second data according to the control information of the Non-post message entered into the receiving buffer.
  • the obtaining second data used to indicate that the confirmation message occupies communication bandwidth includes:
  • the second data is generated according to the information of the non-confirmed Non-post message.
  • the generating the second data according to the information of the non-confirmed Non-post message includes:
  • the second data is generated according to the total packet length information of the confirmation message to be received.
  • the method further includes: updating the total packet length information of the confirmation message to be received according to the packet length information of the received confirmation message.
  • the performing congestion control on the data transmitted through the system bus according to the first data and the second data includes:
  • the data includes at least one of Post messages, Non-post messages, and confirmation messages.
  • the performing congestion control on the data according to the congestion control message includes:
  • the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
  • the congestion control message is sent to the corresponding system bus device.
  • This application also provides a bandwidth estimation method, including:
  • the determining the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message according to the information of the Post message in the message storage area of the current period of time transmission includes:
  • the bandwidth prediction state of the Post message is determined to be the Post message backlog state; otherwise, the information of the Post message in the previous adjacent time period adjacent to the current time period is obtained, according to The first total length value and the information of the Post message in the previous adjacent time period are used to obtain bandwidth estimation data of the Post message.
  • the obtaining bandwidth estimation data of the Post message according to the first total length value and the information of the Post message in the previous adjacent time period includes:
  • first total length value is not greater than the second total length value, determine the bandwidth prediction state of the Post message as the Post message empty state, and determine the bandwidth demand value of the Post message as the predetermined value;
  • the bandwidth prediction state of the Post message is determined as the Post message accumulation state, and is determined according to the first total length value and the second total length value Bandwidth demand value of Post message.
  • Optional also includes:
  • the bandwidth prediction state and the bandwidth demand value of the Post message of the target source device are used as bandwidth estimation data of the Post message of the target source device.
  • Optional also includes:
  • the bandwidth prediction state of the Post message of the target source device is determined to be the Post message backlog state; otherwise, the information adjacent to the current period is obtained.
  • the information of the Post message of the target source device in the previous adjacent period is obtained, according to the total length of the Post message of the first source device and the information of the Post message of the target source device in the previous adjacent period Bandwidth estimation data of the Post message of the source device.
  • This application also provides a bandwidth estimation method, including:
  • the confirmation message to be received is a confirmation message corresponding to an unconfirmed Non-post message that is out of the received message storage area and the confirmation message is not received;
  • the obtaining the information of the confirmation message to be received in the current period includes:
  • the packet length information of the confirmation message received in the current period is obtained, and the packet length information of the confirmation message to be received in the current period is obtained according to the packet length information of the confirmation message received in the current period and the packet length accumulation information, as the current period Information about the confirmation message to be received in the time slot.
  • the obtaining bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data includes:
  • the confirmation message bandwidth prediction state is determined as the confirmation message empty state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold Condition, but does not meet the second confirmation message bandwidth threshold condition, then the confirmation message bandwidth prediction state is determined as the confirmation message accumulation state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold condition, and meets the second Confirm the message bandwidth threshold condition, then determine the confirmation message bandwidth prediction state as the confirmation message backlog state;
  • the bandwidth demand value in the current period and the bandwidth prediction status information of the confirmation message are used as bandwidth estimation data of the confirmation message.
  • This application also provides a bus switching system, which is applied to a system bus interconnection network, and includes: an internal switching module and at least one port module;
  • the internal exchange module is used to process data exchange between the port modules in the at least one port module
  • the at least one port module is configured to perform data interaction with the bus device connected to the system bus interconnection network or the first bus exchange system, and obtain the confirmation message bandwidth estimation data according to the information of the received Non-post message;
  • the information of the Post message to be sent obtains the Post message bandwidth estimation data; according to the Post message bandwidth estimation data and the confirmation message bandwidth estimation data, congestion control is performed on the data interaction of the system bus interconnection network.
  • the at least one port module includes: a sending module and a receiving module;
  • the receiving module is configured to receive a message from a bus device, and forward the received message to the internal exchange module; output the information of the received Non-post message to the sending module of the at least one port module;
  • the sending module is used to receive the message from the internal exchange module and send the message to the bus device, and obtain the Post message bandwidth estimation according to the information of the Post message in the sending buffer in the current period and the previous adjacent period Data, obtain the confirmation message bandwidth estimation data according to the information of the Non-post message of the receiving module of the at least one port module, and obtain the congestion information of the later period according to the Post message bandwidth estimation data and the confirmation message bandwidth estimation data, Generate corresponding congestion control information, and output the congestion control information.
  • the receiving module includes: a receiving buffer and a control module, a non-post message statistics module, and an arbitration module; wherein,
  • the receiving buffer and the control module are used to buffer messages from the bus device, and according to the arbitration notice of the arbitration module, send the buffered messages from the bus device to the arbitration module; and output the Non-post message to The internal exchange module provides the control information of the Non-post message to the Non-post message statistics module;
  • the Non-post message statistics module is configured to count the number of Non-post messages output by the receiving module to the internal exchange module and the confirmation response message is not received, and the length of the Non-post message packet for which the confirmation message is not received
  • the information is sent to the sending module as the information of the Non-post message; according to the information of the confirmation message returned by the sending module, the information of the Non-post message is updated;
  • the arbitration module is configured to receive congestion control messages, receive messages from the receiving buffer and the control module, and if a congestion control message whose congestion control type is control Non-post is received, then according to the congestion control value of the congestion control message , Adjust the arbitration speed of the Non-post message in the receiving buffer and the control module; if a congestion control message whose congestion control type is control Post is received, the congestion control message is forwarded to the internal switching module.
  • the sending module includes a sending buffer and a control module, a Post communication bandwidth prediction module, a confirmation message communication bandwidth prediction module, a bandwidth allocation decision module, and a congestion control message generation module; wherein,
  • the sending buffer and control module are used to buffer messages from the internal exchange module and send them to the bus device; for Post messages entering the sending buffer or Post messages out of the sending buffer, the control information of the Post messages is provided to Post communication bandwidth prediction module; for the confirmation message entering the sending buffer, providing the control information of the confirmation message to the Non-post message statistics module of the receiving module;
  • the Post communication bandwidth prediction module is used to predict the bandwidth estimation data of the Post message sent by the bus device in the next period of the current period;
  • the confirmation message communication bandwidth prediction module is used for predicting the bandwidth estimation data of the confirmation message in the next period of the current period according to the information of the Non-post message provided by the Non-post message statistics module;
  • the bandwidth allocation decision module is configured to obtain information for generating a congestion control message according to the bandwidth estimation data of the Post message and the bandwidth estimation data of the confirmation message, and send it to the congestion control message generation module;
  • the congestion control message generation module is configured to generate a congestion control message according to the received information for generating a congestion control message, and send it to the arbitration module.
  • This application also provides a data congestion control device, including:
  • the first bandwidth estimation unit is used to obtain the first data used to indicate that the Post message occupies the communication bandwidth, where the Post message is sent by the source device to the destination device through the system bus and does not require the destination device to return a confirmation message Request message;
  • the second bandwidth estimation unit is configured to obtain second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation response returned by the destination device to the Non-post message sent by the source device through the system bus Message; the Non-post message is a request message that the source device sends to the destination device via the system bus and requires the destination device to return a confirmation message;
  • the congestion control unit is configured to perform congestion control on the data transmitted through the system bus according to the first data and the second data.
  • This application also provides an electronic device, including:
  • a memory and a processor; the memory is used to store computer executable instructions, and the processor is used to execute the computer executable instructions:
  • Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message
  • the confirmation message is the confirmation response message returned by the destination device to the Non-post message sent by the source device through the system bus;
  • the Non-post message is The source device sends to the destination device via the system bus a request message that requires the destination device to return a confirmation message;
  • congestion control is performed on the data transmitted through the system bus.
  • the data congestion control method provided by the present application obtains first data indicating that the Post message occupies the communication bandwidth, and obtains the second data indicating that the confirmation message occupies the communication bandwidth. According to the first data and the second data , Congestion control of data transmitted through the system bus. Since Post messages and confirmation messages are the main traffic that occupies the system bus bandwidth in the server, the communication bandwidth occupied by Post messages and confirmation messages can be estimated more accurately. Identify the timing and status of the occurrence of congestion, thereby providing effective congestion control and solving the congestion control problem of data transmission in the system bus interconnection network.
  • the bandwidth estimation method provided by the present application determines the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message by sending the Post message in the buffer in the current period of time, and according to the bandwidth prediction status and the bandwidth demand Value to determine the bandwidth estimation data of the Post message.
  • Another bandwidth estimation method provided by this application obtains the bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received in the current period and the physical peak bandwidth data of the port connected to the bus device. Further, the bandwidth requirement data of the corresponding confirmation message can be predicted more accurately based on the Non-post message. By more accurately predicting the bandwidth data occupied by the confirmation message, it is possible to perform more accurate congestion control for the data transmitted through the system bus, thereby further solving the data congestion problem.
  • Figure 1 is a schematic diagram of a network environment for system bus interconnection network data transmission
  • FIG. 2 is a processing flowchart of a data congestion control method provided by the first embodiment of the present application
  • Fig. 3 is a flowchart of a data congestion decision algorithm included in the first embodiment of the present application
  • FIG. 5 is a flowchart of a method for predicting the bandwidth of a Post message included in the second embodiment of the present application
  • FIG. 6 is a flowchart of a method for predicting the bandwidth of a source device Post message included in the second embodiment of the present application;
  • FIG. 7 is a processing flowchart of a bandwidth estimation method provided by the third embodiment of the present application.
  • FIG. 8 is a flowchart of a method for predicting the bandwidth of a confirmation message provided by the third embodiment of the present application.
  • FIG. 9 is a schematic diagram of a bus switching system provided by the fourth embodiment of the present application.
  • FIG. 10 is a schematic diagram of a bus switching system provided by the fourth embodiment of the present application.
  • FIG. 11 is a schematic diagram of a data congestion control device provided by the fifth embodiment of the present application.
  • FIG. 12 is a schematic diagram of an electronic device provided by a sixth embodiment of the present application.
  • This application provides a data congestion control method, device and electronic equipment. This application also provides a bandwidth estimation method. This application also provides another bandwidth estimation method. This application also provides a bus switching system, which is described in detail in the following embodiments.
  • the first embodiment of the present application provides a data congestion control method.
  • the data congestion control method is used to perform congestion control on the data transmission of the system bus interconnection network to improve the execution performance of system applications.
  • Post Write is a write communication operation that does not require the destination to return a confirmation message, and is also called non-blocking writing.
  • Non-post Write is a write communication operation that requires the destination to return a confirmation message, which is also called blocking write.
  • Non-post Read is a read communication operation, all read communication operations need to return data, so the read communication operation is a non-post operation, also called a blocking operation.
  • CPL Completion
  • Figure 1 includes a variety of IO devices, such as: a first computing device 101, a second computing device 102, a storage device 103, a system device 104, and a network card 105.
  • IO devices are connected to the system bus and perform operations through the system bus.
  • the system bus is a communication bus used to interconnect various IO devices in the server. It can be a PCIE bus or other buses, such as CCIX, OpenCAPI, GenZ, etc. Due to the application of high-speed IO devices, the contention of various high-speed IO devices in the server on the system bus becomes more and more prominent, sometimes even causing data congestion.
  • the first computing device 101 reads the memory to obtain a return message (Completion), and collides with the non-blocking write message (Post Write) written to the first computing device 101 by the network card 105, causing data congestion.
  • a return message Completion
  • Post Write non-blocking write message
  • data congestion will cause disorderly bandwidth competition between the two message flows.
  • data congestion will back pressure to all devices communicating with the first computing device 101, causing severe performance degradation.
  • the so-called back pressure refers to The free space of the buffer is a mechanism that informs the sender in reverse to perform flow control on the sender.
  • the data congestion control method shown in FIG. 2 includes: step S201 to step S203.
  • Step S201 Obtain first data indicating that the Post message occupies communication bandwidth.
  • the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message.
  • the Post message is a Post Write message.
  • the first data is estimated data obtained by predicting the communication bandwidth occupied by the Post message, for example, predicting the bandwidth demand value and the bandwidth prediction state of the Post message in the next adjacent period according to the packet length information of the Post message in the current period.
  • the so-called time period may be a time slot (Timeslot).
  • the communication bandwidth occupied by the Post message is predicted according to the control information of the Post message in the sending buffer, which is used to temporarily store messages from the internal exchange module of the system bus and sent to the system bus device.
  • the communication bandwidth occupied by the Post message can be predicted by the Post message entering the sending buffer and the Post message sending out of the sending buffer.
  • the first data used to indicate that the Post message occupies the communication bandwidth is obtained through the following processing:
  • first data is obtained.
  • the first Post control information is the control information of the Post message entering the sending buffer, for example, the request type, request identifier, request address, request length and other information of the Post message entering the sending buffer;
  • the second Post control information is the reason The control information of the Post message sent from the sending buffer, for example, the request type, request identifier, request address, and request length of the Post message sent from the sending buffer.
  • the so-called source device refers to the bus device that is connected to the system bus interconnection network and sends the Post message. Specifically include the following processing:
  • the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
  • Step S202 Obtain second data indicating that the confirmation message occupies the communication bandwidth.
  • the confirmation message is a confirmation response message returned by the destination device in response to a Non-post message sent by the source device through the system bus;
  • the Non-post message is a required purpose sent by the source device to the destination device through the system bus
  • the end device returns a request message for confirmation.
  • the confirmation message includes at least one of the following messages: a confirmation message returned for a non-post read operation request; and a confirmation message returned for a non-post write operation request.
  • the confirmation message is a Completion message returned for a Non-post Read message.
  • the obtaining the second data used to indicate that the confirmation message occupies the communication bandwidth includes: generating the second data according to the control information of the Non-post message entered into the receiving buffer. Since the Non-post message and the confirmation message in the read and write semantic messages transmitted in the system bus interconnection network appear in pairs, for example, Non-post Read and Completion appear in pairs, so the control information according to the Non-post message can be accurate The occurrence of the confirmation message is predicted, and further, the bandwidth estimation data of the confirmation message can be accurately obtained.
  • the second data is specifically obtained by the following processing: obtaining information about the unconfirmed Non-post message that has been out of the receiving buffer and the confirmation message has not been received; according to the unconfirmed Non-post message; The information of the post message generates the second data.
  • the generating the second data according to the information of the unconfirmed Non-post message includes: obtaining the total packet length information of the confirmation message to be received according to the information of the unconfirmed Non-post message; The total packet length information of the confirmation message to be received generates the second data.
  • the confirmation message to be received is the confirmation message corresponding to the non-confirmed Non-post message.
  • the method further includes: updating the total packet length information of the confirmation message to be received according to the packet length information of the received confirmation message.
  • Step S203 Perform congestion control on the data transmitted through the system bus according to the first data and the second data.
  • the bandwidth estimation data includes bandwidth demand value and bandwidth prediction status information.
  • the bandwidth demand value refers to the communication bandwidth that needs to be occupied by predicting a type of message, for example, the Post message obtained by predicting the Post message.
  • the communication bandwidth that the message needs to occupy for example, the communication bandwidth that the confirmation message needs to occupy by predicting the confirmation message;
  • the bandwidth prediction state refers to the demand state obtained by predicting a type of message, such as the empty state or the backlog state , So that different strategies can be adopted for congestion control according to different states.
  • the bandwidth prediction state can also be subdivided into one or more levels according to the degree of accumulation of messages between the empty state and the backlog state.
  • the state of increasing messages in the buffer is determined as the accumulation state, or according to the increase of messages
  • the number or speed is divided into multiple states such as the first accumulation state and the second accumulation state.
  • the so-called message emptying means that the number of messages in the buffer is greater than the number of messages entering the buffer, that is, the number of messages in the buffer has a decreasing trend;
  • the so-called message backlog means that the buffer is full and there is no available buffer space or no There are free buffer space, but there are still messages queued to enter the buffer;
  • the so-called message accumulation means that there is available buffer space, but the number of messages out of the buffer is less than the number of messages in the buffer, that is, the number of messages in the buffer is increasing .
  • congestion control is performed on data transmitted through the system bus through the following processing: obtaining a first bandwidth demand value and first bandwidth prediction state information according to the first data; The second data is to obtain the second bandwidth demand value and the second bandwidth prediction state information; according to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information, the data is passed through the system bus
  • the transmitted data is subject to congestion control. Specifically, it includes the following processing: if the sum of the first bandwidth demand value and the second bandwidth demand value meets the preset congestion control condition, then according to the first bandwidth prediction state information and the second bandwidth prediction state information, the data is transmitted through the system bus Data for congestion control. Further, at least one of the following processing methods is included:
  • Manner 1 If the second bandwidth prediction state information is not the confirmation message empty state, control the processing speed of the non-post message. Further, the method includes: generating, according to the first bandwidth demand value, congestion control information whose bandwidth control type is controlling Non-post messages; and performing congestion control on the Non-post messages according to the congestion control information.
  • the congestion control of the Post message according to the preset Post message congestion control strategy includes:
  • the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value satisfies the bandwidth threshold condition of a Post message, or a source whose bandwidth prediction status information indicates a Post message backlog state equipment.
  • BW_cpl is the bandwidth demand value of the confirmation message
  • BW_post is the bandwidth demand value of the Post message
  • BW is the communication bandwidth of the system bus
  • is a coefficient less than 1
  • State_cpl is the confirmation message bandwidth prediction state
  • Cpl empty is the confirmation message empty state
  • State_post is the Post message bandwidth prediction state
  • Post empty is the Post message empty state
  • State_i is the i-th source
  • BW_post_i is the bandwidth demand value of the Post message of the i-th source device.
  • the specific steps of the decision algorithm include:
  • S301 Determine whether the sum of the bandwidth demand value of the confirmation message and the bandwidth demand value of the Post message is less than BW* ⁇ ; if the condition is established, no congestion control is performed; otherwise, skip to S302;
  • S303 Perform non-post message speed control, and generate a congestion control message whose congestion control type is the control Non-post type according to the confirmed message bandwidth requirement value BW_cpl, which is used to control the processing speed of the Non-post message, and proceed to S304;
  • BW_post_i bandwidth demand value
  • the performing congestion control on the data transmitted through the system bus according to the first data and the second data includes the following processing:
  • this embodiment further includes generating a congestion control message, and performing congestion control according to the congestion control information, which specifically includes:
  • the data includes at least one of a Post message, a Non-post message, and a confirmation message.
  • the performing congestion control on the data according to the congestion control message includes:
  • the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
  • the congestion control message is sent to the corresponding system bus device.
  • the data congestion control method is used to perform congestion control on the data transmission of the system bus interconnection network according to the post message bandwidth estimation data and the confirmation message bandwidth estimation data, so as to improve the execution performance of the system application.
  • the second embodiment of the present application provides a bandwidth estimation method.
  • the bandwidth estimation method shown in FIG. 4 includes: step S401 to step S403.
  • the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message.
  • the Post message is a Post Write message.
  • the communication bandwidth occupied by the Post message is predicted based on the control information of the Post message in the message storage area.
  • the sending message storage area may be a sending buffer.
  • the sending buffer is used to temporarily store messages from the internal exchange module of the system bus and sent to the system bus device. Specifically, according to the information of the Post message in the sending buffer in the current period, such as packet length information, the bandwidth demand value and the bandwidth prediction state of the Post message in the next period are predicted. This step is to obtain the information of the Post message in the sending buffer in the current period, including obtaining the control information of the Post message in the sending buffer, and using the control information to predict the communication bandwidth occupied by the Post message.
  • the control information includes at least request length information, and may also include any of the information such as the request type, request identifier, and request address of the Post message.
  • S402 Determine the bandwidth prediction state of the Post message and the bandwidth demand value of the Post message according to the information of the Post message in the message storage area for the current period of time.
  • the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message are determined through the following processing:
  • the bandwidth prediction state of the Post message is determined to be the Post message backlog state; otherwise, the information of the Post message in the previous adjacent time period adjacent to the current time period is obtained, according to The first total length value and the information of the Post message in the previous adjacent time period are used to obtain bandwidth estimation data of the Post message.
  • the obtaining bandwidth estimation data of the Post message according to the first total length value and the information of the Post message in the previous adjacent time period includes:
  • first total length value is not greater than the second total length value, determine the bandwidth prediction state of the Post message as the Post message empty state, and determine the bandwidth demand value of the Post message as the predetermined value;
  • the bandwidth prediction state of the Post message is determined as the Post message accumulation state, and is determined according to the first total length value and the second total length value Bandwidth demand value of Post message.
  • S403 Determine bandwidth estimation data of the Post message according to the bandwidth prediction state and the bandwidth demand value.
  • the bandwidth prediction state and the bandwidth demand value are used as bandwidth estimation data of the Post message.
  • Len_new is the length of the Post message in the current period
  • Len_old is the previous adjacent period Post message length information
  • TH_hi is the first threshold condition
  • TH is the second threshold condition
  • Post backlog means that the predicted bandwidth status of Post messages is the message backlog status
  • Post empty means that the predicted bandwidth status of Post messages is the message empty status
  • Post Cumulative indicates that the predicted bandwidth state of Post message is the message accumulation state
  • BW_post is the bandwidth demand value of Post message
  • State is the predicted state of Post message bandwidth.
  • the processing steps in the figure include:
  • S501-1 Set the State to the Post backlog state for Post message congestion control
  • S502 Determine whether Len_new is greater than Len_old, that is, compare the Post message length information of the current time period and the previous adjacent time period. If the judgment result is no, it means that the current time period is lower than the Post message length of the previous adjacent time period, which is an empty state. , Set the State to the Post emptying state, and the bandwidth requirement is set to 0; if the judgment result is yes, go to S503;
  • the bandwidth estimation data of the Post message of the target source device is obtained by the following method:
  • the bandwidth prediction state and the bandwidth demand value of the Post message of the target source device are used as bandwidth estimation data of the Post message of the target source device.
  • the bandwidth prediction state of the Post message of the target source device is determined as the Post message backlog state; otherwise, it is obtained that it corresponds to the current time period. According to the information of the Post message of the target source device in the previous adjacent period, the total length of the Post message of the first source device and the information of the Post message of the target source device in the previous adjacent period are obtained. The bandwidth estimation data of the Post message of the target source device.
  • FIG. 6 shows the processing steps for obtaining the bandwidth estimation data of the Post message of the i-th target source device, and the processing logic is similar to that in FIG. 5.
  • the meanings of the symbols in the figure are: Len_new_i is the Post message length information of the i-th device in the current period; Len_old_i is the Post message length information of the i-th device in the previous adjacent period; TH_hi_i is the third threshold of the i-th device; TH_i is the fourth threshold; BW_post_i is the Post message bandwidth demand value of the i-th device; State_i is the Post message bandwidth prediction state of the i-th device.
  • the processing steps in the figure include:
  • S601 After the current period starts, judge whether Len_new_i is greater than the threshold TH_hi_i. If it is, it means that the number of Post messages to be sent by the i-th device in the sending buffer is large, and congestion control is required. Then, go to S601-1; otherwise, go to S601-1. S602;
  • S601-1 Set State_i to the Post backlog state, so as to perform Post message congestion control on the i-th device;
  • Len_new_i is greater than Len_old_i, that is, compare the Post message length information of the i-th device in the current period and the previous adjacent period. If the judgment result is no, it means that the current period is compared with that of the i-th device in the previous adjacent period.
  • the length of the Post message is reduced, it is the emptying state, and the State_i is set to the Post emptying state, and the bandwidth requirement is preset to 0; if the judgment result is yes, go to S603;
  • S603 Determine whether the difference between Len_new_i and Len_old_i does not exceed the fourth threshold TH_i, for example, determine whether Len_new_i>Len_old_i+TH_i is established, and if so, it indicates that the current period is compared with the previous adjacent period and the i-th device to be sent The increase of Post messages has reached a certain level.
  • the third embodiment of the present application provides another bandwidth estimation method.
  • the bandwidth estimation method shown in FIG. 7 includes: step S701 to step S703.
  • Step S701 Obtain the information of the confirmation message to be received in the current period.
  • the confirmation message to be received is the confirmation message corresponding to the unconfirmed Non-post message that is out of the received message storage area and the confirmation message is not received; wherein, the confirmation message is that the destination device is directed to the source device A confirmation response message returned by a Non-post message sent through the system bus; the Non-post message is a request message that the source device sends to the destination device through the system bus and requires the destination device to return a confirmation message.
  • the received message storage area may be a receiving buffer. The receiving buffer is used to temporarily store messages from the system bus device and sent to the internal exchange module of the system bus.
  • the obtaining the information of the confirmation message to be received in the current period includes:
  • the packet length information of the confirmation message received in the current period is obtained, and the packet length information of the confirmation message to be received in the current period is obtained according to the packet length information of the confirmation message received in the current period and the packet length accumulation information, as the current period Information about the confirmation message to be received in the time slot.
  • Non-post message and the confirmation message in the read and write semantic messages transmitted in the system bus interconnection network appear in pairs, for example, Non-post Read and Completion appear in pairs, so the control information according to the Non-post message can be accurate
  • the occurrence of the confirmation message is predicted, and further, the bandwidth estimation data of the confirmation message can be accurately obtained.
  • Step S702 Obtain physical peak bandwidth data of the port connected to the bus device.
  • the physical peak bandwidth data can be obtained according to the bus frequency, data bit width, and physical channel transmission rate.
  • Step S703 Obtain bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data.
  • the obtaining the bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data includes:
  • the confirmation message bandwidth prediction state is determined as the confirmation message empty state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold Condition, but does not meet the second confirmation message bandwidth threshold condition, then the confirmation message bandwidth prediction state is determined as the confirmation message accumulation state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold condition, and meets the second Confirm the message bandwidth threshold condition, then determine the confirmation message bandwidth prediction state as the confirmation message backlog state;
  • the bandwidth demand value in the current period and the bandwidth prediction status information of the confirmation message are used as bandwidth estimation data of the confirmation message.
  • BW_cpl is the bandwidth demand value of the confirmation message
  • BNcpl is the data volume of the confirmation message to be received
  • BWpeak is the physical peak bandwidth of the port
  • TH1 is the first threshold
  • TH2 is the second threshold
  • Cpl backlog means confirming that the predicted bandwidth status of messages is the message backlog status
  • Cpl empty means confirming that the predicted bandwidth status of messages is the message draining status
  • Cpl Cumulative indicates that the predicted bandwidth state of the confirmation message is the message accumulation state
  • State_cpl indicates the predicted state of the confirmed message bandwidth.
  • the processing steps in the figure include:
  • S802 Determine whether BW_cpl is greater than the first threshold TH1; if yes, go to S803; if not, set State_cpl as Cpl drain;
  • S803 Determine whether BW_cpl is greater than the first threshold TH2; if so, set State_cpl as a Cpl backlog; if not, set State_cpl as a Cpl accumulation.
  • the fourth embodiment of the present application provides a bus switching system.
  • the bus exchange system shown in FIG. 9 is applied to a system bus interconnection network and includes: an internal exchange module 901 and at least one port module 902;
  • the internal exchange module 901 is configured to process data exchange between the port modules in the at least one port module;
  • the at least one port module 902 is configured to perform data interaction with the bus device connected to the system bus interconnection network or the first bus exchange system, and obtain confirmation message bandwidth estimation data according to the information of the received Non-post message; Obtain Post message bandwidth estimation data according to the information of the Post message to be sent; according to Post message bandwidth estimation data and confirmation message bandwidth estimation data, congestion control is performed on the data interaction of the system bus interconnection network.
  • FIG. 10 includes an internal switching module 1001 and at least one port module 1002, and the at least one port module includes: a sending module 1004 and a receiving module 1003;
  • the receiving module 1003 is configured to receive a message from a bus device, and forward the received message to the internal exchange module 1001; output the information of the received Non-post message to the sending module 1004 of the at least one port module 1002;
  • the receiving module 1003 is configured to receive a message from the internal exchange module 1001, and send the message to the bus device, and obtain the Post message bandwidth according to the information of the Post message in the sending buffer in the current period and the previous adjacent period Estimated data: Obtain the confirmation message bandwidth estimation data according to the information of the Non-post message of the receiving module 1003 of the at least one port module 1002, and obtain the latter period according to the Post message bandwidth estimation data and the confirmation message bandwidth estimation data Generate the corresponding congestion control information, and output the congestion control information.
  • the receiving module 1003 includes: a receiving buffer and control module 1003-1, a non-post message statistics module 1003-2, and an arbitration module 1003-3; among them,
  • the receiving buffer and control module 1003-1 is used to buffer messages from the bus device, and according to the arbitration notice of the arbitration module, send the buffered messages from the bus device to the arbitration module; non-post The message is output to the internal exchange module, and the control information of the Non-post message is provided to the Non-post message statistics module;
  • the non-post message counting module 1003-2 is used to count the number of non-post messages output by the receiving module to the internal exchange module and the confirmation response message is not received, and the non-post messages that have not received the confirmation message
  • the message packet length information is sent to the sending module as the information of the Non-post message; the information of the Non-post message is updated according to the information of the confirmation message returned by the sending module;
  • the arbitration module 1003-3 is configured to receive congestion control messages, receive messages from the receiving buffer and the control module, and if a congestion control message with a congestion control type of non-post control is received, then according to the congestion control message Congestion control value, adjust the arbitration speed of Non-post messages in the receiving buffer and control module; if a congestion control message with a congestion control type of control Post is received, the congestion control message is forwarded to the internal switching module .
  • the sending module 1004 includes sending buffer and control module 1004-1, Post communication bandwidth prediction module 1004-2, confirmation message communication bandwidth prediction module 1004-3, bandwidth allocation decision module 1004-4, and congestion control message Generate module 1004-5; among them,
  • the sending buffer and control module 1004-1 is used to buffer messages from the internal exchange module and send them to the bus device; for Post messages entering the sending buffer or Post messages out of the sending buffer, the Post message is controlled The information is provided to the Post communication bandwidth prediction module; for the confirmation message entering the sending buffer, the control information of the confirmation message is provided to the Non-post message statistics module of the receiving module;
  • the Post communication bandwidth prediction module 1004-2 is used to obtain the information of the Post message in the sending buffer, and predict the bandwidth estimation data of the Post message sent by the bus device in the next period of the current period according to the information;
  • the confirmation message communication bandwidth prediction module 1004-3 is configured to obtain the information of the Non-post message provided by the Non-post message statistics module, and predict the bandwidth estimation data of the confirmation message in the next period of the current period according to the information;
  • the bandwidth allocation decision module 1004-4 is configured to obtain information for generating a congestion control message according to the bandwidth estimation data of the Post message and the bandwidth estimation data of the confirmation message, and send it to the congestion control message generation module;
  • the congestion control message generating module 1004-5 is configured to generate a congestion control message according to the received information for generating a congestion control message, and send it to the arbitration module.
  • the fifth embodiment of the present application provides a data congestion control device.
  • the data congestion control device provided by the fifth embodiment will be described below with reference to FIG. 11.
  • the data congestion control device shown in FIG. 11 includes:
  • the first bandwidth estimation unit 1101 is configured to obtain the first data used to indicate that the Post message occupies the communication bandwidth, where the Post message is sent by the source device to the destination device through the system bus and does not require the destination device to return confirmation Message request message;
  • the second bandwidth estimation unit 1102 is configured to obtain second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation returned by the destination device in response to the Non-post message sent by the source device through the system bus Response message; the Non-post message is a request message that the source device sends to the destination device via the system bus and requires the destination device to return a confirmation message;
  • the congestion control unit 1103 is configured to perform congestion control on data transmitted through the system bus according to the first data and the second data.
  • the congestion control unit 1103 is specifically configured to: obtain a first bandwidth demand value and first bandwidth prediction status information according to the first data; obtain a second bandwidth demand value and information according to the second data The second bandwidth prediction state information; according to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information, congestion control is performed on the data transmitted through the system bus.
  • the congestion control unit 1103 is specifically configured to: if the sum of the first bandwidth demand value and the second bandwidth demand value meets a preset congestion control condition, use the first bandwidth prediction state information and the second bandwidth prediction state Information, congestion control of data transmitted through the system bus.
  • the congestion control unit 1103 includes a Non-post control subunit, and the Non-post control subunit is configured to: if the second bandwidth prediction status information is not in the confirmation message emptying state, control the non-post The processing speed of the message.
  • the congestion control unit 1103 is specifically configured to: if the second bandwidth prediction state indicated by the second bandwidth prediction state information is not the response message empty state, and the first bandwidth prediction state information indicated by the first bandwidth prediction state information The state is not the Post message emptying state, or if the second bandwidth prediction state information is the confirmation message emptying state, the Post message congestion control is performed according to the preset Post message congestion control strategy.
  • the congestion control unit 1103 includes a Post congestion control subunit, and the Post congestion control subunit is configured to:
  • the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value satisfies the Post message bandwidth threshold condition, or the bandwidth prediction status information indicates the Post message backlog status Source device.
  • Non-post control subunit is specifically used for:
  • the congestion control unit 1103 is specifically configured to:
  • the confirmation message includes at least one of the following messages:
  • the first bandwidth estimation unit 1101 is specifically configured to:
  • first data is obtained.
  • the first bandwidth estimation unit 1101 is further configured to:
  • the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
  • the second bandwidth estimation unit 1102 is specifically configured to generate the second data according to the control information of the Non-post message entered into the receiving buffer.
  • the second bandwidth estimation unit 1102 is specifically configured to:
  • the second data is generated according to the information of the non-confirmed Non-post message.
  • the second bandwidth estimation unit 1102 is specifically configured to:
  • the second data is generated according to the total packet length information of the confirmation message to be received.
  • the second bandwidth estimation unit 1102 is further configured to update the total packet length information of the confirmation message to be received according to the packet length information of the received confirmation message.
  • the congestion control unit 1103 is specifically configured to:
  • the data includes at least one of Post messages, Non-post messages, and confirmation messages.
  • the congestion control unit 1103 is specifically configured to:
  • the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
  • the congestion control message is sent to the corresponding system bus device.
  • the sixth embodiment of the present application provides an electronic device used in the data congestion control method provided by the first embodiment.
  • the electronic device provided by the sixth embodiment will be described below with reference to FIG. 12.
  • the electronic equipment shown in Figure 12 includes:
  • the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message;
  • the confirmation message is the confirmation response message returned by the destination device to the Non-post message sent by the source device through the system bus;
  • the Non-post message is The source device sends to the destination device via the system bus a request message that requires the destination device to return a confirmation message;
  • congestion control is performed on the data transmitted through the system bus.
  • the processor is further configured to execute the following computer-executable instructions: obtain a first bandwidth demand value and first bandwidth prediction status information according to the first data; obtain second data according to the second data Bandwidth demand value and second bandwidth prediction state information; according to the first bandwidth demand value, first bandwidth prediction state information, second bandwidth demand value, and second bandwidth prediction state information, congestion control is performed on data transmitted through the system bus .
  • the processor is further configured to execute the following computer executable instructions:
  • congestion control is performed on the data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information.
  • the processor is further configured to execute the following computer executable instructions: if the second bandwidth prediction state information is not in the confirmation message empty state, control the processing speed of the non-post message.
  • the processor is further configured to execute the following computer executable instructions:
  • the second bandwidth prediction state indicated by the second bandwidth prediction state information is not the response message drain state, and the first bandwidth prediction state indicated by the first bandwidth prediction state information is not the Post message drain state, or if the second bandwidth
  • the predicted state information is the confirmation message empty state, and the Post message congestion control is performed according to the preset Post message congestion control strategy.
  • the processor is further configured to execute the following computer executable instructions:
  • the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value satisfies the Post message bandwidth threshold condition, or the bandwidth prediction status information indicates the Post message backlog status Source device.
  • the processor is further configured to execute the following computer executable instructions:
  • the processor is further configured to execute the following computer executable instructions:
  • the confirmation message includes at least one of the following messages:
  • the processor is further configured to execute the following computer executable instructions:
  • first data is obtained.
  • the processor is further configured to execute the following computer executable instructions:
  • the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
  • the processor is further configured to execute the following computer-executable instructions: generate the second data according to the control information of the Non-post message entered into the receiving buffer.
  • the processor is further configured to execute the following computer executable instructions:
  • the second data is generated according to the information of the non-confirmed Non-post message.
  • the processor is further configured to execute the following computer executable instructions:
  • the second data is generated according to the total packet length information of the confirmation message to be received.
  • the processor is further configured to execute the following computer executable instructions: according to the packet length information of the received confirmation message, update the total packet length information of the confirmation message to be received.
  • the processor is further configured to execute the following computer executable instructions:
  • the data includes at least one of Post messages, Non-post messages, and confirmation messages.
  • the processor is further configured to execute the following computer executable instructions:
  • the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
  • the congestion control message is sent to the corresponding system bus device.
  • the computing device includes one or more processors (CPU), input/output interfaces, network interfaces, and memory.
  • processors CPU
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • the memory may include non-permanent memory in computer readable media, random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer readable media.
  • RAM random access memory
  • ROM read-only memory
  • flash RAM flash memory
  • Computer-readable media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology.
  • the information can be computer-readable instructions, data structures, program modules, or other data.
  • Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
  • computer-readable media does not include non-transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
  • this application can be provided as methods, systems or computer program products. Therefore, this application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • a computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.

Landscapes

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

Abstract

The present application discloses a data congestion control and bandwidth prediction method, comprising: acquiring first data indicating that a Post message occupies a communication bandwidth, the Post message being a request message that is sent by a source end device to a destination end device by means of a system bus and does not require the destination end device to return an acknowledgement message; acquiring second data indicating that an acknowledgement message occupies a communication bandwidth, the acknowledgement message being an acknowledgement response message returned by the destination end device for a Non-post message sent by the source end device by means of the system bus, and the Non-post message being a request message that is sent by the source end device to the destination end device by means of the system bus and requires the destination end device to return an acknowledgement message; and performing, according to the first data and the second data, congestion control on data transmitted by means of the system bus. By means of the method above, effective congestion control can be performed on data transmission of a system bus interconnection network, improving the execution performance of a system application.

Description

数据拥塞控制及带宽预估方法Data congestion control and bandwidth estimation method
本申请要求2019年06月10日递交的申请号为201910498498.1、发明名称为“数据拥塞控制及带宽预估方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 2019104984981 filed on June 10, 2019, and the invention title is "Data Congestion Control and Bandwidth Estimation Method", the entire content of which is incorporated into this application by reference.
技术领域Technical field
本发明涉及系统总线互连领域,尤其涉及一种数据拥塞控制及带宽预估方法。The invention relates to the field of system bus interconnection, in particular to a method for data congestion control and bandwidth estimation.
背景技术Background technique
随着各种高速IO设备(Input/Output,输入/输出设备)不断出现,服务器内IO设备对系统总线(即IO总线)的争用问题越发凸显,甚至使服务器中的系统总线互连网络形成数据拥塞,严重影响系统应用的执行性能。With the continuous emergence of various high-speed IO devices (Input/Output, input/output devices), the contention of the system bus (ie IO bus) by the IO devices in the server has become more and more prominent, and even the system bus interconnection network in the server has formed Data congestion seriously affects the execution performance of system applications.
当前系统总线缺乏有效的拥塞控制机制,例如PCIE总线,依靠点对点Credit(信用)流控的反压机制进行流量控制,所谓点对点Credit流控是指针对一条链路上的数据传输将接收方的缓冲区空余空间反向通知发送方进行流量控制。缺乏有效的拥塞控制机制,使得系统总线互连网络的数据传输无法通过降低源端流量以进行有效的拥塞控制,从而影响系统应用的执行性能。The current system bus lacks an effective congestion control mechanism, such as the PCIE bus, which relies on the backpressure mechanism of point-to-point Credit (credit) flow control for flow control. The so-called point-to-point Credit flow control refers to buffering the receiver for data transmission on a link. The free space in the zone informs the sender of flow control in reverse. The lack of an effective congestion control mechanism makes it impossible for the data transmission of the system bus interconnection network to reduce the source-end traffic for effective congestion control, thereby affecting the execution performance of system applications.
因此,如何对系统总线互连网络的数据传输进行拥塞控制,是需要解决的问题。Therefore, how to control the congestion of the data transmission of the system bus interconnection network is a problem that needs to be solved.
发明内容Summary of the invention
本申请提供一种数据拥塞控制方法,能对系统总线互连网络的数据传输进行有效的拥塞控制,提高系统应用的执行性能。The present application provides a data congestion control method, which can perform effective congestion control on data transmission in a system bus interconnection network and improve the execution performance of system applications.
本申请提供一种数据拥塞控制方法,包括:This application provides a data congestion control method, including:
获得用于表示Post消息占用通信带宽的第一数据,其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息;Obtain first data used to indicate that the Post message occupies communication bandwidth, where the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message;
获得用于表示确认消息占用通信带宽的第二数据,其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息;Obtain the second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation response message returned by the destination device to the Non-post message sent by the source device through the system bus; the Non-post message is The source device sends to the destination device via the system bus a request message that requires the destination device to return a confirmation message;
根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制。According to the first data and the second data, congestion control is performed on the data transmitted through the system bus.
可选的,所述根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制,包括:Optionally, the performing congestion control on the data transmitted through the system bus according to the first data and the second data includes:
根据所述第一数据,获得第一带宽需求值和第一带宽预测状态信息;Obtaining a first bandwidth demand value and first bandwidth prediction status information according to the first data;
根据所述第二数据,获得第二带宽需求值和第二带宽预测状态信息;Obtaining a second bandwidth demand value and second bandwidth prediction status information according to the second data;
根据所述第一带宽需求值、第一带宽预测状态信息、第二带宽需求值和第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。According to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information, congestion control is performed on the data transmitted through the system bus.
可选的,所述根据所述第一带宽需求值、第一带宽预测状态信息、第二带宽需求值和第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制,包括:Optionally, the performing congestion control on the data transmitted through the system bus according to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information includes:
如果第一带宽需求值与第二带宽需求值之和满足预设拥塞控制条件,则根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。If the sum of the first bandwidth demand value and the second bandwidth demand value meets the preset congestion control condition, congestion control is performed on the data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information.
可选的,所述根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制,包括:Optionally, the performing congestion control on data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information includes:
如果第二带宽预测状态信息不为确认消息排空状态,则控制Non-post消息的处理速度。If the second bandwidth prediction state information is not the confirmation message empty state, control the processing speed of the non-post message.
可选的,所述根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制,包括:Optionally, the performing congestion control on data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information includes:
如果第二带宽预测状态信息指示的第二带宽预测状态不为响应消息排空状态,并且第一带宽预测状态信息指示的第一带宽预测状态不为Post消息排空状态,或者,如果第二带宽预测状态信息为确认消息排空状态,则按照预设Post消息拥塞控制策略对Post消息进行拥塞控制。If the second bandwidth prediction state indicated by the second bandwidth prediction state information is not the response message drain state, and the first bandwidth prediction state indicated by the first bandwidth prediction state information is not the Post message drain state, or if the second bandwidth The predicted state information is the confirmation message empty state, and the Post message congestion control is performed according to the preset Post message congestion control strategy.
可选的,所述按照预设Post消息拥塞控制策略对Post消息进行拥塞控制,包括:Optionally, the performing congestion control on the Post message according to a preset Post message congestion control strategy includes:
获得满足所述预设Post消息拥塞控制策略的目标源端设备的标识信息,以及所述目标源端设备的Post消息带宽需求值;Obtaining identification information of the target source device that meets the preset Post message congestion control strategy, and the Post message bandwidth demand value of the target source device;
根据所述目标源端设备的标识信息以及Post消息带宽需求值,针对所述目标源端设备生成带宽控制类型为控制Post消息的拥塞控制信息;Generating, for the target source device, congestion control information whose bandwidth control type is the control Post message according to the identification information of the target source device and the Post message bandwidth demand value;
根据所述拥塞控制信息对Post消息进行拥塞控制。Perform congestion control on the Post message according to the congestion control information.
可选的,所述目标源端设备为任一发送Post消息的源端设备,或,带宽需求值满足Post消息带宽阈值条件的源端设备,或,带宽预测状态信息指示为Post消息积压状态的源端设备。Optionally, the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value satisfies the Post message bandwidth threshold condition, or the bandwidth prediction status information indicates the Post message backlog status Source device.
可选的,所述如果第二带宽预测状态信息不为确认消息排空状态,则控制Non-post 消息的处理速度,包括:Optionally, if the second bandwidth prediction state information is not the confirmation message empty state, controlling the processing speed of the non-post message includes:
根据第一带宽需求值,生成带宽控制类型为控制Non-post消息的拥塞控制信息;According to the first bandwidth demand value, generate congestion control information whose bandwidth control type is to control Non-post messages;
根据所述拥塞控制信息对Non-post消息进行拥塞控制。Perform congestion control on the Non-post message according to the congestion control information.
可选的,所述根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制,包括:Optionally, the performing congestion control on the data transmitted through the system bus according to the first data and the second data includes:
统计每个时段的Post消息带宽实际值和确认消息带宽实际值;Statistics the actual value of Post message bandwidth and the actual value of confirmation message bandwidth in each period;
根据当前时段和前一个相邻时段的Post消息带宽实际值,获得Post消息带宽预测状态信息,根据当前时段和前一个相邻时段的确认消息带宽实际值,获得确认消息带宽预测状态信息;Obtain Post message bandwidth prediction status information according to the actual value of the Post message bandwidth in the current period and the previous adjacent period, and obtain the confirmation message bandwidth prediction status information according to the actual value of the confirmation message bandwidth in the current period and the previous adjacent period;
根据所述Post消息带宽预测状态信息和所述确认消息带宽预测状态信息,对所述数据进行拥塞控制。Perform congestion control on the data according to the Post message bandwidth prediction state information and the confirmation message bandwidth prediction state information.
可选的,所述确认消息至少包括下述一种消息:Optionally, the confirmation message includes at least one of the following messages:
针对Non-post读操作请求返回的确认消息;Confirmation message returned for non-post read operation request;
针对Non-post写操作请求返回的确认消息。Confirmation message returned for non-post write operation request.
可选的,所述获得用于表示Post消息占用通信带宽的第一数据,包括:Optionally, the obtaining first data used to indicate that the Post message occupies communication bandwidth includes:
获得入发送缓冲区的Post消息的第一Post控制信息;Obtain the first Post control information of the Post message entered into the sending buffer;
获得出发送缓冲区的Post消息的第二Post控制信息;Obtain the second Post control information of the Post message in the sending buffer;
根据所述第一Post控制信息和第二Post控制信息,得到第一数据。According to the first Post control information and the second Post control information, first data is obtained.
可选的,还包括:Optional, also includes:
获得当前时段发送缓冲区中的Post消息的第一长度信息;Obtain the first length information of the Post message in the sending buffer of the current period;
获得与当前时段相邻的前一个相邻时段发送缓冲区中的Post消息的第二长度信息;Obtain the second length information of the Post message in the sending buffer in the previous adjacent time period adjacent to the current time period;
根据第一长度信息和第二长度信息,确定至少一个源端设备发出的Post消息的Post消息带宽预估数据。According to the first length information and the second length information, the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
可选的,所述获得用于表示确认消息占用通信带宽的第二数据,包括:根据入接收缓冲区的Non-post消息的控制信息,生成所述第二数据。Optionally, the obtaining the second data used to indicate that the confirmation message occupies the communication bandwidth includes: generating the second data according to the control information of the Non-post message entered into the receiving buffer.
可选的,所述获得用于表示确认消息占用通信带宽的第二数据,包括:Optionally, the obtaining second data used to indicate that the confirmation message occupies communication bandwidth includes:
获得出接收缓冲区且未收到确认消息的未确认Non-post消息的信息;Obtain the information of unconfirmed Non-post messages that are out of the receiving buffer and have not received confirmation messages;
根据所述未确认Non-post消息的信息,生成所述第二数据。The second data is generated according to the information of the non-confirmed Non-post message.
可选的,所述根据所述未确认Non-post消息的信息,生成所述第二数据,包括:Optionally, the generating the second data according to the information of the non-confirmed Non-post message includes:
根据所述未确认Non-post消息的信息,获得待接收的确认消息的总包长度信息;其 中,所述待接收的确认消息为所述未确认Non-post消息对应的确认消息;Obtaining the total packet length information of the confirmation message to be received according to the information of the non-confirmed Non-post message; wherein, the confirmation message to be received is the confirmation message corresponding to the non-confirmed Non-post message;
根据所述待接收的确认消息的总包长度信息,生成所述第二数据。The second data is generated according to the total packet length information of the confirmation message to be received.
可选的,还包括:根据收到的确认消息的包长度信息,更新所述待接收的确认消息的总包长度信息。Optionally, the method further includes: updating the total packet length information of the confirmation message to be received according to the packet length information of the received confirmation message.
可选的,所述根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制,包括:Optionally, the performing congestion control on the data transmitted through the system bus according to the first data and the second data includes:
根据所述第一数据和所述第二数据,生成拥塞控制消息;Generating a congestion control message according to the first data and the second data;
根据所述拥塞控制消息,对所述数据进行拥塞控制;Perform congestion control on the data according to the congestion control message;
其中,所述数据包括Post消息、Non-post消息以及确认消息中的至少一种消息。Wherein, the data includes at least one of Post messages, Non-post messages, and confirmation messages.
可选的,所述根据所述拥塞控制消息,对所述数据进行拥塞控制,包括:Optionally, the performing congestion control on the data according to the congestion control message includes:
如果判断所述拥塞控制消息的拥塞控制类型为控制Non-post请求速率类型,则根据所述控制消息中的控制数据,降低对Non-post消息的仲裁速率;If it is judged that the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
如果判断所述拥塞控制消息的拥塞控制类型为控制Post请求速率类型,则将所述拥塞控制消息发送给对应的系统总线设备。If it is determined that the congestion control type of the congestion control message is a control Post request rate type, the congestion control message is sent to the corresponding system bus device.
本申请还提供一种带宽预估方法,包括:This application also provides a bandwidth estimation method, including:
获得当前时段发送消息存储区域中Post消息的信息;Obtain the information of Post messages in the message storage area of the current period of time;
根据所述当前时段发送消息存储区域中Post消息的信息,确定Post消息的带宽预测状态和Post消息的带宽需求值;Determine the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message according to the information of the Post message in the message storage area for the current time period;
根据所述带宽预测状态和所述带宽需求值,确定所述Post消息的带宽预估数据。Determine the bandwidth estimation data of the Post message according to the bandwidth prediction state and the bandwidth demand value.
可选的,所述根据所述当前时段发送消息存储区域中Post消息的信息,确定Post消息的带宽预测状态和Post消息的带宽需求值,包括:Optionally, the determining the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message according to the information of the Post message in the message storage area of the current period of time transmission includes:
根据所述当前时段发送消息存储区域中Post消息的信息,获得当前时段中Post消息的包长度累加值,作为第一总长度值;Obtaining the accumulated value of the packet length of the Post message in the current period according to the information of the Post message in the message storage area of the current period of time, as the first total length value;
如果所述第一总长度值满足第一阈值条件,则将Post消息的带宽预测状态确定为Post消息积压状态;否则,获得与当前时段相邻的前一个相邻时段的Post消息的信息,根据所述第一总长度值和所述前一个相邻时段的Post消息的信息,获得所述Post消息的带宽预估数据。If the first total length value meets the first threshold condition, the bandwidth prediction state of the Post message is determined to be the Post message backlog state; otherwise, the information of the Post message in the previous adjacent time period adjacent to the current time period is obtained, according to The first total length value and the information of the Post message in the previous adjacent time period are used to obtain bandwidth estimation data of the Post message.
可选的,所述根据所述第一总长度值和所述前一个相邻时段的Post消息的信息,获得所述Post消息的带宽预估数据,包括:Optionally, the obtaining bandwidth estimation data of the Post message according to the first total length value and the information of the Post message in the previous adjacent time period includes:
根据所述前一个相邻时段的Post消息的信息,获得前一个相邻时段的Post消息的 包长度累加值,作为第二总长度值;According to the information of the Post message in the previous adjacent time period, obtain the accumulated value of the packet length of the Post message in the previous adjacent time period as the second total length value;
如果第一总长度值不大于第二总长度值,则将Post消息的带宽预测状态确定为Post消息排空状态,将Post息的带宽需求值确定为预定值;If the first total length value is not greater than the second total length value, determine the bandwidth prediction state of the Post message as the Post message empty state, and determine the bandwidth demand value of the Post message as the predetermined value;
如果第一总长度值与第二总长度值的差值满足第二阈值条件,则将Post消息的带宽预测状态确定为Post消息累积状态,并且根据第一总长度值与第二总长度值确定Post消息的带宽需求值。If the difference between the first total length value and the second total length value satisfies the second threshold condition, the bandwidth prediction state of the Post message is determined as the Post message accumulation state, and is determined according to the first total length value and the second total length value Bandwidth demand value of Post message.
可选的,还包括:Optional, also includes:
获得当前时段发送消息存储区域中目标源端设备的Post消息的包长度累加值,作为第一源端设备Post消息总长度值;Obtain the cumulative value of the packet length of the Post message of the target source device in the message storage area of the current period of time, as the total length of the Post message of the first source device;
根据所述第一源端设备Post消息总长度值,确定所述目标源端设备的Post消息的带宽预测状态以及带宽需求值;Determine the bandwidth prediction state and bandwidth demand value of the Post message of the target source device according to the total length value of the Post message of the first source device;
将所述目标源端设备的Post消息的带宽预测状态以及带宽需求值,作为所述目标源端设备的Post消息的带宽预估数据。The bandwidth prediction state and the bandwidth demand value of the Post message of the target source device are used as bandwidth estimation data of the Post message of the target source device.
可选的,还包括:Optional, also includes:
如果所述第一源端设备Post消息总长度值满足第三阈值条件,则将所述目标源端设备的Post消息的带宽预测状态确定为Post消息积压状态;否则,获得与当前时段相邻的前一个相邻时段目标源端设备的Post消息的信息,根据所述第一源端设备Post消息总长度值和所述前一个相邻时段目标源端设备的Post消息的信息,获得所述目标源端设备的Post消息的带宽预估数据。If the total length of the Post message of the first source device satisfies the third threshold condition, the bandwidth prediction state of the Post message of the target source device is determined to be the Post message backlog state; otherwise, the information adjacent to the current period is obtained The information of the Post message of the target source device in the previous adjacent period is obtained, according to the total length of the Post message of the first source device and the information of the Post message of the target source device in the previous adjacent period Bandwidth estimation data of the Post message of the source device.
本申请还提供一种带宽预估方法,包括:This application also provides a bandwidth estimation method, including:
获得当前时段待接收的确认消息的信息;Obtain the information of the confirmation message to be received in the current period;
获得连接总线设备的端口的物理峰值带宽数据;Obtain the physical peak bandwidth data of the port connected to the bus device;
根据所述待接收的确认消息的信息以及所述物理峰值带宽数据,获得确认消息的带宽预估数据。Obtain bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data.
可选的,所述待接收的确认消息为出接收消息存储区域且未收到确认消息的未确认Non-post消息对应的确认消息;Optionally, the confirmation message to be received is a confirmation message corresponding to an unconfirmed Non-post message that is out of the received message storage area and the confirmation message is not received;
所述获得当前时段待接收的确认消息的信息,包括:The obtaining the information of the confirmation message to be received in the current period includes:
获得所述未确认Non-post消息的控制信息;Obtain the control information of the unconfirmed Non-post message;
根据所述未确认Non-post消息的控制信息,获得所述待接收的确认消息的包长度累加信息;Obtaining, according to the control information of the unconfirmed Non-post message, the accumulated information of the packet length of the confirmation message to be received;
获得当前时段收到的确认消息的包长度信息,根据当前时段收到的确认消息的包长度信息以及所述包长度累加信息,得到当前时段待接收的确认消息的包长度信息,作为所述当前时段待接收的确认消息的信息。The packet length information of the confirmation message received in the current period is obtained, and the packet length information of the confirmation message to be received in the current period is obtained according to the packet length information of the confirmation message received in the current period and the packet length accumulation information, as the current period Information about the confirmation message to be received in the time slot.
可选的,所述根据所述待接收的确认消息的信息以及所述物理峰值带宽数据,获得确认消息的带宽预估数据,包括:Optionally, the obtaining bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data includes:
根据所述当前时段待接收的确认消息的包长度信息,以及所述物理峰值带宽数据,获得当前时段带宽需求值;Obtaining the bandwidth demand value of the current period according to the packet length information of the confirmation message to be received in the current period and the physical peak bandwidth data;
如果所述当前时段带宽需求值不满足第一确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息排空状态;如果所述当前时段带宽需求值满足第一确认消息带宽阈值条件,但不满足第二确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息累积状态;如果所述当前时段带宽需求值满足第一确认消息带宽阈值条件,并且满足第二确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息积压状态;If the current period bandwidth demand value does not meet the first confirmation message bandwidth threshold condition, the confirmation message bandwidth prediction state is determined as the confirmation message empty state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold Condition, but does not meet the second confirmation message bandwidth threshold condition, then the confirmation message bandwidth prediction state is determined as the confirmation message accumulation state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold condition, and meets the second Confirm the message bandwidth threshold condition, then determine the confirmation message bandwidth prediction state as the confirmation message backlog state;
将所述当前时段带宽需求值和所述确认消息带宽预测状态信息,作为所述确认消息的带宽预估数据。The bandwidth demand value in the current period and the bandwidth prediction status information of the confirmation message are used as bandwidth estimation data of the confirmation message.
本申请还提供一种总线交换系统,应用于系统总线互连网络,包括:内部交换模块、至少一个端口模块;This application also provides a bus switching system, which is applied to a system bus interconnection network, and includes: an internal switching module and at least one port module;
所述内部交换模块,用于处理所述至少一个端口模块中的各端口模块之间的数据交换;The internal exchange module is used to process data exchange between the port modules in the at least one port module;
所述至少一个端口模块,用于与接入所述系统总线互连网络的总线设备或者第一总线交换系统进行数据交互,根据接收的Non-post消息的信息获得确认消息带宽预估数据;根据待发送的Post消息的信息获得Post消息带宽预估数据;根据Post消息带宽预估数据以及确认消息带宽预估数据,对系统总线互连网络的数据交互进行拥塞控制。The at least one port module is configured to perform data interaction with the bus device connected to the system bus interconnection network or the first bus exchange system, and obtain the confirmation message bandwidth estimation data according to the information of the received Non-post message; The information of the Post message to be sent obtains the Post message bandwidth estimation data; according to the Post message bandwidth estimation data and the confirmation message bandwidth estimation data, congestion control is performed on the data interaction of the system bus interconnection network.
可选的,所述至少一个端口模块,包括:发送模块和接收模块;Optionally, the at least one port module includes: a sending module and a receiving module;
所述接收模块,用于接收总线设备的消息,将接收的消息转发至所述内部交换模块;将接收的Non-post消息的信息输出给所述至少一个端口模块的发送模块;The receiving module is configured to receive a message from a bus device, and forward the received message to the internal exchange module; output the information of the received Non-post message to the sending module of the at least one port module;
所述发送模块,用于接收来自所述内部交换模块的消息,并将所述消息发送至总线设备,根据当前时段以及前一个相邻时段发送缓冲区中Post消息的信息获得Post消息带宽预估数据,根据所述至少一个端口模块的接收模块的Non-post消息的信息获得确认消息带宽预估数据,根据Post消息带宽预估数据以及确认消息带宽预估数据,得到后一 个时段的拥塞信息,生成对应的拥塞控制信息,输出所述拥塞控制信息。The sending module is used to receive the message from the internal exchange module and send the message to the bus device, and obtain the Post message bandwidth estimation according to the information of the Post message in the sending buffer in the current period and the previous adjacent period Data, obtain the confirmation message bandwidth estimation data according to the information of the Non-post message of the receiving module of the at least one port module, and obtain the congestion information of the later period according to the Post message bandwidth estimation data and the confirmation message bandwidth estimation data, Generate corresponding congestion control information, and output the congestion control information.
可选的,所述接收模块,包括:接收缓冲区及控制模块、Non-post消息统计模块以及仲裁模块;其中,Optionally, the receiving module includes: a receiving buffer and a control module, a non-post message statistics module, and an arbitration module; wherein,
所述接收缓冲区及控制模块,用于缓存来自总线设备的消息,并根据所述仲裁模块的仲裁通知,将缓存的来自总线设备的消息发送给所述仲裁模块;将Non-post消息输出给所述内部交换模块,将所述Non-post消息的控制信息提供给Non-post消息统计模块;The receiving buffer and the control module are used to buffer messages from the bus device, and according to the arbitration notice of the arbitration module, send the buffered messages from the bus device to the arbitration module; and output the Non-post message to The internal exchange module provides the control information of the Non-post message to the Non-post message statistics module;
所述Non-post消息统计模块,用于统计所述接收模块输出到内部交换模块且未收到确认响应消息的Non-post消息数目,以及所述未收到确认消息的Non-post消息包长度信息,并作为Non-post消息的信息发送给发送模块;根据发送模块返回的确认消息的信息,更新所述Non-post消息的信息;The Non-post message statistics module is configured to count the number of Non-post messages output by the receiving module to the internal exchange module and the confirmation response message is not received, and the length of the Non-post message packet for which the confirmation message is not received The information is sent to the sending module as the information of the Non-post message; according to the information of the confirmation message returned by the sending module, the information of the Non-post message is updated;
所述仲裁模块,用于接收拥塞控制消息、接收来自接收缓冲区及控制模块的消息,如果收到拥塞控制类型为控制Non-post的拥塞控制消息,则根据所述拥塞控制消息的拥塞控制数值,调整对接收缓冲区及控制模块中的Non-post消息的仲裁速度;如果收到拥塞控制类型为控制Post的拥塞控制消息,则将所述拥塞控制消息转发给所述内部交换模块。The arbitration module is configured to receive congestion control messages, receive messages from the receiving buffer and the control module, and if a congestion control message whose congestion control type is control Non-post is received, then according to the congestion control value of the congestion control message , Adjust the arbitration speed of the Non-post message in the receiving buffer and the control module; if a congestion control message whose congestion control type is control Post is received, the congestion control message is forwarded to the internal switching module.
可选的,所述发送模块,包括发送缓冲区及控制模块、Post通信带宽预测模块、确认消息通信带宽预测模块、带宽分配决策模块、以及拥塞控制消息产生模块;其中,Optionally, the sending module includes a sending buffer and a control module, a Post communication bandwidth prediction module, a confirmation message communication bandwidth prediction module, a bandwidth allocation decision module, and a congestion control message generation module; wherein,
所述发送缓冲区及控制模块,用于缓存来自内部交换模块的消息并发送至总线设备;针对入发送缓冲区的Post消息,或者出发送缓冲区的Post消息,将Post消息的控制信息提供给Post通信带宽预测模块;针对入发送缓冲区的确认消息,将所述确认消息的控制信息提供给接收模块的Non-post消息统计模块;The sending buffer and control module are used to buffer messages from the internal exchange module and send them to the bus device; for Post messages entering the sending buffer or Post messages out of the sending buffer, the control information of the Post messages is provided to Post communication bandwidth prediction module; for the confirmation message entering the sending buffer, providing the control information of the confirmation message to the Non-post message statistics module of the receiving module;
所述Post通信带宽预测模块,用于预测当前时段的后一个时段总线设备发出的Post消息的带宽预估数据;The Post communication bandwidth prediction module is used to predict the bandwidth estimation data of the Post message sent by the bus device in the next period of the current period;
所述确认消息通信带宽预测模块,用于根据Non-post消息统计模块提供的Non-post消息的信息,预测当前时段的后一个时段确认消息的带宽预估数据;The confirmation message communication bandwidth prediction module is used for predicting the bandwidth estimation data of the confirmation message in the next period of the current period according to the information of the Non-post message provided by the Non-post message statistics module;
所述带宽分配决策模块,用于根据Post消息的带宽预估数据以及确认消息的带宽预估数据,获得用于生成拥塞控制消息的信息,并发送给拥塞控制消息产生模块;The bandwidth allocation decision module is configured to obtain information for generating a congestion control message according to the bandwidth estimation data of the Post message and the bandwidth estimation data of the confirmation message, and send it to the congestion control message generation module;
所述拥塞控制消息产生模块,用于根据接收到的用于生成拥塞控制消息的信息,生成拥塞控制消息,并发送给所述仲裁模块。The congestion control message generation module is configured to generate a congestion control message according to the received information for generating a congestion control message, and send it to the arbitration module.
本申请还提供一种数据拥塞控制装置,包括:This application also provides a data congestion control device, including:
第一带宽预估单元,用于获得用于表示Post消息占用通信带宽的第一数据,其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息;The first bandwidth estimation unit is used to obtain the first data used to indicate that the Post message occupies the communication bandwidth, where the Post message is sent by the source device to the destination device through the system bus and does not require the destination device to return a confirmation message Request message;
第二带宽预估单元,用于获得用于表示确认消息占用通信带宽的第二数据,其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息;The second bandwidth estimation unit is configured to obtain second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation response returned by the destination device to the Non-post message sent by the source device through the system bus Message; the Non-post message is a request message that the source device sends to the destination device via the system bus and requires the destination device to return a confirmation message;
拥塞控制单元,用于根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制。The congestion control unit is configured to perform congestion control on the data transmitted through the system bus according to the first data and the second data.
本申请还提供一种电子设备,包括:This application also provides an electronic device, including:
存储器,以及处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:A memory, and a processor; the memory is used to store computer executable instructions, and the processor is used to execute the computer executable instructions:
获得用于表示Post消息占用通信带宽的第一数据,其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息;Obtain first data used to indicate that the Post message occupies communication bandwidth, where the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message;
获得用于表示确认消息占用通信带宽的第二数据,其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息;Obtain the second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation response message returned by the destination device to the Non-post message sent by the source device through the system bus; the Non-post message is The source device sends to the destination device via the system bus a request message that requires the destination device to return a confirmation message;
根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制。According to the first data and the second data, congestion control is performed on the data transmitted through the system bus.
与现有技术相比,本申请具有以下优点:Compared with the prior art, this application has the following advantages:
本申请提供的数据拥塞控制方法,通过获得用于表示Post消息占用通信带宽的第一数据,获得用于表示确认消息占用通信带宽的第二数据,根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制,由于Post消息以及确认消息是服务器内占用系统总线带宽的主要流量,因此对Post消息占用通信带宽以及确认消息占用通信带宽进行预估,能更精确的识别拥塞发生的时机和状态,从而能提供有效的拥塞控制,解决了系统总线互连网络的数据传输的拥塞控制问题。The data congestion control method provided by the present application obtains first data indicating that the Post message occupies the communication bandwidth, and obtains the second data indicating that the confirmation message occupies the communication bandwidth. According to the first data and the second data , Congestion control of data transmitted through the system bus. Since Post messages and confirmation messages are the main traffic that occupies the system bus bandwidth in the server, the communication bandwidth occupied by Post messages and confirmation messages can be estimated more accurately. Identify the timing and status of the occurrence of congestion, thereby providing effective congestion control and solving the congestion control problem of data transmission in the system bus interconnection network.
本申请提供的一种带宽预估方法,通过根据当前时段发送缓冲区中Post消息的信息,确定Post消息的带宽预测状态和Post消息的带宽需求值,根据所述带宽预测状态和所述带宽需求值,确定所述Post消息的带宽预估数据。通过对Post消息占用带宽进行较为准确的预估,使得能够针对通过系统总线进行传输的数据进行更精确的拥塞控制, 从而解决数据拥塞问题。The bandwidth estimation method provided by the present application determines the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message by sending the Post message in the buffer in the current period of time, and according to the bandwidth prediction status and the bandwidth demand Value to determine the bandwidth estimation data of the Post message. By more accurately predicting the bandwidth occupied by the Post message, it is possible to perform more accurate congestion control for the data transmitted through the system bus, thereby solving the data congestion problem.
本申请提供的另一种带宽预估方法,通过根据当前时段待接收的确认消息的信息以及连接总线设备的端口的物理峰值带宽数据,获得确认消息的带宽预估数据。进一步的,可以根据Non-post消息较精确的预测对应的确认消息的带宽需求数据。通过对确认消息占用的带宽数据进行更准确的预估,使得能够针对通过系统总线传输的数据进行更为精确的拥塞控制,从而进一步解决数据拥塞问题。Another bandwidth estimation method provided by this application obtains the bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received in the current period and the physical peak bandwidth data of the port connected to the bus device. Further, the bandwidth requirement data of the corresponding confirmation message can be predicted more accurately based on the Non-post message. By more accurately predicting the bandwidth data occupied by the confirmation message, it is possible to perform more accurate congestion control for the data transmitted through the system bus, thereby further solving the data congestion problem.
附图说明Description of the drawings
图1是系统总线互连网络数据传输的网络环境示意图;Figure 1 is a schematic diagram of a network environment for system bus interconnection network data transmission;
图2是本申请第一实施例提供的一种数据拥塞控制方法的处理流程图;2 is a processing flowchart of a data congestion control method provided by the first embodiment of the present application;
图3是本申请第一实施例包括的数据拥塞决策算法的流程图;Fig. 3 is a flowchart of a data congestion decision algorithm included in the first embodiment of the present application;
图4是本申请第二实施例提供的一种带宽预估方法的处理流程图;4 is a processing flowchart of a bandwidth estimation method provided by the second embodiment of the present application;
图5是本申请第二实施例包括的Post消息带宽预测方法的流程图;5 is a flowchart of a method for predicting the bandwidth of a Post message included in the second embodiment of the present application;
图6是本申请第二实施例包括的源端设备Post消息带宽预测方法的流程图;6 is a flowchart of a method for predicting the bandwidth of a source device Post message included in the second embodiment of the present application;
图7是本申请第三实施例提供的一种带宽预估方法的处理流程图;FIG. 7 is a processing flowchart of a bandwidth estimation method provided by the third embodiment of the present application;
图8是本申请第三实施例提供的确认消息带宽预测方法的流程图;8 is a flowchart of a method for predicting the bandwidth of a confirmation message provided by the third embodiment of the present application;
图9是本申请第四实施例提供的一种总线交换系统的示意图;FIG. 9 is a schematic diagram of a bus switching system provided by the fourth embodiment of the present application;
图10是本申请第四实施例提供的一种总线交换系统的示意图;10 is a schematic diagram of a bus switching system provided by the fourth embodiment of the present application;
图11是本申请第五实施例提供的一种数据拥塞控制装置示意图;FIG. 11 is a schematic diagram of a data congestion control device provided by the fifth embodiment of the present application;
图12是本申请第六实施例提供的一种电子设备示意图。FIG. 12 is a schematic diagram of an electronic device provided by a sixth embodiment of the present application.
具体实施方式Detailed ways
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。In the following description, many specific details are explained in order to fully understand this application. However, this application can be implemented in many other ways different from those described here, and those skilled in the art can make similar promotion without violating the connotation of this application. Therefore, this application is not limited by the specific implementation disclosed below.
本申请提供一种数据拥塞控制方法、装置及电子设备。本申请还提供一种带宽预估方法。本申请还提供另一种带宽预估方法。本申请还提供一种总线交换系统,在下面的实施例中逐一进行详细说明。This application provides a data congestion control method, device and electronic equipment. This application also provides a bandwidth estimation method. This application also provides another bandwidth estimation method. This application also provides a bus switching system, which is described in detail in the following embodiments.
本申请第一实施例提供一种数据拥塞控制方法。所述数据拥塞控制方法,用于对系统总线互连网络的数据传输进行拥塞控制,以提高系统应用的执行性能。The first embodiment of the present application provides a data congestion control method. The data congestion control method is used to perform congestion control on the data transmission of the system bus interconnection network to improve the execution performance of system applications.
为便于理解,首先介绍系统总线互连网络数据传输的几个概念及网络环境。To facilitate understanding, first introduce several concepts and network environment of data transmission in the system bus interconnection network.
系统总线互连网络数据传输中,传输的是读写语义的消息,例如,Post Write、Non-post Write、Non-post Read、Completion。所谓Post Write(PWr),为不需要目的方返回确认消息的写通信操作,也称为非阻塞写。所谓Non-post Write(NPWr),为需要目的方返回确认消息的写通信操作,也称为阻塞写。所谓Non-post Read为读通信操作,所有的读通信操作均需要返回数据,因此读通信操作为Non-post操作,也称为阻塞操作。所谓Completion(CPL),为目的端收到Non-post Read操作消息后返回的读取的数据。In the data transmission of the system bus interconnection network, messages with read and write semantics are transmitted, such as PostWrite, Non-post Write, Non-post Read, and Completion. The so-called Post Write (PWr) is a write communication operation that does not require the destination to return a confirmation message, and is also called non-blocking writing. The so-called Non-post Write (NPWr) is a write communication operation that requires the destination to return a confirmation message, which is also called blocking write. The so-called Non-post Read is a read communication operation, all read communication operations need to return data, so the read communication operation is a non-post operation, also called a blocking operation. The so-called Completion (CPL) is the read data returned after the destination receives the Non-post Read operation message.
请参考图1,图中包括多种IO设备,例如:第一计算设备101、第二计算设备102、存储设备103、系统设备104、网卡105,这些IO设备接入系统总线,通过系统总线进行数据传输,系统总线为用于互连服务器内各种IO设备的通信总线,可以是PCIE总线,也可以是其他总线,例如CCIX、OpenCAPI、GenZ等总线。由于高速IO设备的应用,服务器内的各种高速IO设备对系统总线的争用问题越发凸显,有时甚至形成数据拥塞。例如,第一计算设备101读内存获得返回消息(Completion),与网卡105写往第一计算设备101的非阻塞写消息(Post Write)发生碰撞,造成数据拥塞。数据拥塞一方面会导致两种消息流量的无序带宽竞争,另一方面数据拥塞会反压至所有与第一计算设备101通信的设备,造成严重性能下降,所谓反压是指将接收方的缓冲区空余空间反向通知发送方以在发送方进行流量控制的机制。Please refer to Figure 1, which includes a variety of IO devices, such as: a first computing device 101, a second computing device 102, a storage device 103, a system device 104, and a network card 105. These IO devices are connected to the system bus and perform operations through the system bus. For data transmission, the system bus is a communication bus used to interconnect various IO devices in the server. It can be a PCIE bus or other buses, such as CCIX, OpenCAPI, GenZ, etc. Due to the application of high-speed IO devices, the contention of various high-speed IO devices in the server on the system bus becomes more and more prominent, sometimes even causing data congestion. For example, the first computing device 101 reads the memory to obtain a return message (Completion), and collides with the non-blocking write message (Post Write) written to the first computing device 101 by the network card 105, causing data congestion. On the one hand, data congestion will cause disorderly bandwidth competition between the two message flows. On the other hand, data congestion will back pressure to all devices communicating with the first computing device 101, causing severe performance degradation. The so-called back pressure refers to The free space of the buffer is a mechanism that informs the sender in reverse to perform flow control on the sender.
以下结合图2和图3对本申请第一实施例提供的数据拥塞控制方法进行说明。The data congestion control method provided by the first embodiment of the present application will be described below in conjunction with FIG. 2 and FIG. 3.
图2所示的数据拥塞控制方法,包括:步骤S201至步骤S203。The data congestion control method shown in FIG. 2 includes: step S201 to step S203.
步骤S201,获得用于表示Post消息占用通信带宽的第一数据。Step S201: Obtain first data indicating that the Post message occupies communication bandwidth.
其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息。例如,Post消息为Post Write消息。Wherein, the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message. For example, the Post message is a Post Write message.
所述第一数据为针对Post消息占用通信带宽预测得到的预估数据,例如,根据当前时段的Post消息的包长度信息预测相邻后一个时段Post消息的带宽需求值以及带宽预测状态。本实施例中,所谓时段可以是时隙(Timeslot)。The first data is estimated data obtained by predicting the communication bandwidth occupied by the Post message, for example, predicting the bandwidth demand value and the bandwidth prediction state of the Post message in the next adjacent period according to the packet length information of the Post message in the current period. In this embodiment, the so-called time period may be a time slot (Timeslot).
本实施例中,根据发送缓冲区的Post消息的控制信息对Post消息占用的通信带宽进行预测,所述发送缓冲区用于暂时存储来自系统总线内部交换模块并将发往系统总线设备的消息。通过进入发送缓冲区的Post消息以及发送出发送缓冲区的Post消息可以预测Post消息占用的通信带宽。具体的,通过下述处理获得用于表示Post消息占用通 信带宽的第一数据:In this embodiment, the communication bandwidth occupied by the Post message is predicted according to the control information of the Post message in the sending buffer, which is used to temporarily store messages from the internal exchange module of the system bus and sent to the system bus device. The communication bandwidth occupied by the Post message can be predicted by the Post message entering the sending buffer and the Post message sending out of the sending buffer. Specifically, the first data used to indicate that the Post message occupies the communication bandwidth is obtained through the following processing:
获得入发送缓冲区的Post消息的第一Post控制信息;Obtain the first Post control information of the Post message entered into the sending buffer;
获得出发送缓冲区的Post消息的第二Post控制信息;Obtain the second Post control information of the Post message in the sending buffer;
根据所述第一Post控制信息和第二Post控制信息,得到第一数据。According to the first Post control information and the second Post control information, first data is obtained.
其中,第一Post控制信息为入发送缓冲区的Post消息的控制信息,例如,入发送缓冲区的Post消息的请求类型、请求标识、请求地址、请求长度等信息;第二Post控制信息为由发送缓冲区发送出的Post消息的控制信息,例如,出发送缓冲区的Post消息的请求类型、请求标识、请求地址、请求长度等信息。Among them, the first Post control information is the control information of the Post message entering the sending buffer, for example, the request type, request identifier, request address, request length and other information of the Post message entering the sending buffer; the second Post control information is the reason The control information of the Post message sent from the sending buffer, for example, the request type, request identifier, request address, and request length of the Post message sent from the sending buffer.
本实施例中,优选根据Post消息的长度信息确定每个源端设备的Post消息的带宽预估数据,所谓源端设备,是指接入系统总线互连网络的且发送Post消息的总线设备。具体包括下述处理:In this embodiment, it is preferable to determine the bandwidth estimation data of the Post message of each source device according to the length information of the Post message. The so-called source device refers to the bus device that is connected to the system bus interconnection network and sends the Post message. Specifically include the following processing:
获得当前时段发送缓冲区中的Post消息的第一长度信息;Obtain the first length information of the Post message in the sending buffer of the current period;
获得与当前时段相邻的前一个相邻时段发送缓冲区中的Post消息的第二长度信息;Obtain the second length information of the Post message in the sending buffer in the previous adjacent time period adjacent to the current time period;
根据第一长度信息和第二长度信息,确定至少一个源端设备发出的Post消息的Post消息带宽预估数据。According to the first length information and the second length information, the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
步骤S202,获得用于表示确认消息占用通信带宽的第二数据。Step S202: Obtain second data indicating that the confirmation message occupies the communication bandwidth.
其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息。Wherein, the confirmation message is a confirmation response message returned by the destination device in response to a Non-post message sent by the source device through the system bus; the Non-post message is a required purpose sent by the source device to the destination device through the system bus The end device returns a request message for confirmation.
本实施例中,所述确认消息至少包括下述一种消息:针对Non-post读操作请求返回的确认消息;针对Non-post写操作请求返回的确认消息。例如,所述确认消息为针对Non-post Read消息返回的Completion消息。In this embodiment, the confirmation message includes at least one of the following messages: a confirmation message returned for a non-post read operation request; and a confirmation message returned for a non-post write operation request. For example, the confirmation message is a Completion message returned for a Non-post Read message.
所述获得用于表示确认消息占用通信带宽的第二数据,包括:根据入接收缓冲区的Non-post消息的控制信息,生成所述第二数据。由于系统总线互连网络中传输的读写语义消息中的Non-post消息与确认消息成对出现,例如,Non-post Read与Completion成对出现,因此,根据Non-post消息的控制信息能够准确预测确认消息的发生,进一步,可以准确的得到确认消息的带宽预估数据。The obtaining the second data used to indicate that the confirmation message occupies the communication bandwidth includes: generating the second data according to the control information of the Non-post message entered into the receiving buffer. Since the Non-post message and the confirmation message in the read and write semantic messages transmitted in the system bus interconnection network appear in pairs, for example, Non-post Read and Completion appear in pairs, so the control information according to the Non-post message can be accurate The occurrence of the confirmation message is predicted, and further, the bandwidth estimation data of the confirmation message can be accurately obtained.
本实施例提供的一个实施方式中,具体通过下述处理获得所述第二数据:获得出接收缓冲区且未收到确认消息的未确认Non-post消息的信息;根据所述未确认Non-post消息的信息,生成所述第二数据。其中,所述根据所述未确认Non-post消息的信息,生 成所述第二数据,包括:根据所述未确认Non-post消息的信息,获得待接收的确认消息的总包长度信息;根据所述待接收的确认消息的总包长度信息,生成所述第二数据。其中,所述待接收的确认消息为所述未确认Non-post消息对应的确认消息。进一步,还包括:根据收到的确认消息的包长度信息,更新所述待接收的确认消息的总包长度信息。In an implementation manner provided by this embodiment, the second data is specifically obtained by the following processing: obtaining information about the unconfirmed Non-post message that has been out of the receiving buffer and the confirmation message has not been received; according to the unconfirmed Non-post message; The information of the post message generates the second data. Wherein, the generating the second data according to the information of the unconfirmed Non-post message includes: obtaining the total packet length information of the confirmation message to be received according to the information of the unconfirmed Non-post message; The total packet length information of the confirmation message to be received generates the second data. Wherein, the confirmation message to be received is the confirmation message corresponding to the non-confirmed Non-post message. Further, the method further includes: updating the total packet length information of the confirmation message to be received according to the packet length information of the received confirmation message.
步骤S203,根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制。Step S203: Perform congestion control on the data transmitted through the system bus according to the first data and the second data.
本实施例中,带宽预估数据包括带宽需求值和带宽预测状态信息,所述带宽需求值,是指针对一类消息进行预测得到的需要占用的通信带宽,例如针对Post消息进行预测得到的Post消息需要占用的通信带宽,再如,针对确认消息进行预测得到的确认消息需要占用的通信带宽;所述带宽预测状态是指针对一类消息进行预测得到的需求状态,例如排空状态或积压状态,以便后续根据不同状态采取不同的策略进行拥塞控制。当然,带宽预测状态还可以在排空状态和积压状态之间根据消息的累积程度细分为一个或多个级别,例如将缓冲区中消息逐渐增多的状态确定为累积状态,或者根据消息增多的数量或速度划分为第一累积状态、第二累积状态等多个状态。所谓消息排空,是指出缓冲区的消息数大于入缓冲区的消息数,也就是缓冲区中消息数呈现减少的趋势;所谓消息积压,是指缓冲区已占满导致无可用缓冲空间或者无空余缓冲空间但是仍然有消息排队待进入缓冲区;所谓消息累积,是指有可用缓冲空间,但是出缓冲区的消息数小于入缓冲区的消息数,也就是缓冲区中消息数呈现增加的趋势。In this embodiment, the bandwidth estimation data includes bandwidth demand value and bandwidth prediction status information. The bandwidth demand value refers to the communication bandwidth that needs to be occupied by predicting a type of message, for example, the Post message obtained by predicting the Post message. The communication bandwidth that the message needs to occupy, for example, the communication bandwidth that the confirmation message needs to occupy by predicting the confirmation message; the bandwidth prediction state refers to the demand state obtained by predicting a type of message, such as the empty state or the backlog state , So that different strategies can be adopted for congestion control according to different states. Of course, the bandwidth prediction state can also be subdivided into one or more levels according to the degree of accumulation of messages between the empty state and the backlog state. For example, the state of increasing messages in the buffer is determined as the accumulation state, or according to the increase of messages The number or speed is divided into multiple states such as the first accumulation state and the second accumulation state. The so-called message emptying means that the number of messages in the buffer is greater than the number of messages entering the buffer, that is, the number of messages in the buffer has a decreasing trend; the so-called message backlog means that the buffer is full and there is no available buffer space or no There are free buffer space, but there are still messages queued to enter the buffer; the so-called message accumulation means that there is available buffer space, but the number of messages out of the buffer is less than the number of messages in the buffer, that is, the number of messages in the buffer is increasing .
本实施例提供的一个实施方式中,通过下述处理对通过系统总线传输的数据进行拥塞控制:根据所述第一数据,获得第一带宽需求值和第一带宽预测状态信息;根据所述第二数据,获得第二带宽需求值和第二带宽预测状态信息;根据所述第一带宽需求值、第一带宽预测状态信息、第二带宽需求值和第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。具体的,包括下述处理:如果第一带宽需求值与第二带宽需求值之和满足预设拥塞控制条件,则根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。进一步,包括下述至少一种处理方式:In an implementation manner provided by this embodiment, congestion control is performed on data transmitted through the system bus through the following processing: obtaining a first bandwidth demand value and first bandwidth prediction state information according to the first data; The second data is to obtain the second bandwidth demand value and the second bandwidth prediction state information; according to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information, the data is passed through the system bus The transmitted data is subject to congestion control. Specifically, it includes the following processing: if the sum of the first bandwidth demand value and the second bandwidth demand value meets the preset congestion control condition, then according to the first bandwidth prediction state information and the second bandwidth prediction state information, the data is transmitted through the system bus Data for congestion control. Further, at least one of the following processing methods is included:
方式一、如果第二带宽预测状态信息不为确认消息排空状态,则控制Non-post消息的处理速度。进一步,包括:根据第一带宽需求值,生成带宽控制类型为控制Non-post消息的拥塞控制信息;根据所述拥塞控制信息对Non-post消息进行拥塞控制。Manner 1: If the second bandwidth prediction state information is not the confirmation message empty state, control the processing speed of the non-post message. Further, the method includes: generating, according to the first bandwidth demand value, congestion control information whose bandwidth control type is controlling Non-post messages; and performing congestion control on the Non-post messages according to the congestion control information.
方式二、如果第二带宽预测状态信息指示的第二带宽预测状态不为响应消息排空状态,并且第一带宽预测状态信息指示的第一带宽预测状态不为Post消息排空状态,或者, 如果第二带宽预测状态信息为确认消息排空状态,则按照预设Post消息拥塞控制策略对Post消息进行拥塞控制。其中,所述按照预设Post消息拥塞控制策略对Post消息进行拥塞控制,包括:Manner 2: If the second bandwidth prediction state indicated by the second bandwidth prediction state information is not the response message draining state, and the first bandwidth prediction state indicated by the first bandwidth prediction state information is not the Post message draining state, or if The second bandwidth prediction state information is the confirmation message emptying state, and the Post message congestion control is performed according to the preset Post message congestion control strategy. Wherein, the congestion control of the Post message according to the preset Post message congestion control strategy includes:
获得满足所述预设Post消息拥塞控制策略的目标源端设备的标识信息,以及所述目标源端设备的Post消息带宽需求值;Obtaining identification information of the target source device that meets the preset Post message congestion control strategy, and the Post message bandwidth demand value of the target source device;
根据所述目标源端设备的标识信息以及Post消息带宽需求值,针对所述目标源端设备生成带宽控制类型为控制Post消息的拥塞控制信息;Generating, for the target source device, congestion control information whose bandwidth control type is the control Post message according to the identification information of the target source device and the Post message bandwidth demand value;
根据所述拥塞控制信息对Post消息进行拥塞控制。Perform congestion control on the Post message according to the congestion control information.
其中,所述目标源端设备为任一发送Post消息的源端设备,或,带宽需求值满足Post消息带宽阈值条件的源端设备,或,带宽预测状态信息指示为Post消息积压状态的源端设备。Wherein, the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value satisfies the bandwidth threshold condition of a Post message, or a source whose bandwidth prediction status information indicates a Post message backlog state equipment.
请参考图3,图中给出了实际应用中拥塞控制的决策算法,其中的符号含义分别为:BW_cpl为确认消息带宽需求值;BW_post为Post消息带宽需求值,BW为系统总线的通信带宽;α为小于1的系数;State_cpl为确认消息带宽预测状态;Cpl排空为确认消息排空状态;State_post为Post消息带宽预测状态;Post排空为Post消息排空状态;State_i为第i个源端设备的Post消息状态;BW_post_i为第i个源端设备的Post消息的带宽需求值。决策算法的具体步骤包括:Please refer to Figure 3, which shows the decision algorithm for congestion control in practical applications. The meanings of the symbols are as follows: BW_cpl is the bandwidth demand value of the confirmation message; BW_post is the bandwidth demand value of the Post message, and BW is the communication bandwidth of the system bus; α is a coefficient less than 1; State_cpl is the confirmation message bandwidth prediction state; Cpl empty is the confirmation message empty state; State_post is the Post message bandwidth prediction state; Post empty is the Post message empty state; State_i is the i-th source The Post message status of the device; BW_post_i is the bandwidth demand value of the Post message of the i-th source device. The specific steps of the decision algorithm include:
S301,判断确认消息带宽需求值与Post消息带宽需求值的加和是否小于BW*α;若条件成立,则不进行拥塞控制;否则跳转至S302;S301: Determine whether the sum of the bandwidth demand value of the confirmation message and the bandwidth demand value of the Post message is less than BW*α; if the condition is established, no congestion control is performed; otherwise, skip to S302;
S302,判断确认消息带宽预测状态是否为确认消息排空状态,即判断State_cpl==Cpl排空是否成立;若条件成立,则转入S305;若不成立,则转入S303;S302: Judge whether the state of the confirmation message bandwidth prediction is the confirmation message emptying state, that is, judge whether State_cpl==Cpl emptying is established; if the condition is established, go to S305; if not, go to S303;
S303,进行Non-post消息速度控制,根据确认消息带宽需求值BW_cpl生成拥塞控制类型为控制Non-post类型的拥塞控制消息,用于控制处理Non-post消息的速度,并转入S304;S303: Perform non-post message speed control, and generate a congestion control message whose congestion control type is the control Non-post type according to the confirmed message bandwidth requirement value BW_cpl, which is used to control the processing speed of the Non-post message, and proceed to S304;
S304,判断Post带宽预测状态是否为Post排空状态,即判断State_post!=Post排空是否成立,如果成立则转入S305;S304: Judge whether the post bandwidth prediction state is the Post empty state, that is, judge State_post! =Whether Post emptying is established, if yes, go to S305;
S305,进行Post消息拥塞控制,随机选择p个不为Post排空状态的源端设备,即State_i!=Post排空的源端设备,提取所述源端设备的ID,根据所述源端设备的带宽需求值BW_post_i生成拥塞控制类型为控制Post的拥塞控制消息,用于控制处理Post消 息的速度。当然,S305中,还可以是按照其他策略选取其他源端设备控制Post消息的速度,例如,选择Post带宽需求值大于阈值的几个源端设备,或者对BW_post_i排序按照顺序选择最大的几个源端设备,或者选择Post带宽预测状态为Post积压的源端设备,进行Post消息控制,例如降低Post消息的速度。S305: Perform Post message congestion control, and randomly select p source devices that are not in the Post empty state, that is, State_i! = Post drained source device, extract the ID of the source device, and generate a congestion control message whose congestion control type is Post control according to the bandwidth demand value BW_post_i of the source device to control the speed of processing Post messages. Of course, in S305, you can also select other source devices to control the speed of Post messages according to other strategies, for example, select several source devices whose Post bandwidth demand value is greater than a threshold, or select the largest sources in order of BW_post_i Or select the source device whose Post bandwidth prediction status is Post backlog to perform Post message control, such as reducing the speed of Post messages.
本实施例提供的一个实施方式中,所述根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制,包括下述处理:In an implementation manner provided by this embodiment, the performing congestion control on the data transmitted through the system bus according to the first data and the second data includes the following processing:
统计每个时段的Post消息带宽实际值和确认消息带宽实际值;Statistics the actual value of Post message bandwidth and the actual value of confirmation message bandwidth in each period;
根据当前时段和前一个相邻时段的Post消息带宽实际值,获得Post消息带宽预测状态信息,根据当前时段和前一个相邻时段的确认消息带宽实际值,获得确认消息带宽预测状态信息;Obtain Post message bandwidth prediction status information according to the actual value of the Post message bandwidth in the current period and the previous adjacent period, and obtain the confirmation message bandwidth prediction status information according to the actual value of the confirmation message bandwidth in the current period and the previous adjacent period;
根据所述Post消息带宽预测状态信息和所述确认消息带宽预测状态信息,对所述数据进行拥塞控制。Perform congestion control on the data according to the Post message bandwidth prediction state information and the confirmation message bandwidth prediction state information.
本实施例提供的一个实施方式中,还包括生成拥塞控制消息,根据拥塞控制信息进行拥塞控制,具体包括:In an implementation manner provided by this embodiment, it further includes generating a congestion control message, and performing congestion control according to the congestion control information, which specifically includes:
根据所述第一数据和所述第二数据,生成拥塞控制消息;Generating a congestion control message according to the first data and the second data;
根据所述拥塞控制消息,对所述数据进行拥塞控制;其中,所述数据包括Post消息、Non-post消息以及确认消息中的至少一种消息。Perform congestion control on the data according to the congestion control message; wherein, the data includes at least one of a Post message, a Non-post message, and a confirmation message.
进一步,所述根据所述拥塞控制消息,对所述数据进行拥塞控制,包括:Further, the performing congestion control on the data according to the congestion control message includes:
如果判断所述拥塞控制消息的拥塞控制类型为控制Non-post请求速率类型,则根据所述控制消息中的控制数据,降低对Non-post消息的仲裁速率;If it is judged that the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
如果判断所述拥塞控制消息的拥塞控制类型为控制Post请求速率类型,则将所述拥塞控制消息发送给对应的系统总线设备。If it is determined that the congestion control type of the congestion control message is a control Post request rate type, the congestion control message is sent to the corresponding system bus device.
至此,对本申请第一实施例提供的数据拥塞控制方法进行了详细介绍。所述数据拥塞控制方法,用于根据Post消息带宽预估数据以及确认消息带宽预估数据,对系统总线互连网络的数据传输进行拥塞控制,以提高系统应用的执行性能。So far, the data congestion control method provided by the first embodiment of the present application has been introduced in detail. The data congestion control method is used to perform congestion control on the data transmission of the system bus interconnection network according to the post message bandwidth estimation data and the confirmation message bandwidth estimation data, so as to improve the execution performance of the system application.
以上述实施例为基础,本申请第二实施例提供了一种带宽预估方法。Based on the foregoing embodiment, the second embodiment of the present application provides a bandwidth estimation method.
以下结合图4至图6对本申请第二实施例提供的所述带宽预估方法进行说明。The bandwidth estimation method provided by the second embodiment of the present application will be described below with reference to FIGS. 4 to 6.
图4所示的带宽预估方法,包括:步骤S401至步骤S403。The bandwidth estimation method shown in FIG. 4 includes: step S401 to step S403.
S401,获得当前时段发送消息存储区域中Post消息的信息。S401: Obtain the information of the Post message in the message storage area of the current period of time.
所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返 回确认消息的请求消息。例如,Post消息为Post Write消息。The Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message. For example, the Post message is a Post Write message.
本实施例中,根据发送消息存储区域的Post消息的控制信息对Post消息占用的通信带宽进行预测。所述发送消息存储区域可以是发送缓冲区。所述发送缓冲区用于暂时存储来自系统总线内部交换模块并将发往系统总线设备的消息。具体的,根据当前时段发送缓冲区的Post消息的信息,例如包长度信息,预测相邻后一个时段Post消息的带宽需求值以及带宽预测状态。本步骤为获得当前时段发送缓冲区中Post消息的信息,包括获得发送缓冲区的Post消息的控制信息,使用所述控制信息对Post消息占用的通信带宽进行预测。所述控制信息,至少包括请求长度信息,还可以包括:Post消息的请求类型、请求标识、请求地址等信息中的任一信息。In this embodiment, the communication bandwidth occupied by the Post message is predicted based on the control information of the Post message in the message storage area. The sending message storage area may be a sending buffer. The sending buffer is used to temporarily store messages from the internal exchange module of the system bus and sent to the system bus device. Specifically, according to the information of the Post message in the sending buffer in the current period, such as packet length information, the bandwidth demand value and the bandwidth prediction state of the Post message in the next period are predicted. This step is to obtain the information of the Post message in the sending buffer in the current period, including obtaining the control information of the Post message in the sending buffer, and using the control information to predict the communication bandwidth occupied by the Post message. The control information includes at least request length information, and may also include any of the information such as the request type, request identifier, and request address of the Post message.
S402,根据所述当前时段发送消息存储区域中Post消息的信息,确定Post消息的带宽预测状态和Post消息的带宽需求值。S402: Determine the bandwidth prediction state of the Post message and the bandwidth demand value of the Post message according to the information of the Post message in the message storage area for the current period of time.
本实施例中,通过下述处理确定Post消息的带宽预测状态和Post消息的带宽需求值:In this embodiment, the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message are determined through the following processing:
根据所述当前时段发送消息存储区域中Post消息的信息,获得当前时段中Post消息的包长度累加值,作为第一总长度值;Obtaining the accumulated value of the packet length of the Post message in the current period according to the information of the Post message in the message storage area of the current period of time, as the first total length value;
如果所述第一总长度值满足第一阈值条件,则将Post消息的带宽预测状态确定为Post消息积压状态;否则,获得与当前时段相邻的前一个相邻时段的Post消息的信息,根据所述第一总长度值和所述前一个相邻时段的Post消息的信息,获得所述Post消息的带宽预估数据。If the first total length value meets the first threshold condition, the bandwidth prediction state of the Post message is determined to be the Post message backlog state; otherwise, the information of the Post message in the previous adjacent time period adjacent to the current time period is obtained, according to The first total length value and the information of the Post message in the previous adjacent time period are used to obtain bandwidth estimation data of the Post message.
其中,所述根据所述第一总长度值和所述前一个相邻时段的Post消息的信息,获得所述Post消息的带宽预估数据,包括:Wherein, the obtaining bandwidth estimation data of the Post message according to the first total length value and the information of the Post message in the previous adjacent time period includes:
根据所述前一个相邻时段的Post消息的信息,获得前一个相邻时段的Post消息的包长度累加值,作为第二总长度值;Obtaining, according to the information of the Post message in the previous adjacent time period, the accumulated value of the packet length of the Post message in the previous adjacent time period as the second total length value;
如果第一总长度值不大于第二总长度值,则将Post消息的带宽预测状态确定为Post消息排空状态,将Post息的带宽需求值确定为预定值;If the first total length value is not greater than the second total length value, determine the bandwidth prediction state of the Post message as the Post message empty state, and determine the bandwidth demand value of the Post message as the predetermined value;
如果第一总长度值与第二总长度值的差值满足第二阈值条件,则将Post消息的带宽预测状态确定为Post消息累积状态,并且根据第一总长度值与第二总长度值确定Post消息的带宽需求值。If the difference between the first total length value and the second total length value satisfies the second threshold condition, the bandwidth prediction state of the Post message is determined as the Post message accumulation state, and is determined according to the first total length value and the second total length value Bandwidth demand value of Post message.
S403,根据所述带宽预测状态和所述带宽需求值,确定所述Post消息的带宽预估数据。S403: Determine bandwidth estimation data of the Post message according to the bandwidth prediction state and the bandwidth demand value.
本实施例中,将所述带宽预测状态和所述带宽需求值作为所述Post消息的带宽预估数据。In this embodiment, the bandwidth prediction state and the bandwidth demand value are used as bandwidth estimation data of the Post message.
请参考图5,图中示出了一种系统总线Post消息的带宽预估数据的处理步骤,图中的符号含义分别为:Len_new为当前时段的Post消息长度信息;Len_old为前一个相邻时段的Post消息长度信息;TH_hi为第一阈值条件;TH为第二阈值条件;Post积压表示Post消息预测带宽状态为消息积压状态;Post排空为表示Post消息预测带宽状态为消息排空状态;Post累积为表示Post消息预测带宽状态为消息累积状态;BW_post为Post消息带宽需求值;State为Post消息带宽预测状态。图中的处理步骤包括:Please refer to Figure 5, which shows the processing steps of bandwidth estimation data for a system bus Post message. The meanings of the symbols in the figure are: Len_new is the length of the Post message in the current period; Len_old is the previous adjacent period Post message length information; TH_hi is the first threshold condition; TH is the second threshold condition; Post backlog means that the predicted bandwidth status of Post messages is the message backlog status; Post empty means that the predicted bandwidth status of Post messages is the message empty status; Post Cumulative indicates that the predicted bandwidth state of Post message is the message accumulation state; BW_post is the bandwidth demand value of Post message; State is the predicted state of Post message bandwidth. The processing steps in the figure include:
S501,当前时段开始后,判断Len_new是否大于阈值TH_hi,如果是,则表示发送缓冲区中的待发送Post消息数较多,需要进行拥塞控制,转入S501-1;否则转入S502;S501: After the current period starts, judge whether Len_new is greater than the threshold TH_hi. If it is, it means that there are too many Post messages to be sent in the sending buffer, and congestion control is required. Then, go to S501-1; otherwise, go to S502;
S501-1,将State设置为Post积压状态,以便进行Post消息拥塞控制;S501-1: Set the State to the Post backlog state for Post message congestion control;
S502,判断Len_new是否大于Len_old,即比较当前时段与前一个相邻时段的Post消息长度信息,如果判断结果为否,则说明当前时段相比前一个相邻时段Post消息长度降低,为排空状态,将State设置为Post排空状态,带宽需求预定值为0;如果判断结果为是,转入S503;S502: Determine whether Len_new is greater than Len_old, that is, compare the Post message length information of the current time period and the previous adjacent time period. If the judgment result is no, it means that the current time period is lower than the Post message length of the previous adjacent time period, which is an empty state. , Set the State to the Post emptying state, and the bandwidth requirement is set to 0; if the judgment result is yes, go to S503;
S503,判断Len_new与Len_old的差值是否不超过第二阈值TH,例如判断Len_new>Len_old+TH是否成立,如果是,则说明当前时段与前一个相邻时段相比待发送Post消息增多达到了一定程度,设置Post消息带宽预测状态为Post积压状态,对应的Post消息带宽需求值采用BW_post=f(Len_new,Len_old,t)公式计算;如果否,则说明当前时段与前一个相邻时段相比待发送Post消息虽然增多但尚未达到积压的程度,设置State为Post累积状态,并采用BW_post=f(Len_new,Len_old,t)公式计算带宽需求值,该公式中f函数与(Len_new-Len_old)的值成正比。S503: Determine whether the difference between Len_new and Len_old does not exceed the second threshold TH, for example, determine whether Len_new>Len_old+TH is established. If it is, it means that the number of Post messages to be sent in the current period has reached a certain level compared with the previous adjacent period. Set the post message bandwidth prediction status to the Post backlog status, and the corresponding Post message bandwidth demand value is calculated using the formula BW_post=f(Len_new,Len_old,t); if not, it means that the current period is compared with the previous adjacent period. Although the number of Post messages sent has increased but has not yet reached the level of backlog, set State to the Post accumulation state, and use the formula BW_post=f(Len_new,Len_old,t) to calculate the bandwidth demand value, where the f function and the value of (Len_new-Len_old) Proportionally.
本实施例中,还包括确定接入系统总线互连网络的每个源端设备的Post带宽预估数据。例如,通过下述方法获得目标源端设备的Post消息带宽预估数据:In this embodiment, it also includes determining the Post bandwidth estimation data of each source device connected to the system bus interconnection network. For example, the bandwidth estimation data of the Post message of the target source device is obtained by the following method:
获得当前时段发送消息存储区域中目标源端设备的Post消息的包长度累加值,作为第一源端设备Post消息总长度值;Obtain the cumulative value of the packet length of the Post message of the target source device in the message storage area of the current period of time, as the total length of the Post message of the first source device;
根据所述第一源端设备Post消息总长度值,确定所述目标源端设备的Post消息的带宽预测状态以及带宽需求值;Determine the bandwidth prediction state and bandwidth demand value of the Post message of the target source device according to the total length value of the Post message of the first source device;
将所述目标源端设备的Post消息的带宽预测状态以及带宽需求值,作为所述目标源端设备的Post消息的带宽预估数据。The bandwidth prediction state and the bandwidth demand value of the Post message of the target source device are used as bandwidth estimation data of the Post message of the target source device.
进一步,如果所述第一源端设备Post消息总长度值满足第三阈值条件,则将所述目标源端设备的Post消息的带宽预测状态确定为Post消息积压状态;否则,获得与当前时段相邻的前一个相邻时段目标源端设备的Post消息的信息,根据所述第一源端设备Post消息总长度值和所述前一个相邻时段目标源端设备的Post消息的信息,获得所述目标源端设备的Post消息的带宽预估数据。Further, if the total length value of the Post message of the first source device satisfies the third threshold condition, the bandwidth prediction state of the Post message of the target source device is determined as the Post message backlog state; otherwise, it is obtained that it corresponds to the current time period. According to the information of the Post message of the target source device in the previous adjacent period, the total length of the Post message of the first source device and the information of the Post message of the target source device in the previous adjacent period are obtained. The bandwidth estimation data of the Post message of the target source device.
请参考图6,图中示出了获得第i个目标源端设备的Post消息的带宽预估数据的处理步骤,其处理逻辑与图5中的处理逻辑相似。图中的符号含义分别为:Len_new_i为当前时段第i个设备的Post消息长度信息;Len_old_i为前一个相邻时段第i个设备的Post消息长度信息;TH_hi_i为第i个设备的第三阈值;TH_i为第四阈值;BW_post_i为第i个设备Post消息带宽需求值;State_i为第i个设备的Post消息带宽预测状态。图中的处理步骤包括:Please refer to FIG. 6, which shows the processing steps for obtaining the bandwidth estimation data of the Post message of the i-th target source device, and the processing logic is similar to that in FIG. 5. The meanings of the symbols in the figure are: Len_new_i is the Post message length information of the i-th device in the current period; Len_old_i is the Post message length information of the i-th device in the previous adjacent period; TH_hi_i is the third threshold of the i-th device; TH_i is the fourth threshold; BW_post_i is the Post message bandwidth demand value of the i-th device; State_i is the Post message bandwidth prediction state of the i-th device. The processing steps in the figure include:
S601,当前时段开始后,判断Len_new_i是否大于阈值TH_hi_i,如果是,则表示发送缓冲区中第i个设备的待发送Post消息数较多,需要进行拥塞控制,转入S601-1;否则转入S602;S601: After the current period starts, judge whether Len_new_i is greater than the threshold TH_hi_i. If it is, it means that the number of Post messages to be sent by the i-th device in the sending buffer is large, and congestion control is required. Then, go to S601-1; otherwise, go to S601-1. S602;
S601-1,将State_i设置为Post积压状态,以便对第i个设备进行Post消息拥塞控制;S601-1: Set State_i to the Post backlog state, so as to perform Post message congestion control on the i-th device;
S602,判断Len_new_i是否大于Len_old_i,即比较当前时段与前一个相邻时段第i个设备的Post消息长度信息,如果判断结果为否,则说明当前时段相比前一个相邻时段第i个设备的Post消息长度降低,为排空状态,将State_i设置为Post排空状态,带宽需求预定值为0;如果判断结果为是,转入S603;S602. Determine whether Len_new_i is greater than Len_old_i, that is, compare the Post message length information of the i-th device in the current period and the previous adjacent period. If the judgment result is no, it means that the current period is compared with that of the i-th device in the previous adjacent period. The length of the Post message is reduced, it is the emptying state, and the State_i is set to the Post emptying state, and the bandwidth requirement is preset to 0; if the judgment result is yes, go to S603;
S603,判断Len_new_i与Len_old_i的差值是否不超过第四阈值TH_i,例如,判断Len_new_i>Len_old_i+TH_i是否成立,如果是,则说明当前时段与前一个相邻时段相比第i个设备的待发送Post消息增多达到了一定程度,设置State_i为Post积压状态,对应的Post消息带宽需求值采用BW_post_i=f(Len_new_i,Len_old_i,t)公式计算;如果否,则说明当前时段与前一个相邻时段相比第i个设备的待发送Post消息虽然增多但尚未达到积压的程度,设置State_i为Post累积状态,并采用BW_post_i=f(Len_new_i,Len_old_i,t)公式计算带宽需求值,该公式中f函数与(Len_new_i-Len_old_i)的值成正比。S603: Determine whether the difference between Len_new_i and Len_old_i does not exceed the fourth threshold TH_i, for example, determine whether Len_new_i>Len_old_i+TH_i is established, and if so, it indicates that the current period is compared with the previous adjacent period and the i-th device to be sent The increase of Post messages has reached a certain level. Set State_i to the Post backlog state, and the corresponding Post message bandwidth demand value is calculated using the formula BW_post_i=f(Len_new_i,Len_old_i,t); if not, it means that the current period is similar to the previous adjacent period. Although more Post messages to be sent than the i-th device have not yet reached the level of backlog, set State_i to the Post accumulation state, and use the BW_post_i=f(Len_new_i,Len_old_i,t) formula to calculate the bandwidth demand value. The f function in the formula is The value of (Len_new_i-Len_old_i) is proportional.
以上述实施例为基础,本申请第三实施例提供了另一种带宽预估方法。Based on the foregoing embodiment, the third embodiment of the present application provides another bandwidth estimation method.
以下结合图7和图8对第三实施例提供的所述带宽预估方法进行说明。The bandwidth estimation method provided by the third embodiment will be described below in conjunction with FIG. 7 and FIG. 8.
图7所示的带宽预估方法,包括:步骤S701至步骤S703。The bandwidth estimation method shown in FIG. 7 includes: step S701 to step S703.
步骤S701,获得当前时段待接收的确认消息的信息。Step S701: Obtain the information of the confirmation message to be received in the current period.
本实施例中,所述待接收的确认消息为出接收消息存储区域且未收到确认消息的未确认Non-post消息对应的确认消息;其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息。所述接收消息存储区域可以是接收缓冲区。所述接收缓冲区用于暂时存储来自系统总线设备并将发往系统总线内部交换模块的消息。In this embodiment, the confirmation message to be received is the confirmation message corresponding to the unconfirmed Non-post message that is out of the received message storage area and the confirmation message is not received; wherein, the confirmation message is that the destination device is directed to the source device A confirmation response message returned by a Non-post message sent through the system bus; the Non-post message is a request message that the source device sends to the destination device through the system bus and requires the destination device to return a confirmation message. The received message storage area may be a receiving buffer. The receiving buffer is used to temporarily store messages from the system bus device and sent to the internal exchange module of the system bus.
所述获得当前时段待接收的确认消息的信息,包括:The obtaining the information of the confirmation message to be received in the current period includes:
获得所述未确认Non-post消息的控制信息;Obtain the control information of the unconfirmed Non-post message;
根据所述未确认Non-post消息的控制信息,获得所述待接收的确认消息的包长度累加信息;Obtaining, according to the control information of the unconfirmed Non-post message, the accumulated information of the packet length of the confirmation message to be received;
获得当前时段收到的确认消息的包长度信息,根据当前时段收到的确认消息的包长度信息以及所述包长度累加信息,得到当前时段待接收的确认消息的包长度信息,作为所述当前时段待接收的确认消息的信息。The packet length information of the confirmation message received in the current period is obtained, and the packet length information of the confirmation message to be received in the current period is obtained according to the packet length information of the confirmation message received in the current period and the packet length accumulation information, as the current period Information about the confirmation message to be received in the time slot.
由于系统总线互连网络中传输的读写语义消息中的Non-post消息与确认消息成对出现,例如,Non-post Read与Completion成对出现,因此,根据Non-post消息的控制信息能够准确预测确认消息的发生,进一步,可以准确的得到确认消息的带宽预估数据。Since the Non-post message and the confirmation message in the read and write semantic messages transmitted in the system bus interconnection network appear in pairs, for example, Non-post Read and Completion appear in pairs, so the control information according to the Non-post message can be accurate The occurrence of the confirmation message is predicted, and further, the bandwidth estimation data of the confirmation message can be accurately obtained.
步骤S702,获得连接总线设备的端口的物理峰值带宽数据。Step S702: Obtain physical peak bandwidth data of the port connected to the bus device.
本实施例中,所述物理峰值带宽数据可以根据总线频率、数据位宽以及物理信道传输速率获得。In this embodiment, the physical peak bandwidth data can be obtained according to the bus frequency, data bit width, and physical channel transmission rate.
步骤S703,根据所述待接收的确认消息的信息以及所述物理峰值带宽数据,获得确认消息的带宽预估数据。Step S703: Obtain bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data.
本实施例中,所述根据所述待接收的确认消息的信息以及所述物理峰值带宽数据,获得确认消息的带宽预估数据,包括:In this embodiment, the obtaining the bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data includes:
根据所述当前时段待接收的确认消息的包长度信息,以及所述物理峰值带宽数据,获得当前时段带宽需求值;Obtaining the bandwidth demand value of the current period according to the packet length information of the confirmation message to be received in the current period and the physical peak bandwidth data;
如果所述当前时段带宽需求值不满足第一确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息排空状态;如果所述当前时段带宽需求值满足第一确认 消息带宽阈值条件,但不满足第二确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息累积状态;如果所述当前时段带宽需求值满足第一确认消息带宽阈值条件,并且满足第二确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息积压状态;If the current period bandwidth demand value does not meet the first confirmation message bandwidth threshold condition, the confirmation message bandwidth prediction state is determined as the confirmation message empty state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold Condition, but does not meet the second confirmation message bandwidth threshold condition, then the confirmation message bandwidth prediction state is determined as the confirmation message accumulation state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold condition, and meets the second Confirm the message bandwidth threshold condition, then determine the confirmation message bandwidth prediction state as the confirmation message backlog state;
将所述当前时段带宽需求值和所述确认消息带宽预测状态信息,作为所述确认消息的带宽预估数据。The bandwidth demand value in the current period and the bandwidth prediction status information of the confirmation message are used as bandwidth estimation data of the confirmation message.
请参考图8,图中示出了系统总线确认消息的带宽预估数据的处理步骤,图中的符号含义分别为:BW_cpl为确认消息的带宽需求值;BNcpl为待接收的确认消息的数据量;BWpeak为端口物理峰值带宽;TH1为第一阈值;TH2为第二阈值;Cpl积压表示确认消息预测带宽状态为消息积压状态;Cpl排空为表示确认消息预测带宽状态为消息排空状态;Cpl累积为表示确认消息预测带宽状态为消息累积状态;State_cpl表示确认消息带宽预测状态。图中的处理步骤包括:Please refer to Figure 8, which shows the processing steps of the bandwidth estimation data of the system bus confirmation message. The meanings of the symbols in the figure are: BW_cpl is the bandwidth demand value of the confirmation message; BNcpl is the data volume of the confirmation message to be received ; BWpeak is the physical peak bandwidth of the port; TH1 is the first threshold; TH2 is the second threshold; Cpl backlog means confirming that the predicted bandwidth status of messages is the message backlog status; Cpl empty means confirming that the predicted bandwidth status of messages is the message draining status; Cpl Cumulative indicates that the predicted bandwidth state of the confirmation message is the message accumulation state; State_cpl indicates the predicted state of the confirmed message bandwidth. The processing steps in the figure include:
S801,当前时段开始后,采用公式:BW_cpl=min{BNcpl/t,BWpeak},计算BW_cpl;S801: After the current period starts, use the formula: BW_cpl=min{BNcpl/t,BWpeak} to calculate BW_cpl;
S802,判断BW_cpl是否大于第一阈值TH1;如果是,则转S803;如果否,则将State_cpl设置为Cpl排空;S802: Determine whether BW_cpl is greater than the first threshold TH1; if yes, go to S803; if not, set State_cpl as Cpl drain;
S803,判断BW_cpl是否大于第一阈值TH2;如果是,则将State_cpl设置为Cpl积压;如果否,则将State_cpl设置为Cpl累积。S803: Determine whether BW_cpl is greater than the first threshold TH2; if so, set State_cpl as a Cpl backlog; if not, set State_cpl as a Cpl accumulation.
以上述实施例为基础,本申请第四实施例提供了一种总线交换系统。Based on the foregoing embodiment, the fourth embodiment of the present application provides a bus switching system.
以下结合图9和图10对第四实施例提供的所述总线交换系统进行说明。The bus switching system provided by the fourth embodiment will be described below in conjunction with FIG. 9 and FIG. 10.
图9所示的总线交换系统,应用于系统总线互连网络,包括:内部交换模块901、至少一个端口模块902;The bus exchange system shown in FIG. 9 is applied to a system bus interconnection network and includes: an internal exchange module 901 and at least one port module 902;
所述内部交换模块901,用于处理所述至少一个端口模块中的各端口模块之间的数据交换;The internal exchange module 901 is configured to process data exchange between the port modules in the at least one port module;
所述至少一个端口模块902,用于与接入所述系统总线互连网络的总线设备或者第一总线交换系统进行数据交互,根据接收的Non-post消息的信息获得确认消息带宽预估数据;根据待发送的Post消息的信息获得Post消息带宽预估数据;根据Post消息带宽预估数据以及确认消息带宽预估数据,对系统总线互连网络的数据交互进行拥塞控制。The at least one port module 902 is configured to perform data interaction with the bus device connected to the system bus interconnection network or the first bus exchange system, and obtain confirmation message bandwidth estimation data according to the information of the received Non-post message; Obtain Post message bandwidth estimation data according to the information of the Post message to be sent; according to Post message bandwidth estimation data and confirmation message bandwidth estimation data, congestion control is performed on the data interaction of the system bus interconnection network.
本实施例的一个实施方式请参考图10,图中包括内部交换模块1001以及至少一个端口模块1002,所述至少一个端口模块包括:发送模块1004和接收模块1003;For an implementation of this embodiment, please refer to FIG. 10, which includes an internal switching module 1001 and at least one port module 1002, and the at least one port module includes: a sending module 1004 and a receiving module 1003;
所述接收模块1003,用于接收总线设备的消息,将接收的消息转发至所述内部交换 模块1001;将接收的Non-post消息的信息输出给所述至少一个端口模块1002的发送模块1004;The receiving module 1003 is configured to receive a message from a bus device, and forward the received message to the internal exchange module 1001; output the information of the received Non-post message to the sending module 1004 of the at least one port module 1002;
所述接收模块1003,用于接收来自所述内部交换模块1001的消息,并将所述消息发送至总线设备,根据当前时段以及前一个相邻时段发送缓冲区中Post消息的信息获得Post消息带宽预估数据,根据所述至少一个端口模块1002的接收模块1003的Non-post消息的信息获得确认消息带宽预估数据,根据Post消息带宽预估数据以及确认消息带宽预估数据,得到后一个时段的拥塞信息,生成对应的拥塞控制信息,输出所述拥塞控制信息。The receiving module 1003 is configured to receive a message from the internal exchange module 1001, and send the message to the bus device, and obtain the Post message bandwidth according to the information of the Post message in the sending buffer in the current period and the previous adjacent period Estimated data: Obtain the confirmation message bandwidth estimation data according to the information of the Non-post message of the receiving module 1003 of the at least one port module 1002, and obtain the latter period according to the Post message bandwidth estimation data and the confirmation message bandwidth estimation data Generate the corresponding congestion control information, and output the congestion control information.
其中,所述接收模块1003,包括:接收缓冲区及控制模块1003-1、Non-post消息统计模块1003-2以及仲裁模块1003-3;其中,Wherein, the receiving module 1003 includes: a receiving buffer and control module 1003-1, a non-post message statistics module 1003-2, and an arbitration module 1003-3; among them,
所述接收缓冲区及控制模块1003-1,用于缓存来自总线设备的消息,并根据所述仲裁模块的仲裁通知,将缓存的来自总线设备的消息发送给所述仲裁模块;将Non-post消息输出给所述内部交换模块,将所述Non-post消息的控制信息提供给Non-post消息统计模块;The receiving buffer and control module 1003-1 is used to buffer messages from the bus device, and according to the arbitration notice of the arbitration module, send the buffered messages from the bus device to the arbitration module; non-post The message is output to the internal exchange module, and the control information of the Non-post message is provided to the Non-post message statistics module;
所述Non-post消息统计模块1003-2,用于统计所述接收模块输出到内部交换模块且未收到确认响应消息的Non-post消息数目,以及所述未收到确认消息的Non-post消息包长度信息,并作为Non-post消息的信息发送给发送模块;根据发送模块返回的确认消息的信息,更新所述Non-post消息的信息;The non-post message counting module 1003-2 is used to count the number of non-post messages output by the receiving module to the internal exchange module and the confirmation response message is not received, and the non-post messages that have not received the confirmation message The message packet length information is sent to the sending module as the information of the Non-post message; the information of the Non-post message is updated according to the information of the confirmation message returned by the sending module;
所述仲裁模块1003-3,用于接收拥塞控制消息、接收来自接收缓冲区及控制模块的消息,如果收到拥塞控制类型为控制Non-post的拥塞控制消息,则根据所述拥塞控制消息的拥塞控制数值,调整对接收缓冲区及控制模块中的Non-post消息的仲裁速度;如果收到拥塞控制类型为控制Post的拥塞控制消息,则将所述拥塞控制消息转发给所述内部交换模块。The arbitration module 1003-3 is configured to receive congestion control messages, receive messages from the receiving buffer and the control module, and if a congestion control message with a congestion control type of non-post control is received, then according to the congestion control message Congestion control value, adjust the arbitration speed of Non-post messages in the receiving buffer and control module; if a congestion control message with a congestion control type of control Post is received, the congestion control message is forwarded to the internal switching module .
其中,所述发送模块1004,包括发送缓冲区及控制模块1004-1、Post通信带宽预测模块1004-2、确认消息通信带宽预测模块1004-3、带宽分配决策模块1004-4、以及拥塞控制消息产生模块1004-5;其中,Wherein, the sending module 1004 includes sending buffer and control module 1004-1, Post communication bandwidth prediction module 1004-2, confirmation message communication bandwidth prediction module 1004-3, bandwidth allocation decision module 1004-4, and congestion control message Generate module 1004-5; among them,
所述发送缓冲区及控制模块1004-1,用于缓存来自内部交换模块的消息并发送至总线设备;针对入发送缓冲区的Post消息,或者出发送缓冲区的Post消息,将Post消息的控制信息提供给Post通信带宽预测模块;针对入发送缓冲区的确认消息,将所述确认消息的控制信息提供给接收模块的Non-post消息统计模块;The sending buffer and control module 1004-1 is used to buffer messages from the internal exchange module and send them to the bus device; for Post messages entering the sending buffer or Post messages out of the sending buffer, the Post message is controlled The information is provided to the Post communication bandwidth prediction module; for the confirmation message entering the sending buffer, the control information of the confirmation message is provided to the Non-post message statistics module of the receiving module;
所述Post通信带宽预测模块1004-2,用于获得发送缓冲区的Post消息的信息,根据所述信息预测当前时段的后一个时段总线设备发出的Post消息的带宽预估数据;The Post communication bandwidth prediction module 1004-2 is used to obtain the information of the Post message in the sending buffer, and predict the bandwidth estimation data of the Post message sent by the bus device in the next period of the current period according to the information;
所述确认消息通信带宽预测模块1004-3,用于获得Non-post消息统计模块提供的Non-post消息的信息,根据所述信息预测当前时段的后一个时段确认消息的带宽预估数据;The confirmation message communication bandwidth prediction module 1004-3 is configured to obtain the information of the Non-post message provided by the Non-post message statistics module, and predict the bandwidth estimation data of the confirmation message in the next period of the current period according to the information;
所述带宽分配决策模块1004-4,用于根据Post消息的带宽预估数据以及确认消息的带宽预估数据,获得用于生成拥塞控制消息的信息,并发送给拥塞控制消息产生模块;The bandwidth allocation decision module 1004-4 is configured to obtain information for generating a congestion control message according to the bandwidth estimation data of the Post message and the bandwidth estimation data of the confirmation message, and send it to the congestion control message generation module;
所述拥塞控制消息产生模块1004-5,用于根据接收到的用于生成拥塞控制消息的信息,生成拥塞控制消息,并发送给所述仲裁模块。The congestion control message generating module 1004-5 is configured to generate a congestion control message according to the received information for generating a congestion control message, and send it to the arbitration module.
与本申请第一实施例相对应,本申请第五实施例提供了一种数据拥塞控制装置。以下结合图11对第五实施例提供的数据拥塞控制装置进行说明。Corresponding to the first embodiment of the present application, the fifth embodiment of the present application provides a data congestion control device. The data congestion control device provided by the fifth embodiment will be described below with reference to FIG. 11.
图11所示的数据拥塞控制装置,包括:The data congestion control device shown in FIG. 11 includes:
第一带宽预估单元1101,用于获得用于表示Post消息占用通信带宽的第一数据,其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息;The first bandwidth estimation unit 1101 is configured to obtain the first data used to indicate that the Post message occupies the communication bandwidth, where the Post message is sent by the source device to the destination device through the system bus and does not require the destination device to return confirmation Message request message;
第二带宽预估单元1102,用于获得用于表示确认消息占用通信带宽的第二数据,其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息;The second bandwidth estimation unit 1102 is configured to obtain second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation returned by the destination device in response to the Non-post message sent by the source device through the system bus Response message; the Non-post message is a request message that the source device sends to the destination device via the system bus and requires the destination device to return a confirmation message;
拥塞控制单元1103,用于根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制。The congestion control unit 1103 is configured to perform congestion control on data transmitted through the system bus according to the first data and the second data.
可选的,所述拥塞控制单元1103,具体用于:根据所述第一数据,获得第一带宽需求值和第一带宽预测状态信息;根据所述第二数据,获得第二带宽需求值和第二带宽预测状态信息;根据所述第一带宽需求值、第一带宽预测状态信息、第二带宽需求值和第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。Optionally, the congestion control unit 1103 is specifically configured to: obtain a first bandwidth demand value and first bandwidth prediction status information according to the first data; obtain a second bandwidth demand value and information according to the second data The second bandwidth prediction state information; according to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information, congestion control is performed on the data transmitted through the system bus.
可选的,所述拥塞控制单元1103,具体用于:如果第一带宽需求值与第二带宽需求值之和满足预设拥塞控制条件,则根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。Optionally, the congestion control unit 1103 is specifically configured to: if the sum of the first bandwidth demand value and the second bandwidth demand value meets a preset congestion control condition, use the first bandwidth prediction state information and the second bandwidth prediction state Information, congestion control of data transmitted through the system bus.
可选的,所述拥塞控制单元1103,包括Non-post控制子单元,所述Non-post控制子单元用于:如果第二带宽预测状态信息不为确认消息排空状态,则控制Non-post消息 的处理速度。Optionally, the congestion control unit 1103 includes a Non-post control subunit, and the Non-post control subunit is configured to: if the second bandwidth prediction status information is not in the confirmation message emptying state, control the non-post The processing speed of the message.
可选的,所述拥塞控制单元1103,具体用于:如果第二带宽预测状态信息指示的第二带宽预测状态不为响应消息排空状态,并且第一带宽预测状态信息指示的第一带宽预测状态不为Post消息排空状态,或者,如果第二带宽预测状态信息为确认消息排空状态,则按照预设Post消息拥塞控制策略对Post消息进行拥塞控制。Optionally, the congestion control unit 1103 is specifically configured to: if the second bandwidth prediction state indicated by the second bandwidth prediction state information is not the response message empty state, and the first bandwidth prediction state information indicated by the first bandwidth prediction state information The state is not the Post message emptying state, or if the second bandwidth prediction state information is the confirmation message emptying state, the Post message congestion control is performed according to the preset Post message congestion control strategy.
可选的,所述拥塞控制单元1103,包括Post拥塞控制子单元,所述Post拥塞控制子单元用于:Optionally, the congestion control unit 1103 includes a Post congestion control subunit, and the Post congestion control subunit is configured to:
获得满足所述预设Post消息拥塞控制策略的目标源端设备的标识信息,以及所述目标源端设备的Post消息带宽需求值;Obtaining identification information of the target source device that meets the preset Post message congestion control strategy, and the Post message bandwidth demand value of the target source device;
根据所述目标源端设备的标识信息以及Post消息带宽需求值,针对所述目标源端设备生成带宽控制类型为控制Post消息的拥塞控制信息;Generating, for the target source device, congestion control information whose bandwidth control type is the control Post message according to the identification information of the target source device and the Post message bandwidth demand value;
根据所述拥塞控制信息对Post消息进行拥塞控制。Perform congestion control on the Post message according to the congestion control information.
可选的,所述目标源端设备为任一发送Post消息的源端设备,或,带宽需求值满足Post消息带宽阈值条件的源端设备,或,带宽预测状态信息指示为Post消息积压状态的源端设备。Optionally, the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value satisfies the Post message bandwidth threshold condition, or the bandwidth prediction status information indicates the Post message backlog status Source device.
可选的,所述Non-post控制子单元,具体用于:Optionally, the Non-post control subunit is specifically used for:
根据第一带宽需求值,生成带宽控制类型为控制Non-post消息的拥塞控制信息;According to the first bandwidth demand value, generate congestion control information whose bandwidth control type is to control Non-post messages;
根据所述拥塞控制信息对Non-post消息进行拥塞控制。Perform congestion control on the Non-post message according to the congestion control information.
可选的,所述拥塞控制单元1103,具体用于:Optionally, the congestion control unit 1103 is specifically configured to:
统计每个时段的Post消息带宽实际值和确认消息带宽实际值;Statistics the actual value of Post message bandwidth and the actual value of confirmation message bandwidth in each period;
根据当前时段和前一个相邻时段的Post消息带宽实际值,获得Post消息带宽预测状态信息,根据当前时段和前一个相邻时段的确认消息带宽实际值,获得确认消息带宽预测状态信息;Obtain Post message bandwidth prediction status information according to the actual value of the Post message bandwidth in the current period and the previous adjacent period, and obtain the confirmation message bandwidth prediction status information according to the actual value of the confirmation message bandwidth in the current period and the previous adjacent period;
根据所述Post消息带宽预测状态信息和所述确认消息带宽预测状态信息,对所述数据进行拥塞控制。Perform congestion control on the data according to the Post message bandwidth prediction state information and the confirmation message bandwidth prediction state information.
可选的,所述确认消息至少包括下述一种消息:Optionally, the confirmation message includes at least one of the following messages:
针对Non-post读操作请求返回的确认消息;Confirmation message returned for non-post read operation request;
针对Non-post写操作请求返回的确认消息。Confirmation message returned for non-post write operation request.
可选的,所述第一带宽预估单元1101,具体用于:Optionally, the first bandwidth estimation unit 1101 is specifically configured to:
获得入发送缓冲区的Post消息的第一Post控制信息;Obtain the first Post control information of the Post message entered into the sending buffer;
获得出发送缓冲区的Post消息的第二Post控制信息;Obtain the second Post control information of the Post message in the sending buffer;
根据所述第一Post控制信息和第二Post控制信息,得到第一数据。According to the first Post control information and the second Post control information, first data is obtained.
可选的,所述第一带宽预估单元1101,还用于:Optionally, the first bandwidth estimation unit 1101 is further configured to:
获得当前时段发送缓冲区中的Post消息的第一长度信息;Obtain the first length information of the Post message in the sending buffer of the current period;
获得与当前时段相邻的前一个相邻时段发送缓冲区中的Post消息的第二长度信息;Obtain the second length information of the Post message in the sending buffer in the previous adjacent time period adjacent to the current time period;
根据第一长度信息和第二长度信息,确定至少一个源端设备发出的Post消息的Post消息带宽预估数据。According to the first length information and the second length information, the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
可选的,所述第二带宽预估单元1102,具体用于:根据入接收缓冲区的Non-post消息的控制信息,生成所述第二数据。Optionally, the second bandwidth estimation unit 1102 is specifically configured to generate the second data according to the control information of the Non-post message entered into the receiving buffer.
可选的,所述第二带宽预估单元1102,具体用于:Optionally, the second bandwidth estimation unit 1102 is specifically configured to:
获得出接收缓冲区且未收到确认消息的未确认Non-post消息的信息;Obtain the information of unconfirmed Non-post messages that are out of the receiving buffer and have not received confirmation messages;
根据所述未确认Non-post消息的信息,生成所述第二数据。The second data is generated according to the information of the non-confirmed Non-post message.
可选的,所述第二带宽预估单元1102,具体用于:Optionally, the second bandwidth estimation unit 1102 is specifically configured to:
根据所述未确认Non-post消息的信息,获得待接收的确认消息的总包长度信息;其中,所述待接收的确认消息为所述未确认Non-post消息对应的确认消息;Obtaining the total packet length information of the confirmation message to be received according to the information of the unconfirmed Non-post message; wherein the confirmation message to be received is the confirmation message corresponding to the unconfirmed Non-post message;
根据所述待接收的确认消息的总包长度信息,生成所述第二数据。The second data is generated according to the total packet length information of the confirmation message to be received.
可选的,所述第二带宽预估单元1102,还用于:根据收到的确认消息的包长度信息,更新所述待接收的确认消息的总包长度信息。Optionally, the second bandwidth estimation unit 1102 is further configured to update the total packet length information of the confirmation message to be received according to the packet length information of the received confirmation message.
可选的,所述拥塞控制单元1103,具体用于:Optionally, the congestion control unit 1103 is specifically configured to:
根据所述第一数据和所述第二数据,生成拥塞控制消息;Generating a congestion control message according to the first data and the second data;
根据所述拥塞控制消息,对所述数据进行拥塞控制;Perform congestion control on the data according to the congestion control message;
其中,所述数据包括Post消息、Non-post消息以及确认消息中的至少一种消息。Wherein, the data includes at least one of Post messages, Non-post messages, and confirmation messages.
可选的,所述拥塞控制单元1103,具体用于:Optionally, the congestion control unit 1103 is specifically configured to:
如果判断所述拥塞控制消息的拥塞控制类型为控制Non-post请求速率类型,则根据所述控制消息中的控制数据,降低对Non-post消息的仲裁速率;If it is judged that the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
如果判断所述拥塞控制消息的拥塞控制类型为控制Post请求速率类型,则将所述拥塞控制消息发送给对应的系统总线设备。If it is determined that the congestion control type of the congestion control message is a control Post request rate type, the congestion control message is sent to the corresponding system bus device.
与本申请第一实施例相对应,本申请第六实施例提供了一种用于第一实施例提供的所述数据拥塞控制方法的电子设备。以下结合图12对第六实施例提供的电子设备进行说明。Corresponding to the first embodiment of the present application, the sixth embodiment of the present application provides an electronic device used in the data congestion control method provided by the first embodiment. The electronic device provided by the sixth embodiment will be described below with reference to FIG. 12.
图12所示的电子设备,包括:The electronic equipment shown in Figure 12 includes:
存储器1201,以及处理器1202;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:The memory 1201 and the processor 1202; the memory is used to store computer executable instructions, and the processor is used to execute the computer executable instructions:
获得用于表示Post消息占用通信带宽的第一据,其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息;Obtain the first data used to indicate that the Post message occupies the communication bandwidth, where the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message;
获得用于表示确认消息占用通信带宽的第二数据,其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息;Obtain the second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation response message returned by the destination device to the Non-post message sent by the source device through the system bus; the Non-post message is The source device sends to the destination device via the system bus a request message that requires the destination device to return a confirmation message;
根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制。According to the first data and the second data, congestion control is performed on the data transmitted through the system bus.
可选的,所述处理器还用于执行下述计算机可执行指令:根据所述第一数据,获得第一带宽需求值和第一带宽预测状态信息;根据所述第二数据,获得第二带宽需求值和第二带宽预测状态信息;根据所述第一带宽需求值、第一带宽预测状态信息、第二带宽需求值和第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。Optionally, the processor is further configured to execute the following computer-executable instructions: obtain a first bandwidth demand value and first bandwidth prediction status information according to the first data; obtain second data according to the second data Bandwidth demand value and second bandwidth prediction state information; according to the first bandwidth demand value, first bandwidth prediction state information, second bandwidth demand value, and second bandwidth prediction state information, congestion control is performed on data transmitted through the system bus .
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
如果第一带宽需求值与第二带宽需求值之和满足预设拥塞控制条件,则根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。If the sum of the first bandwidth demand value and the second bandwidth demand value meets the preset congestion control condition, congestion control is performed on the data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information.
可选的,所述处理器还用于执行下述计算机可执行指令:如果第二带宽预测状态信息不为确认消息排空状态,则控制Non-post消息的处理速度。Optionally, the processor is further configured to execute the following computer executable instructions: if the second bandwidth prediction state information is not in the confirmation message empty state, control the processing speed of the non-post message.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
如果第二带宽预测状态信息指示的第二带宽预测状态不为响应消息排空状态,并且第一带宽预测状态信息指示的第一带宽预测状态不为Post消息排空状态,或者,如果第二带宽预测状态信息为确认消息排空状态,则按照预设Post消息拥塞控制策略对Post消息进行拥塞控制。If the second bandwidth prediction state indicated by the second bandwidth prediction state information is not the response message drain state, and the first bandwidth prediction state indicated by the first bandwidth prediction state information is not the Post message drain state, or if the second bandwidth The predicted state information is the confirmation message empty state, and the Post message congestion control is performed according to the preset Post message congestion control strategy.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
获得满足所述预设Post消息拥塞控制策略的目标源端设备的标识信息,以及所述目标源端设备的Post消息带宽需求值;Obtaining identification information of the target source device that meets the preset Post message congestion control strategy, and the Post message bandwidth demand value of the target source device;
根据所述目标源端设备的标识信息以及Post消息带宽需求值,针对所述目标源端设备生成带宽控制类型为控制Post消息的拥塞控制信息;Generating, for the target source device, congestion control information whose bandwidth control type is the control Post message according to the identification information of the target source device and the Post message bandwidth demand value;
根据所述拥塞控制信息对Post消息进行拥塞控制。Perform congestion control on the Post message according to the congestion control information.
可选的,所述目标源端设备为任一发送Post消息的源端设备,或,带宽需求值满足Post消息带宽阈值条件的源端设备,或,带宽预测状态信息指示为Post消息积压状态的源端设备。Optionally, the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value satisfies the Post message bandwidth threshold condition, or the bandwidth prediction status information indicates the Post message backlog status Source device.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
根据第一带宽需求值,生成带宽控制类型为控制Non-post消息的拥塞控制信息;According to the first bandwidth demand value, generate congestion control information whose bandwidth control type is to control Non-post messages;
根据所述拥塞控制信息对Non-post消息进行拥塞控制。Perform congestion control on the Non-post message according to the congestion control information.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
统计每个时段的Post消息带宽实际值和确认消息带宽实际值;Statistics the actual value of Post message bandwidth and the actual value of confirmation message bandwidth in each period;
根据当前时段和前一个相邻时段的Post消息带宽实际值,获得Post消息带宽预测状态信息,根据当前时段和前一个相邻时段的确认消息带宽实际值,获得确认消息带宽预测状态信息;Obtain Post message bandwidth prediction status information according to the actual value of the Post message bandwidth in the current period and the previous adjacent period, and obtain the confirmation message bandwidth prediction status information according to the actual value of the confirmation message bandwidth in the current period and the previous adjacent period;
根据所述Post消息带宽预测状态信息和所述确认消息带宽预测状态信息,对所述数据进行拥塞控制。Perform congestion control on the data according to the Post message bandwidth prediction state information and the confirmation message bandwidth prediction state information.
可选的,所述确认消息至少包括下述一种消息:Optionally, the confirmation message includes at least one of the following messages:
针对Non-post读操作请求返回的确认消息;Confirmation message returned for non-post read operation request;
针对Non-post写操作请求返回的确认消息。Confirmation message returned for non-post write operation request.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
获得入发送缓冲区的Post消息的第一Post控制信息;Obtain the first Post control information of the Post message entered into the sending buffer;
获得出发送缓冲区的Post消息的第二Post控制信息;Obtain the second Post control information of the Post message in the sending buffer;
根据所述第一Post控制信息和第二Post控制信息,得到第一数据。According to the first Post control information and the second Post control information, first data is obtained.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
获得当前时段发送缓冲区中的Post消息的第一长度信息;Obtain the first length information of the Post message in the sending buffer of the current period;
获得与当前时段相邻的前一个相邻时段发送缓冲区中的Post消息的第二长度信息;Obtain the second length information of the Post message in the sending buffer in the previous adjacent time period adjacent to the current time period;
根据第一长度信息和第二长度信息,确定至少一个源端设备发出的Post消息的Post消息带宽预估数据。According to the first length information and the second length information, the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
可选的,所述处理器还用于执行下述计算机可执行指令:根据入接收缓冲区的Non-post消息的控制信息,生成所述第二数据。Optionally, the processor is further configured to execute the following computer-executable instructions: generate the second data according to the control information of the Non-post message entered into the receiving buffer.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
获得出接收缓冲区且未收到确认消息的未确认Non-post消息的信息;Obtain the information of unconfirmed Non-post messages that are out of the receiving buffer and have not received confirmation messages;
根据所述未确认Non-post消息的信息,生成所述第二数据。The second data is generated according to the information of the non-confirmed Non-post message.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
根据所述未确认Non-post消息的信息,获得待接收的确认消息的总包长度信息;其中,所述待接收的确认消息为所述未确认Non-post消息对应的确认消息;Obtaining the total packet length information of the confirmation message to be received according to the information of the unconfirmed Non-post message; wherein the confirmation message to be received is the confirmation message corresponding to the unconfirmed Non-post message;
根据所述待接收的确认消息的总包长度信息,生成所述第二数据。The second data is generated according to the total packet length information of the confirmation message to be received.
可选的,所述处理器还用于执行下述计算机可执行指令:根据收到的确认消息的包长度信息,更新所述待接收的确认消息的总包长度信息。Optionally, the processor is further configured to execute the following computer executable instructions: according to the packet length information of the received confirmation message, update the total packet length information of the confirmation message to be received.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
根据所述第一数据和所述第二数据,生成拥塞控制消息;Generating a congestion control message according to the first data and the second data;
根据所述拥塞控制消息,对所述数据进行拥塞控制;Perform congestion control on the data according to the congestion control message;
其中,所述数据包括Post消息、Non-post消息以及确认消息中的至少一种消息。Wherein, the data includes at least one of Post messages, Non-post messages, and confirmation messages.
可选的,所述处理器还用于执行下述计算机可执行指令:Optionally, the processor is further configured to execute the following computer executable instructions:
如果判断所述拥塞控制消息的拥塞控制类型为控制Non-post请求速率类型,则根据所述控制消息中的控制数据,降低对Non-post消息的仲裁速率;If it is judged that the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
如果判断所述拥塞控制消息的拥塞控制类型为控制Post请求速率类型,则将所述拥塞控制消息发送给对应的系统总线设备。If it is determined that the congestion control type of the congestion control message is a control Post request rate type, the congestion control message is sent to the corresponding system bus device.
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, the computing device includes one or more processors (CPU), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。The memory may include non-permanent memory in computer readable media, random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of computer readable media.
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。1. Computer-readable media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices. According to the definition in this article, computer-readable media does not include non-transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。 因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。2. Those skilled in the art should understand that the embodiments of the present application can be provided as methods, systems or computer program products. Therefore, this application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。Although this application is disclosed as above in preferred embodiments, it is not intended to limit the application. Any person skilled in the art can make possible changes and modifications without departing from the spirit and scope of the application. Therefore, this application The scope of protection shall be subject to the scope defined by the claims of this application.

Claims (32)

  1. 一种数据拥塞控制方法,其特征在于,包括:A data congestion control method is characterized in that it includes:
    获得用于表示Post消息占用通信带宽的第一数据,其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息;Obtain first data used to indicate that the Post message occupies communication bandwidth, where the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message;
    获得用于表示确认消息占用通信带宽的第二数据,其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息;Obtain the second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation response message returned by the destination device to the Non-post message sent by the source device through the system bus; the Non-post message is The source device sends to the destination device via the system bus a request message that requires the destination device to return a confirmation message;
    根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制。According to the first data and the second data, congestion control is performed on the data transmitted through the system bus.
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制,包括:The method according to claim 1, wherein the performing congestion control on data transmitted through a system bus according to the first data and the second data comprises:
    根据所述第一数据,获得第一带宽需求值和第一带宽预测状态信息;Obtaining a first bandwidth demand value and first bandwidth prediction status information according to the first data;
    根据所述第二数据,获得第二带宽需求值和第二带宽预测状态信息;Obtaining a second bandwidth demand value and second bandwidth prediction status information according to the second data;
    根据所述第一带宽需求值、第一带宽预测状态信息、第二带宽需求值和第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。According to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information, congestion control is performed on the data transmitted through the system bus.
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述第一带宽需求值、第一带宽预测状态信息、第二带宽需求值和第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制,包括:The method according to claim 2, characterized in that, according to the first bandwidth demand value, the first bandwidth prediction state information, the second bandwidth demand value, and the second bandwidth prediction state information, the information transmitted through the system bus Data congestion control, including:
    如果第一带宽需求值与第二带宽需求值之和满足预设拥塞控制条件,则根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制。If the sum of the first bandwidth demand value and the second bandwidth demand value meets the preset congestion control condition, congestion control is performed on the data transmitted through the system bus according to the first bandwidth prediction state information and the second bandwidth prediction state information.
  4. 根据权利要求3所述的方法,其特征在于,所述根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制,包括:The method according to claim 3, wherein the performing congestion control on data transmitted through the system bus according to the first bandwidth prediction status information and the second bandwidth prediction status information comprises:
    如果第二带宽预测状态信息不为确认消息排空状态,则控制Non-post消息的处理速度。If the second bandwidth prediction state information is not the confirmation message empty state, control the processing speed of the non-post message.
  5. 根据权利要求3所述的方法,其特征在于,所述根据第一带宽预测状态信息以及第二带宽预测状态信息,对通过系统总线传输的数据进行拥塞控制,包括:The method according to claim 3, wherein the performing congestion control on data transmitted through the system bus according to the first bandwidth prediction status information and the second bandwidth prediction status information comprises:
    如果第二带宽预测状态信息指示的第二带宽预测状态不为响应消息排空状态,并且第一带宽预测状态信息指示的第一带宽预测状态不为Post消息排空状态,或者,如果第二带宽预测状态信息为确认消息排空状态,则按照预设Post消息拥塞控制策略对 Post消息进行拥塞控制。If the second bandwidth prediction state indicated by the second bandwidth prediction state information is not the response message drain state, and the first bandwidth prediction state indicated by the first bandwidth prediction state information is not the Post message drain state, or if the second bandwidth The predicted state information is the confirmation message emptying state, and the Post message congestion control is performed according to the preset Post message congestion control strategy.
  6. 根据权利要求5所述的方法,其特征在于,所述按照预设Post消息拥塞控制策略对Post消息进行拥塞控制,包括:The method according to claim 5, wherein the performing congestion control on the Post message according to a preset Post message congestion control strategy comprises:
    获得满足所述预设Post消息拥塞控制策略的目标源端设备的标识信息,以及所述目标源端设备的Post消息带宽需求值;Obtaining identification information of the target source device that meets the preset Post message congestion control strategy, and the Post message bandwidth demand value of the target source device;
    根据所述目标源端设备的标识信息以及Post消息带宽需求值,针对所述目标源端设备生成带宽控制类型为控制Post消息的拥塞控制信息;Generating, for the target source device, congestion control information whose bandwidth control type is the control Post message according to the identification information of the target source device and the Post message bandwidth demand value;
    根据所述拥塞控制信息对Post消息进行拥塞控制。Perform congestion control on the Post message according to the congestion control information.
  7. 根据权利要求6所述的方法,其特征在于,所述目标源端设备为任一发送Post消息的源端设备,或,带宽需求值满足Post消息带宽阈值条件的源端设备,或,带宽预测状态信息指示为Post消息积压状态的源端设备。The method according to claim 6, wherein the target source device is any source device that sends a Post message, or a source device whose bandwidth demand value meets the bandwidth threshold condition of the Post message, or, bandwidth prediction The status information indicates the source device that is the backlog of Post messages.
  8. 根据权利要求4所述的方法,其特征在于,所述如果第二带宽预测状态信息不为确认消息排空状态,则控制Non-post消息的处理速度,包括:The method according to claim 4, wherein if the second bandwidth prediction state information is not a confirmation message emptying state, controlling the processing speed of the non-post message comprises:
    根据第一带宽需求值,生成带宽控制类型为控制Non-post消息的拥塞控制信息;According to the first bandwidth demand value, generate congestion control information whose bandwidth control type is to control Non-post messages;
    根据所述拥塞控制信息对Non-post消息进行拥塞控制。Perform congestion control on the Non-post message according to the congestion control information.
  9. 根据权利要求1所述的方法,其特征在于,所述根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制,包括:The method according to claim 1, wherein the performing congestion control on data transmitted through a system bus according to the first data and the second data comprises:
    统计每个时段的Post消息带宽实际值和确认消息带宽实际值;Statistics the actual value of Post message bandwidth and the actual value of confirmation message bandwidth in each period;
    根据当前时段和前一个相邻时段的Post消息带宽实际值,获得Post消息带宽预测状态信息,根据当前时段和前一个相邻时段的确认消息带宽实际值,获得确认消息带宽预测状态信息;Obtain Post message bandwidth prediction status information according to the actual value of the Post message bandwidth in the current period and the previous adjacent period, and obtain the confirmation message bandwidth prediction status information according to the actual value of the confirmation message bandwidth in the current period and the previous adjacent period;
    根据所述Post消息带宽预测状态信息和所述确认消息带宽预测状态信息,对所述数据进行拥塞控制。Perform congestion control on the data according to the Post message bandwidth prediction state information and the confirmation message bandwidth prediction state information.
  10. 根据权利要求1所述的方法,其特征在于,所述确认消息至少包括下述一种消息:The method according to claim 1, wherein the confirmation message includes at least one of the following messages:
    针对Non-post读操作请求返回的确认消息;Confirmation message returned for non-post read operation request;
    针对Non-post写操作请求返回的确认消息。Confirmation message returned for non-post write operation request.
  11. 根据权利要求1所述的方法,其特征在于,所述获得用于表示Post消息占用通信带宽的第一数据,包括:The method according to claim 1, wherein the obtaining first data used to indicate that a Post message occupies a communication bandwidth comprises:
    获得入发送缓冲区的Post消息的第一Post控制信息;Obtain the first Post control information of the Post message entered into the sending buffer;
    获得出发送缓冲区的Post消息的第二Post控制信息;Obtain the second Post control information of the Post message in the sending buffer;
    根据所述第一Post控制信息和第二Post控制信息,得到第一数据。According to the first Post control information and the second Post control information, first data is obtained.
  12. 根据权利要求11所述的方法,其特征在于,还包括:The method according to claim 11, further comprising:
    获得当前时段发送缓冲区中的Post消息的第一长度信息;Obtain the first length information of the Post message in the sending buffer of the current period;
    获得与当前时段相邻的前一个相邻时段发送缓冲区中的Post消息的第二长度信息;Obtain the second length information of the Post message in the sending buffer in the previous adjacent time period adjacent to the current time period;
    根据第一长度信息和第二长度信息,确定至少一个源端设备发出的Post消息的Post消息带宽预估数据。According to the first length information and the second length information, the Post message bandwidth estimation data of the Post message sent by at least one source device is determined.
  13. 根据权利要求1所述的方法,其特征在于,所述获得用于表示确认消息占用通信带宽的第二数据,包括:根据入接收缓冲区的Non-post消息的控制信息,生成所述第二数据。The method according to claim 1, wherein the obtaining the second data used to indicate that the confirmation message occupies the communication bandwidth comprises: generating the second data according to the control information of the Non-post message entered into the receiving buffer data.
  14. 根据权利要求1所述的方法,其特征在于,所述获得用于表示确认消息占用通信带宽的第二数据,包括:The method according to claim 1, wherein the obtaining second data used to indicate that a confirmation message occupies a communication bandwidth comprises:
    获得出接收缓冲区且未收到确认消息的未确认Non-post消息的信息;Obtain the information of unconfirmed Non-post messages that are out of the receiving buffer and have not received confirmation messages;
    根据所述未确认Non-post消息的信息,生成所述第二数据。The second data is generated according to the information of the non-confirmed Non-post message.
  15. 根据权利要求14所述的方法,其特征在于,所述根据所述未确认Non-post消息的信息,生成所述第二数据,包括:The method of claim 14, wherein the generating the second data according to the information of the unconfirmed Non-post message comprises:
    根据所述未确认Non-post消息的信息,获得待接收的确认消息的总包长度信息;其中,所述待接收的确认消息为所述未确认Non-post消息对应的确认消息;Obtaining the total packet length information of the confirmation message to be received according to the information of the unconfirmed Non-post message; wherein the confirmation message to be received is the confirmation message corresponding to the unconfirmed Non-post message;
    根据所述待接收的确认消息的总包长度信息,生成所述第二数据。The second data is generated according to the total packet length information of the confirmation message to be received.
  16. 根据权利要求15所述的方法,其特征在于,还包括:根据收到的确认消息的包长度信息,更新所述待接收的确认消息的总包长度信息。The method according to claim 15, further comprising: updating the total packet length information of the confirmation message to be received according to the packet length information of the received confirmation message.
  17. 根据权利要求1所述的方法,其特征在于,所述根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制,包括:The method according to claim 1, wherein the performing congestion control on data transmitted through a system bus according to the first data and the second data comprises:
    根据所述第一数据和所述第二数据,生成拥塞控制消息;Generating a congestion control message according to the first data and the second data;
    根据所述拥塞控制消息,对所述数据进行拥塞控制;Perform congestion control on the data according to the congestion control message;
    其中,所述数据包括Post消息、Non-post消息以及确认消息中的至少一种消息。Wherein, the data includes at least one of Post messages, Non-post messages, and confirmation messages.
  18. 根据权利要求17所述的方法,其特征在于,所述根据所述拥塞控制消息,对所述数据进行拥塞控制,包括:The method according to claim 17, wherein the performing congestion control on the data according to the congestion control message comprises:
    如果判断所述拥塞控制消息的拥塞控制类型为控制Non-post请求速率类型,则根据所述控制消息中的控制数据,降低对Non-post消息的仲裁速率;If it is judged that the congestion control type of the congestion control message is a non-post request rate control type, then according to the control data in the control message, reduce the arbitration rate for the Non-post message;
    如果判断所述拥塞控制消息的拥塞控制类型为控制Post请求速率类型,则将所述拥塞控制消息发送给对应的系统总线设备。If it is determined that the congestion control type of the congestion control message is a control Post request rate type, the congestion control message is sent to the corresponding system bus device.
  19. 一种带宽预估方法,其特征在于,包括:A bandwidth estimation method is characterized in that it includes:
    获得当前时段发送消息存储区域中Post消息的信息;Obtain the information of Post messages in the message storage area of the current period of time;
    根据所述当前时段发送消息存储区域中Post消息的信息,确定Post消息的带宽预测状态和Post消息的带宽需求值;Determine the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message according to the information of the Post message in the message storage area for the current time period;
    根据所述带宽预测状态和所述带宽需求值,确定所述Post消息的带宽预估数据。Determine the bandwidth estimation data of the Post message according to the bandwidth prediction state and the bandwidth demand value.
  20. 根据权利要求19所述的方法,其特征在于,所述根据所述当前时段发送消息存储区域中Post消息的信息,确定Post消息的带宽预测状态和Post消息的带宽需求值,包括:The method according to claim 19, wherein the determining the bandwidth prediction status of the Post message and the bandwidth demand value of the Post message according to the information of the Post message in the message storage area of the current period of time transmission comprises:
    根据所述当前时段发送消息存储区域中Post消息的信息,获得当前时段中Post消息的包长度累加值,作为第一总长度值;Obtaining the accumulated value of the packet length of the Post message in the current period according to the information of the Post message in the message storage area of the current period of time, as the first total length value;
    如果所述第一总长度值满足第一阈值条件,则将Post消息的带宽预测状态确定为Post消息积压状态;否则,获得与当前时段相邻的前一个相邻时段的Post消息的信息,根据所述第一总长度值和所述前一个相邻时段的Post消息的信息,获得所述Post消息的带宽预估数据。If the first total length value meets the first threshold condition, the bandwidth prediction state of the Post message is determined to be the Post message backlog state; otherwise, the information of the Post message in the previous adjacent time period adjacent to the current time period is obtained, according to The first total length value and the information of the Post message in the previous adjacent time period are used to obtain bandwidth estimation data of the Post message.
  21. 根据权利要求20所述的方法,其特征在于,所述根据所述第一总长度值和所述前一个相邻时段的Post消息的信息,获得所述Post消息的带宽预估数据,包括:The method according to claim 20, wherein the obtaining bandwidth estimation data of the Post message according to the first total length value and the information of the Post message in the previous adjacent time period comprises:
    根据所述前一个相邻时段的Post消息的信息,获得前一个相邻时段的Post消息的包长度累加值,作为第二总长度值;Obtaining, according to the information of the Post message in the previous adjacent time period, the accumulated value of the packet length of the Post message in the previous adjacent time period as the second total length value;
    如果第一总长度值不大于第二总长度值,则将Post消息的带宽预测状态确定为Post消息排空状态,将Post息的带宽需求值确定为预定值;If the first total length value is not greater than the second total length value, determine the bandwidth prediction state of the Post message as the Post message empty state, and determine the bandwidth demand value of the Post message as the predetermined value;
    如果第一总长度值与第二总长度值的差值满足第二阈值条件,则将Post消息的带宽预测状态确定为Post消息累积状态,并且根据第一总长度值与第二总长度值确定Post消息的带宽需求值。If the difference between the first total length value and the second total length value satisfies the second threshold condition, the bandwidth prediction state of the Post message is determined as the Post message accumulation state, and is determined according to the first total length value and the second total length value Bandwidth demand value of Post message.
  22. 根据权利要求19所述的方法,其特征在于,还包括:The method according to claim 19, further comprising:
    获得当前时段发送消息存储区域中目标源端设备的Post消息的包长度累加值,作为第一源端设备Post消息总长度值;Obtain the cumulative value of the packet length of the Post message of the target source device in the message storage area of the current period of time, as the total length of the Post message of the first source device;
    根据所述第一源端设备Post消息总长度值,确定所述目标源端设备的Post消息的带宽预测状态以及带宽需求值;Determine the bandwidth prediction state and bandwidth demand value of the Post message of the target source device according to the total length value of the Post message of the first source device;
    将所述目标源端设备的Post消息的带宽预测状态以及带宽需求值,作为所述目标源端设备的Post消息的带宽预估数据。The bandwidth prediction state and the bandwidth demand value of the Post message of the target source device are used as bandwidth estimation data of the Post message of the target source device.
  23. 根据权利要求22所述的方法,其特征在于,还包括:The method according to claim 22, further comprising:
    如果所述第一源端设备Post消息总长度值满足第三阈值条件,则将所述目标源端设备的Post消息的带宽预测状态确定为Post消息积压状态;否则,获得与当前时段相邻的前一个相邻时段目标源端设备的Post消息的信息,根据所述第一源端设备Post消息总长度值和所述前一个相邻时段目标源端设备的Post消息的信息,获得所述目标源端设备的Post消息的带宽预估数据。If the total length of the Post message of the first source device satisfies the third threshold condition, the bandwidth prediction state of the Post message of the target source device is determined to be the Post message backlog state; otherwise, the information adjacent to the current period is obtained The information of the Post message of the target source device in the previous adjacent period is obtained, according to the total length of the Post message of the first source device and the information of the Post message of the target source device in the previous adjacent period Bandwidth estimation data of the Post message of the source device.
  24. 一种带宽预估方法,其特征在于,包括:A bandwidth estimation method is characterized in that it includes:
    获得当前时段待接收的确认消息的信息;Obtain the information of the confirmation message to be received in the current period;
    获得连接总线设备的端口的物理峰值带宽数据;Obtain the physical peak bandwidth data of the port connected to the bus device;
    根据所述待接收的确认消息的信息以及所述物理峰值带宽数据,获得确认消息的带宽预估数据。Obtain bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data.
  25. 根据权利要求24所述的方法,其特征在于,所述待接收的确认消息为出接收消息存储区域且未收到确认消息的未确认Non-post消息对应的确认消息;The method according to claim 24, wherein the confirmation message to be received is a confirmation message corresponding to an unconfirmed Non-post message that is out of the received message storage area and the confirmation message is not received;
    所述获得当前时段待接收的确认消息的信息,包括:The obtaining the information of the confirmation message to be received in the current period includes:
    获得所述未确认Non-post消息的控制信息;Obtain the control information of the unconfirmed Non-post message;
    根据所述未确认Non-post消息的控制信息,获得所述待接收的确认消息的包长度累加信息;Obtaining, according to the control information of the unconfirmed Non-post message, the accumulated information of the packet length of the confirmation message to be received;
    获得当前时段收到的确认消息的包长度信息,根据当前时段收到的确认消息的包长度信息以及所述包长度累加信息,得到当前时段待接收的确认消息的包长度信息,作为所述当前时段待接收的确认消息的信息。The packet length information of the confirmation message received in the current period is obtained, and the packet length information of the confirmation message to be received in the current period is obtained according to the packet length information of the confirmation message received in the current period and the packet length accumulation information, as the current period Information about the confirmation message to be received in the time slot.
  26. 根据权利要求25所述的方法,其特征在于,所述根据所述待接收的确认消息的信息以及所述物理峰值带宽数据,获得确认消息的带宽预估数据,包括:The method according to claim 25, wherein the obtaining the bandwidth estimation data of the confirmation message according to the information of the confirmation message to be received and the physical peak bandwidth data comprises:
    根据所述当前时段待接收的确认消息的包长度信息,以及所述物理峰值带宽数据,获得当前时段带宽需求值;Obtaining the bandwidth demand value of the current period according to the packet length information of the confirmation message to be received in the current period and the physical peak bandwidth data;
    如果所述当前时段带宽需求值不满足第一确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息排空状态;如果所述当前时段带宽需求值满足第一确认消息带宽阈值条件,但不满足第二确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息累积状态;如果所述当前时段带宽需求值满足第一确认消息带宽阈 值条件,并且满足第二确认消息带宽阈值条件,则将所述确认消息带宽预测状态确定为确认消息积压状态;If the current period bandwidth demand value does not meet the first confirmation message bandwidth threshold condition, the confirmation message bandwidth prediction state is determined as the confirmation message empty state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold Condition, but does not meet the second confirmation message bandwidth threshold condition, then the confirmation message bandwidth prediction state is determined as the confirmation message accumulation state; if the current period bandwidth demand value meets the first confirmation message bandwidth threshold condition, and meets the second Confirm the message bandwidth threshold condition, then determine the confirmation message bandwidth prediction state as the confirmation message backlog state;
    将所述当前时段带宽需求值和所述确认消息带宽预测状态信息,作为所述确认消息的带宽预估数据。The bandwidth demand value in the current period and the bandwidth prediction status information of the confirmation message are used as bandwidth estimation data of the confirmation message.
  27. 一种总线交换系统,其特征在于,应用于系统总线互连网络,包括:内部交换模块、至少一个端口模块;A bus switching system is characterized in that it is applied to a system bus interconnection network and includes: an internal switching module and at least one port module;
    所述内部交换模块,用于处理所述至少一个端口模块中的各端口模块之间的数据交换;The internal exchange module is used to process data exchange between the port modules in the at least one port module;
    所述至少一个端口模块,用于与接入所述系统总线互连网络的总线设备或者第一总线交换系统进行数据交互,根据接收的Non-post消息的信息获得确认消息带宽预估数据;根据待发送的Post消息的信息获得Post消息带宽预估数据;根据Post消息带宽预估数据以及确认消息带宽预估数据,对系统总线互连网络的数据交互进行拥塞控制。The at least one port module is configured to perform data interaction with the bus device connected to the system bus interconnection network or the first bus exchange system, and obtain the confirmation message bandwidth estimation data according to the information of the received Non-post message; The information of the Post message to be sent obtains the Post message bandwidth estimation data; according to the Post message bandwidth estimation data and the confirmation message bandwidth estimation data, congestion control is performed on the data interaction of the system bus interconnection network.
  28. 根据权利要求27所述的系统,其特征在于,所述至少一个端口模块,包括:发送模块和接收模块;The system according to claim 27, wherein the at least one port module comprises: a sending module and a receiving module;
    所述接收模块,用于接收总线设备的消息,将接收的消息转发至所述内部交换模块;将接收的Non-post消息的信息输出给所述至少一个端口模块的发送模块;The receiving module is configured to receive a message from a bus device, and forward the received message to the internal exchange module; output the information of the received Non-post message to the sending module of the at least one port module;
    所述发送模块,用于接收来自所述内部交换模块的消息,并将所述消息发送至总线设备,根据当前时段以及前一个相邻时段发送缓冲区中Post消息的信息获得Post消息带宽预估数据,根据所述至少一个端口模块的接收模块的Non-post消息的信息获得确认消息带宽预估数据,根据Post消息带宽预估数据以及确认消息带宽预估数据,得到后一个时段的拥塞信息,生成对应的拥塞控制信息,输出所述拥塞控制信息。The sending module is used to receive the message from the internal exchange module and send the message to the bus device, and obtain the Post message bandwidth estimation according to the information of the Post message in the sending buffer in the current period and the previous adjacent period Data, obtain the confirmation message bandwidth estimation data according to the information of the Non-post message of the receiving module of the at least one port module, and obtain the congestion information of the later period according to the Post message bandwidth estimation data and the confirmation message bandwidth estimation data, Generate corresponding congestion control information, and output the congestion control information.
  29. 根据权利要求28所述的系统,其特征在于,所述接收模块,包括:接收缓冲区及控制模块、Non-post消息统计模块以及仲裁模块;其中,The system according to claim 28, wherein the receiving module comprises: a receiving buffer and a control module, a non-post message statistics module, and an arbitration module; wherein,
    所述接收缓冲区及控制模块,用于缓存来自总线设备的消息,并根据所述仲裁模块的仲裁通知,将缓存的来自总线设备的消息发送给所述仲裁模块;将Non-post消息输出给所述内部交换模块,将所述Non-post消息的控制信息提供给Non-post消息统计模块;The receiving buffer and the control module are used to buffer messages from the bus device, and according to the arbitration notice of the arbitration module, send the buffered messages from the bus device to the arbitration module; and output the Non-post message to The internal exchange module provides the control information of the Non-post message to the Non-post message statistics module;
    所述Non-post消息统计模块,用于统计所述接收模块输出到内部交换模块且未收到确认响应消息的Non-post消息数目,以及所述未收到确认消息的Non-post消息包长度信息,并作为Non-post消息的信息发送给发送模块;根据发送模块返回的确认消息 的信息,更新所述Non-post消息的信息;The Non-post message statistics module is configured to count the number of Non-post messages output by the receiving module to the internal exchange module and the confirmation response message is not received, and the length of the Non-post message packet for which the confirmation message is not received The information is sent to the sending module as the information of the Non-post message; according to the information of the confirmation message returned by the sending module, the information of the Non-post message is updated;
    所述仲裁模块,用于接收拥塞控制消息、接收来自接收缓冲区及控制模块的消息,如果收到拥塞控制类型为控制Non-post的拥塞控制消息,则根据所述拥塞控制消息的拥塞控制数值,调整对接收缓冲区及控制模块中的Non-post消息的仲裁速度;如果收到拥塞控制类型为控制Post的拥塞控制消息,则将所述拥塞控制消息转发给所述内部交换模块。The arbitration module is configured to receive congestion control messages, receive messages from the receiving buffer and the control module, and if a congestion control message whose congestion control type is control Non-post is received, then according to the congestion control value of the congestion control message , Adjust the arbitration speed of the Non-post message in the receiving buffer and the control module; if a congestion control message whose congestion control type is control Post is received, the congestion control message is forwarded to the internal switching module.
  30. 根据权利要求29所述的系统,其特征在于,所述发送模块,包括发送缓冲区及控制模块、Post通信带宽预测模块、确认消息通信带宽预测模块、带宽分配决策模块、以及拥塞控制消息产生模块;其中,The system according to claim 29, wherein the sending module includes a sending buffer and a control module, a Post communication bandwidth prediction module, a confirmation message communication bandwidth prediction module, a bandwidth allocation decision module, and a congestion control message generation module ;among them,
    所述发送缓冲区及控制模块,用于缓存来自内部交换模块的消息并发送至总线设备;针对入发送缓冲区的Post消息,或者出发送缓冲区的Post消息,将Post消息的控制信息提供给Post通信带宽预测模块;针对入发送缓冲区的确认消息,将所述确认消息的控制信息提供给接收模块的Non-post消息统计模块;The sending buffer and control module are used to buffer messages from the internal exchange module and send them to the bus device; for Post messages entering the sending buffer or Post messages out of the sending buffer, the control information of the Post messages is provided to Post communication bandwidth prediction module; for the confirmation message entering the sending buffer, providing the control information of the confirmation message to the Non-post message statistics module of the receiving module;
    所述Post通信带宽预测模块,用于预测当前时段的后一个时段总线设备发出的Post消息的带宽预估数据;The Post communication bandwidth prediction module is used to predict the bandwidth estimation data of the Post message sent by the bus device in the next period of the current period;
    所述确认消息通信带宽预测模块,用于根据Non-post消息统计模块提供的Non-post消息的信息,预测当前时段的后一个时段确认消息的带宽预估数据;The confirmation message communication bandwidth prediction module is used for predicting the bandwidth estimation data of the confirmation message in the next period of the current period according to the information of the Non-post message provided by the Non-post message statistics module;
    所述带宽分配决策模块,用于根据Post消息的带宽预估数据以及确认消息的带宽预估数据,获得用于生成拥塞控制消息的信息,并发送给拥塞控制消息产生模块;The bandwidth allocation decision module is configured to obtain information for generating a congestion control message according to the bandwidth estimation data of the Post message and the bandwidth estimation data of the confirmation message, and send it to the congestion control message generation module;
    所述拥塞控制消息产生模块,用于根据接收到的用于生成拥塞控制消息的信息,生成拥塞控制消息,并发送给所述仲裁模块。The congestion control message generation module is configured to generate a congestion control message according to the received information for generating a congestion control message, and send it to the arbitration module.
  31. 一种数据拥塞控制装置,其特征在于,包括:A data congestion control device is characterized in that it comprises:
    第一带宽预估单元,用于获得用于表示Post消息占用通信带宽的第一数据,其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息;The first bandwidth estimation unit is used to obtain the first data used to indicate that the Post message occupies the communication bandwidth, where the Post message is sent by the source device to the destination device through the system bus and does not require the destination device to return a confirmation message Request message;
    第二带宽预估单元,用于获得用于表示确认消息占用通信带宽的第二数据,其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息;The second bandwidth estimation unit is configured to obtain second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation response returned by the destination device to the Non-post message sent by the source device through the system bus Message; the Non-post message is a request message that the source device sends to the destination device via the system bus and requires the destination device to return a confirmation message;
    拥塞控制单元,用于根据所述第一数据和所述第二数据,对通过系统总线传输的数 据进行拥塞控制。The congestion control unit is configured to perform congestion control on the data transmitted through the system bus according to the first data and the second data.
  32. 一种电子设备,其特征在于,包括:An electronic device, characterized in that it comprises:
    存储器,以及处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:A memory, and a processor; the memory is used to store computer executable instructions, and the processor is used to execute the computer executable instructions:
    获得用于表示Post消息占用通信带宽的第一数据,其中,所述Post消息为源端设备通过系统总线发送给目的端设备且不需要目的端设备返回确认消息的请求消息;Obtain first data used to indicate that the Post message occupies communication bandwidth, where the Post message is a request message that the source device sends to the destination device through the system bus and does not require the destination device to return a confirmation message;
    获得用于表示确认消息占用通信带宽的第二数据,其中,所述确认消息为目的端设备针对源端设备通过系统总线发送的Non-post消息返回的确认响应消息;所述Non-post消息为源端设备通过系统总线发送给目的端设备的需要目的端设备返回确认消息的请求消息;Obtain the second data used to indicate that the confirmation message occupies the communication bandwidth, where the confirmation message is the confirmation response message returned by the destination device to the Non-post message sent by the source device through the system bus; the Non-post message is The source device sends to the destination device via the system bus a request message that requires the destination device to return a confirmation message;
    根据所述第一数据和所述第二数据,对通过系统总线传输的数据进行拥塞控制。According to the first data and the second data, congestion control is performed on the data transmitted through the system bus.
PCT/CN2020/093714 2019-06-10 2020-06-01 Data congestion control and bandwidth prediction method WO2020248857A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910498498.1 2019-06-10
CN201910498498.1A CN112073325B (en) 2019-06-10 2019-06-10 Data congestion control and bandwidth estimation method

Publications (1)

Publication Number Publication Date
WO2020248857A1 true WO2020248857A1 (en) 2020-12-17

Family

ID=73658134

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/093714 WO2020248857A1 (en) 2019-06-10 2020-06-01 Data congestion control and bandwidth prediction method

Country Status (2)

Country Link
CN (1) CN112073325B (en)
WO (1) WO2020248857A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979169B (en) * 2022-05-27 2024-03-29 山东派盟网络科技有限公司 Network resource pushing method and device, storage medium and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113082A1 (en) * 2007-10-31 2009-04-30 Etai Adar Device, System, and Method of Speculative Packet Transmission
CN105323188A (en) * 2015-10-30 2016-02-10 北京星网锐捷网络技术有限公司 Network traffic control method and device, and switch
CN107733689A (en) * 2017-09-15 2018-02-23 西南电子技术研究所(中国电子科技集团公司第十研究所) Dynamic weighting polling dispatching strategy process based on priority
CN109428771A (en) * 2017-08-21 2019-03-05 深圳市中兴微电子技术有限公司 A kind of high speed peripheral component interconnection message method for testing performance and device
CN109684269A (en) * 2018-12-26 2019-04-26 成都九芯微科技有限公司 A kind of PCIE exchange chip kernel and working method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713633B (en) * 2004-06-24 2010-07-07 华为技术有限公司 Control method of network flow
CN101141406B (en) * 2007-10-17 2010-04-07 杭州华三通信技术有限公司 Distributed flow control method, system and device
CN101902449B (en) * 2009-05-31 2013-08-07 友益(Ux)有限公司 Computer implementation method and system for persistent HTTP connection between network devices
CN101594630B (en) * 2009-06-30 2011-09-21 中兴通讯股份有限公司 Method and device for congestion detection and flow control of uplink
CN102355425B (en) * 2011-10-26 2014-10-29 深信服网络科技(深圳)有限公司 Network traffic control method and device
WO2013132213A1 (en) * 2012-03-09 2013-09-12 British Telecommunications Public Limited Company Signalling congestion
CN103929784B (en) * 2013-01-10 2017-08-08 中国移动通信集团上海有限公司 A kind of user bandwidth control method, apparatus and system
CN106549876A (en) * 2015-09-22 2017-03-29 中兴通讯股份有限公司 Based on the method for controlling network congestion of ICAP agreements, device and client
EP3442180B1 (en) * 2016-04-28 2020-11-11 Huawei Technologies Co., Ltd. Congestion processing method, host, and system
CN108667739B (en) * 2017-03-27 2020-12-08 华为技术有限公司 Congestion control method, device and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113082A1 (en) * 2007-10-31 2009-04-30 Etai Adar Device, System, and Method of Speculative Packet Transmission
CN105323188A (en) * 2015-10-30 2016-02-10 北京星网锐捷网络技术有限公司 Network traffic control method and device, and switch
CN109428771A (en) * 2017-08-21 2019-03-05 深圳市中兴微电子技术有限公司 A kind of high speed peripheral component interconnection message method for testing performance and device
CN107733689A (en) * 2017-09-15 2018-02-23 西南电子技术研究所(中国电子科技集团公司第十研究所) Dynamic weighting polling dispatching strategy process based on priority
CN109684269A (en) * 2018-12-26 2019-04-26 成都九芯微科技有限公司 A kind of PCIE exchange chip kernel and working method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIA, YINXING ET AL.: "Research and implementation of PCI express flow control mechanism", INFORMATION TECHNOLOGY, 31 August 2016 (2016-08-31), pages 1 - 5, XP055764432 *

Also Published As

Publication number Publication date
CN112073325B (en) 2023-05-12
CN112073325A (en) 2020-12-11

Similar Documents

Publication Publication Date Title
EP2615802B1 (en) Communication apparatus and method of content router to control traffic transmission rate in content-centric network (CCN), and content router
US9813529B2 (en) Effective circuits in packet-switched networks
CN111049756B (en) Request response method and device, electronic equipment and computer readable storage medium
US9208085B2 (en) Method and apparatus for storing data
US20170289066A1 (en) Facilitating communication of data packets using credit-based flow control
US7649845B2 (en) Handling hot spots in interconnection networks
CN111683017B (en) Multi-level congestion control method, device, system and medium in high-speed interconnection network
WO2020248857A1 (en) Data congestion control and bandwidth prediction method
CN112737940B (en) Data transmission method and device
WO2017107363A1 (en) Cache management method and device, and computer storage medium
WO2021197128A1 (en) Traffic rate-limiting method and apparatus
JP3226096B2 (en) ATM cell buffer system and congestion control method therefor
CN115622945A (en) Message processing method and device
CN103580976A (en) Method and device for avoiding carrier sensing conflicts
CN111131066A (en) Traffic shaping method and device
WO2020244498A1 (en) Method, apparatus, and system for processing messages in server system
CN116889024A (en) Data stream transmission method, device and network equipment
US20050223056A1 (en) Method and system for controlling dataflow to a central system from distributed systems
JP6362564B2 (en) Communication apparatus and buffer control method
WO2011060570A1 (en) High-speed counter processing method and counter
JP5571826B1 (en) Packet transfer processing apparatus and method
CN114598653B (en) Data stream acceleration method based on time delay management model
JP4635485B2 (en) Data processing device
WO2021142679A1 (en) Data traffic control method, pcie controller and pcie device
KR100350473B1 (en) CONGESTION CONTROLLING METHOD FOR SIGNALLING LINK IN No.7 SIGNALLING NETWORK

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20822432

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20822432

Country of ref document: EP

Kind code of ref document: A1