Computing Systems
PIN blades with processing blocks and flow ID switches in disaggregated data centers address network congestion and delay issues by efficiently routing and processing data, enhancing network performance and reducing CPU access.
Patent Information
- Application Number
- JP2023565719
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-07
- Publication Date
- 2025-01-17
- Estimated Expiration
- 2041-12-07
AI Technical Summary
The increased number of interconnected devices in disaggregated data center computing systems leads to network congestion and fluctuations in communication delay, particularly due to concentrated access to top-of-rack and spine switches.
The introduction of Processing-In-Network (PIN) blades, each equipped with multiple processing blocks, packet receiving and transmitting units, functional units, and flow ID switches, which process and route data packets efficiently within the network, reducing the load and congestion by performing data compression, decompression, and image resizing, and creating direct paths between resource blades.
This configuration reduces network load and congestion, stabilizes communication delays, and offloads processing tasks from CPUs to PIN blades, thereby minimizing access to CPU blades and optimizing network performance.
Smart Images

Figure 0007616427000001 
Figure 0007616427000002 
Figure 0007616427000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a computing system in which resource blades are connected to each other via a network. [Background technology]
[0002] Conventional datacenter computing systems are built using servers. Servers are equipped with small amounts of various resources (CPU, memory, storage, accelerators) required for computing tasks. These resources are tightly integrated by a bus. Currently, a typical datacenter computing system has multiple servers interconnected by a network.
[0003] This server-centric architecture has been the mainstream for decades. In contrast, disaggregated datacenters (DDCs) have been proposed in recent years, in which resources such as CPUs (Central Processing Units) and memory are organized into resource blades for each resource function, and the resource blades are interconnected by a network fabric (see Non-Patent Document 1).
[0004] By isolating resources, DDC allows each resource technology to more easily evolve independently, reducing time to adoption by avoiding the burden of integration and motherboard redesign.
[0005] 4 is a block diagram showing a network configuration of the DDC. Each resource blade, such as the CPU blades 100-1 and 100-2, the accelerator blades 101-1 and 101-2, and the storage blades 102-1 and 102-2, is connected to upper-level Top of Rack (ToR) switches 103-1 and 103-2. The ToR switches 103-1 and 103-2 are connected to each other via a spine switch 104.
[0006] In disaggregated computing technology as shown in the example of Figure 4, the number of connected devices increases dramatically compared to conventional computing systems, which makes the network more susceptible to congestion. For example, congestion caused by concentrated access to ToR switches and spine switches, and latency fluctuations caused by accessing via ToR switches are issues. [Prior art documents] [Non-patent literature]
[0007] [Non-Patent Document 1] Peter X. Gao,et al.,“Network requirements for resource disaggregation”12th USENIX symposium on operating systems design and implementation (OSDI'16),2016 Summary of the Invention [Problem to be solved by the invention]
[0008] The present invention has been made to solve the above-mentioned problems, and has an object to provide a computing system that can reduce the possibility of congestion occurring in a network. [Means for solving the problem]
[0009] The computing system of the present invention comprises a plurality of top-of-rack switches connecting resource blades under their control, a spine switch connecting the plurality of top-of-rack switches, and a plurality of PIN blades arranged between the top-of-rack switches and the resource blades under their control, the PIN blades being composed of a plurality of processing blocks, each processing block comprising a first packet receiving unit configured to receive a packet from the resource blade under its control, a first packet transmitting unit configured to transmit a packet to the resource blade under its control, a second packet receiving unit configured to receive a packet from the top-of-rack switch at a higher level, a second packet transmitting unit configured to transmit a packet to the top-of-rack switch at a higher level, a functional unit configured to perform a predetermined processing on data contained in the received packet, and a flow ID switch configured to determine a forwarding destination of data contained in the packet received by the first and second packet receiving units or data processed by the functional unit from among the first and second packet transmitting units and the functional unit, and forward the data to the forwarding destination.
[0010] In addition, in one configuration example of the computing system of the present invention, the multiple processing blocks within the PIN blade are connected to each other, and the flow ID switch of each processing block receives data from other processing blocks within the same PIN blade, in addition to the data contained in the packets received by the first and second packet receiving units and the data processed by the functional unit, and determines the transfer destination of the received data from among the first and second packet transmitting units and other processing blocks within the same PIN blade as the functional unit, and transfers the data to the transfer destination.
[0011] Furthermore, in one configuration example of the computing system of the present invention, the first packet receiving unit restores data from the packet received from the resource blade, adds a flow ID corresponding to destination information included in the received packet to the data, and forwards the data to the flow ID switch, the second packet receiving unit restores data from the packet received from the top-of-rack switch, adds a flow ID corresponding to destination information included in the received packet to the data, and forwards the data to the flow ID switch, the flow ID switch determines a destination of the data based on the flow ID added to the received data, the first packet transmitting unit packetizes the data received from the flow ID switch, sets in the packet destination information corresponding to the flow ID added to the received data, and transmits the packet to the resource blade, and the second packet transmitting unit packetizes the data received from the flow ID switch, sets in the packet destination information corresponding to the flow ID added to the received data, and transmits the packet to the top-of-rack switch. In addition, in one configuration example of the computing system of the present invention, the functional unit is characterized by performing any one of the following processes: data compression, decompression of compressed data, image resizing, and image channel division. Effect of the Invention
[0012] According to the present invention, a PIN blade is provided between a top-of-rack switch and a subordinate resource blade, and each processing block of the PIN blade is provided with a first and second packet receiving unit, a first and second packet transmitting unit, a functional unit, and a flow ID switch. In the present invention, data is processed and transmitted by the functional unit of the PIN blade in communication between resource blades, so that the load on the network can be reduced and the possibility of network congestion occurring can be reduced. [Brief description of the drawings]
[0013] [Figure 1]FIG. 1 is a block diagram showing the configuration of a computing system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a block diagram showing a configuration of a PIN blade according to an embodiment of the present invention. [Diagram 3] FIG. 3 is a block diagram showing a detailed configuration of a PIN blade according to an embodiment of the present invention. [Figure 4] FIG. 4 is a block diagram showing a network configuration of the DDC. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. Fig. 1 is a block diagram showing the configuration of a computing system according to an embodiment of the present invention. The computing system of this embodiment includes a plurality of top-of-rack (ToR) switches 103-1, 103-2 that connect resource blades under the control of the switches, a spine switch 104 that connects the plurality of ToR switches 103-1, 103-2, and a plurality of PIN (Processing In-Network) blades 105-1, 105-2 that are arranged for each ToR switch between the ToR switches 103-1, 103-2 and the resource blades under the control of the switches.
[0015] As described above, the resource blades include, for example, the CPU blades 100-1 and 100-2, the accelerator blades 101-1 and 101-2, and the storage blades 102-1 and 102-2.
[0016] The PIN blades 105-1 and 105-2 apply data size reduction processes such as encoding / decoding or compression / restoration to the input data. The PIN blades 105-1 and 105-2 also perform small processes that previously required CPU processing at the line rate of the network instead of the CPU. The PIN blades 105-1 and 105-2 also have a simple circuit switching function.
[0017] 2 is a block diagram showing the configuration of the PIN blade 105-1. The PIN blade 105-1 includes a plurality of processing blocks 1-1 to 1-3. Each of the processing blocks 1-1 to 1-3 is configured by an FPGA (Field Programmable Gate Array).
[0018] Each of the processing blocks 1-1 to 1-3 has a plurality of network physical ports, with the port on one side connected to a resource blade and the port on the other side connected to the ToR switch 103-1. The processing blocks 1-1 to 1-3 are connected to each other by a network or a bus and can communicate with each other.
[0019] Fig. 3 is a block diagram showing a detailed configuration of the PIN blade 105-1. In the example of Fig. 3, two processing blocks 1-1 and 1-2 in the PIN blade 105-1 are described. The processing blocks 1-1 and 1-2 include a packet receiver 10 that receives packets from a subordinate resource blade, a packet receiver 11 that receives packets from a higher-level ToR switch 103-1, a flow ID switch 12 that determines a forwarding destination of the packet data, function units 13 and 14 that perform predetermined processing on data included in the received packet, a flow ID switch 15 that determines a forwarding destination of the packet data, a packet transmitter 16 that transmits packets to a subordinate resource blade, and a packet transmitter 17 that transmits packets to the higher-level ToR switch 103-1.
[0020] As shown in FIG. 3, in this embodiment, accelerator blades 101-1a and 101-1b are connected to a processing block 1-1 of a PIN blade 105-1, and accelerator blades 101-1c and 101-1d are connected to a processing block 1-2 of the PIN blade 105-1.
[0021] The packet receiver 10 of the processing blocks 1-1 and 1-2 receives packets from the connected accelerator blades 101-1a, 101-1b, 101-1c, and 101-1d. A table 200 is set in the packet receiver 10, in which destination IP addresses, destination port numbers, and corresponding flow IDs are registered in advance. The flow ID is an identifier given to data to determine the path of the data within the PIN blade 105-1.
[0022] The packet receiver 10 restores the original data from the payload of one or more packets received from the accelerator blades 101-1a, 101-1b, 101-1c, and 101-1d. The header of the packet contains a destination IP address and a destination port number as destination information. The packet receiver 10 obtains a flow ID corresponding to the destination IP address and destination port number contained in the received packet from the table 200, adds the flow ID to the restored data, and transfers it to the flow ID switch 12.
[0023] On the other hand, the packet receiving unit 11 of the processing blocks 1-1 and 1-2 receives a packet from the connected ToR switch 103-1. The packet receiving unit 11 includes a table 201 in which destination IP addresses, destination port numbers, and corresponding flow IDs are registered in advance.
[0024] The packet receiving unit 11 restores the original data from the payload of one or more packets received from the ToR switch 103-1. The packet receiving unit 11 acquires a flow ID corresponding to the destination IP address and destination port number included in the received packet from the table 201, adds the flow ID to the restored data, and transfers it to the flow ID switch 12.
[0025] A table 300 in which flow IDs and corresponding forwarding destination information are registered in advance is set in the flow ID switch 12 of the processing blocks 1-1 and 1-2. When the flow ID switch 12 receives data from the packet receivers 10 and 11 or the flow ID switches 12 and 15 of other processing blocks in the same PIN blade, the flow ID switch 12 obtains, from the table 300, forwarding destination information corresponding to the flow ID added to the data, and forwards the data to the functional units 13 and 14 of the forwarding destination or the flow ID switches 12 and 15 of the processing blocks of the forwarding destination specified by this information.
[0026] The functional units 13 and 14 of the processing blocks 1-1 and 1-2 perform predetermined processing on the data from the flow ID switch 12. Examples of the processing performed by the functional unit 13 include data encoding, decoding, compression, and decompression of compressed data. Examples of the processing performed by the functional unit 14 include image resizing and channel division.
[0027] A table 301 in which flow IDs and corresponding forwarding destination information are registered in advance is set in the flow ID switch 15 of the processing blocks 1-1 and 1-2. When the flow ID switch 15 receives data from the flow ID switch 12, the functional units 13 and 14, or the flow ID switches 12 and 15 of other processing blocks in the same PIN blade, the flow ID switch 15 obtains, from the table 301, information on the forwarding destination corresponding to the flow ID added to the data, and forwards the data to the packet transmitting units 16 and 17 of the forwarding destination specified by this information, or to the flow ID switches 12 and 15 of the processing blocks of the forwarding destination.
[0028] The packet transmitters 16 of the processing blocks 1-1 and 1-2 transmit packets to the connected accelerator blades 101-1a, 101-1b, 101-1c, and 101-1d. The packet transmitters 16 include a table 202 in which flow IDs, corresponding destination IP addresses, and destination port numbers are registered in advance.
[0029] When packet transmitter 16 receives data from flow ID switch 15, it packetizes the data and obtains the destination IP address and destination port number corresponding to the flow ID added to the data from table 202. Packet transmitter 16 sets the destination IP address and destination port number in the header of the created packet, and transmits the packet to accelerator blades 101-1a, 101-1b, 101-1c, and 101-1d.
[0030] The packet transmitter 17 of the processing blocks 1-1 and 1-2 transmits a packet to the connected ToR switch 103-1. The packet transmitter 17 includes a table 203 in which a flow ID, a corresponding destination IP address, and a destination port number are registered in advance.
[0031] When the packet transmitter 17 receives data from the flow ID switch 15, it packetizes the data and obtains the destination IP address and destination port number corresponding to the flow ID added to the data from the table 203. The packet transmitter 17 sets the destination IP address and destination port number in the header of the created packet and transmits the packet to the ToR switch 103-1.
[0032] 2 and 3, the PIN blade 105-1 is taken as an example for explanation, but the PIN blade 105-2 has the same configuration as the PIN blade 105-1. Next, a specific example of the operation of the PIN blades 105-1 and 105-2 of this embodiment will be described.
[0033] [Data size reduction process] First, an example of data transfer from accelerator blade 101-1 to accelerator blade 101-2 in FIG. 1 will be described. The packet receiving unit 10 of the processing block in the PIN blade 105-1 restores the original data from the payload of the packet received from the accelerator blade 101-1. The packet receiving unit 10 obtains the flow ID corresponding to the destination IP address and destination port number included in the packet from the table 200, adds the flow ID to the restored data, and transfers it to the flow ID switch 12.
[0034] When the flow ID switch 12 of the processing block in the PIN blade 105-1 receives data from the packet receiving unit 10, it obtains destination information corresponding to the flow ID added to the data from the table 300 and transfers the data to the destination specified by this information. In this example, the destination is assumed to be the functional unit 13.
[0035] When the functional unit 13 of the processing block in the PIN blade 105 - 1 receives the data from the flow ID switch 12 , it compresses the data and transfers it to the flow ID switch 15 . When the flow ID switch 15 of the processing block in the PIN blade 105-1 receives data from the function unit 13, it obtains from the table 301 the information of the transfer destination corresponding to the flow ID added to the data, and transfers the data to the transfer destination specified by this information. In this example, the transfer destination is the packet transmission unit 17.
[0036] When the packet transmitter 17 of the processing block in the PIN blade 105-1 receives data from the flow ID switch 15, it packetizes the data and obtains the destination IP address and destination port number corresponding to the flow ID added to the data from the table 203. The packet transmitter 17 sets the destination IP address and destination port number in the header of the created packet and transmits the packet to the ToR switch 103-1 via the network.
[0037] When the ToR switch 103-1 receives a packet from the PIN blade 105-1, it refers to the destination IP address set in the packet header and transmits the packet to the spine switch 104 via the network.
[0038] When the spine switch 104 receives a packet from the ToR switch 103-1, it refers to the destination IP address set in the packet header and transmits the packet to the ToR switch 103-2 via the network.
[0039] When the ToR switch 103-2 receives a packet from the spine switch 104, it refers to the destination IP address set in the packet header and transmits the packet to the PIN blade 105-2 via the network.
[0040] The packet receiving unit 11 of the processing block in the PIN blade 105-2 restores the original data from the payload of the packet received from the ToR switch 103-2. The restored data here is data compressed by the PIN blade 105-1. The packet receiving unit 11 obtains from the table 201 the flow ID corresponding to the destination IP address and destination port number included in the received packet, adds the flow ID to the restored data, and transfers it to the flow ID switch 12.
[0041] When the flow ID switch 12 of the processing block in the PIN blade 105-2 receives data from the packet receiving unit 11, it obtains from the table 300 information on the transfer destination corresponding to the flow ID added to the data, and transfers the data to the transfer destination specified by this information. In this example, the transfer destination is assumed to be the functional unit 13.
[0042] When the functional unit 13 of the processing block in the PIN blade 105 - 2 receives the data from the flow ID switch 12 , it decompresses the compressed data to restore the original data, and transfers the data to the flow ID switch 15 .
[0043] When the flow ID switch 15 of the processing block in the PIN blade 105-2 receives data from the function unit 13, it obtains from the table 301 the information of the transfer destination corresponding to the flow ID added to the data, and transfers the data to the transfer destination specified by this information. In this example, the transfer destination is the packet transmission unit 16.
[0044] When the packet transmitter 16 of the processing block in the PIN blade 105-2 receives data from the flow ID switch 15, it packetizes the data and obtains the destination IP address and destination port number corresponding to the flow ID added to the data from the table 202. The packet transmitter 16 sets the destination IP address and destination port number in the header of the created packet, and transmits the packet to the accelerator blade 101-2.
[0045] As described above, in this embodiment, data is compressed and transmitted on the path from PIN blade 105-1 through ToR switch 103-1, spine switch 104, and ToR switch 103-2 to PIN blade 105-2, thereby reducing the load on the network and reducing the possibility of congestion occurring in the network.
[0046] [Circuit Switched] Data size reduction is also effective for communication between resource blades connected to the same PIN blade. In the case of communication between resource blades connected to the same PIN blade, the circuit switching function of the PIN blade allows communication between resource blades without going through a ToR switch.
[0047] For example, when data is transferred from accelerator blade 101-1a to accelerator blade 101-1c in Fig. 2, packet receiver 10 of processing block 1-1 in PIN blade 105-1 restores the original data from the payload of the packet received from accelerator blade 101-1a. Packet receiver 10 adds a flow ID to the restored data and transfers it to flow ID switch 12.
[0048] When the flow ID switch 12 of the processing block 1-1 in the PIN blade 105-1 receives data from the packet receiving unit 10, it obtains from the table 300 information on the transfer destination corresponding to the flow ID added to the data, and transfers the data to the transfer destination specified by this information. In this example, the transfer destination is the functional unit 13.
[0049] When the functional unit 13 of the processing block 1 - 1 in the PIN blade 105 - 1 receives the data from the flow ID switch 12 , it compresses the data and transfers it to the flow ID switch 15 . When the flow ID switch 15 of the processing block 1-1 in the PIN blade 105-1 receives data from the function unit 13, it obtains destination information corresponding to the flow ID added to the data from the table 301 and transfers the data to the destination specified by this information. In this example, the destination is the flow ID switch 12 of the processing block 1-2 in the PIN blade 105-1.
[0050] When the flow ID switch 12 of the processing block 1-2 in the PIN blade 105-1 receives data from the processing block 1-1, it obtains from the table 300 information on the transfer destination corresponding to the flow ID added to the data, and transfers the data to the transfer destination specified by this information. In this example, the transfer destination is the functional unit 13.
[0051] When the functional unit 13 of the processing block 1 - 2 in the PIN blade 105 - 1 receives the data from the flow ID switch 12 , it decompresses the compressed data to restore the original data, and transfers the data to the flow ID switch 15 .
[0052] When the flow ID switch 15 of the processing block 1-2 in the PIN blade 105-1 receives data from the function unit 13, it obtains from the table 301 the information of the transfer destination corresponding to the flow ID added to the data, and transfers the data to the transfer destination specified by this information. In this example, the transfer destination is the packet transmission unit 16.
[0053] When the packet transmitter 16 of the processing block 1-2 in the PIN blade 105-1 receives data from the flow ID switch 15, it packetizes the data and obtains the destination IP address and destination port number corresponding to the flow ID added to the data from the table 202. The packet transmitter 16 sets the destination IP address and destination port number in the header of the created packet, and transmits the packet to the accelerator blade 101-1c.
[0054] In conventional technology, it is known that fluctuations in communication delays have a significant impact on the quality of service. Conventional ToR switches use packet switching for communication, which causes packet queuing and fluctuations in delay time.
[0055] On the other hand, in this embodiment, the delay time can be made constant by giving the PIN blade a circuit switching function. In other words, if the communication is between resource blades connected to the same PIN blade, a direct path can be created between the resource blades connected to the same PIN blade by sending and receiving data between flow ID switches without going through the ToR switch.
[0056] [Processing offloading] Next, an example will be described in which image processing is required when image data is transferred from accelerator blade 101-1 to accelerator blade 101-2 in FIG. The packet receiving unit 10 of the processing block in the PIN blade 105-1 restores the original image data from the payload of the packet received from the accelerator blade 101-1. The packet receiving unit 10 adds a flow ID to the restored image data and transfers it to the flow ID switch 12.
[0057] When the flow ID switch 12 of the processing block in the PIN blade 105-1 receives image data from the packet receiving unit 10, it obtains destination information corresponding to the flow ID added to the image data from the table 300, and transfers the image data to the destination specified by this information. In this example, the destination is assumed to be the functional unit 14.
[0058] When the functional unit 14 of the processing block in the PIN blade 105-1 receives image data from the flow ID switch 12, it performs a predetermined process on the image data and transfers it to the flow ID switch 15. Examples of the process performed by the functional unit 14 include image resizing and channel division.
[0059] When the flow ID switch 15 of the processing block in the PIN blade 105-1 receives image data from the function unit 14, it obtains information on the transfer destination corresponding to the flow ID added to the image data from the table 301, and transfers the image data to the transfer destination specified by this information. In this example, the transfer destination is the packet transmission unit 17.
[0060] When the packet transmitter 17 of the processing block in the PIN blade 105-1 receives image data from the flow ID switch 15, it packetizes the image data and obtains the destination IP address and destination port number corresponding to the flow ID added to the image data from the table 203. The packet transmitter 17 sets the destination IP address and destination port number in the header of the created packet and transmits the packet to the ToR switch 103-1 via the network.
[0061] The operations of the ToR switch 103-1, the spine switch 104, and the ToR switch 103-2 are as described above. The packet receiving unit 11 of the processing block in the PIN blade 105-2 restores image data from the payload of the packet received from the ToR switch 103-2. The packet receiving unit 11 adds a flow ID to the restored image data and transfers it to the flow ID switch 12.
[0062] When the flow ID switch 12 of the processing block in the PIN blade 105-2 receives image data from the packet receiver 11, it obtains destination information corresponding to the flow ID added to the image data from the table 300, and transfers the image data to the destination specified by this information. In this example, the destination is the flow ID switch 15.
[0063] When the flow ID switch 15 of the processing block in the PIN blade 105-2 receives image data from the flow ID switch 12, it obtains destination information corresponding to the flow ID added to the image data from the table 301, and transfers the image data to the destination specified by this information. In this example, the destination is the packet transmitter 16.
[0064] When the packet transmitter 16 of the processing block in the PIN blade 105-2 receives image data from the flow ID switch 15, it packetizes the image data and obtains the destination IP address and destination port number corresponding to the flow ID added to the image data from the table 202. The packet transmitter 16 sets the destination IP address and destination port number in the header of the created packet, and transmits the packet to the accelerator blade 101-2.
[0065] As described above, in this embodiment, image data is processed by the PIN blade 105-1 on the path from the accelerator blade 101-1 through the PIN blade 105-1, ToR switch 103-1, spine switch 104, ToR switch 103-2, and PIN blade 105-2 to the accelerator blade 101-2.
[0066] In conventional technology, small processes such as pre-processing and post-processing should not be done by accelerators, but are generally performed by the CPU. For example, image processing is generally performed by GPUs (graphics processing units), but image resizing and channel division may be performed by the CPU. In such cases, access to the CPU blade occurs in the DDC, which causes access congestion. In this embodiment, by using a PIN blade to take over the processing instead of the CPU, access to the CPU blade can be reduced, and the network load can be reduced.
[0067] Processing offloading is also effective for communication between resource blades connected to the same PIN blade. For example, when data is transferred from accelerator blade 101-1a to accelerator blade 101-1c in Fig. 2, packet receiver 10 of processing block 1-1 in PIN blade 105-1 restores image data from the payload of the packet received from accelerator blade 101-1a. Packet receiver 10 adds a flow ID to the image data and transfers it to flow ID switch 12.
[0068] When the flow ID switch 12 of the processing block 1-1 in the PIN blade 105-1 receives image data from the packet receiving unit 10, it obtains destination information corresponding to the flow ID added to the image data from the table 300 and transfers the image data to the destination specified by this information. In this example, the destination is assumed to be the functional unit 14.
[0069] When the functional unit 14 of the processing block 1 - 1 in the PIN blade 105 - 1 receives the image data from the flow ID switch 12 , it performs a predetermined process on the image data and transfers it to the flow ID switch 15 .
[0070] When the flow ID switch 15 of the processing block 1-1 in the PIN blade 105-1 receives image data from the function unit 14, it obtains destination information corresponding to the flow ID added to the image data from the table 301, and transfers the data to the destination specified by this information. In this example, it is assumed that the destination is the flow ID switch 15 of the processing block 1-2 in the PIN blade 105-1.
[0071] When the flow ID switch 15 of the processing block 1-2 in the PIN blade 105-1 receives image data from the processing block 1-1, it obtains destination information corresponding to the flow ID added to the image data from the table 301 and transfers the image data to the destination specified by this information. In this example, the destination is the packet transmitter 16.
[0072] When the packet transmitter 16 of the processing block 1-2 in the PIN blade 105-1 receives image data from the flow ID switch 15, it packetizes the image data and obtains the destination IP address and destination port number corresponding to the flow ID added to the image data from the table 202. The packet transmitter 16 sets the destination IP address and destination port number in the header of the created packet, and transmits the packet to the accelerator blade 101-1c. [Industrial Applicability]
[0073] The present invention can be applied to disaggregated computing technology in which resource blades are connected to each other via a network. [Explanation of symbols]
[0074] 1-1 to 1-3... processing blocks, 10, 11... packet receivers, 12, 15... flow ID switches, 13, 14... functional units, 16, 17... packet transmitters, 100-1, 100-2... CPU blades, 101-1, 101-1a, 101-1b, 101-1c, 101-1d, 101-2... accelerator blades, 102-1, 102-2... storage blades, 103-1, 103-2... top-of-rack switches, 104... spine switch, 105-1, 105-2... PIN blades, 200 to 203, 300, 301... tables.
Claims
1. A plurality of top-of-rack switches that connect resource blades under the control of the top-of-rack switches; a spine switch connecting the plurality of top-of-rack switches; a plurality of PIN blades disposed between the top-of-rack switch and the resource blades subordinate thereto; The PIN blade is composed of a plurality of processing blocks, Each processing block is a first packet receiving unit configured to receive packets from the resource blades under its control; a first packet transmitting unit configured to transmit packets to the resource blades under its control; a second packet receiving unit configured to receive a packet from the upper top-of-rack switch; a second packet transmission unit configured to transmit a packet to the upper top-of-rack switch; A functional unit configured to perform a predetermined process on data included in a received packet; a flow ID switch configured to determine a destination of data contained in a packet received by the first and second packet receiving units, or data processed by the functional unit, between the first and second packet transmitting units and the functional unit, and to transfer the data to the destination.
2. 2. The computing system of claim 1, The processing blocks in the PIN blade are connected to each other; A computing system characterized in that the flow ID switch of each processing block receives data from other processing blocks within the same PIN blade in addition to the data contained in the packets received by the first and second packet receiving units and the data processed by the functional unit, and determines the destination of the received data from among the first and second packet transmitting units and other processing blocks within the same PIN blade as the functional unit, and transfers the data to the destination.
3. 3. The computing system according to claim 1, further comprising: the first packet receiving unit restores data from the packet received from the resource blade, adds a flow ID corresponding to destination information included in the received packet to the data, and transfers the data to the flow ID switch; the second packet receiving unit restores data from the packet received from the top-of-rack switch, adds a flow ID corresponding to destination information included in the received packet to the data, and transfers the data to the flow ID switch; The flow ID switch determines a destination of data based on a flow ID added to the received data, the first packet transmitting unit packetizes data received from the flow ID switch, sets destination information corresponding to the flow ID added to the received data in the packet, and transmits the packet to the resource blade; The second packet transmitting unit packetizes data received from the flow ID switch, sets destination information corresponding to the flow ID attached to the received data in the packet, and transmits the packet to the top-of-rack switch.
4. A computing system according to any one of claims 1 to 3, A computing system, wherein the functional unit performs any one of the following processes: data compression, decompression of compressed data, image resizing, and image channel division.
Citation Information
Patent Citations
Communication system and communication device
JP2012253724A
Packet control method and network device
JP2020532194A