Relay device

The relay device addresses packet drop issues in data center networks by using a packet saving mechanism to redirect packets during microbursts, ensuring they are stored and retrieved efficiently, thus preventing losses and reducing retransmission loads.

WO2024257207A1PCT designated stage expired Publication Date: 2024-12-19NT T INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/021872
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-13
Publication Date
2024-12-19

AI Technical Summary

Technical Problem

In data center networks, microbursts during RDMA transfers lead to significant packet drops that cannot be handled by retransmission, affecting network switches and other relay devices.

Method used

A relay device equipped with a notification receiving section for microburst occurrence and termination notifications, and a packet saving section that stores packets during microbursts in external evacuation nodes, preventing packet drops by redirecting them to memory areas for later retrieval.

Benefits of technology

Suppresses packet drops due to microbursts, reducing communication load and eliminating the need for retransmissions, thereby enhancing network stability and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023021872_19122024_PF_FP_ABST
    Figure JP2023021872_19122024_PF_FP_ABST
Patent Text Reader

Abstract

A relay device (10) relays a packet of data subjected to remote direct memory access (RDMA) transfer from a client 91 to a worker 93. The relay device (10) is provided with: a packet monitoring unit (12) that receives a microburst occurrence notification packet and a microburst end notification packet; and a packet back-up unit (14) that backs up packets to a back-up node (95) from when the occurrence notification packet is received until when the end notification packet is received by the packet monitoring unit. Thus, the drop of a packet due to microburst is suppressed.
Need to check novelty before this filing date? Find Prior Art

Description

relay device

[0001] The present invention relates to a relay device, such as a network switch, that relays data transmitted from a first device to a second device.

[0002] One such communication protocol is Remote Direct Memory Access (RDMA). In RDMA, for example, a client computer issues a request to establish a connection with a worker computer. The worker computer then directly transfers data stored in its own memory to the client computer's main memory (see Non-Patent Document 1).

[0003] Recio, R., Metzler, B., Culley, P., Hilland, J., and D. Garcia, "A Remote Direct Memory Access Protocol Specification", RFC 5040, DOI 10.17487 / RFC5040, October 2007,<https: / / www.rfc-editor.org / info / rfc5040> .

[0004] In data center networks that perform RDMA transfers, short-term congestion known as microbursts occurs. When a microburst occurs during an RDMA transfer, a large number of packets are dropped, which cannot be handled by retransmission, and packets targeted for RDMA transfer remain dropped. While this problem primarily occurs in network switches, it can also occur in other relay devices that relay data, and the mode of data transfer is not limited to RDMA transfers.

[0005] An object of the present invention is to suppress packet drops due to microbursts.

[0006] In order to solve the above problem, the relay device of the present invention is a relay device that relays packets of data transmitted from a first device to a second device, and is equipped with a notification receiving unit that receives notifications of the occurrence and end of a microburst, and a packet evacuation unit that evacuates the packets to an evacuation node between the time the notification receiving unit receives the occurrence notification and the time the notification receiving unit receives the end notification.

[0007] According to the present invention, packet drops due to microbursts are suppressed.

[0008] Fig. 1 is a configuration diagram of a system including a relay device according to an embodiment of the present invention. Fig. 2 is a hardware configuration diagram of the relay device. Fig. 3 is a diagram showing an example of the configuration of a save destination management table. Fig. 4 is a block diagram inside the relay device to explain the flow of operation of the relay device when a microburst occurs. Fig. 5 is a block diagram inside the relay device to explain the flow of operation of the relay device after the microburst ends.

[0009] Hereinafter, an embodiment of the present invention and modifications thereof will be described with reference to the drawings.

[0010] The relay device 10 according to this embodiment shown in FIG. 1 is configured as a programmable switch and a network switch. The relay device 10 is connected to client computers (also simply referred to as clients) 91A and 91B as transfer sources in RDMA (Remote Direct Memory Access) via a network NW such as the Internet. The relay device 10 may be connected to the network NW via another data relay device such as a router. The relay device 10 is further connected to worker computers (also simply referred to as workers) 93A and 93B as transfer destinations in RDMA without going through the network NW. The clients 91A and 91B are collectively referred to as clients 91. The workers 93A and 93B are collectively referred to as workers 93. In this embodiment, the number of clients 91 and the number of workers 93 are two, but the number of these is arbitrary.

[0011] The client 91 and the worker 93 each include a host channel adapter (HCA) for implementing RDMA transfer, and the HCA includes multiple queue pairs (QPs) each consisting of a send queue (SQ) and a receive queue (RQ) for use in RDMA transfer. A block of data to be transferred (for example, image data representing an image) is divided and transferred, and the divided data is stacked in a send queue (SQ) or a receive queue (RQ). Each of the divided data is stored in the payload of a packet and transferred in the packet. The block of data before division that is transferred by RDMA is also referred to below as the data to be transferred.

[0012] In addition to the RDMA transfer function, the worker 93 may also have the processing function of a general server computer, which performs processing in response to a processing request from the client 91 and returns the processing results to the client 91.

[0013] The relay device 10 is further connected to evacuation nodes 95A and 95B, which serve as evacuation destinations for packets to be RDMA transferred when a microburst occurs, as will be described later. The evacuation nodes 95A and 95B are also collectively referred to as evacuation nodes 95.

[0014] The evacuation nodes 95 are external devices of the relay device 10 and are connected to the relay device 10 without going through the network NW. The evacuation nodes 95 include at least one of an ASIC (Application Specific Integrated Circuit) and an FPGA (Field-Programmable Gate Array). Each of the evacuation nodes 95 includes multiple memory areas for storing packets to be evacuated. In this example, the evacuation node 95A includes two memory areas M1 and M2, and the evacuation node 95A includes two memory areas M3 and M4 (see FIG. 2). The memory areas M1 to M4 are also collectively referred to as memory areas M.

[0015] The relay device 10 is also connected to a detection device 99 that monitors traffic on any network including the relay device 10 and detects the occurrence and end of microbursts in the monitored network. The detection device 99 is connected to the relay device 10 without going through the network NW. When the detection device 99 detects the occurrence or end of a microburst by monitoring the traffic, it transmits an occurrence notification packet or an end notification packet to the relay device 10 to notify the occurrence or end of the microburst, respectively.

[0016] As shown in FIG. 2, the relay device 10 includes a plurality of ports 11-1 to 11-6, a packet monitoring unit 12, a switch processing unit 13, and a packet saving unit 14.

[0017] Port 11-1 is connected to the network NW directly or via another data relay device such as a router. Workers 93A and 93B are connected to ports 11-2 and 11-3, respectively. Evacuation nodes 95A and 95B are connected to ports 11-4 and 11-5, respectively. A detection device 99 is connected to port 11-6.

[0018] The above-mentioned units 12 to 14 are configured as a whole in at least one of an ASIC (Application Specific Integrated Circuit) and an FPGA (Field-Programmable Gate Array). That is, the entire units 12 to 14 may be configured in either an ASIC or an FPGA, or a part of the units 12 to 14 may be configured in either an ASIC or an FPGA, and the rest of the units 12 to 14 may be configured in the other of an ASIC or an FPGA.

[0019] The packet monitoring unit 12 monitors all received packets received by the relay device 10 via ports 11-1 to 11-6. The received packets include packets of data to be transferred via RDMA transfer from the client 91 to the worker 93 via the network NW, and packets of data sent and received when the worker 93 executes the above-mentioned processing functions. The received packets also include occurrence notification packets or completion notification packets from the detection device 99.

[0020] The packet monitoring unit 12 analyzes received packets and identifies the contents of the received packets. For example, the packet monitoring unit 12 analyzes the header or payload of the received packets to identify whether the received packets are occurrence notification packets or end notification packets. The packet monitoring unit 12 can identify, from the packet opcode, what RDMA operation (e.g., "read," "write") generated the packet, and thereby identify whether the received packet is a target packet for RDMA transfer.

[0021] The packet monitoring unit 12 may identify destination information specifying the destination of the packet and source information specifying the source of the packet, both of which are included in the packet header. For example, the packet monitoring unit 12 can obtain the destination information and source information used for RDMA transfer from packets exchanged when establishing a connection for RDMA transfer, and store this information. The packet monitoring unit 12 then compares the stored information with the destination information and source information of the received packet, and when the two match, may identify the received packet as a target packet for RDMA transfer. The destination information includes, for example, the destination MAC address (e.g., the MAC address of the device to which the packet will be next forwarded (which may not be the final destination)) and the IP address (e.g., the address of the final destination). The source information includes, for example, the source MAC address (e.g., the MAC address of the device immediately preceding the device from which the packet was sent (which may not be the initial source)) and the IP address (e.g., the address of the initial source). The destination information and source information of a packet transferred by RDMA includes, for example, the address of the QP (such as the memory address and QP number of the QP) and the address of the device that includes the QP.

[0022] The packet monitoring unit 12 inputs received packets to the switch processing unit 13 during the period before receiving an occurrence notification packet (before notifying of the occurrence of a microburst) or after receiving an end notification packet (after notifying of the occurrence of a microburst), i.e., during the period when a microburst is not occurring.

[0023] The switch processing unit 13 transmits the packet from the packet monitoring unit 12 to the destination of the packet via one of the ports 11-1 to 11-6. Such a function of the switch processing unit 13 is a function of a general network switch. As an example, the switch processing unit 13 refers to an address table showing the relationship between the ports 11-1 to 11-6 and the addresses (e.g., MAC addresses) of the devices connected to each port, and transmits the received packet from the port corresponding to the address of the destination device included in the destination information included in the header of the packet to be transmitted. As a result, the packet is forwarded to the device connected to that port.

[0024] The packet monitoring unit 12 sends packets transmitted by RDMA transfer among the packets received sequentially during the period from after the reception of the occurrence notification packet to before the reception of the end notification packet, that is, during the period when a microburst is occurring, to the packet saving unit 14. The handling of other received packets is arbitrary, but in this case, the received packets are dropped without being sent to the switch processing unit 13. This reduces the communication load on the worker 93 due to the microburst.

[0025] Upon receiving the end notification packet, the packet monitoring unit 12 stops sending packets transmitted by RDMA transfer to the packet saving unit 14. The packet monitoring unit 12 also notifies a worker scheduler 14D (described later) of the packet saving unit 14 of the end of the microburst.

[0026] The packet saving unit 14 includes a saving scheduler 14A, a mirroring unit 14B, a forwarder 14C, a worker scheduler 14D, and a packet generator 15E. The saving scheduler 14A has the saving destination management table shown in Fig. 3. The operation of each of the units 14A to 15E will be described below with reference to Figs. 3 and 4.

[0027] After receiving the packet notifying the occurrence of a microburst, the packet to be transferred by RDMA, which is supplied from the packet monitor 12, is input to the evacuation scheduler 14A as shown in FIG.

[0028] The evacuation scheduler 14A determines which memory area M of which evacuation node 95 the input packet should be evacuated to. The evacuation scheduler 14A has a save destination management table (see FIG. 3 ) in which the position information of each of the memory areas M1 to M4 is registered, for example, as a pointer, and references this table to determine the memory area M to which the packet should be evacuated. The pointers are prepared in advance. As described below, the packet save destination is specified by a pointer, so the pointer may contain any information that can later become destination information. For example, the pointer includes the address of the memory area M and the address (e.g., MAC address) of the evacuation node 95 that owns that memory area M. Note that in FIG. 3 , the memory area codes (M1 to M4) are used as the specific values ​​of each pointer. Only packets of one data item to be transferred via RDMA (as described above, data before being divided during transfer) are stored in one memory area M. In other words, there is a one-to-one correspondence between the memory area M and the data item to be transferred.

[0029] In the save destination management table, a pointer and source information and destination information of the packet stored in the memory area indicated by the pointer are recorded in association with the record number of each record, as shown in Fig. 3. Each storage area in which source information and destination information are stored is blank in the initial state, and this information is stored when packets are saved as described below.

[0030] The evacuation scheduler 14A extracts the source information and destination information contained in the header of the input packet, and determines whether the extracted source information and destination information match any of the source information and destination information stored in the evacuation destination management table.

[0031] If source and destination information matching the extracted source and destination information is not registered in the save destination management table, the current packet can be considered the first packet of the same data to be transferred via RDMA transfer after the microburst occurred. If a microburst occurs during RDMA transfer, the currently input packet can be considered the first intermediate packet transferred after the microburst occurred. In such a case, the save scheduler 14A stores the source and destination information in a storage area in the save destination management table corresponding to the smallest record number ("02" in FIG. 3) among blank records for source and destination information. The save scheduler 14A then obtains from the save destination management table a pointer included in the record storing the source and destination information, and sends the current packet along with the pointer obtained from the save destination management table to the mirroring unit 14B. These processes determine the memory area M to which the current packet and subsequent packets of the same data to be transferred are saved.

[0032] If source information and destination information that match the extracted source information and destination information are registered in the save destination management table, the save destination for the current packet has already been determined. In this case, the save scheduler 14A obtains a pointer corresponding to the matching source information and destination information from the save destination management table. The save scheduler 14A inputs the current packet together with the pointer obtained from the save destination management table to the mirroring unit 14B.

[0033] The mirroring unit 14B mirrors the input packet and pointer, and inputs one of the mirrored packets together with the pointer to the forwarder 14C.

[0034] The forwarder 14C rewrites the forwarding destination information included in the header of the packet input from the mirroring unit 14B with pointer information. As a result, the forwarding destination of this packet is changed to the memory area M of the evacuation destination determined by the evacuation scheduler 14A of the evacuation node 95. The forwarder 14C inputs the rewritten packet to the switch processing unit 13.

[0035] The other packet mirrored by the mirroring unit 14B is input to the worker scheduler 14D together with the pointer. The worker scheduler 14D extracts destination information for RDMA transfer of the input packet from the header. The worker scheduler 14D stores the extracted or input destination information and pointer if they are not already stored.

[0036] The packet generator 14E generates UDP (User Datagram Protocol) packets at a predetermined cycle and inputs the generated packets to the worker scheduler 14D. These packets include instructions to obtain the evacuated data packets from the evacuation node by RDMA read.

[0037] The worker scheduler 14D drops all packets from the packet generator 14E until it receives a notification from the packet monitor 12 indicating the end of the microburst. Upon receiving the notification of the end of the microburst, the worker scheduler 14D mirrors the packets from the packet generator 14E so as to obtain the same number of packets as the number of pairs of forwarding destination information and pointers that it has held up to that point. The worker scheduler 14D transfers each pair of packet, forwarding destination information, and pointer to the forwarder 14C. As will be described later, this transfer allows the worker 93, which is the original destination of the evacuated packet, to acquire the packet. In other words, the worker scheduler 14D controls the timing at which the worker 93, which is the original destination of the evacuated packet, acquires the packet after receiving the notification of the end of the microburst.

[0038] Based on the set of packets, destination information, and pointers from the worker scheduler 14D, the forwarder 14C generates a notification packet that notifies the worker 93, the original destination of the packets, of the destination of the saved packets. Here, the worker scheduler 14D generates a notification packet in which the destination information is set in the header and the pointer is stored in the payload. Such a notification packet is configured to instruct the worker 93 to acquire the saved packets. The forwarder 14C inputs the generated notification packet to the switch processing unit 13.

[0039] The switch processing unit 13 handles packets from the forwarder 14C in the same way as it handles received packets from the packet monitoring unit 12. That is, the switch processing unit 13 transmits packets from the forwarder 14C to one of the ports 11-1 to 11-6 that corresponds to the address of the device in the destination information included in the packet (the correspondence is specified by an address table).

[0040] If the packet to be sent is a packet to be saved, the packet is sent to the save node 95 via either port 11-4 or 11-5. The sent packet is stored in the memory area M specified by the destination information in the header of the save node 95. This storage links the memory area M in which the packet to be saved is actually stored with the contents of the save destination management table.

[0041] If the packet to be sent is a notification packet, the packet is sent to the worker 93 via port 11-2 or 11-3. The worker 93 analyzes the notification packet from the forwarder 14C and extracts the header destination information and the payload pointer. The worker 93 then performs an RDMA read on the evacuation node 95 indicated by the pointer, with the memory area M indicated by the payload pointer as the packet read destination and the QP indicated by the header destination information as the storage destination for the payload data of the packet to be read. For the RDMA read, a QP is also prepared on the evacuation node 95 side. The packet is assumed to be stored in the memory area M of the evacuation node 95 in a FIFO (First In First Out) manner. The RDMA read starts the transfer to the worker 93 of a packet that has been evacuated to the evacuation node 95 due to the occurrence of a microburst, for example, and is no longer RDMA transferred to the worker 93. The worker 93 may also acquire the evacuated packets from the evacuation node 95 by performing normal communication with the evacuation node 95 .

[0042] When the RDMA read ends, the worker 93 transmits a transfer end packet notifying the end to the relay device 10. At this time, the worker 93 includes, in the payload of the transfer end packet, information that the packet is a transfer end packet and the pointer used in this RDMA read.

[0043] The flow of processing within the relay device 10 when a transfer end packet is transmitted to the relay device 10 will be described with reference to FIG. 5. The transfer end packet, like other packets, is input to the packet monitoring unit 12 and analyzed. If the packet to be monitored contains information in its payload indicating that it is a transfer end packet, the packet monitoring unit 12 extracts a pointer from the payload. The packet monitoring unit 12 inputs the extracted pointer to the evacuation scheduler 14A together with information indicating that the transfer end packet has been received.

[0044] When the save scheduler 14A receives a pointer together with information indicating that a transfer completion packet has been received, it acquires the transfer source information and transfer destination information registered in the save destination management table corresponding to the pointer, and deletes this information from the table. As a result, the record in the save destination management table corresponding to the memory area M of the save destination of the packet whose transfer has been completed is released, and the memory area M can become the save destination of a new packet.

[0045] The evacuation scheduler 14A inputs the acquired source information and destination information to the forwarder 14C. The forwarder 14C generates a notification packet that includes the source information as destination information and notifies the client 91 that the RDMA transfer has ended, and inputs the notification packet to the switch processing unit 13. Note that the forwarder 14C may obtain the packet from the evacuation scheduler 14A and rewrite the destination information of the packet with the source information to generate the current notification packet.

[0046] The switch processing unit 13 handles the notification packet from the forwarder 14C in the same way as other packets. That is, the switch processing unit 13 transmits the notification packet from the forwarder 14C to one of the ports 11-1 to 11-6 that corresponds to the address of the device in the destination information included in the notification packet (the correspondence is specified by the address table). As a result, the notification packet is transmitted via port 11-1 to the client 91 that is the source of the RDMA write, and the client 91 can recognize that the RDMA write has completed successfully. This prevents the client 91 from executing the RDMA write again. Note that the forwarder 14C may generate, as the notification packet, the same packet as the notification packet transmitted from the worker 93 to the client 91 when the RDMA transfer between the client 91 and the worker 93 has been successfully performed. This allows the client 91 to recognize the completion of the RDMA transfer in the same way as when a microburst is not occurring.

[0047] As described above, in this embodiment, when a microburst occurs, the relay device 10 evacuates packets to be RDMA transferred to the evacuation node 95. This prevents packets from being dropped due to the microburst. Furthermore, since the packets evacuated to the evacuation node 95 are supplied to the worker 93 after the microburst ends, the client 91 does not have to retransmit packets, and the load on the client 91 is prevented from becoming heavy.

[0048] The relay device 10 can be configured, for example, as follows.

[0049] The relay device may be configured to relay packets of data transmitted from a first device (the client 91 in the above example) to a second device (the worker 93 in the above example). In the above example, the packets to be relayed are packets transferred by RDMA write, but they may also be packets transferred by RDMA read. Furthermore, the packets to be relayed do not have to be packets transferred by RDMA. Specific examples of the first device and the second device are also arbitrary.

[0050] The relay device may include a notification receiving unit (packet monitoring unit 12 in the above example) that receives microburst occurrence and termination notifications, and a packet evacuation unit (packet evacuation unit 14 in the above example) that evacuates packets to an evacuation node between the time the notification receiving unit receives the occurrence notification and the time the notification receiving unit receives the termination notification. While the occurrence and termination notifications are packets in the above example, the relay device and a detection device that detects microbursts may be connected by a signal line that transmits and receives the occurrence and termination notifications, and each notification may be transmitted to the relay device via a signal. Furthermore, the microburst detection function may be incorporated into the relay device. In this case, the detection results of a microburst detection unit provided within the relay device may be transmitted to the notification receiving unit as the occurrence and termination notifications. For example, the occurrence notification may be a notification that a microburst has actually occurred, or a notification that a microburst is likely to occur in the future. At least a portion of the evacuation node may be incorporated within the relay device. The method for determining the packet evacuation destination (evacuation node 95 and memory area M) is arbitrary. For example, it may be determined randomly. The destination memory area M may be dynamically secured when the destination for the packets is determined. For example, if it is possible to derive the amount of data of the remaining packets in the RDMA transfer from the information in the header of the packets to be evacuated, the packet evacuation unit may derive the amount of data, and secure a memory area of ​​a size corresponding to the derived amount of data in the evacuation node, and the address of the secured memory area may be used as the above-mentioned pointer, etc.

[0051] In the above example, the relay device is a network switch, but it may also be a router or other device. However, routers and other devices are often configured based on a CPU (Central Processing Unit), which can lengthen the processing time from the occurrence of a microburst to the evacuation of packets and increase power consumption. On the other hand, as described above, by configuring the notification receiving unit and packet evacuation unit of the relay device in an ASIC and / or FPGA, that is, by configuring only the former or only the latter, or by distributing the entire notification receiving unit and packet evacuation unit between the two, processing time can be shortened and power consumption can be reduced. If the processing time and power consumption are acceptable, the notification receiving unit and packet evacuation unit may be configured by a processor (CPU) that executes a program, regardless of whether the relay device is a network switch or not.

[0052] Although not particularly limited, the packet evacuation unit may be configured to hold information regarding the evacuation destination of the packets (a pointer in the above example, but information other than a pointer may also be used) until the notification receiving unit receives an end notification, and to transmit the information to the first device based on the reception of the end notification by the notification receiving unit, and to cause the second device to obtain the packets from the evacuation node based on the information. This allows the evacuated packets to be supplied to the second device after the microburst ends.

[0053] The packet evacuation unit may also be configured to evacuate packets to be RDMA transferred from the first device to the second device to the evacuation node, as described above, and, based on the notification receiving unit receiving a completion notification, instruct the second device to execute an RDMA read to acquire the packets from the evacuation node. This allows for quick acquisition of packets from the evacuation node. In RDMA transfer, the source and destination are determined as a single pair, so it was previously impossible to evacuate packets due to the occurrence of a microburst and send the evacuated packets to the destination. This configuration makes it possible to evacuate packets and send the evacuated packets to the destination, which was previously impossible.

[0054] The relay device may further include a transmitter (switch processor 13 in the above example) that transmits the packet according to destination information included in the packet. The packet evacuation unit may rewrite the destination information included in the packet, as described above, so that the destination of the packet becomes the evacuation node. The destination information may be stored in a portion other than the packet header. This allows the packet to be sent to the evacuation node using the same method as for other packets (for example, the method of switching the packet destination as described above).

[0055] The present invention is not limited to the above-described embodiments and modifications. For example, the present invention includes various modifications to the above-described embodiments and modifications that can be understood by a person skilled in the art within the scope of the technical concept of the present invention. The configurations listed in the above-described embodiments and modifications can be combined as appropriate within a range that does not cause contradictions. In addition, any of the above-described configurations can be deleted.

[0056] (Supplementary Notes) Configurations that are examples of the above-mentioned embodiments and modifications are described below. (Supplementary Note 1) A relay device that relays packets of data transmitted from a first device to a second device, comprising: a notification receiving unit that receives a microburst occurrence notification and an end notification; and a packet evacuation unit that evacuates the packets to an evacuation node during the period from when the notification receiving unit receives the occurrence notification to when the end notification is received. (Supplementary Note 2) The relay device according to Supplementary Note 1, wherein the relay device is a network switch, and the packet evacuation unit is configured in an ASIC and / or FPGA. (Supplementary Note 3) The relay device according to Supplementary Note 1 or 2, wherein the packet evacuation unit holds information regarding the evacuation destination of the packets until the end notification is received, and transmits the information to the second device based on the notification receiving unit receiving the end notification, and causes the second device to retrieve the packets from the evacuation node based on the information. (Supplementary Note 4) The relay device according to any one of Supplementary Notes 1 to 3, wherein the packet evacuation unit evacuates the packet to be transferred from the first device to the second device by RDMA (Remote Direct Memory Access) to the evacuation node, and instructs the second device to execute RDMA read to acquire the packet from the evacuation node based on the reception of the completion notification by the notification receiving unit. (Supplementary Note 5) The relay device according to any one of Supplementary Notes 1 to 4, further comprising a transmitting unit that transmits the packet in accordance with destination information included in the packet, and the packet evacuation unit rewrites the destination information included in the packet so that the destination of the packet becomes the evacuation node.

[0057] 10... relay device, 11-1 to 11-6... ports, 12... packet monitoring unit, 13... switch processing unit, 14... packet evacuation unit, 14A... evacuation scheduler, 14B... mirroring unit, 14C... forwarder, 14D... worker scheduler, 14E... packet generator, 15E... packet generator, 91... client, 91A... client computer, 91B... client computer, 93... worker, 93A... worker computer, 93B... worker computer, 95... evacuation node, 95A... evacuation node, 95B... evacuation node, 99... detection device, M... memory area, M1 to M4... memory area, NW... network.

Claims

1. A relay device that relays packets of data transmitted from a first device to a second device, comprising: a notification receiving unit that receives notifications of occurrence and end of a microburst; and a packet evacuation unit that evacuates the packets to an evacuation node during the period from when the notification receiving unit receives the notification of occurrence to when the notification of end is received.

2. The relay device according to claim 1, wherein the relay device is a network switch, and the packet evacuation unit is configured in an ASIC and / or an FPGA.

3. The relay device of claim 1, wherein the packet evacuation unit retains information regarding the evacuation destination of the packet until the end notification is received, and transmits the information to the second device based on receipt of the end notification by the notification receiving unit, and causes the second device to retrieve the packet from the evacuation node based on the information.

4. The relay device described in claim 1, wherein the packet evacuation unit evacuates the packet to be transferred from the first device to the second device via RDMA (Remote Direct Memory Access) to the evacuation node, and based on receipt of the completion notification by the notification receiving unit, instructs the second device to execute an RDMA read to retrieve the packet from the evacuation node.

5. The relay device according to claim 1, further comprising a transmitting unit that transmits the packet in accordance with destination information contained in the packet, wherein the packet evacuation unit rewrites the destination information contained in the packet so that the destination of the packet becomes the evacuation node.

Citation Information

Patent Citations

  • Packet relay apparatus

    JP2011142535A

  • Repeating device, setting method, setting program and information processing system

    JP2017108266A

  • Information processing device, information processing system, and information processing program

    JP2019161632A

  • Monitoring device, failure detection method, and failure detection program

    JP2022129879A

  • Communication method, information processing device, and program

    WO2011058639A1