WO2016051498A1 - サーバシステム - Google Patents

サーバシステム Download PDF

Info

Publication number
WO2016051498A1
WO2016051498A1 PCT/JP2014/076071 JP2014076071W WO2016051498A1 WO 2016051498 A1 WO2016051498 A1 WO 2016051498A1 JP 2014076071 W JP2014076071 W JP 2014076071W WO 2016051498 A1 WO2016051498 A1 WO 2016051498A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
communication data
server
server system
switch
Prior art date
Application number
PCT/JP2014/076071
Other languages
English (en)
French (fr)
Inventor
徹 本谷
山岡 雅直
真 佐圓
長田 健一
加藤 猛
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/076071 priority Critical patent/WO2016051498A1/ja
Publication of WO2016051498A1 publication Critical patent/WO2016051498A1/ja

Links

Images

Definitions

  • the present invention relates to a server system that performs communication using an optical switch.
  • This type of server system is generally composed of a single ToR (Top-of-Rack) switch, a plurality of racks each accommodating a plurality of servers, and one or a plurality of aggregation switches.
  • Each ToR switch is connected to a plurality of servers in the same rack, and communicates with ToR switches in other racks via the above-described aggregation switch.
  • Patent Document 1 discloses a method of using an optical switch at a position corresponding to the aforementioned ToR switch, and Non-Patent Document 1 discloses that a part of the electrical switch at a position corresponding to the aforementioned Aggregation switch is used as an optical switch. A replacement technique is disclosed.
  • the network that uses the optical switch is a circuit switched network. Therefore, communication on the network needs to be performed by a circuit switching method.
  • the circuit switching method communication data is transmitted after securing a route for each communication.
  • racks that are estimated to have a large amount of communication traffic based on past communication conditions are connected by optical switches.
  • the communication pattern specifically, the communication pattern of the application that performs data mining of the data server
  • the control signal of the distributed file system and the accompanying data It was found that the appearance frequency of fine-grained communication of several kilobytes such as information is high.
  • the proportion of fine-grained communication to the total amount of data in communication is very low, but fine-grained communication occupies most of the number of communications.
  • FIG. 17 shows the experimental results by the inventor.
  • FIG. 17 is a graph in which the communication time with respect to the communication data amount when communicating at a data transmission rate of 100 Gbps is plotted for each of the case where an optical switch is used as the ToR switch and the case where an electric switch is used. From this graph, when an optical switch is used for the ToR switch, when the communication data volume is 1MB or less, most of the communication time is occupied by the time required for securing the circuit switching path (communication overhead). It can be seen that below 10KB, 100 times longer communication time is required than when an electrical switch is used for the ToR switch.
  • the technical problem is to improve the throughput in the server system when an optical switch is used as the ToR switch of the server system used in a data center or the like.
  • the present invention employs, for example, the configuration described in the claims.
  • the present specification includes a plurality of means for solving the above-mentioned problems.
  • This is a server system in which each server is equipped with a communication path switching function for selectively using an electrical switch and an optical switch.
  • FIG. 1 is a diagram illustrating a configuration of a server system used in Embodiment 1.
  • 3 is a flowchart showing a flow of processing when starting a server in the first embodiment.
  • 6 is a flowchart illustrating a processing flow when a host device driver according to the first embodiment transmits communication data.
  • FIG. 10 is a diagram illustrating a software configuration of a server in the second embodiment.
  • 9 is a flowchart showing a flow of processing when starting a server according to the second embodiment.
  • FIG. 10 is a flowchart illustrating a flow of a traffic reference table rewriting process according to the second embodiment.
  • 9 is a flowchart showing a flow of processing for calculating a communication data amount threshold at the time of communication data transmission in the second embodiment.
  • FIG. 10 is a diagram illustrating a hardware configuration of a server used in the third embodiment.
  • 10 is a flowchart showing a flow of processing when the network interface card in the third embodiment transmits communication data.
  • FIG. 10 is a flowchart illustrating a processing flow when a host device driver according to the fourth embodiment transmits communication data.
  • FIG. 10 is a diagram illustrating a configuration example of a server system according to a fifth embodiment. The figure which plotted the communication time of the optical switch and electric switch in case a data transmission rate is equal on the graph.
  • FIG. 1 shows a configuration of a server system 200 in the present embodiment.
  • the server system 200 includes a plurality of servers 100 and the aforementioned ToR switch that switches communication between them.
  • the ToR switch in this embodiment includes a switch control server 106 that incorporates a switch control unit 107, an electrical switch 104, and an optical switch 105. Both the electrical switch 104 and the optical switch 105 are connected to the switch control server 106 and a plurality of servers 100. That is, each server 100 is connected to each other through a local area network including the electrical switch 104 and a local area network including the optical switch 105.
  • the server 100 has a transmission / reception function unit 113 connected to the electric cable 102 and a transmission / reception function unit 114 connected to the optical fiber 103.
  • the electric cable 102 is connected to the electric switch 104, and the optical fiber 103 is connected to the optical switch 105.
  • the plurality of servers 100 cooperatively execute an application (that is, the user program 109) through mutual communication.
  • the server 100 includes a communication path switching function unit 101 that selects the electrical switch 104 or the optical switch 105 when the communication data 116 is transmitted.
  • the communication path switching function unit 101 includes a storage unit (not illustrated) that stores a communication data amount threshold value 110, a communication data amount comparison function unit 111, and a communication data distribution function unit 112.
  • the communication data amount comparison function unit 111 compares the communication data amount 115 of the communication data 116 received from the user program 109 with the communication data amount threshold value 110 stored in the storage unit, and compares the comparison result with the communication data distribution function.
  • a function to be given to the unit 112 is provided.
  • the communication data distribution function unit 112 transmits the communication data 116 using either the electrical switch 104 or the optical switch 105 based on the comparison result.
  • the electrical switch 104 When the electrical switch 104 is selected, communication is performed using a packet switching method. In this case, the transmission / reception function unit 113 transmits the communication data 116 to the electrical switch 104.
  • the optical switch 105 communication is performed by a circuit switching method in which data is transmitted after a route is secured in advance. In this case, before the server 100 transmits the communication data 116, control for securing the route of the optical switch 105 is necessary.
  • a control signal (path connection request) necessary for this control is transmitted from the communication data distribution function unit 112 to the switch control server 106 via the electrical switch 104.
  • the switch control server 106 Upon receiving the control signal (path connection request), the switch control server 106 applies a voltage to the optical switch 105 via the electric cable 108 and executes path switching. By this switching, the server 100 on the transmission side and the server 100 on the reception side are connected. That is, a line is secured. Thereafter, the switch control server 106 transmits a control signal (communication permission notification) to the transmission-side server 100, and the communication data distribution function unit 112 of the server 100 that has received the control signal (communication permission notification) has a transmission / reception function.
  • the communication data 116 is transmitted using the unit 114.
  • FIG. 2 shows a hardware configuration of the server 100
  • FIG. 3 shows a software configuration of the server 100
  • the basic configuration of the server 100 is a computer.
  • Software (user program 109 and operation system 127) is stored in the memory 121.
  • the software is read from the memory 121 to the CPU 120 and executed.
  • the server 100 includes a disk-like readable / writable storage medium (for example, a hard disk device; hereinafter referred to as “disk”) 165, and holds a parameter setting file such as a data transmission rate and communication overhead on the disk 165.
  • disk disk-like readable / writable storage medium
  • the transmission / reception function unit 113 connected to the electrical switch 104 is mounted as a NIC (Network Interface Card) 122 for the electrical switch and a device driver 131 for controlling it.
  • the transmission / reception function unit 114 connected to the optical switch 105 is implemented as an optical switch NIC 123, a device driver 132 that controls the NIC 123, and an optical transceiver 124 connected to the optical switch NIC 123.
  • the electric cable 102 can transmit and receive data with a single cable.
  • the optical fiber 103 uses different cables for the transmission optical fiber 125 and the reception optical fiber 126.
  • the communication path switching function unit 101 in the present embodiment provides a function of selecting and calling one of the NIC device driver 131 for the electrical switch and the device driver 132 for the optical switch NIC.
  • the communication data amount threshold value 110 used in the communication path switching function unit 101 is calculated by the threshold value calculation / setting function unit 129.
  • the link detection function unit 130 provides a function of detecting that link down due to path switching of the optical switch 105 has changed to link up.
  • the communication path switching function unit 101, the threshold value calculation / setting function unit 129, and the link detection function unit 130 are implemented as a device driver 128 that is higher than the device driver 131 for the NIC for electrical switches and the device driver 132 for the NIC for optical switches.
  • the upper device driver 128 provides a general communication interface to the user program 109. For example, when calling from the user program 109, the upper device driver 128 selects one of the electrical switch 104 and the optical switch 105 for communication. Therefore, the user program 109 implemented in a general server system can be used also in the server system 200 according to the present embodiment.
  • the switch control server 106 like the server 100, has a computer as a basic configuration and has a CPU and a memory.
  • the switch control unit 107 is implemented as software in the memory of the switch control server 106, and is read from the memory to the CPU and executed.
  • the data transmission rates of the NIC 122 for electrical switches and the NIC 123 for optical switches are different.
  • the data transmission rate of the NIC ⁇ ⁇ 122 for electrical switches is Re [Gbps]
  • the data transmission rate of the NIC 123 for optical switches is Ro [Gbps]
  • the relationship of Re ⁇ Ro is established.
  • power consumption can be reduced as compared with a configuration in which only the electrical switch 104 is mounted.
  • the time required before starting communication is greater for the optical switch 105 of the circuit switching method than for the electrical switch 104.
  • the communication overhead when using the optical switch 105 is So [s] and the communication overhead when using the electrical switch 104 is Se [s]
  • the communication time is defined as the time from when the transmission-side server 100 transmits the communication data 116 to when the reception-side server 100 receives the communication data 116, plus communication overhead.
  • the communication data amount 115 is N [B]
  • the communication time when the optical switch 105 is used for communication is expressed as So + 8 * N / Ro [s]
  • Time is expressed as Se + 8 * N / Re [s].
  • FIG. 4 shows that the communication overhead Se of the electrical switch 104 in this embodiment is 10 microseconds, the communication overhead So of the optical switch 105 is 1 millisecond, the data transmission rate of the electrical switch 104 is 1 Gbps, and the data transmission rate of the optical switch 105. It is the graph which plotted each of communication time So + 8 * N / Ro when using the optical switch 105 for communication, and communication time Se + 8 * N / Re when using the electric switch 104 when it is set to 100 Gbps.
  • the calculated communication data amount threshold is 110 (that is, T).
  • the communication data amount comparison function unit 111 compares the communication data amount threshold 110 (ie, T) and the communication data amount 115 (ie, N) at the time of data transmission. If N ⁇ T, communication is performed using the optical switch 105 to achieve efficient communication.
  • FIG. 5 shows an execution procedure of initialization processing executed when each server 100 is started up.
  • Step 142 The server 100 is turned on and the startup sequence is started.
  • Step 143 The hardware of the server 100 becomes available, the BIOS and the operating system 127 are activated, and the upper device driver 128 is activated in the process.
  • Step 144 Via the transmission / reception function unit 113 connected to the electrical switch 104, the communication data distribution function unit 112 assigns the address assigned to the electrical switch switch NIC 122 and the port number of the optical switch 105 to which the server 100 is connected. Is notified to the switch control server 106. By this notification, the switch control server 106 knows that the activated server 100 has joined the server system 200.
  • the threshold value calculation / setting function unit 129 receives the data transmission rate Re of the electric switch 104, the data transmission rate Ro of the optical switch 105, the communication overhead Se of the electric switch 104, and the communication of the optical switch 105 from the setting file on the disk 165.
  • the overhead So and the port number of the optical switch 105 connected to the server 100 are read into the memory 121.
  • Step 146 The activation sequence of the server 100 ends, and the user program 109 can be executed.
  • FIG. 6 shows a processing procedure when one server 100 transmits communication data 116 to another server 100 in the same server system 200.
  • Step 133 The user program 109 designates the communication partner server 100 and the protocol, and sets the start address A and the communication data amount 115 (that is, N) of the communication data 116 in the memory 121 for the file descriptor F opened in advance.
  • a typical API called at the time of transmission is, for example, a UNIX (registered trademark) write (2) system call. These APIs are widely used as interfaces that can be used in common even if the hardware is different.
  • the device driver absorbs the difference in hardware, and the user program 109 performs communication by passing parameters to the device driver.
  • a higher-level device driver 128 that absorbs a special hardware configuration is provided.
  • Step 134 The communication data amount comparison function unit 111 reads the communication data amount threshold value 110 (that is, T) into the memory 121 for use in the next step 135.
  • Step 135) The communication data amount comparison function unit 111 compares the communication data amount 115 (that is, N) received from the user program 109 through the communication API with the communication data amount threshold value 110 (that is, T).
  • the communication data distribution function unit 112 proceeds to step 137 if N ⁇ T, and proceeds to step 136 if N ⁇ T.
  • the communication data distribution function unit 112 calls the device driver 131 of the electrical switch NIC, and uses the file descriptor F, the start address A of the communication data 116, and the communication data amount 115 (that is, N) as the NIC for the electrical switch.
  • the communication data 116 is transmitted to the device driver 131.
  • the process returns from the NIC device driver 131 for the electrical switch to the higher-level device driver 128, the process proceeds to step 141.
  • Step 137 Since the communication data amount 115 (that is, N) is equal to or greater than the communication data amount threshold value 110 (that is, T), the communication data distribution function unit 112 executes a process for transmitting communication data through the optical switch 105. To do. When the optical switch 105 is used for communication, it is necessary to execute communication by a circuit switching method as described above. Therefore, the communication data transfer function unit 112 transmits a signal (path connection request) requesting to secure a communication path to the destination server to the switch control server 106 through the transmission / reception function unit 113 connected to the electrical switch 104.
  • the destination server can be known at the time of the bind (2) system call for linking the destination server to the file descriptor F, for example. The correspondence relationship between the file descriptor F and the server 100 needs to be stored in the memory 121.
  • Step 138 The switch control server 106 switches the path of the optical switch 105 so as to connect the server 100 on the transmission side and the server 100 on the destination side, and notifies the server 100 on the transmission side of communication permission. If the other server 100 is transmitting the communication data 116 to / from the destination server 100, the switch control server 106 receives the permission to release the communication path after the end of the communication. The path of the optical switch 105 is switched so as to connect the requesting server 100 and the destination server 100, and thereafter, communication permission is notified to the server 100 waiting for transmission. The server 100 requesting the path connection cannot transmit the communication data 116 until the communication permission notification is received from the switch control server 106, and remains at step 138 until the communication permission notification is received. When the server 100 requesting the path connection receives the communication permission notification, the process proceeds to step 139.
  • Step 139 The path switching by the optical switch 105 is performed by physical switching of the optical communication path. For this reason, when the path of the optical switch 105 is switched, the physical path to the server 100 connected so far disappears, and a physical path to the newly connected server 100 is generated. It becomes. Therefore, immediately after the path of the optical switch 105 is switched, communication cannot be performed because the link is down, and communication data 116 must be transmitted after waiting for the link to be up through processing such as auto-negotiation. There is.
  • the link detection function unit 130 continues to send a ping to the server 100 on the reception side using the transmission / reception function unit 114 connected to the optical fiber 103, and is down by receiving ack from the server 100 on the reception side through the electrical switch 104. Detects that link is up. When the link detection function unit 130 detects the link up, the communication data 116 can be transmitted, and the route securing is completed. Until the link detection function unit 130 detects link up, the process stays at step 139.
  • Step 140 Since the route securing has been completed in the previous step, the transmitting server 100 transmits the communication data 116 to the partner server 100 using the optical switch 105. Specifically, the host device driver 128 calls the NIC device driver 132 for the optical switch and communicates by passing the file descriptor F, the start address A of the communication data 116, and the communication data amount 115 (that is, N). Data 116 is transmitted. When the process returns from the device driver 132 of the NIC for optical switch to the upper device driver 128, the process proceeds to step 141. The server 100 on the receiving side transmits the path release permission to the switch control server 106 after receiving all the communication data 116.
  • Step 141 Since the transmission flow of the communication data 116 is completed, the process returns from the upper device driver 128 to the user program 109.
  • the server system 200 compares the communication data amount threshold 110 (that is, T) calculated based on the communication capability of the own system with the communication data amount 115, and the communication data amount 115 is greater than the communication data amount threshold 110.
  • the optical switch 105 is used to communicate with another server on the local network. connect.
  • the server system 200 of the present embodiment can communicate fine-grained communication with a high appearance frequency but a small amount of data via the electrical switch 104, and can significantly improve the throughput as compared with the conventional system. .
  • a mechanism for further improving the utilization efficiency of communication paths such as the electric cable 102 and the optical fiber 103 is added to the functional configuration of the server system 200 (FIG. 1). Specifically, a mechanism for selecting a switch that is more suitable for transmission of communication data based on the communication usage status of the electrical switch 104 and the optical switch 105 is added.
  • each server 100 transmits a function unit for detecting the communication usage status of another server 100 connected via the local area network and transmission of communication data 116 based on the detected communication usage status.
  • a function unit for selecting a switch to be used is added to the upper device driver 128.
  • the communication data amount threshold value 110 is dynamically set as a criterion used when selecting a switch.
  • the communication data amount threshold value 110 is calculated when the communication data 116 is transmitted, and reflects the communication usage status of the electrical switch 104 and the optical switch 105 at the transmission time. For example, when the optical switch 105 is congested, the frequency of using the electrical switch 104 for communication is increased, and when the electrical switch 104 is congested, the frequency of using the optical switch 105 for communication is increased.
  • the upper device driver 128 dynamically sets the communication data amount threshold 110 when transmitting the communication data 116. To do.
  • FIG. 7 shows an additional parameter and an additional function used for calculating the communication data amount threshold 110 when transmitting the communication data 116. That is, the traffic reference table 147 and the time stamp acquisition function unit 164 are shown.
  • the traffic reference table 147 has four items of a destination server 148, an optical switch additional overhead 149, an additional overhead time stamp 150, and an electric switch transmission server number 151, and each item has a value of each server 100 located on the local area network. Save.
  • the threshold value calculation / setting function unit 129 calculates the communication data amount threshold value 110 for each destination server 148 using the value of each item of the traffic reference table 147.
  • the optical switch addition overhead 149 is a waiting time that occurs when communication collides with another server 100 when communicating with the destination server 148 using the optical switch 105.
  • the waiting time is a remaining communication time of another server 100 that is transmitting the communication data 116 to the destination server 148 using the optical switch 105.
  • the additional overhead time stamp 150 is the time when the optical switch additional overhead 149 is recorded in the traffic reference table 147.
  • the optical switch addition overhead 149 described above decreases with the passage of time and cannot be used to calculate the elapsed time.
  • the time when the optical switch additional overhead 149 is referenced is acquired using the time stamp acquisition function unit 164, and the elapsed time can be calculated by comparison with the additional overhead time stamp 150.
  • the optical switch additional overhead 149 recorded in the traffic reference table 147 is Ki and the additional overhead time stamp 150 is Li.
  • the current time acquired using the time stamp acquisition function unit 164 is L
  • the elapsed time is given by L-Li. Therefore, it can be seen that the value Ki of the optical switch addition overhead 149 at the current time has elapsed by L-Li from the time of registration (decreased by L-Li from the value at the time of registration).
  • the electrical switch transmission server number 151 is the number of servers that are currently transmitting the communication data 116 through the electrical switch 104 to one or more destination servers 148.
  • the line is equally divided by the plurality of servers 100 that simultaneously transmit the communication data 116 to the destination server 148.
  • the number 151 of electrical switch transmission servers recorded in the traffic reference table 147 is Mi.
  • the data transmission rate when one server 100 newly communicates using the electrical switch 104 is 1 / (Mi + 1).
  • the communication time when using the optical switch 105 when transmitting the communication data 116 to a certain destination server 148 is Ki + So + N / Ro
  • the communication time when using the electrical switch 104 is Se + (Mi +1) N / Re.
  • FIG. 8 shows an execution procedure of initialization processing executed when each server 100 is started.
  • FIG. 8 is different in that an initialization process (steps 166 and 167) of the traffic reference table 147 is executed instead of step 145 of FIG.
  • Step 166 This step is executed after the end of step 144 (for example, after the switch control server 106 is notified of the port number of the electrical switch 104 and the port number of the optical switch 105).
  • the switch control server 106 stores information on all servers running on the local area network in a memory.
  • the switch control server 106 detects the activation of the new server 100, the switch control server 106 notifies the server 100 of all newly activated servers of the newly activated server information, and has already notified the newly activated server 100. Information on all active servers 100 is notified.
  • the threshold calculation / setting function 129 of the server 100 that has been newly started up includes the data transmission rate Re of the electrical switch 104, the data transmission rate Ro of the optical switch 105, and the communication overhead Se of the electrical switch 104 from the configuration file on the disk 165.
  • the communication overhead So of the optical switch 105 is read into the memory 121.
  • the communication data amount threshold value 110 in this embodiment is calculated every time transmission is performed, and therefore, in this step, the activation sequence is terminated without calculating the communication data amount threshold value 110.
  • Each item of the traffic reference table 147 in this embodiment holds the communication usage status using the electrical switch 104 or the optical switch 105 for the destination server 148 (for example, the server i) at each time. It is necessary to communicate the control signal for sharing these communication usage states by all the servers 100 using the electric switch 104.
  • This control signal is called a traffic control signal.
  • a flag for distinguishing the communication data 116 from the traffic control signal is added to the header of each communication. The flag is processed by the upper device driver 128.
  • the traffic control signal is broadcast to all servers 100 when a certain server 100 transmits the communication data 116.
  • the server 100 on the transmission side transmits the communication data 116 to the destination server 148 (for example, the server i) using the electric switch 104
  • the number of electric switch transmission servers 151 in the traffic reference table 147 of all the servers 100 that is, Mi
  • the optical switch additional overhead 149 that is, Ki
  • the additional overhead time stamp 150 ie, Li
  • a broadcast transmission process of a traffic control signal is added to each of step 136 and step 137 in FIG.
  • the higher-level device driver 128 uses the transmission / reception function unit 113 connected to the electrical switch 104 to send the destination server 148 (for example, the server) Broadcast a traffic control signal notifying that transmission to F) is completed.
  • Step 137 Immediately before transmitting a route connection request to the destination server 148 (for example, server F) to the switch control server 106, the higher-level device driver 128 uses the transmission / reception function unit 113 connected to the electrical switch 104 to send another server 100. On the other hand, it broadcasts a traffic control signal notifying that the path of the optical switch 105 to the destination server 148 (for example, server F) is secured for a time given by So + N / Ro [s].
  • FIG. 9 shows a rewriting process executed by the upper device driver 128 of each server 100 that has received the traffic control signal broadcasted in step 137 described above.
  • Step 152 The upper device driver 128 receives a notification that the path of the optical switch 105 to the destination server 148 (for example, the server i) is secured for a time given by So + N / Ro [s]. At this time, the time stamp acquisition function unit 164 acquires the time stamp L of the current time.
  • the upper device driver 128 refers to the optical switch addition overhead 149 (ie, Ki) for the destination server 148 (eg, server i) in the traffic reference table 147.
  • Step 155 If the optical switch addition overhead 149 has disappeared due to the passage of time (L ⁇ Li ⁇ Ki), the upper device driver 128 proceeds to step 154 and the optical switch addition overhead 149 still exists (L ⁇ Li ⁇ Ki). ) Go to step 156.
  • Step 157) The upper device driver 128 ends the traffic reference table rewriting process.
  • the upper device driver 128 refers to the traffic look-up table 147, and adds the optical switch additional overhead 149 (ie, KF), the additional overhead time stamp 150 (ie, LF), the electrical to the destination server 148 (eg, server F). Read the number of switch sending servers (ie MF). In addition, the time stamp acquisition function unit 164 acquires the time stamp L of the current time.
  • Step 160 The upper device driver 128 proceeds to step 161 if the optical switch addition overhead 149 has disappeared due to the passage of time (L ⁇ LF ⁇ KF), and the optical switch addition overhead 149 still exists (L ⁇ LF ⁇ KF). ) Go to Step 162.
  • the threshold calculation / setting function unit 129 calculates the communication data amount threshold T based on the following equation.
  • T RoRe (So + KF-Se) / ((MF + 1) Ro-Re)
  • FIG. 11 is a graph plotting the respective communication times of the electrical switch 104 and the optical switch 105 in a situation where communication with the other server 100 collides when the electrical switch 104 is used for communication.
  • FIG. 12 is a graph plotting the communication times of the electrical switch 104 and the optical switch 105 when the optical switch 105 is used for communication and the communication with the other server 100 collides.
  • the communication data amount threshold value 110 (ie, T) in FIG. 12 is larger than the communication data amount threshold value 110 (ie, T) in FIG. In this case, switch selection is performed so as to reduce the frequency of use of the optical switch 105 that is highly likely to collide and increase the frequency of use of the electrical switch 104.
  • Each server 100 constituting the server system 200 of this embodiment recognizes and recognizes the communication usage status of the local area network (that is, the communication usage status of the electrical switch 104 and the optical switch 105) prior to transmission of the communication data.
  • the communication data amount threshold 110 (that is, T) is dynamically set based on the communication usage status. This makes it possible to select an optimal switch that matches the local area network congestion, which changes from moment to moment, and to improve the throughput of the server system 200 stably.
  • the communication path switching function unit 101 is realized by software. However, in this embodiment, the communication path switching function unit 101 is realized by hardware.
  • FIG. 13 shows the configuration of the server 100 according to the present embodiment.
  • the network interface card 166 is connected to both the electrical switch 104 and the optical switch 105.
  • the network interface card 166 includes a communication path switching function unit 101, a threshold value calculation / setting function unit 129, a link detection function unit 130, and a traffic reference, which are installed as an ASIC (Application Specific Integrated Circuit).
  • the electrical switch 104 or the optical switch 105 is selected using the table 147 and the time stamp acquisition function unit 164 to perform communication.
  • FIG. 14 shows the flow of communication data transmission processing executed by the network interface card 166.
  • the processing flow shown in FIG. 14 is the same as the processing shown in FIG. 6 except that a series of processing is executed through the ASIC on the network interface card 166.
  • Example 4 In this embodiment, a method of transmitting communication data 116 using both the electrical switch 104 and the optical switch 105 as much as possible will be described. By adopting this method, the communication time can be further reduced as compared with the case where communication is performed using only one of the electric switch 104 and the optical switch 105.
  • N Ne + No and No is negative (that is, N ⁇ Re (So ⁇ Se))
  • the communication path switching function unit 101 communicates using the electrical switch 104, and conversely, the communication data amount.
  • the communication path switching function unit 101 communicates using both the electrical switch 104 and the optical switch 105.
  • FIG. 15 shows a flow of transmission processing executed in the server system 200 according to the present embodiment.
  • the same reference numerals are given to the corresponding parts to FIG. 6, and only processes different from those in FIG. 6 will be described below.
  • Step 167 This process is executed after step 133.
  • the communication data distribution function unit 112 proceeds to step 168 when N ⁇ T and proceeds to step 136 when N ⁇ T.
  • Step 169 The upper device driver 128 calls the NIC device driver 131 for the electrical switch, transmits a connection request to the destination server for securing the path of the optical switch 105 to the switch control server 106, and uses the electrical switch 104. Ne bytes are transmitted from the start address A of the communication data 116. After step 169, steps 138 and 139 are executed, and then step 170 is executed.
  • Step 170 The upper device driver 128 calls the NIC device driver 132 for the optical switch and transmits a No byte from the address (A + Ne) of the communication data 116. Thereafter, the upper device driver 128 proceeds to step 141 and returns the process to the user program 109.
  • the communication data amount 115 is larger than the communication data amount threshold value 110
  • the communication data is transmitted using both the electrical switch 104 and the optical switch 105, thereby improving the communication capability of the server system 200. It can be used to the maximum and further improve the throughput.
  • FIG. 16 shows a configuration of a server system 400 according to the present embodiment.
  • the ToR switch 201 in FIG. 16 corresponds to the switch control server 106, the electrical switch 104, the optical switch 105, and the electrical cables 102 and 108 that connect them.
  • the ToR switch 201 and each server 100 are connected by a single line due to space limitations, but in reality, as in the above-described embodiment, the electrical cable 102 and the optical fiber 103 are duplexed. ing.
  • the ToR switch 201 of each server system 200 communicates with the ToR switch 201 of another server system 200 via the aggregation switch 202.
  • the present invention is not limited to the configuration of the embodiment described above, and includes various modifications.
  • some embodiments are described in detail, and it is not always necessary to include all the configurations described.
  • a part of a certain embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of a certain embodiment.
  • each of the above-described configurations, functions, processing units, processing means, and the like may be partly or entirely realized as, for example, an integrated circuit or other hardware.
  • Each of the above-described configurations, functions, and the like may be realized by a processor interpreting and executing a program that realizes each function. That is, each configuration may be realized by software.
  • information such as programs, tables, and files for realizing each function can be stored in a storage device such as a memory, a hard disk, an SSD (Solid State Drive), or a storage medium such as an IC card, an SD card, or a DVD.
  • control lines and information lines indicate what is considered necessary for explanation, and do not represent all control lines and information lines necessary for the product. In practice, it can be considered that almost all components are connected to each other.

Abstract

 サーバシステムを構成する複数台のサーバのそれぞれに、通信データの送信時に通信データ量を参照し、当該通信データ量と閾値との大小関係に基づいて、電気スイッチと光スイッチを使い分ける通信路切替機能を搭載する。

Description

サーバシステム
 本発明は光スイッチを用いて通信を行うサーバシステムに関する。
 Webメール及びSNS(Social Networking Service)を始めとする各種のクラウドサービスは、データセンタにて管理、運用されている。現在、データセンタが扱う大規模なデータは、パケット交換ネットワークを介して相互接続された多数のサーバで構成されるサーバシステムにより処理されている。
 この種のサーバシステムは、一般に、1つのToR(Top of Rack)スイッチと複数台のサーバをそれぞれが収容する複数のラックと、1つ又は複数台のAggregationスイッチとで構成される。各ToRスイッチは、同一ラック内の複数台のサーバと接続されており、前述のAggregationスイッチを介して、他のラックのToRスイッチと通信する。
 近年、クラウドサービスの提供には、サーバシステムの通信がボトルネックになってきており、パケット交換ネットワークの高速化やスループットの増大が求められている。例えば特許文献1には、前述のToRスイッチに該当する位置に光スイッチを用いる手法が開示され、非特許文献1には、前述のAggregationスイッチに該当する位置の電気スイッチの一部を光スイッチに置き換える手法が開示されている。
特開平6-21973号公報
N. Farrington, G. Porter, S. Radhakrishnan, H. H. Bazzaz, V. Subramanya, Y. Fain-man, G. Papen, and A. Vahdat, "Helios: A Hybrid Electrical/Optical Switch Architecture for Modular Data Centers," In Proc. ACM SIGCOMM, Aug. 2010.
 光スイッチを使用するネットワークは回線交換ネットワークである。このため、当該ネットワーク上の通信は、回線交換方式で行う必要がある。回線交換方式では、通信毎に経路を確保した後に通信データが送信される。非特許文献1には、過去の通信状況から通信トラフィック量が多いと推定されるラック間を光スイッチで接続している。
 ところで、サーバと直接接続されるToRスイッチを流れる通信パターン(具体的には、データサーバのデータマイニングを行うアプリケーションの通信パターン)を発明者が調べたところ、分散ファイルシステムの制御信号やデータの付随情報など数KBの細粒度通信の出現頻度が高いことが分かった。勿論、通信の合計データ量に対する細粒度通信の占める割合は非常に低いが、通信回数では細粒度通信がほとんどを占めている。
 このような細粒度通信であっても、スイッチングに光スイッチを用いる場合には、経路を確保するための時間(通信オーバーヘッド)が必要であり、その時間だけ、電気スイッチでデータをスイッチングする場合よりも通信時間が長くなる。しかも、前述したように細粒度通信の出現頻度は高いため、光スイッチの利用は、サーバシステムのスループットの向上に必ずしも貢献しないことを発明者は発見した。
 図17に、発明者による実験結果を示す。図17は、100Gbpsのデータ伝送レートで通信した場合の通信データ量に対する通信時間を、ToRスイッチに光スイッチを用いる場合と電気スイッチを用いる場合のそれぞれについてプロットしたグラフである。このグラフからは、ToRスイッチに光スイッチを用いる場合、通信データ量が1MB以下においては通信時間のほとんどが回線交換の経路を確保するための時間(通信オーバーヘッド)で占められること、通信データ量が10KB以下においてはToRスイッチに電気スイッチを用いる場合の100倍の通信時間が必要となることが分かる。
 そこで、本発明では、データセンタ等で使用されるサーバシステムのToRスイッチに光スイッチを用いる場合におけるサーバシステム内でのスループットの向上を技術課題とする。
 上記課題を解決するために、本発明は、例えば請求の範囲に記載の構成を採用する。本明細書は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、通信データの送信時に通信データ量を参照し、当該通信データ量と閾値との大小関係に基づいて、電気スイッチと光スイッチを使い分ける通信路切替機能を各サーバに搭載するサーバシステムである。
 本発明によれば、複数のサーバの接続に光スイッチを用いるサーバシステムにおけるサーバシステム内のスループットを向上することができる。前述した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
実施例1で使用するサーバシステムの構成を示す図。 サーバのハードウェア構成を示す図。 サーバのソフトウェア構成を示す図。 実施例1のサーバシステムにおける通信時間をグラフにプロットした図。 実施例1におけるサーバ起動時の処理の流れを示すフローチャート。 実施例1における上位のデバイスドライバが通信データを送信する際の処理の流れを示すフローチャート。 実施例2におけるサーバのソフトウェア構成を示す図。 実施例2におけるサーバ起動時の処理の流れを示すフローチャート。 実施例2におけるトラフィック参照テーブルの書き換え処理の流れを示すフローチャート。 実施例2における通信データ送信時の通信データ量閾値の算出処理の流れを示すフローチャート。 実施例2のサーバシステムにおいて電気スイッチのトラフィックが混雑した場合の通信時間をグラフにプロットした図。 実施例2のサーバシステムにおいて光スイッチのトラフィックが混雑した場合の通信時間をグラフにプロットした図。 実施例3で使用するサーバのハードウェア構成を示す図。 実施例3におけるネットワークインターフェースカードが通信データを送信する際の処理の流れを示すフローチャート。 実施例4における上位のデバイスドライバが通信データを送信する際の処理の流れを示すフローチャート。 実施例5におけるサーバシステムの構成例を示す図。 データ伝送レートが等しい場合の光スイッチと電気スイッチの通信時間をグラフにプロットした図。
 以下、図面に基づいて、本発明の実施例を説明する。なお、本発明は、後述する実施例に限定されるものではなく、その技術思想の範囲において、種々の変形が可能である。また、実施例を説明する全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は特に必要な場合を除き省略する。
 [実施例1]
 [全体構成]
 図1に、本実施例におけるサーバシステム200の構成を示す。サーバシステム200は、複数台のサーバ100と、これらの間の通信をスイッチングする前述のToRスイッチとを含んでいる。本実施例におけるToRスイッチは、スイッチ制御部107を内蔵するスイッチ制御サーバ106と、電気スイッチ104と、光スイッチ105とで構成される。電気スイッチ104及び光スイッチ105は、いずれも、スイッチ制御サーバ106と複数台のサーバ100に接続されている。すなわち、各サーバ100は、電気スイッチ104を含むローカルエリアネットワークと光スイッチ105を含むローカルエリアネットワークを通じて互いに接続されている。
 サーバ100は、電気ケーブル102に接続する送受信機能部113と、光ファイバ103に接続する送受信機能部114を有している。電気ケーブル102は電気スイッチ104に接続され、光ファイバ103は光スイッチ105に接続される。複数台のサーバ100は、相互の通信を通じ、協調的にアプリケーション(すなわち、ユーザプログラム109)を実行する。
 サーバ100は、通信データ116の送信時に、電気スイッチ104又は光スイッチ105を選択する通信路切替機能部101を有している。本実施例の通信路切替機能部101は、通信データ量閾値110を格納する不図示の記憶部と、通信データ量比較機能部111と、通信データ振分機能部112を有している。通信データ量比較機能部111は、ユーザプログラム109から受け取った通信データ116の通信データ量115と、記憶部に格納されている通信データ量閾値110とを比較し、比較結果を通信データ振分機能部112に与える機能を提供する。通信データ振分機能部112は、前記比較結果に基づき、電気スイッチ104及び光スイッチ105のうちいずれか一方を用いて通信データ116を送信する。
 電気スイッチ104が選択された場合、パケット交換方式で通信が行われる。この場合、送受信機能部113が通信データ116を電気スイッチ104に送信する。一方、光スイッチ105が選択された場合、予め経路を確保してからデータを送信する回線交換方式で通信が行われる。この場合、サーバ100が通信データ116を送信する前に、光スイッチ105の経路を確保するための制御が必要となる。
 この制御に必要な制御信号(経路接続要求)は、通信データ振分機能部112から電気スイッチ104を介してスイッチ制御サーバ106に送信される。制御信号(経路接続要求)を受け取ったスイッチ制御サーバ106は、電気ケーブル108を介して光スイッチ105に電圧を印加し、経路の切り替えを実行する。当該切り替えにより送信側のサーバ100と受信側のサーバ100とが接続される。すなわち、回線が確保される。この後、スイッチ制御サーバ106は、制御信号(通信許可通知)を送信側のサーバ100に送信し、制御信号(通信許可通知)を受信したサーバ100の通信データ振分機能部112は、送受信機能部114を用いて通信データ116を送信する。
 [サーバのハードウェア構成及びソフトウェア構成]
 図2にサーバ100のハードウェア構成を示し、図3にサーバ100のフトウェア構成を示す。サーバ100の基本構成はコンピュータである。ソフトウェア(ユーザプログラム109及びオペレーションシステム127)は、メモリ121に格納されている。ソフトウェアは、メモリ121からCPU120に読み出されて実行される。サーバ100は、ディスク状の読み書き可能な記憶媒体(例えばハードディスク装置。以下「ディスク」という。)165を有し、当該ディスク165にデータ伝送レート、通信オーバーヘッド等のパラメータの設定ファイルを保持する。
 電気スイッチ104に接続される送受信機能部113は、電気スイッチ向けNIC(Network Interface Card) 122と、それを制御するデバイスドライバ131として実装される。光スイッチ105に接続される送受信機能部114は、光スイッチ向けNIC 123と、それを制御するデバイスドライバ132と、光スイッチ向けNIC 123に接続する光トランシーバ124として実装される。
 電気ケーブル102は、1本のケーブルで、データを送受信することができる。一方、光ファイバ103は、送信用の光ファイバ125と受信用の光ファイバ126とで別のケーブルを使用する。
 本実施例における通信路切替機能部101は、電気スイッチ向けNICのデバイスドライバ131及び光スイッチ向けNICのデバイスドライバ132のうちいずれか一方を選択して呼び出す機能を提供する。また、通信路切替機能部101で用いられる通信データ量閾値110は、閾値算出・設定機能部129により算出される。リンク検出機能部130は、光スイッチ105の経路切替によるリンクダウンがリンクアップに変化したことを検知する機能を提供する。通信路切替機能部101、閾値算出・設定機能部129及びリンク検出機能部130は、電気スイッチ向けNICのデバイスドライバ131及び光スイッチ向けNICのデバイスドライバ132の上位のデバイスドライバ128として実装される。
 上位のデバイスドライバ128は、ユーザプログラム109に対して一般的な通信インターフェースを提供する。例えばユーザプログラム109からの呼び出しに際し、上位のデバイスドライバ128は、電気スイッチ104及び光スイッチ105のうちいずれか一方を選択して通信する。従って、一般的なサーバシステムに実装されているユーザプログラム109は、本実施例に係るサーバシステム200でも利用することができる。
 スイッチ制御サーバ106は、サーバ100と同様、コンピュータを基本構成とし、CPUとメモリを持つ。スイッチ制御部107は、スイッチ制御サーバ106のメモリにソフトウェアとして実装されており、当該メモリからCPUに読み出されて実行される。
 本実施例の場合、電気スイッチ向けNIC 122と光スイッチ向けNIC 123のデータ伝送レートは異なっている。電気スイッチ向けNIC 122のデータ伝送レートをRe[Gbps]とし、光スイッチ向けNIC 123のデータ伝送レートをRo[Gbps]とすると、Re<Roの関係が成り立つ。このため、本実施例に係るサーバシステム200では、電気スイッチ104のみを実装する構成と比して消費電力が小さく済む。
 ただし、前述したように、通信を開始する前に必要な時間(通信オーバーヘッド)は、回線交換方式である光スイッチ105の方が電気スイッチ104よりも大きくなる。光スイッチ105を用いる場合の通信オーバーヘッドをSo[s]とし、電気スイッチ104を用いる場合の通信オーバーヘッドをSe[s]とすると、So>Seの関係が成り立つ。本実施例では、送信側のサーバ100が通信データ116を送信してから受信側のサーバ100が通信データ116を受信するまでの時間に、通信オーバーヘッドを加えた時間を通信時間とする。
 一回の通信データ量115をN[B]とすると、通信に光スイッチ105を用いる場合の通信時間はSo+8*N/Ro[s]と表わされ、通信に電気スイッチ104を用いる場合の通信時間はSe+8*N/Re[s]と表わされる。図4は、本実施例における電気スイッチ104の通信オーバーヘッドSeを10マイクロ秒、光スイッチ105の通信オーバーヘッドSoを1ミリ秒、電気スイッチ104のデータ伝送レートを1Gbps、光スイッチ105のデータ伝送レートを100Gbpsとした場合に、光スイッチ105を通信に用いる場合の通信時間So+8*N/Roと電気スイッチ104を用いる場合の通信時間Se+8*N/Reのそれぞれをプロットしたグラフである。
 図4に示す2つのグラフの交点の通信データ量115(T=ReRo(So-Se)/(8*(Ro-Re))[B]で与えられる)が、閾値算出・設定機能部129により計算される通信データ量閾値110 (すなわち、T)である。本実施例の通信データ量比較機能部111は、データ送信時に、通信データ量閾値110(すなわち、T)と通信データ量115(すなわち、N)を比較し、N<Tであれば電気スイッチ104を用いて通信し、N≧Tであれば光スイッチ105を用いて通信することで効率の良い通信を実現する。
 [初期化処理]
 図5に、各サーバ100の起動時に実行される初期化処理の実行手順を示す。
 (ステップ142)
 サーバ100の電源がONとなり、起動シーケンスが開始される。
 (ステップ143)
 サーバ100のハードウェアが利用可能となり、BIOS及びオペレーティングシステム127が起動し、その過程で上位のデバイスドライバ128が起動する。
 (ステップ144)
 電気スイッチ104に接続された送受信機能部113を介し、通信データ振分機能部112が、電気スイッチスイッチ向けNIC 122に割り振られているアドレスと、サーバ100が接続している光スイッチ105のポート番号をスイッチ制御サーバ106に通知する。この通知により、スイッチ制御サーバ106は、起動したサーバ100がサーバシステム200に加わったことを知る。
 (ステップ145)
 閾値算出・設定機能部129は、ディスク165上の設定ファイルから電気スイッチ104のデータ伝送レートReと、光スイッチ105のデータ伝送レートRoと、電気スイッチ104の通信オーバーヘッドSeと、光スイッチ105の通信オーバーヘッドSoと、サーバ100が接続している光スイッチ105のポート番号をメモリ121に読み込む。次に、閾値算出・設定機能129は、通信データ量閾値110(すなわち、T)を、T=Ro*Re(So-Se)/(Ro-Re)として算出し、メモリ121に保存する。
 (ステップ146)
 サーバ100の起動シーケンスが終了し、ユーザプログラム109が実行可能な状態となる。
 [通信データの送信処理]
 図6に、あるサーバ100が同じサーバシステム200内の他のサーバ100に通信データ116を送信する際の処理手順を示す。
 (ステップ133)
 ユーザプログラム109は、通信相手のサーバ100とプロトコルを指定し、予め開いておいたファイル記述子Fに対して、メモリ121における通信データ116の先頭アドレスAと通信データ量115(すなわち、N)を書き込む。送信時に呼び出す代表的なAPIには、例えばUNIX(登録商標)のwrite(2)システムコールがある。これらのAPIは、ハードウェアが異なったとしても共通に用いることができるインターフェースとして広く用いられている。
 これは、ハードウェアの違いをデバイスドライバが吸収しているためであり、ユーザプログラム109は、デバイスドライバにパラメータを渡すことで通信を行う。本実施例の場合も、特殊なハードウェア構成を吸収する上位のデバイスドライバ128が設けられている。ユーザプログラム109が通信データ116を送信する際には、APIを通じて上位のデバイスドライバ128にパラメータが渡され、ユーザプログラム109から上位のデバイスドライバ128に処理が切り替わる。
 (ステップ134)
 次のステップ135で用いるために、通信データ量比較機能部111は、通信データ量閾値110(すなわち、T)をメモリ121に読み込む。
 (ステップ135)
 通信データ量比較機能部111は、ユーザプログラム109から通信APIを通じて受け取った通信データ量115(すなわち、N)を通信データ量閾値110(すなわち、T)と比較する。通信データ振分機能部112は、N≧Tであればステップ137に進み、N<Tであればステップ136に進む。
 (ステップ136)
 通信データ量115(すなわち、N)が通信データ量閾値110(すなわち、T)よりも小さい場合であるので、通信データ振分機能部112は、電気スイッチ104を通じて通信データ116を送信する。ここで、通信データ振分機能部112は、電気スイッチ向けNICのデバイスドライバ131を呼び出し、ファイル記述子F、通信データ116の先頭アドレスA、通信データ量115(すなわち、N)を電気スイッチ向けNICのデバイスドライバ131に渡すことで通信データ116を送信する。電気スイッチ向けNICのデバイスドライバ131から上位のデバイスドライバ128に処理が戻るとステップ141に進む。
 (ステップ137)
 通信データ量115(すなわち、N)が通信データ量閾値110(すなわち、T)以上の場合であるので、通信データ振分機能部112は、光スイッチ105を通じて通信データを送信するための処理を実行する。光スイッチ105を通信に用いる場合、前述の通り、回線交換方式で通信を実行する必要がある。そこで、通信データ振替機能部112は、電気スイッチ104に接続された送受信機能部113を通じ、宛先サーバへの通信経路の確保を要求する信号(経路接続要求)を、スイッチ制御サーバ106に送信する。宛先サーバは、例えばファイル記述子Fに宛先サーバを結び付けるためのbind(2)システムコール時に知ることが可能である。ファイル記述子Fとサーバ100の対応関係は、メモリ121に記憶されている必要がある。
 (ステップ138)
 スイッチ制御サーバ106は、送信側のサーバ100と宛先側のサーバ100を接続するように光スイッチ105の経路を切り替え、送信側のサーバ100に通信許可を通知する。もし、他のサーバ100が宛先側のサーバ100との間で通信データ116を送信中である場合、スイッチ制御サーバ106は、当該通信が終了して通信経路の解放許可を受け取った後に、経路接続要求中のサーバ100と宛先側のサーバ100を接続するように光スイッチ105の経路を切り替え、その後、送信待機中のサーバ100に通信許可を通知する。経路接続要求中のサーバ100は、スイッチ制御サーバ106から通信許可通知を受け取るまでは、通信データ116を送信することができず、通信許可通知を受け取るまではステップ138にとどまる。通信許可通知を経路接続要求中のサーバ100が受け取ると、ステップ139に進む。
 (ステップ139)
 光スイッチ105による経路の切替は、光通信経路の物理的な切り替えにより行われる。このため、光スイッチ105の経路が切り替わると、それまで接続されていたサーバ100との間の物理的な経路が消滅し、新しく接続されるサーバ100との間で物理的な経路が発生することとなる。従って、光スイッチ105の経路が切り替わった直後はリンクがダウンしているため通信を行うことができず、オートネゴシエーション等の処理を経てリンクがアップするのを待ってから通信データ116を送信する必要がある。
 リンク検出機能部130は、光ファイバ103に接続する送受信機能部114を用いて受信側のサーバ100にpingを送信し続け、受信側のサーバ100から電気スイッチ104を通じてackを受け取ることでダウンしていたリンクがアップしたことを検知する。リンク検出機能部130がリンクアップを検知することで通信データ116が送信可能な状態となって経路確保が完了し、ステップ140に進むことができる。リンク検出機能部130がリンクアップを検知するまではステップ139にとどまることとなる。
 (ステップ140)
 前ステップで経路確保が完了したため、送信側のサーバ100は、光スイッチ105を用いて相手先のサーバ100に通信データ116を送信する。具体的には、上位のデバイスドライバ128は、光スイッチ向けNICのデバイスドライバ132を呼び出し、ファイル記述子Fと通信データ116の先頭アドレスAと通信データ量115(すなわち、N)を渡すことで通信データ116を送信する。光スイッチ向けNICのデバイスドライバ132から上位のデバイスドライバ128に処理が戻るとステップ141に進む。なお、受信側のサーバ100は、通信データ116を全て受け取った後、経路の解放許可をスイッチ制御サーバ106に送信する。
 (ステップ141)
 通信データ116の送信フローが完了したため、上位のデバイスドライバ128からユーザプログラム109に処理が戻る。
 [まとめ]
 本実施例のサーバシステム200は、自システムの通信能力に基づいて計算した通信データ量閾値110(すなわち、T)と通信データ量115とを比較し、通信データ量115が通信データ量閾値110より小さい場合には電気スイッチ104を用いてローカルネットワーク上の他のサーバと通信し、通信データ量115が通信データ量閾値110以上の場合には光スイッチ105を用いてローカルネットワーク上の他のサーバと通信する。この仕組みにより、本実施例のサーバシステム200は、出現頻度は高いがデータ量が小さい細粒度通信を電気スイッチ104経由で通信でき、従来システムに比して、スループットを格段に向上させることができる。
 [実施例2]
 [概要]
 本実施例では、サーバシステム200(図1)の機能構成に、電気ケーブル102及び光ファイバ103等の通信路の利用効率を更に向上させるための仕組みを追加する。具体的には、電気スイッチ104と光スイッチ105の通信利用状況に基づいて、通信データの送信により適したスイッチを選択する仕組みを追加する。
 当該仕組みの実現のため、各サーバ100には、ローカルエリアネットワーク経由で接続された他のサーバ100の通信利用状況を検知する機能部と、検知された通信利用状況に基づいて通信データ116の送信に使用するスイッチを選択する機能部を上位のデバイスドライバ128に追加する。また、本実施例の場合、スイッチの選択時に使用する判断基準としての通信データ量閾値110を動的に設定する。
 通信データ量閾値110は、通信データ116を送信する際に算出され、送信時刻における電気スイッチ104と光スイッチ105の通信利用状況を反映する。例えば光スイッチ105が混雑している状況では電気スイッチ104を通信に用いる頻度を高め、電気スイッチ104が混雑している状況では光スイッチ105を通信に用いる頻度を高める。
 [装置構成]
 以下では図7~図12を参照し、実施例1に対する変更点を中心に本実施例に係るサーバシステム200の構成を説明する。前述したように、本実施例では、混雑しているスイッチを用いることによる通信性能の劣化を避けるため、上位のデバイスドライバ128において、通信データ116の送信時に動的に通信データ量閾値110を設定する。
 図7に、通信データ116の送信時に通信データ量閾値110を算出するために使用する追加パラメータと追加機能を示す。すなわち、トラフィック参照テーブル147とタイムスタンプ取得機能部164を示す。トラフィック参照テーブル147は、宛先サーバ148、光スイッチ追加オーバーヘッド149、追加オーバーヘッドタイムスタンプ150、電気スイッチ送信サーバ数151の4つの項目を持ち、各項目にローカルエリアネットワーク上に位置する各サーバ100の値を保存する。閾値算出・設定機能部129は、トラフィック参照テーブル147の各項目の値を使用して宛先サーバ148毎に通信データ量閾値110を算出する。
 光スイッチ追加オーバーヘッド149とは、宛先サーバ148に対して光スイッチ105を用いて通信を行う際、通信が他のサーバ100と衝突した場合に生じる待ち時間である。当該待ち時間は、光スイッチ105を用いて宛先サーバ148に通信データ116を送信中の他のサーバ100の通信時間の残量である。宛先サーバ148に対する光スイッチ追加オーバーヘッド149が存在する場合、光スイッチ追加オーバーヘッド149に等しい時間が経過しない限り、新たに通信を開始しようとしているサーバ100が光スイッチ105を用いて通信することは不可能である。
 追加オーバーヘッドタイムスタンプ150とは、光スイッチ追加オーバーヘッド149をトラフィック参照テーブル147に記録した時刻である。前述の光スイッチ追加オーバーヘッド149は時間の経過に伴い減少するため、経過時間の算出には用いることができない。そこで、タイムスタンプ取得機能部164を用いて、光スイッチ追加オーバーヘッド149の参照時の時刻を取得し、追加オーバーヘッドタイムスタンプ150との比較により経過時間の算出を可能とする。
 例えばトラフィック参照テーブル147に記録されている光スイッチ追加オーバーヘッド149がKiであり、追加オーバーヘッドタイムスタンプ150がLiであるとする。ここで、タイムスタンプ取得機能部164を用いて取得した現時刻がLであると、経過時間はL-Liで与えられる。従って、現時刻の光スイッチ追加オーバーヘッド149の値Kiは、その登録時からL-Liだけ経過(登録時の値からL-Liだけ減少)していることが分かる。
 電気スイッチ送信サーバ数151とは、現在、1つ又は複数の宛先サーバ148に対して電気スイッチ104を通じて通信データ116を送信中のサーバの数である。電気スイッチ104を用いて通信を行う場合、宛先サーバ148に対して通信データ116を同時に送信している複数台のサーバ100によって、回線が等分されているものとみなす。例えばトラフィック参照テーブル147に記録されている電気スイッチ送信サーバ数151がMiであったとする。この場合、新たに1つのサーバ100が電気スイッチ104を用いて通信する場合のデータ伝送レートは1/(Mi+1)となる。
 従って、ある宛先サーバ148(例えば、サーバi)に通信データ116を送信する際に光スイッチ105を用いる場合の通信時間はKi+So+N/Roであり、電気スイッチ104を用いる場合の通信時間はSe+(Mi+1)N/Reである。ある宛先サーバ148(例えば、サーバi)に対する通信データ量閾値110をTiとしたとき、次の式が成り立つ。
 Ki+So+Ti/Ro=Se+(Mi+1)Ti/Re
 [初期化処理]
 図8に、各サーバ100の起動時に実行される初期化処理の実行手順を示す。図8は、図5のステップ145に代えて、トラフィック参照テーブル147の初期化処理(ステップ166及びステップ167)を実行する点で相違する。
 (ステップ166)
 当該ステップは、ステップ144の終了後(例えば、スイッチ制御サーバ106に対して電気スイッチ104のポート番号と光スイッチ105のポート番号を通知した後)に実行される。スイッチ制御サーバ106は、ローカルエリアネットワーク上で起動している全サーバの情報をメモリに記憶している。スイッチ制御サーバ106は、新たなサーバ100の起動を検知すると、既に起動中の全てのサーバ100に対しては新たに起動したサーバの情報を通知し、新たに起動したサーバ100に対しては既に起動している全てのサーバ100の情報を通知する。
 この後、他のサーバ100(例えば、サーバi)が起動したことを知った各サーバ100は、キュー構造のトラフィック参照テーブル147に宛先サーバ148(例えば、サーバi)の行を追加し、各項目を初期化する。例えばKi=0、Li=0、Mi=0などと初期化する。
 (ステップ167)
 新たに起動したサーバ100の閾値算出・設定機能129は、ディスク165上の設定ファイルから電気スイッチ104のデータ伝送レートReと、光スイッチ105のデータ伝送レートRoと、電気スイッチ104の通信オーバーヘッドSeと、光スイッチ105の通信オーバーヘッドSoをメモリ121に読み込む。前述したように、本実施例における通信データ量閾値110は送信の都度計算されるため、本ステップでは、通信データ量閾値110を計算することなく、起動シーケンスを終了する。
 [トラフィック制御信号の送信処理]
 本実施例におけるトラフィック参照テーブル147の各項目には、各時刻における宛先サーバ148(例えば、サーバi)に対する電気スイッチ104又は光スイッチ105を用いた通信利用状況が保持されている。これらの通信利用状況を全てのサーバ100で共有するための制御信号を、電気スイッチ104を用いて通信する必要がある。この制御信号をトラフィック制御信号と呼ぶこととする。本実施例では、通信データ116とトラフィック制御信号を区別するためのフラグを各通信のヘッダに付加する。当該フラグは、上位のデバイスドライバ128により処理される。
 トラフィック制御信号は、あるサーバ100が通信データ116を送信する際に、全てのサーバ100に宛ててブロードキャストされる。送信側であるサーバ100が電気スイッチ104を用いて宛先サーバ148(例えば、サーバi)に通信データ116を送信する場合、全てのサーバ100のトラフィック参照テーブル147における電気スイッチ送信サーバ数151(すなわち、Mi)が書き替えられる。一方、サーバ100が光スイッチ105を用いて宛先サーバ148(例えば、サーバi)に通信データ116を送信する場合、全てのサーバ100のトラフィック参照テーブル147における光スイッチ追加オーバーヘッド149(すなわち、Ki)と追加オーバーヘッドタイムスタンプ150(すなわち、Li)が書き替えられる。
 そこで、本実施例では、図6のステップ136とステップ137のそれぞれに、トラフィック制御信号のブロードキャスト送信処理を追加する。
 (ステップ136)
 電気スイッチ向けNICのデバイスドライバ131を呼び出す直前に、上位のデバイスドライバ128は、電気スイッチ104に接続する送受信機能部113を用いて他のサーバ100に対し、宛先サーバ148(例えば、サーバF)に通信データ116を送信することを通知するためのトラフィック制御信号をブロードキャストする。このトラフィック制御信号を受け取った他のサーバ100は、トラフィック参照テーブル147における宛先サーバ148(例えば、サーバF)の電気スイッチ送信サーバ数151(すなわち、MF)を、MF=MF+1とする。
 一方、電気スイッチ向けNICのデバイスドライバ131から処理が戻ると、上位のデバイスドライバ128は、電気スイッチ104に接続する送受信機能部113を用いて他のサーバ100に対して宛先サーバ148(例えば、サーバF)への送信が終了したことを通知するトラフィック制御信号をブロードキャストする。このトラフィック制御信号を受け取った各サーバ100は、トラフィック参照テーブル147における宛先サーバ148(例えば、サーバF)の電気スイッチ送信サーバ数151(すなわち、MF)を、MF=MF-1とする。
 (ステップ137)
 スイッチ制御サーバ106に宛先サーバ148(例えば、サーバF)への経路接続要求を送信する直前に、上位のデバイスドライバ128は、電気スイッチ104に接続する送受信機能部113を用いて他のサーバ100に対し、宛先サーバ148(例えば、サーバF)に対する光スイッチ105の経路を、So+N/Ro[s]で与えられる時間だけ確保することを通知するトラフィック制御信号をブロードキャストする。
 [トラフィック参照テーブルの書換処理]
 図9に、前述のステップ137でブロードキャストされたトラフィック制御信号を受け取った各サーバ100の上位のデバイスドライバ128で実行される書換処理を示す。
 (ステップ152)
 上位のデバイスドライバ128は、宛先サーバ148(例えば、サーバi)に対する光スイッチ105の経路が、So+N/Ro[s]で与えられる時間だけ確保される通知を受け取る。この際、タイムスタンプ取得機能部164が、現時刻のタイムスタンプLを取得する。
 (ステップ153)
 上位のデバイスドライバ128は、トラフィック参照テーブル147の宛先サーバ148(例えば、サーバi)に対する光スイッチ追加オーバーヘッド149(すなわち、Ki)を参照する。上位のデバイスドライバ128は、光スイッチ追加オーバーヘッド149が存在しない(Ki=0)ならばステップ154へ進み、光スイッチ追加オーバーヘッド149が存在する(Ki≠0)ならばステップ155に進む。
 (ステップ154)
 上位のデバイスドライバ128は、光スイッチ追加オーバーヘッド149(すなわち、Ki)を、Ki=So+N/Roとし、追加オーバーヘッドタイムスタンプ150(すなわち、Li)を、Li=Lとしてステップ157に進む。
 (ステップ155)
 上位のデバイスドライバ128は、光スイッチ追加オーバーヘッド149が時間経過のため消滅している(L-Li≧Ki)ならばステップ154に進み、光スイッチ追加オーバーヘッド149が未だ存在する(L-Li<Ki)ならばステップ156に進む。
 (ステップ156)
 上位のデバイスドライバ128は、Ki=Ki-(L-Li)+So+N/Ro、Li=Lとしてステップ157に進む。
 (ステップ157)
 上位のデバイスドライバ128は、トラフィック参照テーブルの書換処理を終了する。
 [通信データ量閾値の算出処理]
 図10に、上位のデバイスドライバ128が宛先サーバ148(例えば、サーバF)に対して通信データ116を送信する際に、トラフィック参照テーブル147の各項目の値を用いて通信データ量閾値110(すなわち、T)を算出する手順を示す。図10に示す処理は、図6のステップ134の代わりに実行される。
 (ステップ158)
 上位のデイバスドライバ128は、トラフィック参照テーブル147を参照し、宛先サーバ148(例えば、サーバF)に対して光スイッチ追加オーバーヘッド149(すなわち、KF)、追加オーバーヘッドタイムスタンプ150(すなわち、LF)、電気スイッチ送信サーバ数(すなわち、MF)を読み込む。また、タイムスタンプ取得機能部164が、現時刻のタイムスタンプLを取得する。
 (ステップ159)
 上位のデイバスドライバ128は、光スイッチ追加オーバーヘッド149が存在しない(KF=0)ならばステップ161に進み、光スイッチ追加オーバーヘッド149が存在する(KF≠0)ならばステップ160に進む。
 (ステップ160)
 上位のデイバスドライバ128は、光スイッチ追加オーバーヘッド149が時間経過のため消滅している(L-LF≧KF)ならばステップ161に進み、光スイッチ追加オーバーヘッド149が未だ存在する(L-LF<KF)ならばステップ162に進む。
 (ステップ161)
 上位のデイバスドライバ128は、KF=0、LF=Lに設定してステップ163に進む。
 (ステップ162)
 上位のデイバスドライバ128は、KF=KF-(L-LF)、LF=Lに設定してステップ163に進む。
 (ステップ163)
 閾値算出・設定機能部129は、通信データ量閾値Tを、次式に基づいて算出する。
T=RoRe(So+KF-Se)/((MF+1)Ro-Re)
 [本実施例の切替イメージ]
 図11は、通信に電気スイッチ104を用いると他のサーバ100と通信が衝突する状況にある場合における、電気スイッチ104と光スイッチ105のそれぞれの通信時間をプロットしたグラフである。データ伝送レートや通信オーバーヘッドの条件は図4と同じであるが、図11では、宛先サーバ148に対して同時に11台のサーバが通信データ116を送信する場合の通信時間をプロットしている。すなわち、電気スイッチ送信サーバ数151は、M=10である。このため、図4に示す通信データ量閾値110(すなわち、T)に比べ、図11の通信データ量閾値110(すなわち、T)は小さくなっている。この場合、通信が衝突する可能性の高い電気スイッチ104の使用頻度を下げ、代わりに光スイッチ105の使用頻度を上げるようにスイッチの選択が実行される。
 図12は、通信に光スイッチ105を用いると他のサーバ100と通信が衝突する状況にある場合における、電気スイッチ104と光スイッチ105のそれぞれの通信時間をプロットしたグラフである。データ伝送レートや通信オーバーヘッドの条件は図4と同じであるが、図12では、光スイッチ追加オーバーヘッド149が10ミリ秒存在する場合の通信時間をプロットしている。すなわち、光スイッチ追加オーバーヘッド149がK=10[ms]である。このため、図4中の通信データ量閾値110(すなわち、T)に比べ、図12の通信データ量閾値110(すなわち、T)は大きくなっている。この場合、通信が衝突する可能性の高い光スイッチ105の使用頻度を下げ、電気スイッチ104の使用頻度を上げるようにスイッチの選択が実行される。
 [まとめ]
 本実施例のサーバシステム200を構成する各サーバ100は、その通信データの送信に先立ってローカルエリアネットワークの通信利用状況(すなわち、電気スイッチ104と光スイッチ105の通信利用状況)を認識し、認識された通信利用状況に基づいて通信データ量閾値110(すなわち、T)を動的に設定する。このため、時々刻々と変化するローカルエリアネットワークの混雑状況に合致した最適なスイッチの選択が可能となり、サーバシステム200のスループットを安定的に向上させることができる。
 [実施例3]
 実施例2においては、通信路切替機能部101をソフトウェアで実現していたが、本実施例では、通信路切替機能部101をハードウェアで実現する。図13に、本実施例に係るサーバ100の構成を示す。本実施例の場合、ネットワークインターフェースカード166を、電気スイッチ104と光スイッチ105の双方に接続する。サーバ100が通信データ116を送信する際、ネットワークインターフェースカード166は、ASIC(Application Specific Integrated Circuit)として搭載する通信路切替機能部101、閾値算出・設定機能部129、リンク検出機能部130、トラフィック参照テーブル147及びタイムスタンプ取得機能部164を用いて電気スイッチ104又は光スイッチ105を選択して通信を行う。
 図14に、ネットワークインターフェースカード166により実行される通信データの送信処理の流れを示す。図14に示す処理の流れは、一連の処理がネットワークインターフェースカード166上のASICを通じて実行される点を除き、図6に示す処理と同じである。
 本実施例のように、通信路切替機能部101をASICのハードウェアとしてネットワークインターフェースカード166上に搭載することにより、実施例2に比してスループットの向上を実現できる。
 [実施例4]
 本実施例では、可能な限り電気スイッチ104と光スイッチ105の両方を使用して通信データ116を送信する手法について説明する。当該手法の採用により、電気スイッチ104及び光スイッチ105のいずれか一方だけを用いて通信する場合と比較して通信時間を更に短縮することができる。
 電気スイッチ104と光スイッチ105の両方を用いて通信データ116を送信するには、送信対象である通信データ116を分割する必要がある。例えば電気スイッチ104の送信時間と光スイッチ105の送信時間を等しくする場合、電気スイッチ104で送信する通信データ量115(すなわち、Ne)は、Ne=(ReN+RoRe(So-Se))/(Ro+Re)とし、光スイッチ105で送信する通信データ量115はNo=(RoN-RoRe(So-Se))/(Ro+Re)とすればよい。
 ただし、N=Ne+Noであり、Noが負となる場合(すなわち、N<Re(So-Se))には、通信データ116の全てを、電気スイッチ104を用いて送信する。つまり、本実施例のサーバシステム200における通信データ量閾値110(すなわち、T)は、T=Re(So-Se)で与えられ、閾値算出・設定機能129は、サーバ起動時に通信データ量閾値110(すなわち、T)を算出してメモリ121に保存する。
 通信データ量115(すなわち、N)が通信データ量閾値110(すなわち、T)より小さい場合(N<T)、通信路切替機能部101は電気スイッチ104を用いて通信し、反対に通信データ量115が通信データ量閾値110より大きい場合(N≧T)、通信路切替機能部101は電気スイッチ104と光スイッチ105の両方を用いて通信する。
 図15に、本実施例に係るサーバシステム200において実行される送信処理の流れを示す。なお、図15には、図6との対応部分に同一符号が付されており、以下では、図6とは異なる処理についてのみ説明する。
 (ステップ167)
 当該処理は、ステップ133の後、実行される。通信データ量比較機能部111は、通信データ量115(すなわち、N)と通信データ量閾値110(すなわち、T=Re(So-Se))とを比較する。通信データ振分機能部112は、N≧Tの場合にはステップ168に進み、N<Tの場合にはステップ136に進む。
 (ステップ168)
 上位のデバイスドライバ128は、電気スイッチ104を用いて送信する通信データ量Ne(=(ReN+RoRe(So-Se))/(Ro+Re))と、光スイッチ105を用いて送信する通信データ量No(=(RoN-RoRe(So-Se))/(Ro+Re))を算出する。
 (ステップ169)
 上位のデバイスドライバ128は、電気スイッチ向けNICのデバイスドライバ131を呼び出し、光スイッチ105の経路を確保するための宛先サーバへの接続要求をスイッチ制御サーバ106に送信するとともに、電気スイッチ104を用いて通信データ116の先頭アドレスAからNeバイトを送信する。なお、当該ステップ169の後、ステップ138及びステップ139が実行され、その後にステップ170が実行される。
 (ステップ170)
 上位のデバイスドライバ128は、光スイッチ向けNICのデバイスドライバ132を呼び出し、通信データ116のアドレス(A+Ne)からNoバイトを送信する。この後、上位のデバイスドライバ128は、ステップ141に進み、処理をユーザプログラム109に戻す。
 本実施例のように、通信データ量115が通信データ量閾値110よりも大きい場合には電気スイッチ104と光スイッチ105の両方を用いて通信データを送信することにより、サーバシステム200の通信能力を最大限に利用でき、スループットの更なる向上を実現できる。
 [実施例5]
 本実施例では、前述の実施例1~4に係るサーバシステム200を複数収容するサーバシステムについて説明する。図16に、本実施例に係るサーバシステム400の構成を示す。図16におけるToRスイッチ201は、スイッチ制御サーバ106と、電気スイッチ104と、光スイッチ105と、それらを接続する電気ケーブル102及び108に相当する。図16では、紙面サイズの都合により、ToRスイッチ201と各サーバ100とが1本の線で接続されているが、実際には前述の実施例同様、電気ケーブル102と光ファイバ103とで二重化されている。本実施例のサーバシステム400の場合、各サーバシステム200のToRスイッチ201は、Aggregationスイッチ202を介して、他のサーバシステム200のToRスイッチ201と通信する。
 [他の実施例]
 本発明は、上述した実施例の構成に限定されるものでなく、様々な変形例を含んでいる。例えば上述した実施例は、本発明を分かりやすく説明するために、一部の実施例について詳細に説明したものであり、必ずしも説明した全ての構成を備える必要は無い。また、ある実施例の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成に他の構成を追加し、又は、各実施例の一部構成を他の構成で置換し、又は各実施例の一部構成を削除することも可能である。
 また、上述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路その他のハードウェアとして実現しても良い。また、上記の各構成、機能等は、それぞれの機能を実現するプログラムをプロセッサが解釈して実行することにより実現しても良い。すなわち、各構成等をソフトウェアにより実現しても良い。この場合、各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記憶装置、ICカード、SDカード、DVD等の記憶媒体に格納することができる。
 また、制御線や情報線は、説明上必要と考えられるものを示すものであり、製品上必要な全ての制御線や情報線を表すものでない。実際にはほとんど全ての構成が相互に接続されていると考えて良い。
100 サーバ
101 通信路切替機能部
102 電気ケーブル
103 光ファイバ
104 電気スイッチ
105 光スイッチ
106 スイッチ制御サーバ
107 スイッチ制御部
108 電気ケーブル
109 ユーザプログラム
110 通信データ量閾値
111 通信データ量比較機能部
112 通信データ振分機能部
113 送受信機能部(電気ケーブルとの接続用)
114 送受信機能部(光ファイバとの接続用)
115 通信データ量
116 通信データ
120 CPU
121 メモリ
122 電気スイッチ向けNIC(Network Interface Card)
123 光スイッチ向けNIC(Network Interface Card)
124 光トランシーバ
125 送信用の光ファイバ
126 受信用の光ファイバ
128 上位のデバイスドライバ
129 閾値算出・設定機能部
130 リンク検出機能部
131 電気スイッチ向けNICのデバイスドライバ
132 光スイッチ向けNICのデバイスドライバ
147 トラフィック参照テーブル
148 宛先サーバ
149 光スイッチ追加オーバーヘッド
150 追加オーバーヘッドタイムスタンプ
151 電気スイッチ送信サーバ数
164 タイムスタンプ取得機能部
165 ディスク
166 ネットワークインターフェースカード
200 サーバシステム
201 ToR(Top of Rack)スイッチ
202 Aggregationスイッチ
400 サーバシステム

Claims (11)

  1.  第1のローカルエリアネットワークを構成するパケット交換ネットワークと、
     第2のローカルエリアネットワークを構成する回線交換ネットワークと、
     それぞれが前記パケット交換ネットワーク及び前記回線交換ネットワークの両方に接続される複数台のサーバであって、それぞれが通信データの送信に際してその通信データ量と通信データ量閾値とを比較し、その比較結果に基づいて前記パケット交換ネットワーク及び/又は前記回線交換ネットワークを前記通信データの通信路として選択する通信路切替機能部を有する複数台のサーバと
     を有するサーバシステム。
  2.  請求項1に記載のサーバシステムにおいて、
     前記パケット交換ネットワークは電気スイッチを有し、
     前記回線交換ネットワークは光スイッチと当該光スイッチを制御するスイッチ制御部とを有し、
     前記通信路切替機能部は、前記光スイッチの経路の切り替えを制御する制御データを、前記パケット交換ネットワークを通じて前記スイッチ制御部に送信する
     ことを特徴とするサーバシステム。
  3.  請求項1に記載のサーバシステムにおいて、
     前記通信路切替機能部は、ユーザプログラムから通信インターフェースを通じて呼び出されると共に、前記通信データ量を前記ユーザプログラムから前記通信インターフェースを通じて受け取るデバイスドライバである
     ことを特徴とするサーバシステム。
  4.  請求項1に記載のサーバシステムにおいて、
     前記複数台のサーバにおける前記通信路切替機能部は、いずれも、前記パケット交換ネットワークの通信利用状況を相互に通知すると共に、他のサーバによる前記パケット交換ネットワークの通信利用状況に応じて前記通信データ量閾値を変更する
     ことを特徴とするサーバシステム。
  5.  請求項4に記載のサーバシステムにおいて、
     前記通信路切替機能部は、前記通信データの送信前と送信後に、前記パケット交換ネットワーク経由で、前記通信データの通信に関するトラフィック制御信号をブロードキャストする
     ことを特徴とするサーバシステム。
  6.  請求項4に記載のサーバシステムにおいて、
     前記通信路切替機能部は、前記通信データの送信時における前記パケット交換ネットワークの通信利用状況に応じて前記通信データ量閾値を変更する
     ことを特徴とするサーバシステム。
  7.  請求項1に記載のサーバシステムにおいて、
     前記複数台のサーバにおける前記通信路切替機能部は、いずれも、前記回線交換ネットワークの利用状況を相互に通知すると共に、他のサーバによる前記回線交換ネットワークの利用状況に応じて通信データ量閾値を変更する
     ことを特徴とするサーバシステム。
  8.  請求項7に記載のサーバシステムにおいて、
     前記通信路切替機能部は、前記通信データの送信前と送信後に、前記パケット交換ネットワーク経由で、前記通信データの通信に関するトラフィック制御信号をブロードキャストする
     ことを特徴とするサーバシステム。
  9.  請求項7に記載のサーバシステムにおいて、
     前記通信路切替機能部は、前記通信データの送信時における前記回線交換ネットワークの通信利用状況に応じて前記通信データ量閾値を変更する
     ことを特徴とするサーバシステム。
  10.  請求項1に記載のサーバシステムにおいて、
     前記通信路切替機能部は、前記サーバのネットワークインターフェースカード上のASICに実装される
     ことを特徴とするサーバシステム。
  11.  請求項1に記載のサーバシステムにおいて、
     前記通信路切替機能部は、前記通信データ量が前記通信データ量閾値より小さい場合には前記パケット交換ネットワークのみを用いて通信し、前記通信データ量が前記通信データ量閾値よりも大きい場合には前記パケット交換ネットワークと前記回線交換ネットワークの両方を用いて通信する
     ことを特徴とするサーバシステム。
PCT/JP2014/076071 2014-09-30 2014-09-30 サーバシステム WO2016051498A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/076071 WO2016051498A1 (ja) 2014-09-30 2014-09-30 サーバシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/076071 WO2016051498A1 (ja) 2014-09-30 2014-09-30 サーバシステム

Publications (1)

Publication Number Publication Date
WO2016051498A1 true WO2016051498A1 (ja) 2016-04-07

Family

ID=55629596

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/076071 WO2016051498A1 (ja) 2014-09-30 2014-09-30 サーバシステム

Country Status (1)

Country Link
WO (1) WO2016051498A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023042596A1 (ja) * 2021-09-17 2023-03-23 国立研究開発法人産業技術総合研究所 通信制御方法、通信制御装置及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04270533A (ja) * 1991-02-26 1992-09-25 Fujitsu Ltd データ伝送装置
JP2001352335A (ja) * 2000-06-07 2001-12-21 Nec Corp Lan二重化システム及びそれに用いるlan二重化方法
JP2004112631A (ja) * 2002-09-20 2004-04-08 Hitachi Kokusai Electric Inc 交換方式選択装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04270533A (ja) * 1991-02-26 1992-09-25 Fujitsu Ltd データ伝送装置
JP2001352335A (ja) * 2000-06-07 2001-12-21 Nec Corp Lan二重化システム及びそれに用いるlan二重化方法
JP2004112631A (ja) * 2002-09-20 2004-04-08 Hitachi Kokusai Electric Inc 交換方式選択装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NATHAN FARRINGTON ET AL.: "Helios: A Hybrid Electrical/Optical Switch Architecture for Modular Data Centers", October 2010 (2010-10-01), Retrieved from the Internet <URL:http://www.sigcomm.org/ccr/papers/2010/October/1851275.1851223> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023042596A1 (ja) * 2021-09-17 2023-03-23 国立研究開発法人産業技術総合研究所 通信制御方法、通信制御装置及びプログラム

Similar Documents

Publication Publication Date Title
US10924352B2 (en) Data center network topology discovery
JP5497244B2 (ja) スイッチング・ネットワークにおいてフロー制御を実施するための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム
EP2304565B1 (en) Method and system for power management in a virtual machine environment withouth disrupting network connectivity
US9781041B2 (en) Systems and methods for native network interface controller (NIC) teaming load balancing
EP2157746B1 (en) Routing control system for L3VPN service network
EP2559206B1 (en) Method of identifying destination in a virtual environment
US10257066B2 (en) Interconnect congestion control in a storage grid
CN114531405B (zh) 一种流表处理方法及相关设备
US20150180769A1 (en) Scale-up of sdn control plane using virtual switch based overlay
US20120170477A1 (en) Computer, communication system, network connection switching method, and program
EP3251304A1 (en) Method and apparatus for connecting a gateway router to a set of scalable virtual ip network appliances in overlay networks
US20220286393A1 (en) Methods and apparatus to manage a physical network to reduce network dependencies in a multi-fabric virtual network
JP2013545359A (ja) スイッチング・ネットワークにおけるスイッチングのための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム
WO2015118429A1 (en) Method and system for supporting packet prioritization at a data network
CN110661718A (zh) 基于非随机流簇的路由
JP2015503274A (ja) 仮想レーンの動的割り当てを用いてファットツリートポロジにおける輻輳を緩和するためのシステムおよび方法
US20160285771A1 (en) Technique for achieving low latency in data center network environments
US9065862B2 (en) Communication device, method for controlling the communication device, and communication system
WO2012100671A1 (zh) 一种绑定物理网口的方法、网卡及通信系统
US8717909B1 (en) Methods and apparatus for route installation acknowledgement and acknowledgement aggregation in BGP
CN114521322A (zh) 动态发现网络中的服务节点
US8902738B2 (en) Dynamically adjusting active members in multichassis link bundle
WO2017041577A1 (zh) 一种管理链路聚合成员端口丢包的方法和装置
EP2924925A1 (en) Communication system, virtual-network management device, communication node, and communication method and program
CN109150709B (zh) 一种实现Mux机的方法、设备及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14903499

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14903499

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP