A method for reducing data center network short message transmission delay

By dividing messages into "unscheduled" and "to be scheduled" packets in the data center network, and dynamically adjusting priorities and monitoring buffer status, the high latency problem of TCP and UDP in short message transmission is solved, achieving low-latency and efficient data transmission.

CN119697129BActive Publication Date: 2025-09-30北京志凌海纳科技股份有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411842700.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-13
Publication Date
2025-09-30
Estimated Expiration
2044-12-13

AI Technical Summary

Technical Problem

Existing TCP and UDP transmission protocols have problems with head-of-line blocking and insufficient congestion control when processing short messages in data center networks, resulting in excessively high short message transmission delays and affecting the overall network performance of the data center.

Method used

By dividing messages into "unscheduled" and "to-be-scheduled" data packets, the sender sends the "unscheduled" data packets first and then sends the "to-be-scheduled" data packets one by one according to the priority specified by the receiver. The receiver dynamically adjusts the priority and utilizes the priority characteristics of the switch to ensure high-priority transmission of short messages. The receiver monitors the buffer status and adjusts the sending frequency under high load.

Benefits of technology

It effectively reduces the transmission delay of short messages, optimizes data transmission efficiency, improves system response speed, avoids excessive buffer occupancy and network congestion, and realizes low-latency message transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697129B_ABST
    Figure CN119697129B_ABST
Patent Text Reader

Abstract

The present invention discloses a processing method for reducing the transmission delay of short messages in a data center network, comprising: a receiver recording the data message size of a currently sent "to be scheduled" data packet, and calculating the proportion of the bytes of the unscheduled portion of the message in the corresponding bytes of all the "to be scheduled" data packets to be transmitted; the receiver obtains a preset standard ratio, and determines that the unscheduled portion of the message whose proportion of the bytes of the current unscheduled portion of the message in all the bytes to be transmitted is lower than the preset standard ratio is a low priority; the receiver allocates the priority sending authority with the highest proportion to the "unplanned" data packet, and reserves the low priority sending authority for the "to be scheduled" data packet; the above method effectively reduces the risk of system congestion, thereby realizing low-latency message transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data transmission, and in particular to a processing method for reducing short message transmission delay in a data center network. Background Art

[0002] Research has found that many data centers widely use request-response protocols based on extremely short messages (typically a few hundred bytes or less) in their applications. These short messages typically occur on control links, conveying critical business logic information such as heartbeat messages (used between services to verify connectivity and service availability). They account for a significant proportion of messages transmitted across data center networks, but due to their small size, they contribute relatively little to overall traffic. Due to their importance, these short messages typically have high latency requirements: lower latency translates to better application performance. However, commonly used transport protocols, such as TCP, often introduce significant latency when processing short messages, significantly exceeding the performance provided by the underlying hardware. TCP-induced latency issues, such as head-of-line blocking and delays caused by congestion control, become particularly pronounced under high network load. The vast majority of services within data center networks rely on TCP as the transport layer protocol, despite it not always being the optimal choice for handling extremely short messages. This impacts overall data center network performance.

[0003] TCP, also known as the Transmission Control Protocol, is a reliable, connection-oriented, and fundamental communications protocol for streaming data transmission. During data transmission, TCP segments data into appropriately sized segments, each of which includes a sequence number and an acknowledgment number. After the sender sends a data segment, it waits for an acknowledgment from the receiver. If an acknowledgment is not received within a certain period of time, the sender retransmits the segment to ensure data integrity.

[0004] Another common transport layer protocol is UDP (User Datagram Protocol), which is a simple packet-oriented communication protocol. UDP only provides unreliable delivery of data. Once it sends the data sent by the application to the network layer, it does not retain the data itself. UDP is suitable for applications that do not need or perform error checking and correction in the program, and it avoids the overhead of such processing in the protocol stack. Applications with high time requirements often use UDP because dropping packets is preferable to waiting or retransmission and causing delays. Because UDP lacks reliability and is a connectionless protocol, applications usually have to tolerate some lost, erroneous, or duplicate packets. Some applications (such as TFTP) may add basic reliability mechanisms to the application layer as needed. Because UDP lacks congestion control, network-based mechanisms are required to reduce the congestion collapse effects caused by uncontrolled and high-speed UDP traffic loads. In other words, because the UDP sender cannot detect congestion, network infrastructure such as routers using packet queues and drop techniques are used to reduce excessive UDP traffic. See Figure 1 ,in Figure 1 Demonstrates the five-layer network model of TCP and UDP;

[0005] Further research revealed the following obvious technical flaws in the TCP protocol used as a transport layer:

[0006] The first is head-of-line blocking. TCP uses a streaming transmission method. When short messages wait behind longer messages, they cause significant latency: the short message must wait for the preceding long message to complete, significantly increasing latency. Data center applications often rely on short messages, which can impact application performance. Head-of-line blocking is a common problem in network communications. It occurs in the TCP protocol, and its impact is particularly significant when application layer protocols require fast responses. TCP is a connection-oriented protocol that provides reliable data transmission. Its streaming nature means that packets are transmitted and assembled in sequence. The problem with head-of-line blocking is that when a shorter message follows a longer message, its transmission is blocked by the longer message due to flow control mechanisms. The long message must be fully received before the short message can begin transmission. This design is suitable for long messages, but for short messages where low latency is crucial, it can lead to unnecessary transmission waits. In real-world data center applications, services often rely on a large number of small requests and responses, such as database queries and cache reads. These operations are generally short, so in TCP's streaming environment, any long message has the potential to cause head-of-line blocking for subsequent short messages. This congestion increases transmission delay, which in turn affects the overall performance of the application and user experience.

[0007] Secondly, it's unsuitable for small messages. In modern data center networks, a large number of applications use request-response protocols, with short messages predominating. When handling bursts of these small messages, TCP, not originally designed to optimize for small messages, cannot effectively distinguish between the traffic characteristics of small and large messages. It may treat small messages the same as large ones, causing them to queue in the buffer and increase the latency of short messages. This situation is particularly pronounced under high network loads, as TCP cannot utilize mechanisms such as network priority queues to prioritize short messages, thus failing to meet the stringent low-latency requirements of short messages.

[0008] At the same time, the disadvantages of UDP protocol as a transport layer are:

[0009] UDP does not provide any built-in reliability guarantees. During UDP transmission, there is no acknowledgement of sent packets, no retransmission mechanism, and no flow control. If packets are lost, corrupted, or delivered out of order, the UDP protocol itself does not automatically correct these issues, and the receiving end has no way to confirm that the data has arrived intact and correctly. This means that applications must implement their own reliability mechanisms to ensure accurate data delivery. This may be acceptable for real-time applications such as video streaming and online gaming, but it is not suitable for applications that require guaranteed data integrity.

[0010] No congestion control: UDP lacks a built-in congestion control mechanism. If network congestion occurs, UDP packets may be discarded without any processing, resulting in data loss. The sender will continue to send packets regardless of the network's actual transmission capacity, which may further exacerbate network congestion. The application layer must detect and handle these situations, often requiring complex logic to avoid network overload. This can lead to performance issues in high-load and unstable network environments.

[0011] Therefore, there is an urgent need for a multi-level method to reduce the delay in short message transmission in data center networks. Summary of the Invention

[0012] The purpose of the present invention is to provide a processing method for reducing the transmission delay of short messages in a data center network, thereby solving the above-mentioned technical problems pointed out in the prior art.

[0013] The present invention provides a method for reducing the transmission delay of short messages in a data center network, comprising the following steps:

[0014] The receiver divides the messages to be transmitted into “unscheduled” packets and “to be scheduled” packets;

[0015] The sender first immediately sends the "unscheduled" data packet;

[0016] After sending the "unplanned" data packet, the sender waits for the "accepted" data packet returned by the receiver;

[0017] The receiver assigns priority to the “to-be-scheduled” packets in the “accept” packets;

[0018] The sender sends the corresponding "to be scheduled" data packets one by one from high priority to low priority according to the priority of the "to be scheduled" data packets specified by the receiver;

[0019] The receiver records the data message size of the currently sent "to-be-scheduled" data packet and calculates the ratio of the bytes of the unscheduled portion of the message to the corresponding bytes of all the "to-be-scheduled" data packets to be transmitted; the receiver obtains a preset standard ratio and determines that the unscheduled portion of the message whose ratio of the bytes of the current unscheduled portion of the message to all the bytes to be transmitted is lower than the preset standard ratio is a low priority; the receiver assigns the highest priority sending permission to the "unscheduled" data packet and reserves the lower priority sending permission for the "to-be-scheduled" data packet;

[0020] It should be noted that the receiver determines the dividing line between unscheduled priorities, ensuring that each priority level processes the same number of unscheduled bytes and that shorter messages use higher priorities. By leveraging the switch's priority characteristics, the receiver assigns high priority to short messages (e.g., unscheduled data packets) and low priority to long messages (e.g., "to-be-scheduled" data packets whose proportion of bytes in the current unscheduled portion of the total incoming bytes is lower than a preset standard ratio) to achieve low-latency transmission.

[0021] Under high load conditions, the receiver grants permission to multiple senders. The current receiver calculates the remaining space in the current receiver buffer in real time. If the remaining space in the current receiver buffer is lower than the minimum buffer remaining threshold, the current receiver buffer is determined to be over-occupied, and the frequency of sending "approval messages" to the sender can be reduced at the same time, causing the sender to automatically reduce the sending rate.

[0022] Preferably, as a feasible implementation plan; under high load conditions, before the receiver grants permission to multiple senders, it also includes: the receiver schedules data packets one by one, invites the sender to transmit subsequent bytes by sending an "agreement message", and ensures that there is always some data in the "agreement" but "not received" state.

[0023] Preferably, as an implementable embodiment, the sender first immediately sends the "unscheduled" data packet, and based on the pre-set allocation priority in the recent traffic pattern, passes multiple "unscheduled" data packets to the receiver.

[0024] Preferably, as an implementation scheme, the "Accept" packet includes a "To Be Scheduled" packet specifying a priority. The "Accept" packet indicates that the sender may now transmit all bytes in the message up to a given offset and specifies the priority to be used, such that messages with fewer unauthorized bytes are given a higher priority.

[0025] Preferably, as an implementable method, after the transmitter immediately sends the "unplanned" data packet, the method further includes: the receiver determines whether the reception has timed out within a predetermined time, and if so, the receiver instructs the transmitter to "retransmit the message"; if not, the receiver receives the "unplanned" data packet.

[0026] When the receiver instructs the transmitter to "retransmit the message", the receiver sends a "retransmit message", where the "retransmit message" identifies the message range of the missing bytes, and then the transmitter retransmits the message of the missing bytes.

[0027] Preferably, as a feasible implementation, when the sender is currently busy, a busy message is sent from the sender to the receiver. This busy message indicates that the sender is currently unable to process the retransmission request and is used to inform the receiver that the sender is busy transmitting other higher-priority messages. This prevents the receiver from triggering a timeout mechanism due to not receiving an expected retransmission message within a preset time period. This helps maintain data transmission stability, avoids unnecessary retransmissions, and thus reduces network burden.

[0028] A system for reducing short message transmission delay in a data center network, comprising:

[0029] The receiver is used to classify the messages to be transmitted into "unscheduled" data packets and "to be scheduled" data packets; the receiver assigns priority to the "to be scheduled" data packets in the "accept" data packets;

[0030] The transmitter is configured to immediately send the "unscheduled" data packet first; and is further configured to wait for an "acceptance" data packet returned by the receiver after sending the "unscheduled" data packet; the transmitter sends the corresponding "to-be-scheduled" data packets in order from high priority to low priority according to the priority of the "to-be-scheduled" data packets specified by the receiver;

[0031] The receiver is further configured to record the data message size of the currently transmitted "to-be-scheduled" data packet and calculate the ratio of the bytes of the unscheduled portion of the message to the corresponding bytes of all the "to-be-scheduled" data packets to be transmitted; the receiver obtains a preset standard ratio and determines that the unscheduled portion of the message whose ratio of the bytes of the current unscheduled portion of the message to all the bytes to be transmitted is lower than the preset standard ratio is a low priority; the receiver assigns the highest priority sending permission to the "unscheduled" data packet and reserves the lower priority sending permission for the "to-be-scheduled" data packet;

[0032] Under high load conditions, the receiver grants permission to multiple senders. The current receiver calculates the remaining space in the current receiver buffer in real time. If the remaining space in the current receiver buffer is lower than the minimum buffer remaining threshold, the current receiver buffer is determined to be over-occupied, and the frequency of sending "approval messages" to the sender can be reduced at the same time, causing the sender to automatically reduce the sending rate.

[0033] The receiver is also used to schedule data packets one by one, inviting the transmitter to transmit subsequent bytes by sending an "acceptance message," and ensuring that some data is always in an "accepted" but "not received" state. The switch module supports configuring a priority level for each network port, and this priority level is used to distinguish between short and long messages, enabling hardware-level priority transmission.

[0034] A storage medium includes a stored program, wherein when the program is running, the device where the storage medium is located is controlled to execute the above-mentioned processing method for reducing the delay of short message transmission in a data center network.

[0035] Compared with the prior art, the embodiments of the present invention have at least the following technical advantages:

[0036] Analysis of the above-mentioned processing method for reducing the transmission delay of short messages in a data center network provided by the present invention shows that, in a specific application, the receiver divides the messages to be transmitted into "unscheduled" data packets and "to be scheduled" data packets;

[0037] The sender first immediately sends the "unscheduled" data packet;

[0038] After sending the "unscheduled" data packet, the sender waits for the "accept" data packet returned by the receiver; the receiver specifies the priority for the "to-be-scheduled" data packet in the "accept" data packet;

[0039] The sender sends the corresponding "to be scheduled" data packets one by one from high priority to low priority according to the priority of the "to be scheduled" data packets specified by the receiver;

[0040] The receiver records the data message size of the currently sent "to-be-scheduled" data packet and calculates the ratio of the bytes of the unscheduled portion of the message to the corresponding bytes of all the "to-be-scheduled" data packets to be transmitted; the receiver obtains a preset standard ratio and determines that the unscheduled portion of the message whose ratio of the bytes of the current unscheduled portion of the message to all the bytes to be transmitted is lower than the preset standard ratio is a low priority; the receiver assigns the highest priority sending permission to the "unscheduled" data packet and reserves the lower priority sending permission for the "to-be-scheduled" data packet;

[0041] Under high load conditions, the receiver grants permission to multiple senders. The current receiver calculates the remaining space in the current receiver buffer in real time. If the remaining space in the current receiver buffer is lower than the minimum buffer remaining threshold, the current receiver buffer is determined to be over-occupied, and the frequency of sending "approval messages" to the sender can be reduced at the same time, causing the sender to automatically reduce the sending rate.

[0042] It should be noted that the receiver determines the dividing line between unscheduled priorities, ensuring that each priority level processes the same number of unscheduled bytes and that shorter messages use higher priorities. By leveraging the switch's priority characteristics, the receiver assigns high priority to short messages (e.g., unscheduled data packets) and low priority to long messages (e.g., "to-be-scheduled" data packets whose proportion of bytes in the current unscheduled portion of the total incoming bytes is lower than a preset standard ratio) to achieve low-latency transmission.

[0043] The above-mentioned processing method for reducing the transmission delay of short messages in a data center network provided by the present invention has the function of optimizing data transmission efficiency: by classifying data packets ("unscheduled" data packets and "to be scheduled" data packets), priority management is achieved to ensure that high-priority data packets (short messages) can be sent quickly, thereby reducing delays. Dynamic priority adjustment is achieved: that is, the receiver dynamically adjusts the sending authority according to the proportion of unscheduled messages to ensure that low-priority "to be scheduled" data packets do not hinder high-priority "unscheduled" data packets, thereby improving the response speed of the system. Moreover, under high load conditions, the receiver can monitor its buffer status in real time and adjust the frequency of sending "agreement" messages according to the remaining space to prevent excessive occupancy of the buffer and ensure the stability of the system. By giving priority to short messages and slowing down the sending rate when the load is high, the risk of system congestion is effectively reduced, thereby achieving low-latency message transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0045] Figure 1 It is a flow chart in the prior art;

[0046] Figure 2 A flowchart of a method for reducing short message transmission delay in a data center network provided in the first embodiment of the present invention;

[0047] Figure 3 This is a specific operation flow chart of a processing method for reducing short message transmission delay in a data center network provided by Embodiment 1 of the present invention. DETAILED DESCRIPTION

[0048] The technical solution of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0049] The present invention will be further described in detail below through specific embodiments in conjunction with the accompanying drawings.

[0050] Example 1

[0051] like Figure 2 As shown, the present invention proposes a processing method for reducing the delay of short message transmission in a data center network, comprising the following steps:

[0052] S10, the receiver divides the message to be transmitted into "unscheduled" data packets and "to be scheduled" data packets;

[0053] S20, the transmitter first immediately sends the "unplanned" data packet;

[0054] S30, after sending the "unplanned" data packet, the sender waits for the "accepted" data packet returned by the receiver;

[0055] S40, the receiver specifies a priority for the "to be scheduled" data packet in the "accept" data packet;

[0056] S50, the transmitter sends the corresponding "to be scheduled" data packets in sequence from high priority to low priority according to the priority of the "to be scheduled" data packets specified by the receiver;

[0057] S60. The receiver records the data message size of the currently sent "to be scheduled" data packet, and calculates the proportion of the bytes of the unscheduled part of the message in the corresponding bytes of all the "to be scheduled" data packets to be transmitted; the receiver obtains the preset standard proportion, and determines that the unscheduled part of the message whose proportion of the bytes of the current unscheduled part of the message in all the bytes to be transmitted is lower than the preset standard proportion is a low priority; the receiver assigns the highest priority sending right to the "unscheduled" data packet, and reserves the low priority sending right for the "to be scheduled" data packet; it should be noted that the above-mentioned receiver determines the dividing line between the unscheduled priorities to ensure that each priority level processes the same number of unscheduled bytes, and makes shorter messages use higher priorities; utilizing the priority characteristics of the switch, high priority is configured for short messages (such as unscheduled data packets), and low priority is configured for long messages (such as unscheduled part of the message whose proportion of the bytes of the current unscheduled part of the message in all the bytes to be transmitted is lower than the preset standard proportion, which is a low "to be scheduled" data packet), so as to achieve low-latency transmission;

[0058] S70. Under high load, the receiver grants permission to multiple senders. The current receiver calculates the remaining space in the current receiver buffer in real time. If the remaining space in the current receiver buffer falls below a minimum buffer remaining threshold, the current receiver buffer is deemed overused. The frequency of "acceptance messages" sent to the sender is reduced, causing the sender to automatically reduce its sending rate. This method controls overuse of the receiver's downlink, ensuring that each incoming message occupies a maximum of a certain buffer space at the receiver. This differs from TCP, which can cause buffer overuse when handling bursty traffic. This allows this method to ensure efficient buffer utilization while avoiding the increased latency caused by excessive buffer queues.

[0059] The above-mentioned processing method for reducing the transmission delay of short messages in a data center network provided by the present invention has the function of optimizing data transmission efficiency: by classifying data packets ("unscheduled" data packets and "to be scheduled" data packets), priority management is achieved to ensure that high-priority data packets (short messages) can be sent quickly, thereby reducing delays. Dynamic priority adjustment is achieved: that is, the receiver dynamically adjusts the sending authority according to the proportion of unscheduled messages to ensure that low-priority "to be scheduled" data packets do not hinder high-priority "unscheduled" data packets, thereby improving the response speed of the system. Moreover, under high load conditions, the receiver can monitor its buffer status in real time and adjust the frequency of sending "agreement" messages according to the remaining space to prevent excessive occupancy of the buffer and ensure the stability of the system. By giving priority to short messages and slowing down the sending rate when the load is high, the risk of system congestion is effectively reduced, thereby achieving low-latency message transmission.

[0060] Preferably, as a feasible implementation plan; under high load conditions, before the receiver grants permission to multiple senders, it also includes: the receiver schedules data packets one by one, invites the sender to transmit subsequent bytes by sending an "agreement message", and ensures that there is always some data in the "agreement" but "not received" state.

[0061] Preferably, as an implementable embodiment, the sender first immediately sends the "unscheduled" data packet, and based on the pre-set allocation priority in the recent traffic pattern, passes multiple "unscheduled" data packets to the receiver.

[0062] The receiver dynamically determines the priority based on the message size and real-time traffic conditions. For "unscheduled" packets, the receiver pre-assigns a priority based on recent traffic patterns and passes this information to the sender. For "pending" packets, the receiver specifies the priority in the "accepted" packet, enabling more precise priority control. This differs from TCP's single priority (i.e., no priority) approach and effectively addresses TCP's lack of flexibility in handling different message types, ensuring that short messages can be transmitted quickly across the network.

[0063] Preferably, as an implementation scheme, the "Accept" packet includes a "To Be Scheduled" packet specifying a priority. The "Accept" packet indicates that the sender may now transmit all bytes in the message up to a given offset and specifies the priority to be used, such that messages with fewer unauthorized bytes are given a higher priority.

[0064] Preferably, as an implementable embodiment; Figure 3 As shown, after the transmitter first immediately sends the "unscheduled" data packet, it also includes:

[0065] S21. The receiver determines whether the reception timeout occurs within the predetermined time. If so, the receiver sends a "resend message" instruction to the transmitter; if not, the receiver receives an "unplanned" data packet.

[0066] S22. When the receiver instructs the transmitter to "retransmit the message", the receiver sends a "retransmit message", where the "retransmit message" identifies the message range of the missing bytes, and then the transmitter retransmits the message of the missing bytes.

[0067] Preferably, as an implementable solution, when the current transmitter is in a busy state, the solution further includes sending a busy message from the transmitter to the receiver;

[0068] The busy message indicates that the sender is currently unable to process a retransmission request and is used to inform the receiver that the sender is busy transmitting other, higher-priority messages. This prevents the receiver from triggering a timeout due to not receiving an expected retransmission within a preset period. This helps maintain data transmission stability, avoids unnecessary retransmissions, and reduces network overhead.

[0069] The receiver records the data message size of the currently sent "to be scheduled" data packet and calculates the proportion of the bytes of the unscheduled part of the message in the corresponding bytes of all the "to be scheduled" data packets to be transmitted; the receiver obtains the preset standard ratio and determines that the unscheduled part of the message whose proportion of the bytes of the current unscheduled part of the message in all the bytes to be transmitted is lower than the preset standard ratio is a low priority; the receiver assigns the priority sending right with the highest proportion to the "unplanned" data packet and reserves the low priority sending right for the "to be scheduled" data packet; then in a further technical solution, the receiver determines the dividing line between the priorities of the unscheduled data packets so that each priority level processes the same number of unscheduled bytes, and shorter messages use higher priorities. By ensuring that each priority level processes the same number of unscheduled bytes, the receiver can fairly allocate resources while giving priority to short messages, thereby improving overall transmission efficiency.

[0070] The following table shows various message types involved in a processing method for reducing short message transmission delay in a data center network proposed by the present invention;

[0071]

[0072] This invention proposes a method for reducing short message transmission latency in data center networks, using a shortest remaining processing time strategy. Compared to TCP, which does not distinguish between message processing orders, this method prioritizes short messages with fewer remaining bytes, significantly reducing short message latency and improving overall performance. The shortest remaining processing time strategy is characterized by the following: for example, if three people are queuing to collect water, two using small buckets (each collection takes one minute), and one using a large bucket (each collection takes ten minutes). In this case, the optimal strategy is for the person using the small bucket to collect water first, followed by the person using the large bucket, for a total waiting time of 1 + (1 + 1) + (1 + 1 + 10) = 15 minutes. This is the shortest remaining time strategy. TCP's fair scheduling strategy, however, may result in a situation where the person using the large bucket collects water first, followed by the person using the small bucket, resulting in a total waiting time of 10 + (10 + 1) + (10 + 1 + 1) = 33 minutes.

[0073] Each receiver keeps statistics on the sizes of its incoming messages and uses the message size distribution to calculate the fraction of all incoming bytes that are unscheduled to determine the priority level. It then assigns the available priority levels with the highest fraction to "unscheduled" packets, and reserves the remaining lower priority levels for "to be scheduled" packets. The receiver then determines a dividing line between the unscheduled priority levels so that each level handles the same number of unscheduled bytes, and shorter messages use higher priorities.

[0074] For scheduled packets, the receiver assigns a priority in each "accept" packet, and the sender uses that priority for the granted bytes. This allows the receiver to dynamically adjust the priority assignments based on the precise set of messages received. The receiver uses a different priority level for each message, with messages with fewer ungranted bytes given a higher priority.

[0075] Example 2

[0076] A second embodiment of the present invention provides a system for reducing short message transmission delay in a data center network, including:

[0077] The receiver is used to classify the messages to be transmitted into "unscheduled" data packets and "to be scheduled" data packets; the receiver assigns priority to the "to be scheduled" data packets in the "accept" data packets;

[0078] The transmitter is configured to immediately send the "unscheduled" data packet first; and is further configured to wait for an "acceptance" data packet returned by the receiver after sending the "unscheduled" data packet; the transmitter sends the corresponding "to-be-scheduled" data packets in order from high priority to low priority according to the priority of the "to-be-scheduled" data packets specified by the receiver;

[0079] The receiver is further configured to record the data message size of the currently transmitted "to-be-scheduled" data packet and calculate the ratio of the bytes of the unscheduled portion of the message to the corresponding bytes of all the "to-be-scheduled" data packets to be transmitted; the receiver obtains a preset standard ratio and determines that the unscheduled portion of the message whose ratio of the bytes of the current unscheduled portion of the message to all the bytes to be transmitted is lower than the preset standard ratio is a low priority; the receiver assigns the highest priority sending permission to the "unscheduled" data packet and reserves the lower priority sending permission for the "to-be-scheduled" data packet;

[0080] Under high load conditions, the receiver grants permission to multiple senders. The current receiver calculates the remaining space in the current receiver buffer in real time. If the remaining space in the current receiver buffer is lower than the minimum buffer remaining threshold, the current receiver buffer is determined to be over-occupied, and the frequency of sending "approval messages" to the sender can be reduced at the same time, causing the sender to automatically reduce the sending rate.

[0081] Preferably, as an implementable solution, the receiver is also used to schedule data packets one by one, invite the transmitter to transmit subsequent bytes by sending an "accept message", and ensure that there is always some data in the "accepted" but "not received" state.

[0082] Example 3

[0083] A third embodiment of the present invention provides a storage medium, which includes a stored program. When the program is running, the device where the storage medium is located is controlled to execute the above-mentioned processing method for reducing the transmission delay of short messages in a data center network.

[0084] In summary, the processing method, system, and storage medium for reducing short message transmission latency in data center networks proposed in the present invention have the following advantages over UDP: First, reliable data transmission. UDP does not check whether packets have arrived successfully and lacks a retransmission mechanism. However, the processing method employed in the present invention implements timeout retransmission during message delivery. If no additional packets arrive for a message within a long period (several milliseconds), the receiver sends a "retransmit message" identifying the first range of missing bytes, and the sender then retransmits those bytes. If all initial packets of a request are lost, the server will not be aware of the message and will not send a "retransmit" request. However, the client will time out due to not receiving a response message and will send a "retransmit" request for that response. When the server receives a retransmission request for a response represented by an unknown identifier, it assumes the request message must have been lost and will send a retransmission request for the previous portion of the request.

[0085] The second aspect is congestion control. UDP lacks a congestion control mechanism. When the network is highly loaded, data packets may be discarded by network devices, resulting in congestion. If applications are allowed to continue sending data packets in a disorderly manner, congestion will become even more severe. The processing method used in this invention implements receiver-driven congestion control: when the receiver buffer is nearing saturation or the network is congested, the frequency of "acceptance messages" sent to the sender is reduced, causing the sender to automatically reduce the sending rate, avoiding network overload, ensuring stable and orderly data transmission, and preventing data packet loss and increased congestion due to excessive transmission.

[0086] At the same time, compared to TCP, the latency of short messages is significantly reduced. That is, in the case of mixed transmission of long and short messages, the implementation of the priority mechanism can control the worst-case latency of small messages to a level close to the hardware latency, which significantly reduces the latency of short messages compared to TCP. Avoids head-of-line blocking: Because there is no mechanism like TCP where the sender blindly sends data, the receiver can better control the inflow of data. High throughput: By actively utilizing the priority queues provided by network switches and dynamically allocating priorities at the receiver, combined with the receiver-driven flow control mechanism, network bandwidth is effectively used, bandwidth utilization is improved, and while ensuring the latency of short messages, the throughput of long messages is also improved.

[0087] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them. A person skilled in the art may modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for reducing the transmission delay of short messages in a data center network, characterized in that: The following steps are included: The receiver divides the messages to be transmitted into "unscheduled" data packets and "to be scheduled" data packets; the "unscheduled" data packets are messages to be transmitted with high priority; The sender first immediately sends the "unscheduled" data packet; After sending the "unplanned" data packet, the sender waits for the "accepted" data packet returned by the receiver; The receiver assigns priority to the "to be scheduled" packets in the "accept" packets; The sender sends the corresponding "to be scheduled" data packets in order from high priority to low priority according to the priority of the "to be scheduled" data packets specified by the receiver; The receiver records the data message size of the currently sent "to be scheduled" data packet and calculates the ratio of the bytes of the unscheduled part of the message to the corresponding bytes of all the "to be scheduled" data packets to be transmitted; the receiver obtains the preset standard ratio and determines that the unscheduled part of the message whose ratio of the bytes of the current unscheduled part of the message to the corresponding bytes of all the bytes to be transmitted is lower than the preset standard ratio is a low priority; The receiver allocates the highest priority sending rights to the "unscheduled" data packets and reserves the lower priority sending rights for the "to be scheduled" data packets; Under high load conditions, receivers grant permissions to multiple senders; The current receiver calculates the remaining space in the current receiver buffer in real time; if the remaining space in the current receiver buffer is lower than the minimum buffer remaining threshold, the current receiver buffer is determined to be over-occupied, and at the same time, the frequency of sending "acceptance messages" to the sender can be reduced, causing the sender to automatically reduce the sending rate.

2. The method according to claim 1, characterized in that Under high load conditions, before the receiver grants permission to multiple senders, it also includes: the receiver schedules data packets one by one, invites the sender to transmit subsequent bytes by sending an "accept message", and ensures that there is always some data in the "accepted" but "not received" state.

3. The method according to claim 2, characterized in that The sender first sends the "unscheduled" data packet immediately and passes multiple "unscheduled" data packets to the receiver based on the pre-set allocation priority under the recent traffic pattern.

4. The method according to claim 3, characterized in that After the transmitter immediately sends the "unscheduled" data packet, the method further includes: the receiver judging whether the reception timeout occurs within a predetermined time, and if so, the receiver sending a "retransmit message" instruction to the transmitter; if not, the receiver receiving the "unscheduled" data packet; When the receiver sends a "retransmit message" instruction to the transmitter, the receiver sends a "retransmit message" that identifies the message range of the missing bytes, and then the transmitter retransmits the message of the missing bytes.

5. The method according to claim 4, characterized in that When the current transmitter is in a busy state, it also includes a busy message sent by the transmitter to the receiver; the busy message indicates that the transmitter is currently unable to process the retransmission request immediately, and is used to notify the receiver that the transmitter is busy transmitting other messages with higher priority, and prevent the receiver from triggering a timeout mechanism due to failure to receive the expected retransmission message within a preset time period.

6. A storage medium, characterized in that The storage medium includes a stored program, wherein when the program is running, the device where the storage medium is located is controlled to execute the processing method for reducing the delay of short message transmission in a data center network as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • LTE scheduling method and device for packet real-time service perception

    CN109981483A

  • Flow scheduling method, device, equipment and medium

    CN117097676A