Server, server system, and method of increasing network bandwidth of server
11528237 · 2022-12-13
Assignee
Inventors
Cpc classification
G06F13/00
PHYSICS
G06F2009/45595
PHYSICS
H04L49/1507
ELECTRICITY
International classification
Abstract
A server includes a normal NIC as an NIC having an expansion function, and a virtual patch panel having a transfer function of transferring packets between the normal NIC and an accelerator utilization type NIC, which is implemented by software. The server is configured such that, when a packet is transferred between the normal NIC and the accelerator utilization type NIC via the virtual patch panel, the target function transfers the packet to and from the APLs.
Claims
1. A server comprising: a first network interface card (NIC) including an accelerator implementing a target function having at least a data transfer function; a second NIC on which the accelerator is configured and having an expansion function for connection to a communication network; a processor that performs processing according to an application; and a virtual patch panel having a transfer function configured to control packet transfer between the first NIC and the second NIC, the transfer function being implemented by software executed by the processor, wherein the server is configured to: distribute and transfer data in a packet input from the communication network to the first NIC, and from the first NIC to a target application after processing the data using the target function, and transmit a packet relevant to processing of the application from the first NIC to the communication network via the target function, and wherein, based on a packet input from the communication network to the second NIC being transferred between the second NIC and the first NIC via the virtual patch panel, the target function of the first NIC is configured to transfer the packet to and from the application.
2. The server according to claim 1, wherein the virtual patch panel includes a first input/output terminal and a second input/output terminal for packets, wherein the accelerator is configured to implement server includes a second target function having the same function as the target function, wherein the application is connected to the first input/output terminal of the virtual patch panel, and the second target function and the target function connected to the second NIC are connected to the second input/output terminal, and wherein, based on a packet being transferred between both of the second target function via the second NIC and the target function on the first NIC, and the application, the packet is transferred between the application and the first input/output terminal of the virtual patch panel and the packet is transferred between both of the second target function and the target function and the second input/output terminal.
3. The server according to claim 1, wherein a forwarder, created by software and mounted in the virtual patch panel, is configured to transfer a packet from one input source to one output destination, wherein (i) a classifier, created by hardware and mounted in the first NIC, is configured to serve as a transfer function for distributing and transferring a packet from one input source to a plurality of output destinations and (ii) a merger created by hardware and mounted in the first NIC, is configured to serve as a transfer function of merging packets from a plurality of input sources and transfer a merged packet to one output destination, wherein, after the packet input to the NIC is transferred from the forwarder to the classifier, the packet input to the second NIC is distributed by the classifier and transferred to the application, and the packet input to the first NIC is distributed by the classifier and transferred to the application, and wherein, after a packet from the application is transferred to the merger of the first NIC, the packet from the application is transferred from the merger to the second NIC via the forwarder.
4. The server according to claim 1, wherein (i) a plurality of classifiers, created by software and mounted in the virtual patch panel, are configured to serve as a transfer function for distributing and transferring a packet from one input source to a plurality of output destinations and (ii) a plurality of mergers, created by software and mounted in the virtual patch panel, are configured to serve as a transfer function of merging packets from a plurality of input sources and transfer a merged packet to one output destination, wherein (i) a classifier, created by hardware and mounted in the first NIC, is configured to serve as a data transfer function for distributing and transferring the packet from the one input source to the plurality of output destinations and (ii) a merger, created by hardware and mounted in the first NIC, is configured to serve as a data transfer function of merging packets from the plurality of input sources and transfer a merged packet to one output destination, wherein the packet input to the NIC is distributed by one of the plurality of classifiers of the virtual patch panel and output to the plurality of mergers of the virtual patch panel, the packet input to the first NIC is distributed by the classifier of the first NIC and output to the plurality of mergers, and each of the mergers is configured to merge the packet from the second NIC and the packet from the first NIC and transfer the merged packet to the application, and wherein a packet from each application is distributed by each of the plurality of classifiers of the virtual patch panel, one of the distributed packets is transferred to the second NIC via the merger of the virtual patch panel, and the other packet is transferred to the merger of the first NIC.
5. A server system comprising: a server including: a first network interface card (NIC) including an accelerator implementing a target function having at least a data transfer function, a second NIC on which the accelerator is configured and having an expansion function for connection to a communication network, a processor that performs processing according to an application, and a virtual patch panel having a transfer function configured to control packet transfer between the first NIC and the second NIC, the transfer function being implemented by software executed by the processor, wherein the server is configured to: distribute and transfer data in a packet input from the communication network to the first NIC, and from the first NIC to a target application after processing the data using the data transfer function, and transmit a packet relevant to processing of the application from the first NIC to the communication network via the target function; and a control unit configured to control the server, wherein (i) a plurality of forwarders, created by software and mounted in the virtual patch panel, are configured to serve as the transfer function of transferring the packet from one input source to one output destination, (ii) a plurality of classifiers, created by software and mounted in the virtual patch panel, are configured to serve as a transfer function for distributing and transferring a packet from one input source to a plurality of output destinations, and (iii) a plurality of mergers, created by software and mounted in the virtual patch panel, are configured to serve as a transfer function of merging packets from a plurality of input sources and transfer a merged packet to one output destination, and wherein (i) a classifier, created by hardware and mounted in the first NIC, is configured to serve as a data transfer function for distributing and transferring the packet from one input source to a plurality of output destinations and (ii) a merger, created by hardware and mounted in the first NIC, is configured to serve as a data transfer function of merging packets from a plurality of input sources and transfer a merged packet to one output destination, and wherein the control unit is configured to perform a request for addition of a second NIC as an addition target based on both or any one of (i) a performance including a packet transfer capacity of a first transfer function including the plurality of forwarders in the virtual patch panel of the server and the classifier and the merger and (ii) a performance including a packet transfer capacity of a second transfer function including the classifier and the merger in the first NIC being equal to or less than a predetermined threshold value of a performance, and a network bandwidth of the second NIC as an addition target is suitable for a network bandwidth required for both or any one of a configuration of the first transfer function and a configuration of the second transfer function.
6. The server system according to claim 5, wherein the control unit is configured to perform control for configuring, in the server, the first transfer function or the second transfer function in which suitability of the network bandwidth becomes high due to a third NIC to be added to the configuration of the first transfer function or the second transfer function of the server in response to the request for addition of the third NIC.
7. A method of increasing a network bandwidth of a server including a first network interface card (NIC) including an accelerator implementing a target function having at least a data transfer function, a second NIC on which the accelerator is configured and having an expansion function for connection to a communication network, a processor that performs processing according to an application, and a virtual patch panel having a transfer function configured to control packet transfer between the first NIC and the second NIC, the transfer function being implemented by software executed by the processor, the server configured to distribute and transfer data in a packet input from the communication network to the first NIC, and from the first NIC to a target application after processing the data using the target function, and transmit a packet relevant to processing of the application from the first NIC to the communication network via the target function, wherein the method comprises transferring, by the target function of the first NIC, a packet input from the communication network to the second NIC to and from the application based on the packet being transferred between the second NIC and the first NIC via the virtual patch panel.
8. The method of increasing a network bandwidth of a server according to claim 7, wherein the virtual patch panel includes a first input/output terminal and a second input/output terminal for packets, wherein the accelerator is configured to implement a second target function having the same function as the target function, wherein the application is connected to the first input/output terminal of the virtual patch panel, and the second target function and the target function connected to the second NIC are connected to the second input/output terminal, and wherein, based on a packet being transferred between both of the second target function via the second NIC and the target function on the first NIC, and the application, the packet is transferred between the application and the first input/output terminal of the virtual patch panel and the packet is transferred between both of the second target function and the target function and the second input/output terminal.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
DESCRIPTION OF EMBODIMENTS
(22) Hereinafter, embodiments of the present invention will be described with reference to the drawings. Here, in all the drawings of the present specification, components having corresponding functions are denoted by the same reference signs, and description thereof will be appropriately omitted.
Configuration of First Embodiment
(23)
(24) The virtual patch panel 21 is obtained by implementing a packet transfer function in the server 20A by software, and has a function of transferring a packet between the normal NIC 11 and the target function 16 of the utilization type NIC 15.
(25) The virtual patch panel 21 is obtained by implementing a virtual patch panel technology for transferring a packet input from the normal NIC 11 to the utilization type NIC 15 by software. In the virtual patch panel technology, it is possible to change a packet transfer destination (a connection destination), and a plurality of normal NICs 11 can be connected to the utilization type NIC 15. The packet transferred by the virtual patch panel 21 is processed by the accelerator of the utilization type NIC 15. This accelerator is responsible for a part of processing of the CPU 14 and performs the processing, and the target function 16 that is a data transfer function can execute the transfer process.
(26) In the server 20A having such a configuration, a packet input from a communication device (not illustrated) outside the server 20A to the normal NIC 11 via the NIC port 11a is transferred to the utilization type NIC 15 by the virtual patch panel 21 and is further transferred to the APLs 12a to 12c by the target function 16. On the other hand, the packet for which processing of the APLs 12a to 12c has been completed is transferred to the virtual patch panel 21 after being transferred to the target function 16, further transferred from the virtual patch panel 21 to the normal NIC 11, and transmitted from the NIC port 11a to the communication device.
(27) Further, a packet input from the communication device to the utilization type NIC 15 via the NIC port 15a is transferred from the target function 16 to the APLs 12a to 12c. On the other hand, a packet for which the processing of the APLs 12a to 12c has been completed is transferred to the target function 16 and then transmitted from the NIC port 15a to the communication device. Thus, the server 20A can use the two NIC ports 11a and 15a when performing communication with the external communication device via a network.
(28) Effects of First Embodiment Effects of the server 20A according to the first embodiment will be described. The server 20A includes the accelerator utilization type NIC 15 serving as a smart NIC in which an accelerator is configured on an NIC having an expansion function for connection to a communication network. Further, the server 20A includes the CPU 14 that performs processing according to the APLs 12a to 12c, and the target function 16 having at least a data transfer function mounted in the accelerator utilization type NIC 15. Further, the server 20A distributes and transfers, to the target APLs 12a to 12c, data in the packet input to the utilization type NIC 15 from the communication network, after the data is processed by the target function 16. Further, the server 20A transmits the packet relevant to the processing of the APLs 12a to 12c from the utilization type NIC 15 to the communication network via the target function 16. This server 20A has the following characteristic configuration.
(29) The server 20A includes the normal NIC 11 as an NIC having an expansion function, and the virtual patch panel 21 obtained by implementing a transfer function of mediating packet transfer between the normal NIC 11 and the utilization type NIC 15 by software. The server 20A is configured such that the target function 16 transfers the packet to the APLs 12a to 12c when the packet is transferred between the normal NIC 11 and the utilization type NIC 15 via the virtual patch panel 21.
(30) With this configuration, packets can be transferred between the normal NIC 11 and the utilization type NIC 15 via the virtual patch panel 21. This allows the server 20A to use a bandwidth that is a sum of a network bandwidth of the NIC port 11a when the normal NIC 11 communicates with the communication network and a network bandwidth of the NIC port 15a when the utilization type NIC 15 communicates with the communication network. When the network bandwidth of the port 11a of the normal NIC 11 is 40 Gbps and a network bandwidth of the port 15a of the utilization type NIC 15 is 40 Gbps, a bandwidth of 80 Gbps can be used. This allows the network bandwidth available to the server 20A to be increased.
(31) Further, because in the packet transfer between the normal NIC 11 or the utilization type NIC 15 and the APLs 12a to 12c, the packet is necessarily transferred to the APLs 12a to 12c via only the utilization type NIC 15, the processing of the APLs 12a to 12c is not limited. That is, with the server 20A of the embodiment, it is possible to increase the available network bandwidth without limiting the processing of the APLs 12a to 12c.
(32) Further, because the server 20A can be configured using the normal NIC 11 and the utilization type NIC 15 which are general-purpose products, it is possible to reduce a manufacturing cost.
Configuration of Second Embodiment
(33)
(34) A server 20B illustrated in
(35) The added target function 23 is obtained by implementing, in the server 20B, the target function 16 of hardware operating on the utilization type NIC 15 by software.
(36) In the server 20B having such a configuration, a packet input from the communication device to the normal NIC 11 via an NIC port 11a is input to the virtual patch panel 21 via the target function 23. Further, a packet input from the communication device to the utilization type NIC 15 via an NIC port 15a is input to the virtual patch panel 21 via the target function 16. Both a packet input from the normal NIC 11 and a packet input from the utilization type NIC 15 can be transferred from one input/output terminal of the virtual patch panel 21 to the APLs 12a to 12c. Thus, packets are transferred in only one direction when viewed from the APL 12a to 12c side.
(37) On the other hand, the packet for which the processing of the APLs 12a to 12c has been completed is transmitted from the NIC port 15a of the virtual patch panel 21 to the communication device after being transferred to the target function 16, and is transmitted from the NIC port 11a of the normal NIC 11 to a communication equipment via the target function 23. Thus, the server 20B can use the two NIC ports 11a and 15a when communicating with an external communication device via the network.
(38) Effects of Second Embodiment
(39) Effects of the server 20B according to the second embodiment will be described. The server 20B includes the accelerator utilization type NIC 15 serving as a smart NIC in which an accelerator is configured on an NIC having an expansion function for connection to a communication network. Further, the server 20B includes a CPU 14 that performs processing according to the APLs 12a to 12c, and the target function 16 having at least a data transfer function mounted in the accelerator utilization type NIC 15. Further, the server 20B distributes and transfers, to the target APLs 12a to 12c, data in the packet input to the utilization type NIC 15 from the communication network, after the data is processed by the target function 16. Further, the server 20B transmits the packet relevant to the processing of the APLs 12a to 12c from the utilization type NIC 15 to the communication network via the target function 16. This server 20B has the following characteristic configuration.
(40) The server 20B includes the normal NIC 11 serving as an NIC having an expansion function, the virtual patch panel 21 obtained by implementing, by software, a transfer function of mediating the packet transfer between the normal NIC 11 and the utilization type NIC 15 serving as a smart NIC, and a target function (a second target function) 23 obtained by implementing the same function as the target function 16 mounted in the utilization type NIC 15 by software.
(41) In this server 20B, the target function 23 is connected to the normal NIC 11, the APLs 12a to 12c are connected to the first input/output terminal for packets of the virtual patch panel 21, and the target function 23 connected to the normal NIC 11 and the target function 16 are connected to the second input/output terminal for packets. The following configuration is adopted when packets are transferred between both of the target function 23 via the normal NIC 11 and the target function 16 on the utilization type NIC 15, and the APLs 12a to 12c. That is, the configuration is such that a packet is transferred between the APLs 12a to 12c and the first input/output terminal of the virtual patch panel 21, and a packet is transferred between both of the target function 23 and the target function 16 and the second input/output terminal.
(42) With this configuration, packets can be transferred between both of the normal NIC 11 and the utilization type NIC 15, and the APLs 12a to 12c via the virtual patch panel 21. Thus, the server 20B can use a bandwidth that is a sum of a network bandwidth when the normal NIC 11 communicates with the communication network and a network bandwidth when the utilization type NIC 15 communicates with the communication network. This allows a network bandwidth available to the server 20B to be increased.
(43) Further, both a packet input from the normal NIC 11 and a packet input from the utilization type NIC 15 can be transferred from the first input/output terminal of the virtual patch panel 21 to the APLs 12a to 12c. Therefore, because packets are transferred in only one direction when viewed from the APLs 12a to 12c side, complicated processing as when packets are input to the APLs 12a to 12c in a plurality of directions is eliminated. In other words, the processing of the APLs 12a to 12c is not limited. That is, with the server 20B of the embodiment, it is possible to increase the available network bandwidth without limiting the processing of the APLs 12a to 12c.
(44) Further, because the server 20B can be configured using the normal NIC 11 and the utilization type NIC 15 which are general-purpose products, it is possible to reduce a manufacturing cost.
Configuration of Third Embodiment
(45)
(46) A server 20C illustrated in
(47) The virtual patch panel 21 is obtained by implementing a virtual patch panel technology for transferring packets as described above by software. Meanwhile, functions such as the classifier 26, the merger 27, and the forwarder 28 operate as software on the cores of the CPU 14 (CPU cores), and a plurality of CPU cores are operated in parallel, thereby ensuring high-speed performance, as illustrated in
(48) The virtual patch panel 21 has a distribution table 30T illustrated in
(49) The classifier 26 performs a process of distributing packets from one input source to a plurality (N) of output destinations and transferring the packets. For example, when packets are input from the normal NIC 11, the classifier 26 refers to the distribution table 30T and distributes and transfers the packets to the transmission destinations APL12a and APL12b associated with the identifiers a and b such as the destination IP address.
(50) The merger 27 performs a process of merging packets from a plurality (N) of input sources and transfers a resultant packet to one output destination. For example, when a packet from the normal NIC 11 and a packet from the utilization type NIC 15 are input, the merger 27 merges both of the packets and transfers a resultant packet to the one APL 12a.
(51) The forwarder 28 performs a process of transferring a packet from one input source to one output destination. For example, the forwarder 28 transfers the packet from the normal NIC 11 to the utilization type NIC 15.
(52) The classifier 24 and the merger 25 in the accelerator utilization type NIC 15 illustrated in
(53) The server 20C having such a configuration has a first transfer function and a second transfer function, which are two types of packet transfer functions to be described below.
(54) The first transfer function performs the following packet transfer. That is, as illustrated in
(55) On the other hand, as illustrated in
(56) The second transfer function performs the following packet transfer. That is, as illustrated in
(57) The merger 27a merges the two packets transferred from the normal NIC 11 and the utilization type NIC 15 and transfers a resultant packet to the one APL 12a as indicated by an arrow Y24. Similarly, the merger 27b merges the two packets transferred in the same manner and transfers a resultant packet to the one APL 12b as indicated by the arrow Y25, and the merger 27c similarly merges the two packets and transfers a resultant packet to the one APL 12c as indicated by arrow Y26.
(58) Meanwhile, a downstream packet for which the processing of the APL 12a has been completed is transferred to a classifier 26a of the virtual patch panel 21 as indicated by an arrow Y31, as illustrated in
(59) Similarly, a downstream packet for which the processing of the APL 12b has been completed is transferred to a classifier 26b, as indicated by an arrow Y35. Then, the classifier 26b separates the packets, transfers the packets to the normal NIC 11 via the merger 27 as indicated by arrows Y36 and Y33, and transfers the packets to the merger 25 of the utilization type NIC 15 as indicated by arrow Y37. A downlink packet for which the processing of the APL 12c has been completed is transferred to the classifier 26c, as indicated by an arrow Y38. Then, the classifier 26c separates the packets, transfers the packets to the normal NIC 11 via the merger 27 as indicated by arrows Y39 and Y33, and transfers the packets to the merger 25 of the utilization type NIC 15 as indicated by arrow Y40.
(60) Effects of Third Embodiment
(61) Effects of the server 20C according to the third embodiment will be described. The server 20C includes the accelerator utilization type NIC 15 serving as a smart NIC in which an accelerator is configured on an NIC having an expansion function for connection to a communication network. Further, the server 20C includes a CPU 14 that performs processing according to the APLs 12a to 12c, and at least a data transfer function mounted in the accelerator utilization type NIC 15. Further, the server 20C distributes and transfers, to the target APLs 12a to 12c, data in the packet input to the utilization type NIC 15, after the data is processed using the transfer function. Further, the server 20C transmits the packet relevant to the processing of the APLs 12a to 12c from the utilization type NIC 15 to the communication network via the transfer function. This server 20C has the following characteristic configuration.
(62) (1) The first transfer function of the server 20C is configured as follows. The server 20C includes the normal NIC 11 that is an NIC having an expansion function, and the virtual patch panel 21 obtained by implementing a transfer function of mediating packet transfer between the normal NIC 11 and the utilization type NIC 15 by software. The forwarder 28 that performs a process of transferring a packet from one input source to one output destination is created by software and mounted in the virtual patch panel 21. The classifier 24 serving as the transfer function of performing a process of distributing a packet from one input source to a plurality of output destinations and transferring the packet is created by hardware and mounted in the utilization type NIC 15. Further, the merger 25 serving as the transfer function of performing a process of merging packets from a plurality of input sources and transferring a resultant packet to one output destination is created by hardware and mounted in the utilization type NIC 15.
(63) After the server 20C transfers the packets input to the normal NIC 11 from the forwarder 28 to the classifier 24, the server 20C distributes the packets using the classifier 24 and transfers the packets to the APLs 12a to 12c. Further, the server 20C distributes the packets input to the utilization type NIC 15 using the classifier 24 and transfers the packets to the APLs 12a to 12c. After the server 20C transfers the packets from the APLs 12a to 12c to the merger 25 of the utilization type NIC 15, the server 20C transfers the packets from the merger 25 to the normal NIC 11 via the forwarder 28.
(64) With this configuration, the packet transfer between the normal NIC 11 or the utilization type NIC 15 and the APLs 12a to 12c can be performed via the forwarder 28 of the virtual patch panel 21, and the classifier 24 and the merger 25 of the utilization type NIC 15. Therefore, the server can use a bandwidth that is a sum of a network bandwidth of the normal NIC 11 and a network bandwidth of the accelerator utilization type NIC 15. This allows a network bandwidth available to the server to be increased.
(65) Further, because in the packet transfer between the normal NIC 11 or the utilization type NIC 15 and the APLs 12a to 12c, the packet is transferred to the APLs 12a to 12c via only the classifier 24 or only the merger 25 of the utilization type NIC 15, the processing of the APLs 12a to 12c is not limited. That is, with the server of the present invention, it is possible to increase the available network bandwidth without limiting the processing of the APLs 12a to 12c.
(66) (2) The second transfer function of the server 20C is configured as follows. In the server 20C, a plurality of classifiers 26a to 26c that perform a process of distributing and transferring a packet from one input source to a plurality of output destinations are created by software and mounted in the virtual patch panel 21. Further, in the server 20C, a plurality of mergers 27a to 27c that perform a process of merging packets from a plurality of input sources and transferring a resultant packet to one output destination are created by software and mounted in the virtual patch panel 21.
(67) The server 20C distributes the packets input to the normal NIC 11 using the classifier 26 and outputs the packets to the plurality of mergers 27a to 27c, and distributes the packets input to the utilization type NIC 15 using the classifier 24 and outputs the packets to the plurality of mergers 27a to 27c. Then, each of the mergers 27a to 27c merges the packets from the normal NIC 11 and the utilization type NIC 15 and transfers a resultant packet to the APLs 12a to 12c. The server 20C distributes the packets of each of the APLs 12a to 12c using each of the classifiers 26, transfers some distributed packets to the normal NIC 11 via the merger 27, and transfers the other packets to the utilization type NIC 15 via the merger 25.
(68) With this configuration, it is possible to perform the packet transfer between the normal NIC 11 or the utilization type NIC 15 and the APLs 12a to 12c via the classifiers 26a to 26c and the mergers 27a to 27c of the virtual patch panel 21 and the classifiers 24 and the merger 25 of the utilization type NIC 15. Therefore, the server 20C can use a bandwidth that is a sum of a network bandwidth of the normal NIC 11 and a network bandwidth of the accelerator utilization type NIC 15. This allows a network bandwidth available to the server 20C to be increased.
(69) Further, the packet transfer between the normal NIC 11 or the utilization type NIC 15 and the APLs 12a to 12c is necessarily performed on a one-to-one basis between the mergers 27a to 27c of the virtual patch panel 21 and the corresponding APLs 12a to 12c. Alternatively, the packet transfer is necessarily performed on a one-to-one basis between the APLs 12a to 12c and the corresponding classifiers 26a to 26c of the virtual patch panel 21. Therefore, because packets are transferred in only one direction when viewed from the APLs 12a to 12c side, complicated processing as when packets are input to the APLs 12a to 12c in a plurality of directions is eliminated. In other words, the processing of the APLs 12a to 12c is not limited. That is, with the server of the present invention, it is possible to increase the available network bandwidth without limiting the processing of the APLs 12a to 12c.
Configuration of Fourth Embodiment
(70)
(71) A server system 30 illustrated in
(72) In the server 20C, the virtual patch panel 21 includes a virtual patch panel control unit 50, and the utilization type NIC 15 includes an accelerator control unit 60.
(73) The server control unit 70 determines an overall configuration of the server system 30 and performs control for instructing the virtual patch panel 21 and the accelerator utilization type NIC 15 to change a configuration.
(74) The virtual patch panel control unit 50 performs control for changing the configuration of the virtual patch panel 21 according to the instruction from the server control unit 70.
(75) The accelerator control unit 60 performs control for changing the configuration of the accelerator utilization type NIC 15 according to the instruction from the server control unit 70.
(76) The server control unit 70 includes a configuration determination unit 71, an NIC detection unit 72, a software communication unit 73, a hardware communication unit 74, a switch control unit 75, a policy table 76, and a threshold value table 77, as illustrated in
(77) The virtual patch panel control unit 50 includes a component generation/deletion unit (also referred to as a generation/deletion unit) 51, a software control unit 52, a connection switching unit 53, and a performance monitoring unit 54.
(78) The generation/deletion unit 51 performs a process of generating or deleting the classifier 26, the merger 27, and the forwarder 28, as will be described below. The generation is to cause the classifier 26, the merger 27, and the forwarder 28 to individually enter an available state. The deletion is to cause the classifier 26, the merger 27, and the forwarder 28 to individually enter a stopped state, thereby saving an amount of usage of the cores of the CPU 14.
(79) The software control unit 52 performs control for transmitting a performance request of software to the performance monitoring unit 54 and receiving a performance response of software from the performance monitoring unit 54. Further, the software control unit 52 performs control for receiving a software performance request, which is a performance request of software, from the configuration determination unit 71 via the software communication unit 73, and transmitting a software performance response to the configuration determination unit 71 via the software communication unit 73, the performance monitoring unit 54 performs monitoring of the transfer function of the virtual patch panel 21, or the like.
(80) The connection switching unit 53 performs a processing of switching a connection relationship among the classifier 26, the merger 27, and the forwarder 28 as described about packet input and output using the arrows in
(81) The accelerator control unit 60 includes a component generation/deletion unit 61, a hardware control unit 62, a connection switching unit 63, and a performance monitoring unit 64.
(82) The generation/deletion unit 61 performs a process of generating or deleting the classifier 24 and the merger 25. The connection switching unit 63 performs a process of switching a connection relationship between the classifier 24 and the merger 25, as described about packet input and output using the arrows in
(83) The hardware control unit 62 performs control for transmitting a performance request for hardware to the performance monitoring unit 64 and receiving a performance response for hardware from the performance monitoring unit 64. Further, the hardware control unit 62 performs control for receiving a hardware performance request, which is a hardware performance request, from the configuration determination unit 71 via the hardware communication unit 74, and transmitting a hardware performance response to the configuration determination unit 71 via the hardware communication unit 74. The performance monitoring unit 64 performs monitoring of the transfer function of the utilization type NIC 15, or the like.
(84) In the policy table 76, a value “1” is associated with an attribute “software performance weight” (to be described below) as a policy, as illustrated in
(85) In the threshold value table 77, a value “50 Gbps” is associated with an attribute “performance threshold value” (to be described below) as a policy, a value of “0.5” is associated with an attribute “first suitability threshold value” (to be described below), and a value “0.5” is associated with an attribute “second suitability threshold value” (to be described below), as illustrated in
Operation of Fourth Embodiment
(86) Next, an operation of the server system 30 when a request for addition of a normal NIC is made will be described with reference to a flowchart illustrated in
(87) In step S1 illustrated in
(88) Then, in step S2 of
(89) This inquiry process is performed as follows. As illustrated in
(90) Then, in step S3 illustrated in
(91) This inquiry process is performed as follows. As illustrated in
(92) Then, in step S4 illustrated in
(93) On the other hand, when it is determined that the sum of the software performance and the hardware performance is equal to or smaller than the threshold value, the normal NIC is required and thus, the process proceeds to step S5.
(94) In step S5, the configuration determination unit 71 performs a setting of a minimum bandwidth NIC. This setting is to set the normal NIC having a NW bandwidth of a minimum specification from among normal NICs existing as an option in the server 20C. In this setting, the NW bandwidth is gradually increased from the minimum specification such that a normal NIC having an optimal NW bandwidth is set.
(95) Then, in step S6, the configuration determination unit 71 acquires a policy from the policy table 76 illustrated in
(96) The configuration determination unit 71 then performs a first suitability calculation in step S7. This is to calculate the suitability of the NW bandwidth of the normal NIC set in step S5 when the configuration of the first transfer function described above is applied to the server 20C.
(97) The first suitability calculation is performed with suitability=Min (performance suitability*performance suitability weight, resource suitability). The resources are CPU resources. In the above equation, a smaller of a calculation result of “performance suitability*performance suitability weight” and a calculation result of “resource suitability” that are separated by commas is obtained as the suitability.
(98) The calculation of the suitability is actually performed using Equations (1) and (2) below.
Performance suitability=(software prediction performance+hardware prediction performance)−performance threshold value (1)
Resource suitability=Min(unused CPU resource amount*CPU resource weight,unused accelerator resource amount) (2)
(99) Equation (1) is an equation for obtaining a difference between the performance threshold value and a sum of the software prediction performance and the hardware prediction performance as the performance suitability.
(100) Equation (2) is an equation for obtaining a smaller one of a calculation result of “unused CPU resource amount*CPU resource weight” and a calculation result of “unused accelerator resource amount” as the resource suitability.
(101) That is, when the configuration of the first transfer function described above is applied to the server 20C, the configuration determination unit 71 calculates the suitability (first suitability) of the NW bandwidth of the normal NIC set in step S5 using Equations (1) and (2).
(102) In step S8, the configuration determination unit 71 then performs a second suitability calculation. That is, when the configuration of the second transfer function described above is applied to the server 20C, the configuration determination unit 71 calculates suitability (second suitability) of the NW bandwidth of the normal NIC set in step S5 using Equations (1) and (2).
(103) In step S9, the configuration determination unit 71 then determines whether or not the calculated first suitability and second suitability satisfy a determination criterion according to a policy. That is, the configuration determination unit 71 determines whether or not the first suitability exceeds the first suitability threshold value “0.5” acquired in step S1 and the second suitability exceeds the second suitability threshold value “0.5”.
(104) As a result, when both the first suitability and the second suitability are equal to or smaller than the threshold value “0.5”, the configuration determination unit 71 reselects the normal NIC having a wider NW bandwidth than a current NW bandwidth in step S10, returns to step S7 above, and performs calculation.
(105) On the other hand, when both or any one of the first and second suitability exceeds the threshold value “0.5” as a result of the determination in step S9, the configuration determination unit 71 make a request for addition of the normal NIC in step S1. This is the following operation. That is, the configuration determination unit 71 sends a request for addition of the normal NIC (an NIC request) (K13) to the NIC detection unit 72, as illustrated in
(106) Next, an operation when the normal NIC is added in response to the request of the normal NIC described above will be described with reference to the flowchart illustrated in
(107) In step S21 illustrated in
(108) In step S22, the configuration determination unit 71 determines whether or not the added one is the normal NIC. When the added one is not the normal NIC as a result of this determination, this processing ends.
(109) In the case of the normal NIC, a determination policy is acquired in step S23. The configuration determination unit 71 sends a policy request (K22) to the policy table 76, and the policy table 76 responds with the policy (a policy response) (K23), as illustrated in
(110) In step S24 of
(111) In step S25 of
(112) Then, in step S26 of
(113) Accordingly, when the suitability of the first transfer function is higher, software configuration change is performed in step S27. That is, the configuration of the virtual patch panel 21 is changed as follows due to the addition of the normal NIC.
(114) That is, the configuration determination unit 71 sends a request for software configuration of the first transfer function (a software configuration request) (K24) to the software communication unit 73, as illustrated in
(115) In
(116) The software communication unit 73 sends a software control request (K25) for performing the software configuration of the first transfer function to the software control unit 52 of the virtual patch panel control unit 50, as illustrated in
(117) In
(118) In response to the component generation request (K26), the generation/deletion unit 51 performs a process of generating all or part of the classifier 26, the merger 27, and the forwarder 28 (performing the software configuration) in the virtual patch panel 21. After this processing, the generation/deletion unit 51 notifies the software control unit 52 of a component generation response (K27), and the software control unit 52 notifies the software communication unit 73 of a software control response (K28).
(119) The software communication unit 73 notifies the configuration determination unit 71 of a software configuration response (K29) indicating that the software configuration has been executed, as illustrated in
(120) Then, in step S28, hardware configuration change is performed. That is, a configuration of the utilization type NIC 15 is changed as follows according to the addition of the normal NIC.
(121) That is, as illustrated in
(122) In
(123) As illustrated in
(124) In response to the component generation request (K32), the generation/deletion unit 61 performs a process of generating all or part of the classifier 24 and the merger 25 (performing the hardware configuration) in the utilization type NIC 15. After this process, the generation/deletion unit 61 notifies the hardware control unit 62 of a component generation response (K33), and the hardware control unit 62 notifies the hardware communication unit 74 of a hardware control response (K34).
(125) The hardware communication unit 74 notifies the configuration determination unit 71 of a hardware configuration response (K35) indicating that the hardware configuration has been executed, as illustrated in
(126) Then, in step S29 of
(127) That is, the configuration determination unit 71 sends a request for connection change of the software configuration of the first transfer function (a software connection change request) (K41) to the software communication unit 73, as illustrated in
(128) The software communication unit 73 sends a software connection change request (K42) for performing software connection change of the first transfer function to the software control unit 52 of the virtual patch panel control unit 50, as illustrated in
(129) The connection switching unit 53 performs connection change of all or some of the classifier 26, the merger 27, and the forwarder 28 of the virtual patch panel 21 in response to the connection switching request (K43). After this processing, the connection switching unit 53 notifies the software control unit 52 of a connection switching response (K44), and the software control unit 52 notifies the software communication unit 73 of a software connection change response (K45).
(130) The software communication unit 73 notifies the configuration determination unit 71 of a software connection change response (K46) indicating that the software connection configuration change has been executed, as illustrated in
(131) Then, the configuration determination unit 71 sends a request for connection change of the hardware configuration of the first transfer function (a hardware connection change request) (K47) to the hardware communication unit 74, as illustrated in
(132) The hardware communication unit 74 sends a hardware connection change request (K48) for performing hardware connection change of the first transfer function to the hardware control unit 62 of the accelerator control unit 60, as illustrated in
(133) The connection switching unit 63 performs a connection change of all or part of the classifier 26 and the merger 27 of the utilization type NIC 15 in response to the connection switching request (K49). After this processing, the connection switching unit 63 notifies the hardware control unit 62 of a connection switching response (K50), and the hardware control unit 62 notifies the hardware communication unit 74 of a hardware connection change response (K51).
(134) The hardware communication unit 74 notifies the configuration determination unit 71 of a hardware connection change response (K52) indicating that the hardware connection configuration change has been executed, as illustrated in
(135) Then, in step S30 illustrated in
(136) That is, the configuration determination unit 71 sends a switch switching request (K53) to the switch control unit 75, as illustrated in
(137) On the other hand, when it is determined in step S26 of
(138) Then, in step S32, hardware configuration change relevant to the second transfer function is performed. Because this change is performed in the same procedure as in the hardware configuration change relevant to the first transfer function described in step S28, description thereof will be omitted.
(139) Then, in step S33, software and hardware connection change relevant to the second transfer function is performed. Because this change is performed in the same procedure as the software and hardware connection change relevant to the first transfer function described in step S29, the description thereof will be omitted.
(140) Then, in step S30, the switch control unit 75 controls the switch 32 to perform a switching operation such that a packet is input and output from the intranet 31 to and from the normal NIC added according to the second transfer function. This switching operation is performed by the processing of K53 and K54 illustrated in
(141) Effects of Fourth Embodiment
(142) Effects of the server system 30C according to the fourth embodiment will be described. The server system 30C includes the server 20C described above and a server control unit 70 that controls the server 20C. This server system 30 has the following characteristic configuration.
(143) (1) When a sum of a performance including a packet transfer capacity of the first transfer function and a performance including a packet transfer capacity of the second transfer function is equal to or smaller than a predetermined performance threshold value, the server control unit 70 performs the following processing. The following processing is that the server control unit 70 makes a request for addition of a normal NIC that is an addition target when a network bandwidth of the normal NIC that is an addition target is suitable for a network bandwidth required for both or any one of the configuration of the first transfer function and the configuration of the second transfer function. Here, the first transfer function is the classifier 26, the merger 27, and the forwarder 28 mounted in the virtual patch panel 21 of the server 20C by software. Further, the second transfer function is the classifier 24 and the merger 25 mounted in the utilization type normal NIC 15 by hardware.
(144) With this configuration, for example, when a network bandwidth is further required for the server 20C, the server control unit 70 can determine whether or not the normal NIC as an addition target can be added and make a request for addition of the normal NIC.
(145) (2) The server control unit 70 performs control for configuring the transfer function in which the suitability to the network bandwidth becomes high due to a normal NIC to be added when the normal NIC according to the request for addition of a normal NIC is added to the configuration of the first transfer function or the second transfer function of the server 20C, to the server 20C.
(146) With this configuration, the normal NIC can be added to the server 20C such that the network bandwidth is optimized.
(147) In addition, a specific configuration can be appropriately changed without departing from the gist of the present invention.
REFERENCE SIGNS LIST
(148) 20A, 20B, 20C Server 11 Normal NIC 11a, 15a NIC port 12a to 12c APL 14 CPU 15 Accelerator utilization type NIC 16, 23 Target function 21 Virtual patch panel 24, 26 Classifier 25, 27 Merger 28 Forwarder 30 Server system 50 Virtual patch panel control unit 51 Component generation/deletion unit 52 Software control unit 53 Connection switching unit 54 Performance monitoring unit 60 Accelerator control unit 61 Component generation/deletion unit 62 Hardware control unit 63 Connection switching unit 64 Performance monitoring unit 70 Server control unit 71 Configuration determination unit 72 NIC detection unit 73 Software communication unit 74 Hardware communication unit 75 Switch control unit 76 Policy table 77 Threshold value table