This application claims the priority benefit of Taiwan application serial no. 105125444, filed on Aug. 10, 2016. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
The present invention relates to an apparatus assigning technology, and particularly to an apparatus assigning controller and an apparatus assigning method.
With the development of the cloud network technology, the demand for cloud computing and data access is growing, many manufacturers provide hardware device virtualization technology to improve the equipment utilization rate of the server. The hardware device virtualization technology can be applied on various peripheral apparatus, such as the peripheral apparatus like the network interface controller (NIC) adopting the peripheral component interconnect express (PCIe), RAID HBA, etc.
In building the cloud computing centers, in order to meet the requirements of massive computation and data access, the servers are increased and the peripheral apparatuses such as general purpose computing on graphics processing units (PGPU), network card, data storage controller card are installed in the cloud computing center continuously, so as to supply the sufficient hardware. However, the installed peripheral apparatuses can only be utilized on the server, and when the server idled, the peripheral apparatuses are also idled and the unnecessary wastage is caused.
Therefore, the abovementioned situation will cause the hardware apparatus redundancy of the cloud computing center on the server, and the cost of building the cloud computing centers for the manufacturers is also increased. Regardless of the usage of the server, lots of the peripheral apparatuses are installed on all of the servers, and the unnecessary peripheral apparatuses may not only increase the cost on building the cloud computing center, they may also increase the power consumption, so the current trend of green energy is not satisfied.
The present invention provides an apparatus assigning controller and an apparatus assigning method, dynamically assigning a plurality of peripheral apparatuses to the server through additionally disposed apparatus assigning controller, so that the using efficiency of the server can be increased and the waste of energy can be avoided.
The apparatus assigning controller of the invention includes a plurality of peripheral apparatuses, a processor, and a communication interface. The peripheral apparatus meets the peripheral component interconnect express. The processor is coupled to the peripheral apparatuses by a bus meeting the peripheral component interconnect express. The communication interface is coupled to the processor, and meets the peripheral component interconnect express. A server is coupled to the apparatus assigning controller through the communication interface. When the server is started, the processor receives an apparatus scanning requirement of the server, and provides a predetermined apparatus information to the server, wherein the server reserves a corresponding hardware resource and a corresponding memory space according to the predetermined apparatus information. The processor assigns the peripheral apparatuses to the server, wherein a number of the peripheral apparatuses of each kind is not greater than a number of the peripheral apparatuses of the kinds recorded in a predetermined apparatus information.
In an embodiment of the invention, the processor virtualizes the peripheral apparatuses into a plurality of virtual apparatuses through a single root I/O virtualization specification, and dynamically assigns the virtual apparatuses to the server.
In an embodiment of the invention, the peripheral apparatus includes physical apparatus. The apparatus assigning controller is configured to dynamically assign the physical apparatus to the server.
In an embodiment of the invention, the processor dynamically assigns the peripheral apparatus to the server according to the apparatus request of the server.
In an embodiment of the invention, when the apparatus request of the server is changed, the processor retrieves or reassigns the peripheral apparatus to the server according to the apparatus request of the server.
In an embodiment of the invention, when the hot-plug event occurs on the peripheral apparatus, the processor retrieves or reassigns the peripheral apparatus to the server according to the apparatus request of the server.
In an embodiment of the invention, the step of assigning the peripheral apparatuses to the server includes: virtualizing the peripheral apparatuses into a plurality of virtual apparatuses through a single root 1/O virtualization specification, dynamically assigning the virtual apparatuses to the server, and make the virtual apparatuses coupled to the server.
In an embodiment of the invention, the peripheral apparatus includes physical apparatus, and the step of assigning the peripheral apparatus to the server includes: making the physical apparatus coupled to the apparatus assigning controller.
In an embodiment of the invention, the step of assigning the peripheral apparatus to the server include: assigning the peripheral apparatus to the server according to the apparatus request of the server.
In an embodiment of the invention, the step of assigning the peripheral apparatus to the server further includes: when the apparatus request of the server is changed, retrieving or reassigning the peripheral apparatus to the server according to the apparatus request of the server.
In an embodiment of the invention, the step of assigning the peripheral apparatus to the server further includes: when the hot-plugging occurs on the peripheral apparatus, retrieving or reassigning the peripheral apparatus to the server according to the apparatus request of the server.
Based on the above, when the server is just started, the apparatus assigning controller and the apparatus assigning method of the embodiment of the invention provide predetermined apparatus information to the server, so that the server can reserve the hardware resource and the memory space in advance through the predetermined apparatus information, therefore, the plurality of peripheral apparatuses assigned by the apparatus assigning controller can be supported through the previously reserved hardware resource and the memory space in the server, and the apparatus assigning controller is prevented from struggling to provide more peripheral apparatuses to the server. In other words, through the corresponding technology of reserving the hardware resource, the failure of the supporting of the corresponding server is not concerned when the apparatus assigning controller is assigning the peripheral apparatus to the server through dynamic assigning. By doing so, the embodiment of the invention can effectively increase using efficiency of the server and avoid the waste of the energy.
To make the above features and advantages of the disclosure more comprehensible, several embodiments accompanied with drawings are described in detail as follows.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
The embodiment of the present invention provides an assigning method of the peripheral apparatus and an apparatus assigning controller in the connection relation between the peripheral apparatus and the server, so that the hardware resource and the memory space able to provide maximum usage level are reserved when the server is started, so as to let the apparatus assigning controller perform the assigning of the peripheral apparatus. Also, the peripheral apparatus may be retrieved or reassigned directly in dynamic method according to the apparatus request or the hot-plugging of the server, and there is no need to turn on or turn off of the power of the server or the apparatus assigning controller again. By doing so, the saving of the energy can be achieved effectively and the using efficiency of the peripheral apparatus can be increased.
Among the full text of the specification of the invention (include the claims), the used term “couple (or connect)” may be referred to as any direct or indirect connection method. For instance, if “first device is connected to second device” is described in the paragraph, then it should be interpreted as “first device may be directly connected to second device”, or “first device may be indirectly connected to second device through other device or some kind of connection method”. Moreover, elements/components/steps with same reference numerals represent same or similar parts in the drawings and embodiments. Same numerals or same terms of the elements/components/steps used in different embodiments may be referred to the cross-reference instruction mutually.
In the embodiment, the apparatus assigning controller 100 is configured to dynamically assign the peripheral apparatuses 110 to one or a plurality of physical servers 200. In the embodiment, the apparatus assigning controller 100 is configured to assign the coupling status between the peripheral apparatus 110 and the server 200.
The processor 110 may be configured to execute the apparatus assigning method of each embodiment of the invention, the processor 110 is central processing unit (CPU), for example, so as to achieve the apparatus assigning method described in the invention through the program of the software or the logic circuit of the hardware.
The peripheral apparatus 110 may include a graphics processing unit (GPU), a general-purpose computing on graphics processing unit (GPGPU), a non-volatile memory express (NVMe), a solid state disk (SSD), a network interface controller (NIC), a field-programmable gate array (FPGA), a redundant array of independent disk (RAID) or any other similar apparatus or the combination thereof. For instance, if the various peripheral apparatuses support single root I/O virtualization (SR-IOV) specification, the apparatus assigning controller can virtualize the peripheral apparatus into a plurality of virtual apparatuses supporting the single root I/O virtualization technique, and further include one or a plurality of PCIe physical function (PF). In addition, each physical function may correspond to at least one virtual function virtual function (VF), wherein the virtual function may be used and assigned as virtual machine (single root I/O virtualization SRIOV is transformed into multi-root I/O virtualization MRIOV for the usage). That is, the single root I/O virtualization specification is referred to an extended function of the PCIe, so that the physical peripheral apparatus shows a plurality of virtual apparatuses. For instance, a physical function can be divided into 64 virtual functions correspondingly. Therefore, in the embodiment, the processor 120 can further virtualize the peripheral apparatuses 110 into a plurality of virtual apparatuses through the single root I/O virtualization specification, and dynamically assign the virtual apparatuses according to the apparatus request of the server 110. However, in the embodiment, the peripheral apparatus may also include a plurality of physical apparatuses providing the physical function directly, the invention is not limited thereto.
The communication interface 130 may include a plurality of ports for high-speed communication transmission, and these ports meet the peripheral component interconnect express. In the embodiment, the communication interface 130 is coupled to the server 200 through the cable, so as to provide the data transmission function between the peripheral apparatus 110 and the server 120. However, in the embodiment of the invention, the coupling method between the apparatus assigning controller 100 and the server 200 can be decided according to the transmission interface adopted by the person applying the present invention, and the mutual communication is performed through the peripheral component interconnect express, the invention is not limited thereto.
The server 200 can be the apparatus having the central processing unit (CPU) like the rack-mount or tower servers, desktop computer, laptop, etc.
For instance,
In the embodiment, the apparatus assigning controller 300 is coupled to the servers 410, 420 through the ports 331, 332, . . . , 32M. In the embodiment, the apparatus assigning controller 300 can use the processor to assign the peripheral apparatuses 311, 312, 313, . . . , 31N to the server 410 or server 420 respectively according to the apparatus request of the servers 410, 420 respectively, so that the operation system of the servers 410, 420 can use the functions of the peripheral apparatuses 311, 312, . . . , 31 according to each apparatus request. That is, the apparatus assigning controller 300 can choose to couple to the servers 410, 420 through the ports 331, 332, . . . , 32M according to the apparatus request of the servers 410, 420, so that the peripheral apparatuses needed by each of the servers are further provided to the servers 410, 420 respectively. For instance, the network interface card and the solid state disk are assigned to the server 410, and the graphic processor, programmable gate arrays, and disk arrays are assigned to the server 420. In the embodiment, the apparatus request of the server is referred to the hardware resource needed when the server is executing the calculation or the data accessing operation, such as the graphic processor needed when the server is executing the calculation of graphic processing, or the data storage apparatus needed when the server is executing the data accessing operation, etc. Possibly, due to the insufficiency of the hardware resource of the server, it is necessary to propose the apparatus request to the apparatus assigning controller 300. In the embodiment, the apparatus request of each of the servers 410, 420 is determined according to the content of the work in process respectively, the invention is not limited thereto.
It should be noted that the type and number of the peripheral apparatuses and communication interface of the invention are not limited to the illustration in
Referring to
For example, 3 graphic processors and 4 network interface cards may be disposed in the apparatus assigning controller 100 recorded in the predetermined apparatus information EI, and each server 200 reserves the hardware resource and the memory space able to be configured to execute 3 graphic processors and 4 network interface cards first. When the server 200 is started, the processor 120 assigns 2 graphic processors and 1 network interface card to one of the server 200 according to one of the apparatus request of the server 200. Or, the processor 120 assigns all of the graphic processors and network interface cards to one of the server 200 according to one of the apparatus request of the server 200. That is, the number of each kind of the peripheral apparatuses 110 able to be received by each server 200 is not greater than the number recorded in the predetermined apparatus information, and the assignable number of each kind of the peripheral apparatuses 110 is equal to the number of the kinds recorded in the predetermined apparatus information at most. By doing so, the apparatus assigning controller 100 can prevent the bandwidth and memory space for the execution of at least one of the function of the peripheral apparatuses 110 from restriction due to resource allocation after the operation system of any one of the servers 200 is started.
Specifically, after the server 200 is started, the server 200 transmits the apparatus scanning requirement to the apparatus assigning controller 100, for the purpose of scanning the apparatus assigning controller 100 to obtain the related apparatus information about the kinds and number of the peripheral apparatuses 110 contained therein, so as to provide the usage for the operation system of the started server 200. However, the apparatus assigning controller 100 lets the started server 200 able to directly scan the apparatus information of the peripheral apparatus 110. Or, after the turning on of the server 200 is completed, the apparatus assigning is performed by the assigning controller 100. In the case of assigning controller 100 performing the apparatus assigning after the turning on of the server 200 is completed, the apparatus assigning controller 100 outputs the predetermined apparatus information EI to the started server 200. Therefore, each started server 200 reserves the corresponding hardware resource and memory space according to the predetermined apparatus information EI. The hardware resource is the amount or serial number of the communication bus, for example.
In an embodiment of the invention, the predetermined apparatus information EI can be configured as the related apparatus information of various kinds and maximum amount of the peripheral apparatuses able to be assigned by the apparatus assigning controller 100, so that the hardware resource and the memory space able to provide maximum usage level are reserved after the predetermined apparatus information EI is received. In such a way, after the operation system of the server 200 is started, the processor 120 may retrieve the peripheral apparatus 110 assigned to the server 200 according to the apparatus request of the server 200, and reassign the peripheral apparatus 110 to the server 200 currently having the apparatus request. That is, after the operation system of the server 200 is started, the number of the peripheral apparatuses 110 assigned by the apparatus assigning controller 100 to the server 200 is not limited by the insufficient hardware resource, bandwidth, or memory space reserved by the server 200, and the peripheral apparatus 110 is dynamically assigned to the server 200. The apparatus assigning controller 100 can assign lots of, even all of the peripheral apparatuses 110 for the execution of the operation system of the server 200 according to the apparatus request of the server 200.
For instance,
Referring to
For instance,
In addition, the teachings, suggestions, and embodiments of the apparatus assigning controller and the related apparatus features of the server and the apparatus assigning method of the invention can be fully illustrated by the above descriptions related to each of the embodiments of
Based on the above, at least one server able to be coupled to the apparatus assigning controller of the embodiment of the invention reserves the maximum number of the PCIe buses and memory space when the server is just started, therefore, the plurality of peripheral apparatuses assigned by the apparatus assigning controller can be supported through the previously reserved hardware resource and the memory space in the server, and the apparatus assigning controller is prevented from struggling to provide more peripheral apparatuses to the server. In other words, through the corresponding technology of reserving the hardware resource, the failure of the supporting of the corresponding server is not concerned when the apparatus assigning controller is assigning the peripheral apparatus to the server through dynamic assigning. By doing so, the embodiment of the invention can effectively increase using efficiency of the server and avoid the waste of the energy. Besides, about the occurrence of the hot-plugging on the peripheral apparatus, the apparatus assigning controller of the embodiment of the invention adjusts the rest of the peripheral apparatuses to the server by the method of dynamic assigning, and the server and the apparatus assigning controller needs no re-turning on.
It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed embodiments without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the invention covers modifications and variations provided that they fall within the scope of the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
105125444 | Aug 2016 | TW | national |