[go: up one dir, main page]

CN112751778B - Data transmission control method and device, congestion detection and device, server system - Google Patents

Data transmission control method and device, congestion detection and device, server system Download PDF

Info

Publication number
CN112751778B
CN112751778B CN201911043520.XA CN201911043520A CN112751778B CN 112751778 B CN112751778 B CN 112751778B CN 201911043520 A CN201911043520 A CN 201911043520A CN 112751778 B CN112751778 B CN 112751778B
Authority
CN
China
Prior art keywords
data
data transmission
amount
congestion
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911043520.XA
Other languages
Chinese (zh)
Other versions
CN112751778A (en
Inventor
刘小丽
曹政
高山渊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201911043520.XA priority Critical patent/CN112751778B/en
Publication of CN112751778A publication Critical patent/CN112751778A/en
Application granted granted Critical
Publication of CN112751778B publication Critical patent/CN112751778B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • 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/11Identifying congestion
    • 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/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

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

Abstract

本申请公开一种服务器系统内数据传输控制方法和装置,一种服务器系统内数据传输状态的检测方法和装置,以及服务器系统,计算机存储介质和电子设备,其中,所述方法包括:服务器系统内的第一设备获取第二设备数据存储区的数据存储量,其中,所述第一设备用于转发传输到所述第二设备的数据;所述第一设备根据所述第二设备的数据存储量,确定所述第二设备的数据传输状态;当所述数据传输状态确定为拥塞状态时,所述第一设备控制数据的传输;以便数据传输处于拥塞状态下,能够通过所述第一设备控制数据传输,避免由于拥塞而导致的通信延迟以及网路性能变差的问题。

The present application discloses a method and device for controlling data transmission in a server system, a method and device for detecting the data transmission status in a server system, and a server system, a computer storage medium and an electronic device, wherein the method comprises: a first device in the server system obtains the data storage capacity of a data storage area of a second device, wherein the first device is used to forward data transmitted to the second device; the first device determines the data transmission status of the second device according to the data storage capacity of the second device; when the data transmission status is determined to be a congested state, the first device controls the transmission of data; so that when the data transmission is in a congested state, the data transmission can be controlled by the first device, thereby avoiding communication delays and network performance degradation caused by congestion.

Description

Data transmission control method and device, congestion detection device and server system
Technical Field
The application relates to the technical field of Internet, in particular to a method and a device for controlling data transmission in a server system, a method and a device for detecting data congestion in the server system, a computer storage medium and electronic equipment.
Background
The general CPU encounters increasingly serious performance bottlenecks in the aspects of big data processing, machine learning and the like, and more scenes start to be introduced into heterogeneous computing units such as GPU (graphics processing Unit), FPGA (field programmable gate array) and the like for acceleration.
Heterogeneous computing refers to various co-processing computing devices such as CPU co-GPU, ASIC, FPGA, DSP that use different types of instruction sets, and are interconnected by a system interconnection bus to form a hybrid system, and execute a computing manner.
With the development of heterogeneous computing, more and more components are integrated in the server system, as shown in fig. 1, including general-purpose CPU, memory, coprocessor computing devices, network devices (such as network cards), storage devices, other system devices, and the like. When the components interconnected in the server system become more, the communication between the server systems is not limited to the memory and other devices, but also includes peer-to-peer communication between the devices, so that the situation that the multiple components occupy the system interconnection bandwidth in the server system becomes obvious, and network congestion can be caused.
However, in the current interconnect protocol within the server system, such as PCIe IO bus, there is only a back pressure mechanism for point-to-point flow control, and no congestion control mechanism. As shown in fig. 1, when a plurality of devices (e.g., memory, network card) all transmit data to the computing device 1, network congestion occurs. Congestion is gradually back-pressed from the computing device 1 and spreads to the interconnection devices in the whole server system, so that data transmission is blocked, communication delay is caused, and more serious, network congestion in the server system is further spread to a data center network through a network card, so that large-scale network delay and the like are caused.
Disclosure of Invention
The application provides a data transmission control method in a server system, which aims to solve the problem of data communication delay caused by network congestion in the prior art.
The application provides a data transmission control method in a server system, which comprises the following steps:
A first device in a server system acquires a data storage amount of a second device data storage area, wherein the first device is used for forwarding data transmitted to the second device;
The first device determines the data transmission state of the second device according to the data storage amount of the second device;
when the data transmission state is determined to be a congestion state, the first device controls transmission of data.
In some embodiments, the first device is a first switching device, the second device is an endpoint device or a second switching device, wherein the endpoint device includes a source node device that initiates the data request and a target node device that receives the data request.
In some embodiments, a first device within the server system obtains a second device data storage area data storage amount, comprising:
And triggering the first equipment to acquire the data storage capacity of the second equipment data storage area according to the set acquisition condition.
In some embodiments, the acquisition condition is at least one of the following:
a fixed time interval condition of data transmission is set;
a dynamic time interval condition of data transmission is set;
A reception request condition of a data request received by the first device;
a transmission request condition for the first device to transmit a data request.
In some embodiments, the first device determines, according to the data storage amount of the second device, a data transmission state of the second device, including:
Determining the available memory capacity of the data memory area according to the data memory capacity and the total transmitted data of the second equipment;
Determining the deviation of the current available storage amount according to the available storage amount and the preset storage occupation amount;
determining the change amount of the last determined available memory relative to the current available memory according to the current available memory and the last determined available memory;
and determining the data transmission state according to the deviation amount and the variation amount.
In some embodiments, the determining the transmission state of the data according to the deviation amount and the variation amount includes:
when the sum of the deviation amount and the transformation amount is greater than zero, determining the determined data transmission state as a congestion state;
And when the sum of the deviation amount and the variation amount is smaller than or equal to zero, determining the determined data transmission state as a fluent state.
In some embodiments, further comprising:
when the determined data transmission state is a congestion state, configuring congestion state grade weights;
And according to the configured congestion state grade weight, carrying out congestion grade division on the congestion state to obtain a congestion state grade.
In some embodiments, when the determined data transmission state is a congestion state, the first device controls transmission of the data, including:
When the data transmission state is determined to be a congestion state, the first device sends a congestion notification to an end side initiating a data request or to an end side receiving the data request;
and controlling the transmission of the data by the first equipment according to the congestion notification.
In some embodiments, when the data transmission state is determined to be a congestion state, the first device sends a congestion notification to an end side that initiates the data request or to an end side that receives the data request, including:
When the second device is a target node device and the data transmission state is a congestion state, the first device sends a congestion notification to the connected source node device;
When the second device is a source node device and the data transmission state is a congestion state, the first device sends a congestion notification to a connected target node device or sends data carrying the congestion state;
And when the second device is a second switching device and the data transmission state is in a congestion state, the first device sends a congestion notification to a source node device which initiates the data request, or the first device sends a congestion notification to a target node device which receives the data request.
In some embodiments, when the data transmission state is determined to be a congestion state, the first device sends a congestion notification to an end side that initiates the data request or to an end side that receives the data request, including:
marking the congestion level of the congestion state according to the congestion state of data transmission;
the controlling, by the first device, transmission of the data according to the congestion notification includes:
And controlling the data transmission quantity between the source node equipment and the target node equipment by the first equipment according to the congestion level.
In some embodiments, the controlling, by the first device, an amount of data transmission between the source node device and the target node device according to the congestion status level includes:
Controlling the transmission rate of data according to the congestion level;
Converting the transmission rate into the data quantity transmitted in a preset time;
And controlling the data transmission quantity between the source node equipment and the target node equipment according to the data quantity transmitted in the preset time.
In some embodiments, the controlling the data transmission amount between the source node device and the target node device according to the data amount transmitted in the preset time includes:
And determining whether the data quantity transmitted in the preset time meets the data transmission requirement, and if not, suspending transmission.
In some embodiments, further comprising:
and if the data quantity transmitted in the preset time meets the data transmission requirement, transmitting.
In some embodiments, the first device within the server system obtaining the data storage of the second device data storage area comprises:
and the first device in the server system acquires the data buffering quantity of the data buffering area of the second device.
The application also provides a data transmission control device in the server system, which comprises:
an obtaining unit, configured to obtain, by a first device in a server system, a data storage amount of a data storage area of a second device, where the first device is configured to forward data transmitted to the second device;
a determining unit, configured to determine, by the first device, a data transmission state of the second device according to a data storage amount of the second device;
And the control unit is used for controlling the transmission of the data by the first equipment when the data transmission state is determined to be a congestion state.
The application also provides a method for detecting the data transmission state in the server system, which comprises the following steps:
Determining the available memory capacity of the first device according to the data memory capacity of a second device data memory area in the server system and the total transmitted data of the second device;
Determining the deviation of the available storage amount according to the available storage amount and the preset storage occupation amount;
determining the change amount of the last determined available memory relative to the available memory according to the available memory and the last determined available memory;
And detecting a data transmission state according to the deviation amount and the variation amount.
In some embodiments, the detecting a data transmission state according to the deviation amount and the variation amount includes:
when the sum of the deviation amount and the transformation amount is larger than zero, determining the detected data transmission state as a congestion state;
And when the sum of the deviation amount and the transformation amount is smaller than or equal to zero, determining the detected data transmission state as a fluent state.
In some embodiments, further comprising:
when the determined data transmission state is a congestion state, configuring congestion state grade weights;
And according to the configured congestion state grade weight, carrying out congestion grade division on the congestion state to obtain a congestion state grade.
In some embodiments, the configuring congestion state level weights when the determined state of the data transmission is a congestion state includes:
and configuring a weight for describing the congestion state level for at least one parameter of the deviation amount and the variation amount.
The application also provides a device for detecting the data transmission state in the server system, which comprises:
An available memory amount determining unit, configured to determine an available memory amount of a data storage area of a second device in a server system according to a data memory amount of the data storage area and a total amount of transmission data of the second device;
the deviation amount determining unit is used for determining the deviation amount of the available storage amount according to the available storage amount and the preset storage occupation amount;
A change amount determining unit configured to determine, according to the available storage amount and a last-determined available storage amount, a change amount of the last-determined available storage amount relative to the available storage amount;
and a state detection unit for detecting a data transmission state based on the deviation amount and the variation amount.
The application also provides a control method for data transmission in the server system, which comprises the following steps:
The method comprises the steps that a first device determines the data transmission state of a second device according to the storage amount of the second device;
marking the congestion level of the congestion state if the data transmission state of the second device is determined to be the congestion state;
and controlling the transmission of data by the first device according to the congestion level.
In some embodiments, said controlling, by said first device, transmission of data according to said congestion level comprises:
And controlling the transmission quantity of the data by the first equipment according to the congestion level.
In some embodiments, the controlling, by the first device, an amount of data transmission between a source node device and a target node device according to the congestion level includes:
Controlling the transmission rate of data according to the congestion level;
Converting the transmission rate into the data quantity transmitted in a preset time;
And controlling the transmission quantity of the data according to the data quantity transmitted in the preset time.
In some embodiments, the controlling the data transmission amount between the source node device and the target node device according to the data amount transmitted in the preset time includes:
And determining whether the data quantity transmitted in the preset time meets the data transmission requirement, and if not, suspending transmission.
In some embodiments, further comprising:
And if the data quantity transmitted in the preset time meets the data transmission requirement, transmitting the data.
The application also provides a control device for data transmission in the server system, which comprises:
A determining unit, configured to obtain, by a first device, a data transmission state of a second device;
a marking unit configured to mark a congestion level of a congestion state when a data transmission state of the second device is determined to be the congestion state;
And the control unit is used for controlling the transmission of data through the first equipment according to the congestion level.
The application itself also provides a server system comprising:
a first device and a second device;
the first device in the server system is used for acquiring the data storage amount of the data storage area of the second device, wherein the first device is used for forwarding data transmitted to the second device, the first device determines the data transmission state of the second device according to the data storage amount of the second device, and when the data transmission state is determined to be a congestion state, the first device controls data transmission.
In some embodiments, the first device is a first switching device, the second device is an endpoint device or a second switching device;
The first switching device comprises a port module and an internal switching module, wherein the port module is used for being connected with the second device, the port module comprises a receiving sub-module used for receiving data and a sending sub-module used for sending data, a congestion measurement sub-module used for detecting the data transmission state of the second device and a congestion control sub-module used for controlling the data transmission when the data transmission state is the congestion state, and the end point device comprises at least one of a source node device initiating a data request and a target node device receiving the data request.
The present application also provides a computer storage medium for storing a program;
the program, when read and executed, is capable of executing the intra-server-system data transmission control method as described above, or executing the method of detecting the intra-server-system data transmission state as described above, or executing the method of controlling intra-server-system data transmission as described above.
The present application also provides an electronic device including:
A processor;
and a memory for storing a program which, when read by the processor, causes the electronic device to execute the in-server-system data transmission control method as described above, or the in-server-system data congestion detection method as described above, or the in-server-system data transmission congestion control method as described above.
Compared with the prior art, the application has the following advantages:
The method for controlling data transmission in the server system comprises the steps that a first device in the server system obtains the data storage amount of a data storage area of a second device, wherein the first device is used for forwarding data transmitted to the second device, the first device determines the data transmission state of the second device according to the data storage amount of the second device, when the data transmission state is determined to be a congestion state, the first device controls the data transmission, so that the data transmission can be controlled through the first device when the data transmission is in the congestion state, and the problems of communication delay and network performance degradation caused by congestion are avoided.
The application further provides a method for detecting the data transmission state in the server system, which comprises the steps of determining the available memory capacity of a first device data memory area and the total data transmission amount of a second device in the server system, determining the deviation amount of the available memory capacity according to the available memory capacity and the preset memory occupation amount, determining the change amount of the available memory capacity relative to the available memory capacity determined last time according to the available memory capacity and the available memory capacity determined last time, detecting the congestion state of data transmission according to the deviation amount and the change amount, and detecting the data transmission state in the server system so as to determine whether the congestion situation of data transmission exists or not and avoid the problems of communication delay and network performance degradation caused by the congestion of data transmission.
The application also provides a control method for data transmission in the server system, which comprises the steps that a first device obtains the data transmission state of a second device, when the data transmission state of the second device is determined to be a congestion state, the congestion level of the congestion state is marked, and the data transmission is controlled through the first device according to the congestion level. Therefore, the transmission of the data can be controlled according to the congestion level, and the problem that network performance is poor due to data transmission delay caused by a congestion state is avoided.
Drawings
FIG. 1 is a schematic diagram of an architecture of a server system interconnection network;
fig. 2 is a flowchart of an embodiment of a method for controlling data transmission in a server system according to the present application;
Fig. 3 is a schematic structural diagram of an embodiment of a data transmission control device in a server system according to the present application;
fig. 4 is a flowchart of an embodiment of a method for detecting a data transmission state in a server system according to the present application;
FIG. 5 is a schematic structural diagram of an embodiment of a device for detecting a data status in a server system according to the present application;
fig. 6 is a flowchart of an embodiment of a method for controlling data transmission in a server system according to the present application;
fig. 7 is a schematic structural diagram of an embodiment of a control device for data transmission in a server system according to the present application;
FIG. 8 is a schematic diagram of a first embodiment of a server system according to the present application;
FIG. 9 is a schematic diagram of a second embodiment of a server system according to the present application;
Fig. 10 is a schematic structural diagram of a port module in a switching device according to the present application.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. The present application may be embodied in many other forms than those herein described, and those skilled in the art will readily appreciate that the present application may be similarly embodied without departing from the spirit or essential characteristics thereof, and therefore the present application is not limited to the specific embodiments disclosed below.
The terminology used in the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. The terms "a," "an," "the" and "second" used herein and in the appended claims, for example, are not intended to be limited in number or order, but rather to distinguish one type of information from another.
Referring to fig. 2, fig. 2 is a flowchart of an embodiment of a method for controlling data transmission in a server system, where the method includes:
step S201, a first device in a server system acquires the storage capacity of a data storage area of a second device, wherein the first device is used for forwarding data transmitted to the second device.
Before describing the step S201, concepts such as the first device and the second device of the present embodiment will be described first.
In this embodiment, the server system may be understood as a server system interconnected by a network, and the system may include an endpoint device and a first switching device, which are connected to each other by a system interconnection bus. The system interconnection bus may be a communication bus used for interconnecting various devices in the server system, and in this embodiment, the system interconnection bus is PCIE, and of course includes other third party buses, such as CCIX, openCAPI, genZ.
In this embodiment, the first switching device may be determined as the first device, and the endpoint device may be determined as the second device, and of course, the second device may also be another switching device other than the first switching device, that is, the second switching device, specifically, the first device may be the first switching device, the second device may be the endpoint device, and the second device may also be the second switching device and the endpoint device. The endpoint devices may include a source node device and a target node device, where the source node device may refer to a device that initiates a data request, where the initiation of the data request may be, for example, a request to write data, a request to read back data, or the like. The target node device may refer to a device that receives a data request, which may be, for example, receiving write data or returning read data, etc., and transmits an operational relationship corresponding to the reception. The endpoint device may be any one or more of a computing device, a storage device, a network card device, a coprocessor computing device, and the like.
The data request may include two requests, namely a Post request and a Non-Post request, where the Post request is that the source node device sends a request data packet to the target node device, and does not need to return, such as a memory write request, and the Non-Post refers to that the source node device sends the request data packet to the target node device first, and the target node device returns a completed Cpl packet, such as a memory read request, to the source node device after receiving the request data packet.
In this embodiment, the first switching device has a plurality of port modules and an internal switching module, each port module may be connected to a different second device, and when the second device is a second switching device, the second switching device may be another switching device having a part of or all of the same functions as the first switching device, for example, a data switching function. The connection between the first device and the second device may be that the port module of the endpoint device is connected with the port module of the first switch device or that the port module of the first switch device is connected with the port module of the second switch device, that is, the connection between the two devices mainly means that the devices are connected through corresponding port modules.
The port module of the first switching device comprises a receiving sub-module for receiving data and a transmitting sub-module for transmitting data, and a congestion measurement sub-module for detecting the data transmission state of the second device and a congestion control sub-module for controlling the data transmission when the data transmission state is a congestion state. The congestion measurement sub-module and the congestion control sub-module will be specifically described in the data transmission status determination process, and this section mainly describes the reception sub-module and the transmission sub-module. The Data storage area matched with the receiving submodule is a receiving storage area, and the receiving storage area may be a buffer area and may include a plurality of receiving buffer areas, in this embodiment, the receiving buffer area may be buffered according to a Data type, for example, the receiving buffer areas may be buffered according to a Data type of NPH (non-post header, non-post header of a transaction), NPD (non-post Data, packet header of a non-post request transaction), PH (post header, packet header of a post request transaction), PD (post Data, packet header of a post request transaction), cplH (completion header, packet header of a return transaction) and CplD (composition Data, packet header of a return transaction) respectively, so as to implement classified buffering. The data storage area matched with the sending sub-module is a sending storage area, and of course, the storage area can also be a buffer area, and the data type of the sending storage area corresponds to the data type of the receiving storage area.
In this embodiment, the first switching device has a plurality of port modules, and when there are a plurality of second devices, the port modules of each second device are respectively connected with the port modules in the first switching device in a one-to-one correspondence manner. When the second device is a second switching device, the port module can be the same as or different from the first switching device, and when the second device is an endpoint device, the port module comprises a receiving sub-module and a sending sub-module.
The receiving sub-module in the port module of the first switching device may be configured to receive data from a second device connected to the first switching device through the port module, and the transmitting sub-module in the port module of the first switching device may be configured to transmit data to the second device connected to the first switching device through the port module.
When the second device is a source node device and a target node device, a receiving sub-module in a port module of the first switching device connected with the source node device can be used for receiving data from the source node device, a sending sub-module can be used for sending data to the source node device, a receiving sub-module in a port module of the first switching device connected with the target node device can be used for receiving data returned by the target node device, and a sending sub-module can be used for sending the returned data to the target node device.
When the second device is a second switching device, a source node device and a target node device, a receiving sub-module in a port module of the first switching device may be used to receive data from the second switching device, and a transmitting sub-module may be used to transmit data to the second switching device.
It should be noted that, when the second device is the data source of the second switching device, the data source may be a transmitting end (source node device) of the data request and a receiving end (target node device) of the data request. Since the key point in this embodiment is that the first switching device monitors the data flow of the second device, the next layer device connected to the second switching device is not described in any more detail, and the next layer device may be a source node device and a target node device. Similarly, when the second device is an endpoint device, the focus in this embodiment is on monitoring data transmission between the first switching device and the target node device and monitoring data transmission between the first switching device and the source node device, or monitoring data transmission between the first switching device and the target node device, or monitoring data transmission between the first switching device and the source node device.
The internal switching module in the first switching device may perform data scheduling based on at least two port modules.
In this embodiment, the port module connecting the endpoint devices may also be labeled as an endpoint port.
The description of the port module of the first switching device is only a summary, and the detailed description will be given later when the first switching device is described in the structure.
The specific implementation process of step S201 may include:
Step S201-11, triggering the operation of the first device to acquire the current data buffer quantity of the second device data buffer zone according to the set acquisition condition.
The acquiring condition in step S201-11 may be a fixed time interval condition of the set data transmission, or a dynamic time interval condition of the set data transmission, or may be a receiving request condition according to a data request received by the second device, or may be a transmitting request condition according to a data request transmitted by the first device, or the like.
Based on step S201-11, when the time of data transmission meets a set fixed time interval condition, triggering the first device to obtain the current data buffer amount of the second device data buffer area, when the time of data transmission meets a dynamic time interval condition, triggering the first device to obtain the current data buffer amount of the second device data buffer area, when the second device receives a data request, triggering the first device to obtain the current data buffer amount of the second device data buffer area, and when the first device sends a data request, triggering the first device to obtain the current data buffer amount of the second device data buffer area.
In this embodiment, the purpose of step S201-11 is to trigger the timing of acquiring the current data buffer size of the second device data buffer, where the setting of the triggering timing may be set according to different data transmission scenarios or requirements, and is not limited to the above example.
In this embodiment, when the current available buffer amount of the receiving buffer area is obtained, the current available buffer amount of the receiving buffer area corresponding to the data type in the second device may be obtained according to the data type of the transmission data.
In the step S201-11, the two devices connected in a point-to-point manner in the server system may further use a point-to-point flow control mechanism to obtain the current available buffer size of the receiving buffer, and the point-to-point flow control mechanism is more reliable due to the point-to-point connection between the two devices in the server system. Taking PCIe interconnect as an example, PCI-Express (peripheral component interconnect express) is a high-speed serial computer expansion bus standard, and is a communication bus used for interconnecting various devices in a server system, PCIe achieves point-to-point flow control by using absolute flow control based on Credit, in this embodiment, PCIe bus is exemplified, and actually, a bus such as CCIX, openCAPI, genZ may also be used.
In this embodiment, the data request may include two requests, namely, a post request and a non-post request, where the post request is that the source node device sends a request packet to the target node device without returning, and the non-post refers to that the source node device sends the request packet to the target node device first, and after receiving the request packet, the target node device returns a completed cpl packet to the source node device. Thus, obtaining the current data buffer size of the data buffer may include two ways:
Firstly, acquiring the current data buffering quantity of a data buffering zone of a source node equipment port module connected with first equipment;
and secondly, acquiring the current data buffer quantity of the data buffer zone of the port module of the target node equipment connected with the second equipment.
The first one is aimed at, when the first device transmits data to the second device, the data buffer in the port module connected to the target node device (or the second switching device) in the first switching device may represent the data amount of the reception request data of the target node device (or the second switching device), and the second one is aimed at, when the target node device (or the second switching device) returns data to the source node device (or the first switching device), the data buffer in the port module connected to the source node device (or the second switching device) in the first switching device may represent the data amount of the reception return data of the source node device (or the second switching device).
Step S202, the first device determines the data transmission state of the second device according to the data storage amount of the second device.
The purpose of step S202 is to learn, from the data storage amount of the second device, the data transmission state of the second device.
As is known from the description in the above step S201, in the step S202, when the second device is an endpoint device, the data transmission state in the step S202 may include at least one of a transmission state when the source node device transmits data to the target node device and a transmission state when the target node device returns data to the source node device. If the second device is a second switching device, the data transmission state may include a transmission state when the second switching device receives data, or a transmission state when the first switching device receives return data.
In this embodiment, the transmission state may include two kinds of state information, i.e., a congestion state and a fluency state.
In this embodiment, the data storage amount in step S101 may be one of the determination reference data in which the current data buffer amount may use the current available data buffer amount as the data transmission state. It will be understood, of course, that the current data buffer size may also be one of the judging reference data of the data transmission state by using the currently unavailable data buffer size.
The specific implementation process of step S202 may be:
and step S202-1, determining the current available buffer capacity of the data buffer area according to the current data buffer capacity and the total transmission data of the second device.
Taking PCIe interconnection as an example, at the time of initialization, the receiving submodule of the port module of the second device sends the size C init (in Credit) of the receiving buffer area to the first device port module connected to the other end of the link. During data transmission, the receiving sub-module of the first device port module records a limit score, that is, LIMIT CREDITS (for simplifying the description, hereinafter denoted by C limit), according to the data amount of the buffer area (in units of Credit) already processed from the initialization, and continuously updates the C limit to the second device port module connected to the other end of the link, so that the total amount of data transmitted by the transmitting sub-module in the second device port module from the initialization cannot exceed the C limit. The C limit describes initializing the reception buffer size C init (representing an initial value) plus the total buffer amount of the reception buffer data amount that has been processed since the initialization. The transmit sub-module of the first device port maintains a series of transmit-related flow control counters FC Counters, including a total amount of data Consumed _credits (denoted as C consumed for simplicity of description, hereinafter) that the first device port has transmitted, and further controls the first device to transmit data that does not exceed the processing capability of the second device by the relationship between the total amount of data already transmitted C consumed and the total amount of data that can be transmitted C limit. This mechanism allows the transmitting port of the first device to check in advance the available receiving buffer size of the receiving port of the second device, i.e. the amount of buffering of the receiving buffer. The currently available buffer amount Avaliable _credits (hereinafter denoted by C avail for simplicity of description) of the receiving buffer may be specifically determined by the following formula:
Cavail=Climit–Cconsumed;
wherein, C avail represents the available buffer memory of the second device, C limit represents the total amount of data which can be transmitted by the first device from the initialization, and C consumed represents the total amount of data which has been transmitted by the sender from the initialization. And if the available cache amount of the current second equipment is less than or equal to 0, indicating that no cache amount is available currently. Of course, a threshold may be set below which no buffer is available.
It should be noted that, the size of the currently available buffer area may determine, according to the data type, the currently available buffer amount of the receiving buffer area of the corresponding data type of the second device, so as to determine the transmission state of the data according to the data type. For example, if the data type transmitted during measurement is NP type, it is determined that the available buffer amounts of the receiving buffers corresponding to NPH (non-post header) and NPD (non-post data packet header) are available, and if the data type transmitted during measurement is CPL type, it is determined that the available buffer amounts of the receiving buffers corresponding to CplH and CplD are available.
And step S202-2, determining the deviation of the current available buffer capacity according to the current available buffer capacity and the preset buffer capacity.
The currently available cache amount C avail may be obtained through the above step S201.
The preset available cache amount C eq may be understood as a desired available size for the data cache area. For example, a value of the expected occupied data buffer may be preset according to the currently transmitted data. Further, the desired available size may be preset according to different data types.
Therefore, the available buffer offset in step S202-1 can be determined using the following formula:
Coff=Cavail–Ceq;
Wherein, C avail represents the current available cache quantity, and C eq represents the preset available cache quantity. The C off represents the available buffer offset, and the C off reflects the instant status of the current available receiving buffer from the desired available buffer size.
And S202-3, determining the change amount of the last determined available buffer amount relative to the current available buffer amount according to the current available buffer amount and the last determined available buffer amount.
The last determined available buffer amount in step S202-3 may be a next-to-last time instant with respect to the calculated current available buffer amount instant, for example, the current available buffer amount is calculated as a current available buffer amount instant T 1 and the next-to-last time instant is a current available buffer amount of T 0. Of course, the determined currently available buffer amount may be calculated at a time immediately after the non-adjacent time.
In this embodiment, the available buffer change amount may be specifically determined by the following formula:
Cdelta=Cavail–Cavail';
The available buffer capacity determined last time is represented by the C avail, the available buffer capacity determined last time is represented by the C avail', namely, the historical available buffer capacity which can be the result of the available buffer capacity determined last time and adjacent to the available buffer capacity. And C delta represents the available cache change. The available buffer change amount reflects the dequeue enqueuing speed difference of the receiving buffer area during the period of twice determining the available buffer amount, namely when C delta >0, the dequeue speed is smaller than the enqueuing speed, the network tends to be congested, when C delta is smaller than or equal to 0, the dequeue speed is larger than or equal to the enqueuing speed, and the network tends to be unobstructed.
And step S202-4, detecting the congestion state of the data transmission according to the deviation amount and the variation amount.
The specific implementation of the step S202-4 may adopt the following formula:
P=Coff+Cdelta
Wherein P >0 indicates that the receiving buffer zone of the data type of the second device is in a congestion state, and P is less than or equal to 0 indicates that the receiving buffer zone of the data type of the second device is in a non-congestion state.
And step S202-5, determining a data transmission state according to the congestion state.
Based on the results obtained in the above step S202-4, the step S202-5 may include:
step S202-51, when the sum of the deviation amount and the variation amount is larger than zero, determining the detected data transmission state as a congestion state;
The step S202-51 may be specifically understood as that the receiving buffer of the data type of the second device is determined to be in a congestion state when the sum of the deviation amount and the variation amount is greater than zero.
And S202-52, when the sum of the deviation amount and the variation amount is smaller than or equal to zero, determining the detected data transmission state as a fluent state.
The step S202-52 may be specifically understood as that the receiving buffer of the data type of the second device is determined to be in a fluent state when the sum of the deviation amount and the variation amount is less than or equal to zero.
Based on the above, it may further include:
And step S202-a1, when the determined data transmission state is a congestion state, configuring congestion state level weights.
The formula of step S202-4 above can also be expressed as:
P=Coff+w·Cdelta
Where w represents the weight of C delta when calculating the network congestion state. The weight may be configured by configuring the weight of the cache offset, or configuring the change in the available cache, or configuring the common weight of the cache offset and the change in the available cache. The above formula is merely a representation of one implementation, and is not limited to the manner in which the weights are set.
And step S202-a2, classifying the congestion state according to the configured congestion state level weight to obtain a congestion state level.
In this embodiment, P may be converted to a congestion level F b that may be represented by a limit, otherwise set to a non-congestion state. The following formula is to quantify the congestion level to within the range of 6bit representation, i.e. [0,63]:
Fb=64·P/((w+1)·Cinit–(Cinit-Ceq))
It should be noted that, since the second device includes buffers of different data types, the congestion status of the second device may be classified into a tag according to different buffer types.
Through the above, it can be known that, when the determined data transmission state is a congestion state, a congestion state level weight is configured, and according to the configured congestion state level weight, the congestion state is classified to obtain a congestion state level.
And step S203, when the data transmission state is determined to be a congestion state, the first device controls data transmission.
The purpose of the step S203 is that when the data transmission is in a congestion state, the source node device controls the sending operation to stop by the port module of the first switching device connected to the target node device, and after the available buffer capacity of the data buffer area of the port module reaches the sending requirement, the port module releases the stop control and sends the data to the target network node, or that the destination node device sends the return data to the source node device, and the port module releases the stop control and sends the return data to the source target network node after the available buffer capacity of the data buffer area of the port module reaches the sending requirement.
The following describes a specific implementation procedure of the first device to control data transmission between the second devices when the data transmission state is determined to be the congestion state in step S203:
First, the following description describes embodiments in which a first device is a first switching device, a second device is an endpoint device, that is, a source node device and a destination node device. When the second device is a second switching device, the data may be transmitted from the end side that initiates the data request to the end side that receives the data request, where the data may be forwarded to the second switching device by the first switching device, and transmitted to the end side that initiates the data request or the end side that receives the data request by the second switching device, where the end side that initiates the data request may be understood as a source node device and the end side that receives the data request may be understood as a target node device.
And step S203-1, when the data transmission state is determined to be a congestion state, sending a congestion notification to the second device through the first device.
The specific implementation process of the step S203-1 may be as follows:
When the second device is a target node device and a source node device, after the second device is measured, when the state of the target node device is determined to be a congestion state, the first switch device may send a congestion notification to the source node device sending data during measurement, where the congestion notification may be a congestion notification carrying a notification congestion level F b or may be a separate notification congestion level F b, and when the state of the source node device is determined to be a congestion state, the first switch device may send a congestion notification to the target node device receiving data during measurement, where the congestion notification may be a congestion notification carrying a notification congestion level F b or may be a separate notification congestion level F b. The congestion notification sent to the target node device may be a notification for return data sent by the target node device to the source node device.
When the second device is the second switching device, after the first switching device in the server system measures, it may be determined that the second switching device is in a congestion state, and then the first switching device sends a congestion notification to the end side that sends the data request or the end side that receives the data during the measurement, or sends a congestion notification to the end side that sends the data request or the end side that receives the data, and similarly, the congestion notification may be a congestion notification carrying a notification congestion level F b or may be a separate notification congestion level F b.
The transmitting or returning process may be that, when the port module of the first switching device connected to the target node device determines that the data buffer area of the target node device is congested, the transmitting sub-module in the port module transmits a congestion notification to the source node device, and when the port module of the first switching device connected to the source node device determines that the data buffer area of the source node device is congested, the transmitting sub-module in the port module transmits a congestion notification to the target node device, where the congestion notification may be a notification for returned data.
If the data packet to be sent is CplD, the source node device is the destination end point device of the CplD packet, namely the end point device of the NP packet which initiates the request CplD;
In one embodiment, if the first device measures congestion when sending CplD packets, congestion level F b is carried in CplD packets to the source node device, and if congestion is measured when sending non-CplD packets, congestion level F b encapsulates a congestion notification Bao Fanxiang to the source node device. Thus, the step S203-1 may include:
Step S203-11, when the second device is a target node device and the data transmission state is a congestion state, congestion notification is sent to the connected source node device through the first switching device, or data carrying the congestion state is returned to the connected source node device through the first switching device, when the data transmission state of the source node device in the second device is the congestion state, congestion notification is sent to the connected target node device through the first switching device, or data carrying the congestion state is returned to the connected target node device through the first switching device.
The specific implementation process of the step S203-11 may be:
And a port module of the first switching equipment connected with the source node equipment receives notification information of congestion notification, analyzes the information and the like, determines the data transmission state of the source node equipment according to the congestion level obtained after analysis, and performs congestion control on data transmission between the source node equipment and the target node equipment.
The congestion control is controlled by a port module of a first switching device connected to an end point device (source node device or destination node device). The port module of the first switching device checks the transmitted data packet while transmitting the data packet, if the transmitted data packet is a data packet with a congestion flag (such as Cpl) or a congestion notification packet, and is marked as an endpoint port module (i.e., the port module of the first switching device is directly connected with the port module of the source node device, or directly connected with the port module of the destination node device, or at least two port modules of the first switching device are respectively directly connected with the port module of the source node device and directly connected with the port module of the destination node device), congestion information in the data packet is extracted, and meanwhile, the data packet with the congestion flag is processed, for example, the congestion notification packet is discarded, the port module receiving the congestion notification packet performs congestion control when the port module receives the congestion notification packet and forwards the data packet, and the first switching device is a port module of a non-endpoint device (i.e., the first switching device is connected with the second switching device), and can normally forward all the data packet in a transmission buffer area, and process the data packet with the congestion flag, and can also process the congestion information with the congestion flag still extracted by the first switching device.
Since there are different degrees of congestion, the control of data transmission may be performed according to the different congestion degrees, so the step S203-1 may further include:
and marking the congestion level of the congestion state according to the congestion state of the data transmission.
Based on the congestion notification described above, step S203-2 is performed.
The step S203-2 is that the first device controls the transmission of the data according to the congestion notification.
The specific implementation process of the step S203-2 is as follows:
And a sending module of a port module of the first switching equipment connected with the source node equipment checks the sent data packet, and if the data packet carrying the congestion mark or the congestion notification packet is checked, congestion notification information is extracted and analyzed.
After the first switching device that measures the congestion state sends the congestion notification to the source node device, the port module of the first switching device that is connected to the source node device checks and extracts the congestion notification information, analyzes the congestion level F b carried in the congestion notification information and the data flow information (such as < source ID, destination ID > is referred to as a flow) to which the congestion notification information belongs, and marks that the current data flow is in the congestion state.
The specific marking process can be as follows:
The port module of the first switching device is provided with a congestion status bit and a counter of non-congestion status for each data flow forwarded. If the congestion notification information is extracted, the congestion status bit of the data flow is marked as 1, and the corresponding non-congestion status counter is reset, and if the count of a certain non-congestion status counter is overtime, the congestion status bit of the corresponding data flow is marked as a non-congestion status.
The specific implementation procedure of the step S203-2 may be that the first device controls the data transmission amount between the source node device and the target node device according to the congestion level. Therefore, the step S203-2 may further include:
Step S203-21, controlling the transmission rate of data according to the congestion level;
step 203-22, converting the transmission rate into the data quantity transmitted in the preset time;
and step 203-23, controlling the data transmission quantity between the source node equipment and the target node equipment according to the data quantity transmitted in the preset time.
The specific implementation process of the steps S203-21 to S203-23 may be understood as controlling the data amount that can be sent in a preset time between the source node device and the target node device according to the received congestion level, and starting a forwarding control counter, and periodically updating the forwarding control counter to be the total amount of data that can be sent in the preset time slice when the data flow is in a congestion state, and controlling the sending rate of the data packet by controlling the data amount that is allowed to be sent in the preset time slice. The data transmission control manner between the source node device and the target node device may be various, and in this embodiment, the control may be performed by a transmission rate, a transmitted data amount, and the like. For example, a receiving module in a port module of the first switching device controls forwarding of the data packet according to the congestion state and the forwarding control counter. Specifically, when a receiving module in a port module of the first switching device forwards a data packet, determining according to a congestion state of a corresponding flow of the data packet, if the data packet is in a congestion state for the congested data flow, and the data amount indicated by the corresponding forwarding control counter is enough to send the data packet, forwarding the data packet, otherwise, suspending forwarding until a time slice of next available data arrives, and if the data packet is in a non-congestion state for the congested data flow, directly sending the data packet. Therefore, the steps S203-23 may be summarized as determining whether the amount of data transmitted within the preset time satisfies the data transmission requirement, and if not, suspending the transmission. The data transmission requirement may be a preset time requirement for data transmission, etc.
The foregoing is a specific description of an embodiment of a method for controlling data transmission in a server system, which corresponds to the foregoing embodiment of the method for controlling data transmission in a server system, and the application also discloses an embodiment of a device for controlling data transmission in a server system, please refer to fig. 3, and since the device embodiment is substantially similar to the method embodiment, the description is simpler, and the relevant points refer to part of the description of the method embodiment. The device embodiments described below are merely illustrative.
As shown in fig. 3, fig. 3 is a schematic structural diagram of an embodiment of a data transmission control device in a server system according to the present application, where the control device includes:
An obtaining unit 301, configured to obtain, by a first device in a server system, a data storage amount of a data storage area of a second device, where the first device is configured to forward data transmitted to the second device.
The acquisition unit 301 includes:
And the acquisition triggering subunit is used for triggering the operation of the first equipment to acquire the current data buffering quantity of the second equipment data buffering area according to the set acquisition condition.
The obtaining unit 301 is specifically configured to obtain, by using a first device in the server system, a current data buffer amount of a data buffer area of the second device, where the data buffer area is used to buffer data sent by the first device in the server system to the second device in the server system, or obtain, by using the first device in the server system, the current data buffer amount of the data buffer area of the second device, where the data buffer area is used to buffer return data sent by the second device in the server system to the first device in the server system.
A determining unit 302, configured to determine, by the first device, a data transmission state of the second device according to the data storage amount of the second device.
The determining unit 302 includes:
and the first determination subunit is used for determining the available storage capacity of the data storage area according to the data storage capacity and the total transmission data of the second device.
And the second determination subunit is used for determining the deviation amount of the available storage amount according to the available storage amount and the preset storage available amount.
And the third determination subunit is used for determining the change amount of the available storage amount relative to the last determined available storage amount according to the available storage amount and the last determined available storage amount.
And a fourth determining subunit, configured to detect a congestion state of data transmission according to the deviation amount and the variation amount.
And a fifth determining subunit, configured to determine a data transmission state according to the congestion state.
The fourth determination subunit may be implemented using the following formula:
P=Coff+Cdelta
Wherein P >0 indicates that the receiving buffer zone of the data type of the second device is in a congestion state, P is less than or equal to 0 indicates that the receiving buffer zone of the data type of the second device is in a non-congestion state.
Based on the result obtained in the above fourth determination subunit, it may include:
When the sum of the deviation amount and the variation amount is larger than zero, determining the data transmission state as a congestion state;
and when the sum of the deviation amount and the variation amount is larger than zero, the receiving buffer zone of the data type of the second device is determined to be in a congestion state.
And when the sum of the deviation amount and the variation amount is less than or equal to zero, determining the data transmission state as a fluent state.
And when the sum of the deviation and the variation is smaller than or equal to zero, the receiving buffer zone of the data type of the second device is determined to be in a fluent state.
Based on the above, the determining unit 302 may further include a weight configuration subunit and a ranking subunit.
And the weight configuration subunit is used for configuring congestion state grade weights when the determined data transmission state is a congestion state.
The above formula of the fourth determination subunit may also be expressed as:
P=Coff+w·Cdelta
Where w represents the weight of C delta when calculating the network congestion state. The weight may be configured by configuring the weight of the cache offset, or configuring the change in the available cache, or configuring the common weight of the cache offset and the change in the available cache. The above formula is merely a representation of one implementation, and is not limited to the manner in which the weights are set.
And the level dividing subunit is used for carrying out congestion level division on the congestion state according to the configured congestion state level weight to obtain the congestion state level.
In this embodiment, P may be converted to a congestion level F b that may be represented by a limit, otherwise set to a non-congestion state. The following formula is to quantify the congestion level to within the range of 6bit representation, i.e. [0,63]:
Fb=64·P/((w+1)·Cinit–(Cinit-Ceq))
It should be noted that, since the second device includes buffers of different data types, the congestion status of the second device may be classified into a tag according to different buffer types.
The meaning of the letters in the above formulas may be referred to the explanation of the steps of the above method, and will not be repeated here.
Through the above, it can be known that, when the determined data transmission state is a congestion state, a congestion state level weight is configured, and according to the configured congestion state level weight, the congestion state is classified to obtain a congestion state level.
The foregoing is merely an overview, and reference may be made to the steps of the above method for details.
A control unit 303 for controlling the transmission of said data by said first device when said data transmission status is determined to be a congestion status.
The control unit 303 includes:
And the notification sending subunit is used for sending the congestion notification to the second device through the first device when the data transmission state is determined to be the congestion state. Reference may be made specifically to the above step S203-1, and details thereof are not repeated here.
And the control subunit is used for controlling data transmission between the second devices by the first device according to the congestion notification. Reference may be made specifically to the above step S203-2, and details thereof are not repeated here.
The foregoing describes an embodiment of a data transmission control device in a server system according to the present application, and specific content may refer to the description of an embodiment of a data transmission control method in a server system according to the present application. The description is not repeated here.
Based on the foregoing, the present application also provides a method for detecting data congestion in a server system, referring to fig. 4, fig. 4 is a flowchart of an embodiment of a method for detecting a data transmission status in a server system, where the method for detecting congestion includes:
step S401, determining the available storage capacity of the data storage area according to the data storage capacity of the second device data storage area and the total transmission data amount of the second device in the server system.
The specific implementation process of the step S401 may refer to the step S202-1, which is not described herein.
And step S402, determining the deviation amount of the available storage amount according to the available storage amount and the preset storage occupation amount.
The specific implementation process of the step S402 may refer to the above step S202-2, which is not described herein.
Step S403, determining the change amount of the last determined available memory relative to the available memory according to the available memory and the last determined available memory.
The specific implementation process of the step S403 may refer to the step S202-3.
And step S404, detecting the congestion state of the data transmission according to the deviation amount and the variation amount.
The specific implementation process of the step S404 may refer to the step S202-4 described above.
And step S405, determining a data transmission state according to the congestion state.
The specific implementation process of step S405 may refer to step S202-5 described above.
The foregoing is a brief description of an embodiment of a method for detecting a data transmission state in a server system according to the present application, and the specific content may refer to the description procedure of step S202 in the embodiment of the method for controlling data transmission in a server system according to the present application.
The foregoing is a specific description of an embodiment of a method for detecting a data transmission state in a server system, which corresponds to the foregoing embodiment of the method for detecting a data transmission state in a server system, and the application also discloses an embodiment of a device for detecting a data transmission state in a server system, please refer to fig. 5, and since the embodiment of the device is substantially similar to the embodiment of the method, the description is simpler, and the relevant points refer to part of the description of the embodiment of the method. The device embodiments described below are merely illustrative.
Fig. 5 is a schematic structural diagram of an embodiment of a device for detecting a data transmission state in a server system according to the present application, where the device includes:
an available memory amount determining unit 501 configured to determine an available memory amount of a data memory area of a second device in a server system according to a data memory amount of the data memory area and a transmission data amount of the second device;
A deviation amount determining unit 502, configured to determine a deviation amount of the available storage amount according to the available storage amount and a preset storage occupation amount;
a change amount determining unit 503 configured to determine, according to the available storage amount and a last determined available storage amount, a change amount of the last determined available storage amount relative to the available storage amount;
a state detection unit 504, configured to detect a congestion state of data transmission according to the deviation amount and the variation amount.
The state determination unit 508 includes:
A congestion state determination subunit configured to determine the data transmission state as a congestion state when a sum of the deviation amount and the transition amount is greater than zero;
and the fluency state determining subunit is used for determining the data transmission state as a fluency state when the sum of the deviation amount and the transformation amount is smaller than or equal to zero.
The embodiment may further include:
A configuration unit, configured to configure a congestion state level weight when the determined data transmission state is a congestion state;
And the dividing unit is used for carrying out congestion level division on the congestion state according to the configured congestion state level weight to obtain a congestion state level.
The configuration unit is specifically configured to configure a weight for describing the congestion status level for at least one parameter of the deviation amount and the variation amount.
The foregoing is a description of an embodiment of a device for detecting a data transmission state in a server system, and specific content may refer to the description of an embodiment of a method for detecting a data transmission state in a server system, which is provided by the present application, and will not be repeated here.
Based on the foregoing, the present application also provides a method for controlling data transmission in a server system, referring to fig. 6, fig. 6 is a flowchart of an embodiment of a method for controlling data transmission in a server system, where the method includes:
step S601, a first device determines a data transmission state of a second device according to the memory capacity of the second device;
Step S602, if the data transmission state of the second device is determined to be a congestion state, marking the congestion level of the congestion state;
and step S603, controlling the transmission of data by the first equipment according to the congestion level.
The specific implementation process of the step S601 may refer to the descriptions of the step S201 and the step S202, which are not described herein.
The specific implementation process of the step S602 may be that the first device controls the transmission amount of data according to the congestion level. Specifically, the method comprises the following steps:
step S602-1, controlling the transmission rate of data according to the congestion level;
step S602-2, converting the transmission rate into the data quantity transmitted in a preset time;
and step S602-3, controlling the transmission quantity of the data according to the data quantity transmitted in the preset time.
The specific implementation process of the step S602-3 may include:
And determining whether the data quantity transmitted in the preset time meets the data transmission requirement, and if not, suspending the transmission of the data. Specifically, if the transmission request is a preset time request, the transmission request may be sent after the next preset time arrives.
And transmitting the data if the data quantity transmitted in the preset time meets the data transmission requirement.
The foregoing is a specific description of an embodiment of a method for controlling data transmission in a server system, which corresponds to the foregoing embodiment of the method for controlling data transmission in a server system, and the application further discloses an embodiment of a device for controlling data transmission in a server system, please refer to fig. 7, and since the embodiment of the device is substantially similar to the embodiment of the method, the description is relatively simple, and the relevant portions refer to a part of the description of the embodiment of the method. The device embodiments described below are merely illustrative.
As shown in fig. 7, fig. 7 is a schematic structural diagram of an embodiment of a control device for data transmission in a server system according to the present application, where the control device includes:
a determining unit 701, configured to determine, by a first device, a data transmission state of a second device according to a storage amount of the second device;
A marking unit 702, configured to mark a congestion level of the congestion state if the data transmission state of the second device is determined to be the congestion state;
a control unit 703, configured to control transmission of data by the first device according to the congestion level.
The control unit 702 includes:
a rate control subunit, configured to control a data transmission rate according to the congestion status level;
A conversion subunit, configured to convert the transmission rate into a data amount transmitted in a preset time;
And the transmission quantity control subunit is used for controlling the transmission quantity of the data according to the data quantity transmitted in the preset time.
The transmission quantity control subunit is specifically configured to determine whether the data quantity transmitted in the preset time meets a data transmission requirement, if not, suspend transmission of the data, and if yes, transmit the data.
The foregoing is a description of an embodiment of a congestion control apparatus for data transmission in a server system according to the present application, and specific content may refer to the description of an embodiment of a congestion control method for data transmission in a server system according to the present application, which is not repeated here.
The present application also provides a server system, please refer to fig. 8, fig. 8 is a schematic structural diagram of a first embodiment of a server system provided by the present application, the system includes:
a first device and a second device;
A first device in the server system is used for acquiring the data storage capacity of the second device data storage area, wherein the first device is used for forwarding the data transmitted to the second device; the first device determines the data transmission state of the second device according to the data storage amount of the second device, and when the data transmission state is determined to be a congestion state, the first device controls the transmission of data;
The first equipment is first switching equipment, the second equipment is endpoint equipment or second switching equipment, the first switching equipment comprises a port module and an internal switching module, the port module is used for being connected with the second equipment, the port module comprises a receiving sub-module used for receiving data and a sending sub-module used for sending data, a congestion measurement sub-module used for detecting the data transmission state of the second equipment and a congestion control sub-module used for controlling the data transmission when the data transmission state is the congestion state, and the endpoint equipment comprises at least one of source node equipment initiating a data request and target node equipment receiving the data request.
Referring to fig. 8, when the second device is an endpoint device, if the detected data transmission state is a data transmission state of the source node device, the second device may be the source node device, if the detected data transmission state is a data transmission state of the target node device, the second device may be the target node device, and if the detected data transmission state is a data transmission state of the source node device and the target node device, respectively, the second device may be the source node device and the target node device. Based on the foregoing, please refer to fig. 9, fig. 9 is a schematic diagram of a second embodiment of a server system according to the present application. In the system, when the second device is a second switching device, as shown in fig. 9, the second switching device may be one or more second switching devices 1 and 2, which are respectively connected to the first switching device, where one end of the second switching device 1 is connected to the port module a of the first switching device, and the other end of the second switching device is connected to the port module of the source node device, one end of the second switching device 2 is connected to the port module B of the first switching device, and the other end of the second switching device is connected to the port module of the destination node device, and the working process of the system may refer to the specific description about the data transmission control method in the server system, which is not repeated herein.
Based on the above, the present application also provides a switching device, as shown in fig. 10, fig. 10 is a schematic structural diagram of a port module in the switching device, where the switching device includes:
A port module and a switching module;
The exchange module is used for data exchange between the port modules.
The port module may include a receiving module and a transmitting module
The receiving module comprises a receiving storage area and a congestion control sub-module.
The receiving memory area is used for storing received data. The storage area may be a cache area. The receiving and storing area may store Data in a classified manner, for example, data is classified and cached according to NPH (non-post header, non-post Data packet of a request transaction), PH (post header, post Data packet of a request transaction), PD (post Data, post Data packet of a request transaction), cplH (completion header, data packet of a return transaction) and CplD (composition Data, data packet of a return transaction), and then the cached Data is processed.
The congestion control submodule is used for controlling transmission of transmission data when the data transmission state is determined to be the congestion state.
The sending module comprises a flow control counter, a congestion measurement submodule, a sending storage area and a control submodule.
The flow control counter maintains flow control information for different types of buffer areas in the receiving module, and updates the flow control information of the different types of buffer areas according to the received flow control information updated by the opposite terminal node (another switching device or endpoint device).
The congestion measurement submodule is used for checking the size of the available buffer zone of the receiving buffer zone of the opposite end according to the flow control counter, measuring network congestion according to the change trend of the size of the available buffer zone of the receiving buffer zone of the opposite end, and sending congestion notification to a source node of a data packet. It should be noted that, the opposite end may refer to another switching device or an endpoint device. The storage area may be a cache area.
Based on the foregoing, the present application also provides a computer storage medium storing a program;
the program, when read and executed, is capable of executing the intra-server-system data transmission control method as described above, or executing the method of detecting the intra-server-system data transmission state as described above, or executing the method of controlling intra-server-system data transmission as described above.
Based on the above, the present application also provides an electronic device, including:
A processor;
and a memory for storing a program which, when read by the processor, causes the electronic device to execute the in-server-system data transmission control method as described above, or the in-server-system data congestion detection method as described above, or the in-server-system data transmission congestion control method as described above.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
1. Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer 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, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer readable media, as defined herein, does not include non-transitory computer readable media (transmission media), such as modulated data signals and carrier waves.
2. It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
While the application has been described in terms of preferred embodiments, it is not intended to be limiting, but rather, it will be apparent to those skilled in the art that various changes and modifications can be made herein without departing from the spirit and scope of the application as defined by the appended claims.

Claims (29)

1. A method for controlling data transmission in a server system, comprising:
A first device in a server system acquires a data storage amount of a second device data storage area, wherein the first device is used for forwarding data transmitted to the second device;
Determining the available storage capacity of the data storage area according to the size of the receiving buffer area of the second device, the total amount of the buffer area of the data amount of the receiving buffer area which is processed by the second device from the beginning of initialization, and the total amount of the data which is transmitted by the first device from the beginning of initialization;
Determining the deviation of the current available storage amount according to the available storage amount and the preset storage occupation amount;
determining the change amount of the last determined available memory relative to the current available memory according to the current available memory and the last determined available memory;
determining a data transmission state according to the deviation amount and the variation amount;
when the data transmission state is determined to be a congestion state, the first device controls transmission of data.
2. The method according to claim 1, wherein the first device is a first switching device, the second device is an endpoint device or a second switching device, and the endpoint device includes a source node device that initiates the data request and a target node device that receives the data request.
3. The method for controlling data transmission in a server system according to claim 2, wherein the first device in the server system acquires the second device data storage area data storage amount, comprising:
And triggering the first equipment to acquire the data storage capacity of the second equipment data storage area according to the set acquisition condition.
4. The method for controlling data transmission in a server system according to claim 3, wherein the acquisition condition is at least one of:
a fixed time interval condition of data transmission is set;
a dynamic time interval condition of data transmission is set;
A reception request condition of a data request received by the first device;
a transmission request condition for the first device to transmit a data request.
5. The method according to claim 1, wherein the determining the data transmission state based on the deviation amount and the variation amount includes:
When the sum of the deviation amount and the variation amount is larger than zero, determining the determined data transmission state as a congestion state;
And when the sum of the deviation amount and the variation amount is smaller than or equal to zero, determining the determined data transmission state as a fluent state.
6. The method for controlling data transmission in a server system according to any one of claims 1 or 5, characterized by further comprising:
when the determined data transmission state is a congestion state, configuring congestion state grade weights;
And according to the configured congestion state grade weight, carrying out congestion grade division on the congestion state to obtain a congestion state grade.
7. The method according to claim 1, wherein the first device controlling the transmission of the data when the determined data transmission state is a congestion state, comprises:
When the data transmission state is determined to be a congestion state, the first device sends a congestion notification to an end side initiating a data request or to an end side receiving the data request;
and controlling the transmission of the data by the first equipment according to the congestion notification.
8. The in-server system data transmission control method according to claim 7, wherein the first device sending a congestion notification to an end side that initiates a data request or to an end side that receives a data request when the data transmission state is determined to be a congestion state, comprising:
When the second device is a target node device and the data transmission state is a congestion state, the first device sends a congestion notification to the connected source node device;
When the second device is a source node device and the data transmission state is a congestion state, the first device sends a congestion notification to a connected target node device or sends data carrying the congestion state;
And when the second device is a second switching device and the data transmission state is in a congestion state, the first device sends a congestion notification to a source node device which initiates the data request, or the first device sends a congestion notification to a target node device which receives the data request.
9. The in-server system data transmission control method according to claim 7, wherein the first device sending a congestion notification to an end side that initiates a data request or to an end side that receives a data request when the data transmission state is determined to be a congestion state, comprising:
marking the congestion level of the congestion state according to the congestion state of data transmission;
the controlling, by the first device, transmission of the data according to the congestion notification includes:
And controlling the data transmission quantity between the source node equipment and the target node equipment by the first equipment according to the congestion level.
10. The in-server system data transmission control method according to claim 9, wherein the first device controls the amount of data transmission between the source node device and the target node device according to the congestion status level, comprising:
Controlling the transmission rate of data according to the congestion level;
Converting the transmission rate into the data quantity transmitted in a preset time;
And controlling the data transmission quantity between the source node equipment and the target node equipment according to the data quantity transmitted in the preset time.
11. The method for controlling data transmission in a server system according to claim 10, wherein the controlling the data transmission amount between the source node device and the target node device according to the data amount transmitted in the preset time includes:
And determining whether the data quantity transmitted in the preset time meets the data transmission requirement, and if not, suspending transmission.
12. The method for controlling data transmission in a server system according to claim 11, further comprising:
and if the data quantity transmitted in the preset time meets the data transmission requirement, transmitting.
13. The in-server system data transfer control method according to any one of claims 1 to 5 or 7 to 12, wherein the first device in the server system acquires the data storage amount of the second device data storage area, comprising:
and the first device in the server system acquires the data buffering quantity of the data buffering area of the second device.
14. A data transmission control apparatus in a server system, comprising:
an obtaining unit, configured to obtain, by a first device in a server system, a data storage amount of a data storage area of a second device, where the first device is configured to forward data transmitted to the second device;
A determining unit, configured to determine, according to an initialized reception buffer size of the second device, a total buffer size of a reception buffer data amount that has been processed by the second device from the initialization and a total data amount that has been transmitted by the first device from the initialization, an available storage amount of the data storage area; determining the deviation amount of the current available memory according to the available memory and the preset memory occupation amount, determining the change amount of the last available memory relative to the current available memory according to the current available memory and the last available memory, and determining the data transmission state according to the deviation amount and the change amount;
And the control unit is used for controlling the transmission of the data by the first equipment when the data transmission state is determined to be a congestion state.
15. A method for detecting a data transmission state in a server system, comprising:
Determining the available storage capacity of the second equipment according to the data storage capacity of a data storage area of the second equipment in the server system and the total transmission data of the second equipment;
Determining the deviation of the available storage amount according to the available storage amount and the preset storage occupation amount;
determining the change amount of the last determined available memory relative to the available memory according to the available memory and the last determined available memory;
Detecting a data transmission state according to the deviation amount and the variation amount;
and when the data transmission state is detected to be a congestion state, controlling the transmission of data by the first device.
16. The method for detecting a data transmission state in a server system according to claim 15, wherein the detecting a data transmission state based on the deviation amount and the variation amount includes:
When the sum of the deviation amount and the variation amount is larger than zero, determining the detected data transmission state as a congestion state;
and when the sum of the deviation amount and the variation amount is smaller than or equal to zero, determining the detected data transmission state as a fluent state.
17. The method for detecting a data transmission state in a server system according to any one of claims 15 and 16, further comprising:
when the determined data transmission state is a congestion state, configuring congestion state grade weights;
And according to the configured congestion state grade weight, carrying out congestion grade division on the congestion state to obtain a congestion state grade.
18. The method for detecting a data transmission status in a server system according to claim 17, wherein when the determined status of the data transmission is a congestion status, configuring a congestion status level weight includes:
and configuring a weight for describing the congestion state level for at least one parameter of the deviation amount and the variation amount.
19. A device for detecting a data transmission state in a server system, comprising:
An available memory amount determining unit, configured to determine an available memory amount of a data storage area of a second device in a server system according to a data memory amount of the data storage area and a total amount of transmission data of the second device;
the deviation amount determining unit is used for determining the deviation amount of the available storage amount according to the available storage amount and the preset storage occupation amount;
A change amount determining unit configured to determine, according to the available storage amount and a last-determined available storage amount, a change amount of the last-determined available storage amount relative to the available storage amount;
a state detection unit configured to detect a data transmission state based on the deviation amount and the variation amount;
and when the data transmission state is detected to be a congestion state, controlling the transmission of data by the first equipment.
20. A method for controlling data transmission in a server system, comprising:
The method comprises the steps that a first device determines the data transmission state of a second device according to the storage amount of the second device;
marking the congestion level of the congestion state if the data transmission state of the second device is determined to be the congestion state;
controlling, by the first device, transmission of data according to the congestion level;
The first device determines a data transmission state of a second device according to the storage amount of the second device, and the method comprises the following steps:
Determining the available storage capacity of the data storage area according to the size of the receiving buffer area of the second device, the total amount of the buffer area of the data amount of the receiving buffer area which is processed by the second device from the beginning of initialization, and the total amount of the data which is transmitted by the first device from the beginning of initialization;
Determining the deviation of the current available storage amount according to the available storage amount and the preset storage occupation amount;
determining the change amount of the last determined available memory relative to the current available memory according to the current available memory and the last determined available memory;
and determining the data transmission state according to the deviation amount and the variation amount.
21. The method for controlling data transmission in a server system according to claim 20, wherein said controlling data transmission by said first device according to said congestion level comprises:
And controlling the transmission quantity of the data by the first equipment according to the congestion level.
22. The method for controlling data transmission in a server system according to claim 21, wherein the first device controlling the amount of data transmission between a source node device and a destination node device according to the congestion level comprises:
Controlling the transmission rate of data according to the congestion level;
Converting the transmission rate into the data quantity transmitted in a preset time;
And controlling the transmission quantity of the data according to the data quantity transmitted in the preset time.
23. The method for controlling data transmission in a server system according to claim 22, wherein the controlling the data transmission amount between the source node device and the target node device according to the data amount transmitted in the preset time includes:
And determining whether the data quantity transmitted in the preset time meets the data transmission requirement, and if not, suspending transmission.
24. The method for controlling data transmission in a server system according to claim 23, further comprising:
And if the data quantity transmitted in the preset time meets the data transmission requirement, transmitting the data.
25. A control apparatus for data transmission in a server system, comprising:
A determining unit, configured to obtain, by a first device, a data transmission state of a second device;
a marking unit configured to mark a congestion level of a congestion state when a data transmission state of the second device is determined to be the congestion state;
a control unit, configured to control transmission of data by the first device according to the congestion level;
The determining unit is used for obtaining a data transmission state of a second device by a first device, and is specifically used for determining an available memory capacity of the data memory area according to the size of an initialized receiving buffer area of the second device, the total buffer area of the data capacity of the receiving buffer area which is processed by the second device from the beginning of initialization and the total data capacity which is sent by the first device from the beginning of initialization, determining the deviation amount of the current available memory capacity according to the available memory capacity and the preset memory occupation amount, determining the change amount of the last determined available memory capacity relative to the current available memory capacity according to the current available memory capacity and the last determined available memory capacity, and determining the data transmission state according to the deviation amount and the change amount.
26. A server system is characterized by comprising a first device and a second device;
A first device in the server system is used for acquiring the data storage capacity of the second device data storage area, wherein the first device is used for forwarding the data transmitted to the second device; the first device determines the data transmission state of the second device according to the data storage amount of the second device, and when the data transmission state is determined to be a congestion state, the first device controls the transmission of data;
The method comprises the steps that a first device determines a data transmission state of a second device according to the data storage capacity of the second device, the first device determines an available storage capacity of a data storage area according to the size of an initialization receiving buffer area of the second device, the total amount of buffer areas of the data capacity of the receiving buffer area which is processed from the beginning of initialization and the total amount of data which the first device has sent from the beginning of initialization, the first device determines a deviation amount of the current available storage capacity according to the available storage capacity and a preset storage occupation amount, the first device determines a change amount of the available storage capacity which is determined last time and is opposite to the current available storage capacity according to the current available storage capacity and the last available storage capacity, and the first device determines the data transmission state according to the deviation amount and the change amount.
27. The server system of claim 26, wherein the first device is a first switching device and the second device is an endpoint device or a second switching device;
The first switching device comprises a port module and an internal switching module, wherein the port module is used for being connected with the second device, the port module comprises a receiving sub-module used for receiving data and a sending sub-module used for sending data, a congestion measurement sub-module used for detecting the data transmission state of the second device and a congestion control sub-module used for controlling the data transmission when the data transmission state is the congestion state, and the end point device comprises at least one of a source node device initiating a data request and a target node device receiving the data request.
28. A computer storage medium storing a program;
The program, when read and executed, is capable of executing the steps in the in-server-system data transmission control method according to any one of claims 1 to 13, or executing the steps of the in-server-system data transmission state detection method according to any one of claims 15 to 18, or executing the in-server-system data transmission control method according to any one of claims 20 to 24.
29. An electronic device, comprising:
A processor;
A memory for storing a program that, when read by the processor, causes the electronic device to perform the steps of the in-server-system data transmission control method according to any one of claims 1 to 13, or the steps of the in-server-system data congestion detection method according to any one of claims 15 to 18, or the in-server-system data transmission congestion control method according to any one of claims 20 to 24.
CN201911043520.XA 2019-10-30 2019-10-30 Data transmission control method and device, congestion detection and device, server system Active CN112751778B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911043520.XA CN112751778B (en) 2019-10-30 2019-10-30 Data transmission control method and device, congestion detection and device, server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911043520.XA CN112751778B (en) 2019-10-30 2019-10-30 Data transmission control method and device, congestion detection and device, server system

Publications (2)

Publication Number Publication Date
CN112751778A CN112751778A (en) 2021-05-04
CN112751778B true CN112751778B (en) 2024-12-03

Family

ID=75640530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911043520.XA Active CN112751778B (en) 2019-10-30 2019-10-30 Data transmission control method and device, congestion detection and device, server system

Country Status (1)

Country Link
CN (1) CN112751778B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378872B (en) * 2022-08-19 2023-08-18 苏州浪潮智能科技有限公司 Flow control method, system, computer equipment and readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201997A (en) * 2011-06-03 2011-09-28 华为技术有限公司 Data transmission control method and equipment
CN108667739A (en) * 2017-03-27 2018-10-16 华为技术有限公司 Congestion control method, device and system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783763B (en) * 2009-01-16 2012-06-06 中兴通讯股份有限公司 Congestion prevention processing method and system
CN104283808B (en) * 2013-07-03 2019-03-26 华为技术有限公司 Jamming control method, equipment and system
CN106133713A (en) * 2014-04-28 2016-11-16 新泽西理工学院 Congestion management for data center network
CN104581821B (en) * 2015-01-28 2018-03-20 湘潭大学 Jamming control method based on nodal cache length fair allocat speed
CN105591954A (en) * 2015-10-28 2016-05-18 杭州华三通信技术有限公司 Message control method and device
WO2017119408A1 (en) * 2016-01-07 2017-07-13 日本電気株式会社 Transmit data volume control device, method, and recording medium
CN110022268B (en) * 2018-01-09 2022-05-03 腾讯科技(深圳)有限公司 Data transmission control method, device and storage medium
CN108391289B (en) * 2018-05-31 2021-05-18 京信通信系统(中国)有限公司 Congestion control method and base station
CN109347757B (en) * 2018-11-09 2022-12-09 锐捷网络股份有限公司 Message congestion control method, system, device and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102201997A (en) * 2011-06-03 2011-09-28 华为技术有限公司 Data transmission control method and equipment
CN108667739A (en) * 2017-03-27 2018-10-16 华为技术有限公司 Congestion control method, device and system

Also Published As

Publication number Publication date
CN112751778A (en) 2021-05-04

Similar Documents

Publication Publication Date Title
US20220309025A1 (en) Multi-path rdma transmission
US8718065B2 (en) Transmission using multiple physical interface
RU2509348C2 (en) Method and apparatus for enabling identifier based streams over pci express bus
EP1750202A1 (en) Combining packets for a packetized bus
EP4195760A1 (en) Roce network congestion control method and related apparatus
US20100082912A1 (en) Systems and methods for resource access
US20020087720A1 (en) System and method for communications management and control over an unreliable communications network
US20090003225A1 (en) Method and apparatus for probing of a communication network
CN115174432B (en) RDMA network status monitoring method, device, equipment and readable storage medium
US20080215926A1 (en) Dubug by a Communication Device
CN113297117B (en) Data transmission method, device, network system and storage medium
CN112751778B (en) Data transmission control method and device, congestion detection and device, server system
CN119232657B (en) Server, communication control method, communication method, device, medium, and product
US8924784B2 (en) Controller for managing a reset of a subset of threads in a multi-thread system
WO2021142679A1 (en) Data traffic control method, pcie controller and pcie device
CN113300874B (en) Network performance detection system and method
US20110029706A1 (en) Electronic device and method for controlling an electronic device
CN117687889B (en) Performance test device and method for memory expansion equipment
CN115080258A (en) Data transmission system and related equipment
CN112131154A (en) DMA transmission control method for dynamically matching channel and service
US9219671B2 (en) Pro-active MPIO based rate limiting to avoid iSCSI network congestion/incast for clustered storage systems
CN114443400B (en) Signal testing method and device, system on chip, electronic equipment and storage medium
CN116802620A (en) Apparatus and method for remote direct memory access
CN119788607B (en) A PCIe congestion judgment and flow control method and device
US20250044944A1 (en) Maximizing Data Migration Bandwidth

Legal Events

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