CN116010307A - Server resource allocation system, method and device - Google Patents
Server resource allocation system, method and device Download PDFInfo
- Publication number
- CN116010307A CN116010307A CN202211131558.4A CN202211131558A CN116010307A CN 116010307 A CN116010307 A CN 116010307A CN 202211131558 A CN202211131558 A CN 202211131558A CN 116010307 A CN116010307 A CN 116010307A
- Authority
- CN
- China
- Prior art keywords
- pcie
- server
- user
- request
- bmc
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000013468 resource allocation Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000007726 management method Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000011664 signaling Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008602 contraction Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
The disclosure provides a server resource allocation system, a method and a device, relates to the field of computers, and particularly relates to the field of cloud computing. The specific implementation scheme is as follows: a terminal, equipped with a device BMC (baseboard management controller), a device resource allocation system and a PCIE (high-speed serial computer expansion bus) device set, where the device BMC is configured to receive a PCIE resource request of a user and forward the PCIE resource request to the device resource allocation system, the device resource allocation system is configured to select a target PCIE device from the PCIE device set according to the PCIE resource request to allocate the target PCIE device to the user, and the device BMC is configured to send a server restart request for loading the target PCIE device to a server; and the server is configured to receive a server restarting request sent by the device BMC and load PCIE devices indicated in the server restarting request. The embodiment can simplify the elastic expansion flow of the server and improve the reliability.
Description
Technical Field
The disclosure relates to the field of computers, in particular to the field of cloud computing, and specifically relates to a server resource allocation system, a server resource allocation method and a server resource allocation device.
Background
The cloud server (Elastic Compute Service, abbreviated as ECS) is a computing service with elastically scalable processing capacity, and the management mode is simpler and more efficient than that of a physical server. The cloud server helps a user to quickly construct more stable and safe application, reduces difficulty in developing operation and maintenance and overall port cost, and enables the client to concentrate on innovation of core business.
With the development of server technology, the configuration of the server is more and more complex, and the function expansion is more and more extensive, wherein PCIE (peripheral component interconnect express, high-speed serial computer expansion bus) equipment is an important way for expanding the function of the server. Through the slot design of PCIE equipment, a user can freely match with various PCIE equipment.
At present, the PCIE equipment of the server is mainly of a solidified equipment type, such as a network card, a memory and the like, and a small amount of equipment processes supporting dynamic switching are also very complicated, so that the complexity of the system is greatly increased, the starting time of the server is prolonged, and the on-demand enabling is not really realized.
Disclosure of Invention
The present disclosure provides a server resource allocation system, method, apparatus, device, storage medium, and computer program product.
According to a first aspect of the present disclosure, there is provided a server resource allocation system comprising: the terminal is provided with a device BMC, a device resource allocation system and a PCIE device set, wherein the device BMC is configured to receive PCIE resource requests of users and forward the PCIE resource requests to the device resource allocation system, the device resource allocation system is configured to select target PCIE devices from the PCIE device set according to the PCIE resource requests and allocate the target PCIE devices to the users, and the device BMC is configured to send server restarting requests for loading the target PCIE devices to a server; and the server is configured to receive a server restarting request sent by the device BMC and load PCIE devices indicated in the server restarting request.
According to a second aspect of the present disclosure, there is provided a server resource allocation method, including: receiving PCIE resource requests of users; selecting target PCIE equipment from a PCIE equipment set according to the PCIE resource request and distributing the target PCIE equipment to the user; and sending a restart server request for indicating to load the target PCIE equipment to a server.
According to a third aspect of the present disclosure, there is provided a server resource allocation apparatus, including: the receiving unit is configured to receive PCIE resource requests of users; the allocation unit is configured to select a target PCIE device from a PCIE device set according to the PCIE resource request and allocate the target PCIE device to the user; and the sending unit is configured to send a restart server request for indicating loading of the target PCIE equipment to a server.
According to a fourth aspect of the present disclosure, there is provided an electronic device comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of the second aspect.
According to a fifth aspect of the present disclosure, there is provided a non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of the second aspect.
According to a sixth aspect of the present disclosure, there is provided a computer program product comprising a computer program which, when executed by a processor, implements the method of the second aspect.
According to the server resource distribution system, the method and the device, through adding the management control chips such as the device BMC (baseboard management controller, the baseboard management controller) and the like on the PCIE device side, if the server needs N resources, the PCIE device BMC is informed of the N resource information through the user operation interface, the device resource distribution system obtains the resource information of the device BMC, then the N resources are provided, the external environment is not relied on, the flow is greatly simplified, and the reliability of resource change and the delivery efficiency are improved.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The drawings are for a better understanding of the present solution and are not to be construed as limiting the present disclosure. Wherein:
FIG. 1a is a flow chart of a prior art server resource allocation method;
FIG. 1b is a flow chart of a server resource allocation method of the present disclosure;
FIG. 2 is an architecture diagram of a server resource allocation system of the present disclosure;
FIG. 3 is a flow chart of one embodiment of a server resource allocation method according to the present disclosure;
FIG. 4 is a flow chart of yet another embodiment of a server resource allocation method according to the present disclosure;
FIG. 5 is a schematic diagram of an embodiment of a server resource allocation apparatus according to the present disclosure;
fig. 6 is a schematic diagram of a computer system suitable for use in implementing embodiments of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
It should be noted that, without conflict, the embodiments of the present disclosure and features of the embodiments may be combined with each other. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1a shows a flow chart of a server resource allocation method in the prior art. And part of cloud manufacturers support software and hardware cooperation based on an open source framework (such as openstack) to realize the pluggable equipment. At present, a server in the server field deploys PCIE physical devices in advance, and the server loads all PCIE type devices by default.
In the prior art, a user may send a PCIE resource request for applying or releasing PCIE resources (network card/hard disk, etc.) through a user operation interface. And the user operation interface sends the PCIE resource request to the dispatching system. The scheduling system is a continuously working daemon, receives and responds to PCIE resource requests from users, and is responsible for creating and destroying instance control forwarding. And the scheduling system forwards the PCIE resource request to the complex network system, and finally reaches the target server cluster through the forwarding of the multi-stage network switch. The target server cluster is responsible for managing the server nodes, i.e., the device systems, under the cluster. And the equipment system sends the PCIE resource request to the equipment resource receiving system. The device resource receiving system is designed based on open source nova and is very complex. The device resource receiving system forwards the PCIE resource request to the device resource allocation system (a process running in the server node OS) to be responsible for executing real PCIE resource allocation and release. After the PCIE resources are allocated, the server is triggered to restart. The server will load the Option ROM (optional memory) of all PCIE devices when restarting. After the Option ROM of all PCIE devices is loaded, the server enters an OS (operating system), the OS can load PCIE resources applied by a user, for example, the user applies for 4 network cards and 4 disks, when the server enters the OS, the resources can be loaded, and the OS can see that the device has 4 network cards and 4 hard disks.
Fig. 1b is a flow chart illustrating a server resource allocation method of the present disclosure. And a management control chip with a BMC function is added at the PCIE equipment end and is named as equipment BMC. The user can send the PCIE resource request to the device BMC only through a simple general network system. The device BMC forwards the PCIE resource request to a device resource allocation system (a process running in the device OS), and is responsible for performing PCIE resource allocation and release. After the resources are allocated, the server is triggered to restart to enable the resources requested by the user to take effect. The server may directly access the OS without going through the BIOS (Basic Input Output System ).
The design using the BMC as the control center shown in fig. 1b only needs 6 steps (the design in fig. 1a is completed in at least 9 steps, and each system in the system comprises a plurality of subsystems) to realize rapid resource allocation, so that the complexity of the process is greatly simplified, the possibility of error is reduced, and the resource allocation time is shortened. Meanwhile, the design of the present disclosure is more general in terms of software and hardware requirements, reduces complexity in system development and maintenance, simplifies deployment, and improves delivery efficiency. Through the scheduling scheme taking the BMC as the center, after the user determines to start the equipment, the Option ROM of PCIE equipment is not needed to be loaded in the server starting stage, so that the server starting time is greatly shortened, the resource waste is reduced, and the user experience is improved.
Fig. 2 shows an architecture diagram of a server resource allocation system to which the present disclosure may be applied. A server resource allocation system comprising:
a terminal, equipped with a device BMC (Baseboard Management Controller ), a device resource allocation system and a PCIE (peripheral component interconnect express, high-speed serial computer expansion bus) device set, where the device BMC is configured to receive a PCIE resource request of a user and forward the PCIE resource request to the device resource allocation system, the device resource allocation system is configured to select a target PCIE device from the PCIE device set according to the PCIE resource request and allocate the target PCIE device to the user, and the device BMC is configured to send a server restart request for loading the target PCIE device to a server;
and the server is configured to receive a server restarting request sent by the device BMC and load PCIE devices indicated in the server restarting request.
The server can be provided with a server BMC, the server BMC can realize the functions of relevant control, information supervision and the like of the server, and the server BMC is a platform for intuitively presenting server information. The server client may obtain the server information by accessing the server BMC. The performance of the server is related to not only the CPU but also the PCIE devices mounted, and common PCIE devices include raid (redundant arrays of independent disks, disk array), gpu (graphics processing unit, graphics processor), nic (network interface controller ) card, hba (host bus adapter) card, fpga (field programmable gate array ), and the like. When the server leaves the factory, different PCIE devices (one or more matched devices) are configured according to the requirements. The BMC needs to obtain type, version information, vendor information, status information, bandwidth information, temperature information, and the like of the PCIE device. Currently, when each PCIE device is adapted, the BMC needs to be independently developed and maintained, and when the model is changed and the requirement is changed (PCIE device collocation is changed), the BMC code needs to be modified for adaptation.
The device BMC is added on the PCIE device side and used for managing and controlling all PCIE devices. The device BMC chip structure is basically the same as the server BMC, but with a slight difference in functionality.
The specific flow is shown in fig. 2:
1. and filling in the required PICE resources by the user through an operation interface on the terminal, and then generating a PCIE resource request by background software of the operation interface and sending the PCIE resource request to the BMC. For example, the user requests 2 net cards, 1T disk.
2. The device BMC forwards the resource request to the device resource allocation system.
3. And the device resource allocation system selects a target PCIE device from a plurality of selectable PCIE devices according to the PCIE resource request. For example, 2 out of 10 network cards are randomly selected. A disk with a capacity of 1T is randomly selected from 20 disks, and if all the disks do not reach 1T, a plurality of disks may be selected to be allocated to the user, for example, 2 disks with a capacity of 0.5T.
Optionally, attribute information of PCIE devices such as number, capacity, speed, brands and the like may be specified in the PCIE resource request of the user. The device resource allocation system can obtain attribute information of all PCIE devices, and then match with PCIE resource requests of users. If the number of PCIE devices that can be successfully matched is greater than the user's demand, the number of PCIE devices that can be matched may be randomly selected. Optionally, if some attribute information is not specified by the user, PCIE devices with better performance may be preferentially allocated to the user, for example, although the user requests a 0.5T disk, a 1T disk may be allocated under the condition of abundant resources, so that the user can conveniently expand capacity later, and device switching is not required.
Optionally, a history record of the user's service can be collected, and relevant information of expansion and contraction of the user can be counted. The resource demand of the user is predicted, and a prediction model can be trained in advance to predict by using the history of the user. And setting a distribution coefficient according to the probability of capacity expansion. For example, if the probability is increased by 90%, the allocation coefficient may be 1.9, i.e. 1.9 times the number of resources requested by the user, and if the user requests 1T disk, 1.9T may be allocated. If the predicted user capacity reduction, namely the capacity expansion probability is 0, the allocation coefficient is 1, and the resources are allocated completely according to the number of the resources requested by the user.
4. The device resource allocation system informs the device BMC which resources are allocated after the resources are allocated. The device BMC will then notify the server to restart to load these resources.
5. The server restarts to enter the operating system and loads the allocated PCIE resources.
The traffic data of the user, after arriving at the terminal, is directed to the PCIE resources allocated to it, for example, by modifying the packet address, so that the destination address of the user packet is modified to the address of the PCIE device allocated to him.
The system provided by the embodiment of the present disclosure allocates PCIE resources to users according to PCIE resource requests of the users, instead of allocating fixed resources to the users, thereby implementing device elastic provisioning and on-demand allocation, and making devices more intelligent. By installing the device BMC on the PCIE device side, the PCIE device can be flexibly managed, and the elastic expansion capacity, the effectiveness and the reliability of the cloud server product are enhanced. Cloud resources required by customers can be delivered quickly without a complex network, so that the deployment time of a single node is saved by more than a minute level.
In some optional implementations of this embodiment, the server is further configured to: sending a request to the device BMC to not load the optional memory; the device BMC is further configured to: and setting that the optional memory (Option ROM) of the PCIE equipment allocated to the user in the PCIE equipment set is unavailable according to the request of not loading the optional memory. The optional memory of the PCIE device is loaded when the default server is restarted under normal conditions, and after the user determines to start the device, the Option ROM is not required to be loaded in the server starting stage by using the scheduling scheme taking the BMC as the center, so that the starting time of the server is greatly shortened, the resource waste is reduced, and the user experience is improved.
In some optional implementations of this embodiment, the server includes a server BMC, signaling transmission is performed between the device BMC and the server BMC through an I2C interface by using an intelligent platform management interface protocol, and service data transmission is performed through a network interface.
The I2C bus only needs one data line and one clock line, the bus interface is integrated in the chip, a special interface circuit is not needed, and a filter of the on-chip interface circuit can filter burrs on bus data. Therefore, the I2C bus simplifies the PCB wiring of the hardware circuit, reduces the system cost and improves the system reliability. Because the I2C chip is not connected with the system except the two wires and a small amount of interrupt wires, the standardization and modularization of the I2C interface can be realized through the common IC of a user, and the I2C interface can be reused conveniently.
The I2C bus is a true multi-master bus, and if two or more hosts initialize data transfer at the same time, data corruption can be prevented by collision detection and arbitration, each device connected to the bus has a unique address, and any device can act as both a master and a slave, but only one master is allowed at the same time. The data transmission and address setting are set by software, and are very flexible. The addition and deletion of devices on the bus does not affect the normal operation of other devices. The server BMC sends control instructions to the device BMC and receives control instructions from the device BMC. The I2C bus is therefore particularly suitable for communication between the server BMC and the device BMC.
The signaling between the server and the device is transmitted through the I2C interface, so that the stability and reliability of the signaling can be ensured, and the telescoping performance of the server is ensured. The service data is transmitted through the network interface, so that the data transmission speed can be improved, and the smoothness of the service is ensured.
And the IPMI (Intelligent Platform Management Interface) protocol is adopted for communication, so that the product has universality, can be compatible with products of different manufacturers, and can reduce the production cost.
IPMI can span different operating systems, firmware and hardware platforms, and can intelligently monitor, control and automatically report back the operation status of a large number of servers so as to reduce the cost of the server system.
In some optional implementations of this embodiment, signaling transmission is performed between the device BMC and the device resource allocation system through a KCS interface, and service data transmission is performed through a network interface. The KCS interface is a sub-module under the BMC, and the initialization of the sub-module, including channel selection, clock enabling, and register mapping address (0 xCA2 default) are all completed by the BMC driver. After the KCS interface is initialized as necessary, the BIOS can directly access the KCS interface. The KCS interface is used to facilitate communications using IPMI (Intelligent Platform Management Interface ) protocols. The product has universality, can be compatible with products of different manufacturers, and can reduce the production cost.
The signaling between the device BMC and the device resource allocation system is transmitted through the KCS interface, so that the time delay can be reduced, the stability and reliability of the signaling are improved, and the expansion performance of the server is ensured. The service data is transmitted through the network interface, so that the data transmission speed can be improved, and the service fluency is ensured.
With continued reference to fig. 3, a flow 300 of one embodiment of a server resource allocation method according to the present disclosure is shown. The server resource allocation method comprises the following steps:
In this embodiment, the execution body of the server resource allocation method (for example, the terminal shown in fig. 1) may receive the PCIE resource request input by the user through a wired connection manner or a wireless connection manner. The user can send a PCIE resource request for applying or releasing PCIE resources (network card/hard disk, etc.) through a user operation interface of the terminal. For example, the user applies for 4 network cards and 4 disks.
In this embodiment, a target PCIE device is selected from a plurality of optional PCIE devices according to a PCIE resource request. For example, 2 out of 10 network cards are randomly selected. A disk with a capacity of 1T is randomly selected from 20 disks, and if all the disks do not reach 1T, a plurality of disks may be selected to be allocated to the user, for example, 2 disks with a capacity of 0.5T.
Optionally, attribute information of PCIE devices such as number, capacity, speed, brands and the like may be specified in the PCIE resource request of the user. The device resource allocation system can obtain attribute information of all PCIE devices, and then match with PCIE resource requests of users. If the number of PCIE devices that can be successfully matched is greater than the user's demand, the number of PCIE devices that can be matched may be randomly selected. Optionally, if some attribute information is not specified by the user, PCIE devices with better performance may be preferentially allocated to the user, for example, although the user requests a 0.5T disk, a 1T disk may be allocated under the condition of abundant resources, so that the user may expand capacity later, and no handover is required.
Optionally, a history record of the user's service can be collected, and relevant information of expansion and contraction of the user can be counted. The resource demand of the user is predicted, and a prediction model can be trained in advance to predict by using the history of the user. And setting a distribution coefficient according to the probability of capacity expansion. For example, if the probability is increased by 90%, the allocation coefficient may be 1.9, i.e. 1.9 times the number of resources requested by the user, and if the user requests 1T disk, 1.9T may be allocated. If the predicted user capacity reduction, namely the capacity expansion probability is 0, the allocation coefficient is 1, and the resources are allocated completely according to the number of the resources requested by the user.
In this embodiment, the device BMC may notify the server to restart to load the target PCIE device assigned to the user. The server restarts to enter the operating system or BIOS and loads the allocated PCIE resources. The server selects whether to enter the BIOS or OS according to the user's settings.
The traffic data of the user, after arriving at the device, is directed to the PCIE resource assigned to it, for example, by modifying the packet address, and modifying the destination address of the user packet to the address of the PCIE device assigned to him.
According to the method provided by the embodiment of the disclosure, management control chips such as BMC are added at the PCIE equipment end, such as a server needs N resources, N kinds of resource information are notified to the PCIE equipment side BMC through a user operation interface, the communication protocol adopts IPMI or a custom communication protocol, and the equipment resource distribution system acquires the resource information of the equipment BMC, so that N kinds of resources are provided, the external environment is not relied on, the flow is greatly simplified, and the reliability of resource change and the delivery efficiency are improved.
In some optional implementations of the present embodiment, the method further includes: if the PCIE equipment usage rate allocated to the user is detected to be smaller than a first preset threshold value, releasing a part of PCIE equipment allocated to the user; and if the PCIE equipment usage rate allocated to the user is detected to be larger than a second preset threshold value, selecting a part of PCIE equipment from the PCIE equipment set to be allocated to the user. In addition to expanding or shrinking according to the configuration of the user, the technical scheme of the present disclosure also supports adaptive expansion or shrinking. The usage rate of PCIE devices in the predetermined time may be counted, if the usage rate is lower than a first predetermined threshold (e.g., 50%), which indicates that the idle rate of PCIE devices is high, and a portion of resources may be released to be reallocated to other users, thereby improving the resource utilization rate. If the usage rate is greater than a second predetermined threshold (e.g., 95%), some PCIE resources may be reassigned to the user, sharing the pressure of PCIE devices assigned to the user, and implementing load balancing.
With continued reference to fig. 4, a flow 400 of yet another embodiment of a server resource allocation method according to the present disclosure is shown. The server resource allocation method comprises the following steps:
And step 402, selecting a target PCIE device from the PCIE device set to be allocated to the user according to the PCIE resource request.
Steps 401-402 are substantially the same as steps 201-202 and are therefore not described in detail.
In this embodiment, the user may determine the PCIE device to be started next time, and the user issues the instruction to the server through the operation interface of the terminal. The server informs the device BMC to control loading of the corresponding Option ROM and not loading of other types of devices. If the server is started or restarted without entering the BIOS, the server can be controlled to not load any Option ROM, so that the starting or restarting time under the server can be greatly shortened, the service on-line and deployment are accelerated, and the operation and maintenance time is shortened.
In this embodiment, the flag bit of the Option ROM allocated to the PCIE device of the user may be set to be unavailable, and the Option ROM may not be loaded when the server is restarted.
In this embodiment, the device BMC may notify the server to restart to load the target PCIE device assigned to the user. The server restarts to directly enter the operating system, loads the allocated PCIE resources and does not load the Option ROM.
The optional memory of the PCIE device is loaded when the default server is restarted under normal conditions, and after the user determines to start the device, the Option ROM is not required to be loaded in the server starting stage by using the scheduling scheme taking the BMC as the center, so that the starting time of the server is greatly shortened, the resource waste is reduced, and the user experience is improved.
With further reference to fig. 5, as an implementation of the method shown in the foregoing figures, the present disclosure provides an embodiment of a server resource allocation apparatus, where an embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 3, and the apparatus may be specifically applied in various electronic devices.
As shown in fig. 5, the server resource allocation apparatus 500 of the present embodiment includes: a receiving unit 501, an allocating unit 502 and a transmitting unit 503. Wherein, the receiving unit 501 is configured to receive a PCIE resource request of a user; an allocation unit 502, configured to select, according to the PCIE resource request, a target PCIE device from a PCIE device set to be allocated to the user; the sending unit 503 is configured to send a restart server request indicating loading of the target PCIE device to a server.
In this embodiment, specific processes of the receiving unit 501, the allocating unit 502, and the transmitting unit 503 of the server resource allocating apparatus 500 may refer to steps 301, 302, and 30 in the corresponding embodiment of fig. 3.
In some optional implementations of the present embodiment, the apparatus 500 further includes a disabling unit (not shown in the drawings) configured to: receiving a request which is sent by the server and is not used for loading the optional memory; and setting that the optional memory of the PCIE equipment distributed to the user in the PCIE equipment set is unavailable according to the request.
In some optional implementations of the present embodiment, the apparatus 500 further includes a telescoping unit (not shown in the drawings) configured to: if the PCIE equipment usage rate allocated to the user is detected to be smaller than a first preset threshold value, releasing a part of PCIE equipment allocated to the user; and if the PCIE equipment usage rate allocated to the user is detected to be larger than a second preset threshold value, selecting a part of PCIE equipment from the PCIE equipment set to be allocated to the user.
According to embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
An electronic device, comprising: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of flow 300.
A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of flow 300.
A computer program product comprising a computer program that when executed by a processor implements the method of flow 300.
Fig. 6 illustrates a schematic block diagram of an example electronic device 600 that may be used to implement embodiments of the present disclosure. Electronic devices are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 6, the apparatus 600 includes a computing unit 601 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data required for the operation of the device 600 may also be stored. The computing unit 601, ROM 602, and RAM603 are connected to each other by a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Various components in the device 600 are connected to the I/O interface 605, including: an input unit 606 such as a keyboard, mouse, etc.; an output unit 607 such as various types of displays, speakers, and the like; a storage unit 608, such as a magnetic disk, optical disk, or the like; and a communication unit 609 such as a network card, modem, wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as a server resource allocation method. For example, in some embodiments, the server resource allocation method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When the computer program is loaded into RAM603 and executed by computing unit 601, one or more steps of the server resource allocation method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the server resource allocation method in any other suitable way (e.g., by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server may be a cloud server, a server of a distributed system, or a server incorporating a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel or sequentially or in a different order, provided that the desired results of the technical solutions of the present disclosure are achieved, and are not limited herein.
The above detailed description should not be taken as limiting the scope of the present disclosure. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present disclosure are intended to be included within the scope of the present disclosure.
Claims (14)
1. A server resource allocation system, comprising:
the terminal is provided with a device BMC, a device resource allocation system and a PCIE device set, wherein the device BMC is configured to receive PCIE resource requests of users and forward the PCIE resource requests to the device resource allocation system, the device resource allocation system is configured to select target PCIE devices from the PCIE device set according to the PCIE resource requests and allocate the target PCIE devices to the users, and the device BMC is configured to send server restarting requests for loading the target PCIE devices to a server;
and the server is configured to receive a server restarting request sent by the device BMC and load the target PCIE device indicated in the server restarting request.
2. The system of claim 1, wherein,
the server is further configured to: sending a request to the device BMC to not load the optional memory;
the device BMC is further configured to: and setting that the optional memory of the PCIE equipment distributed to the user in the PCIE equipment set is unavailable according to the request of not loading the optional memory.
3. The system of claim 1, wherein the server comprises a server BMC, signaling transmission is performed between the device BMC and the server BMC through an I2C interface by using an intelligent platform management interface protocol, and service data transmission is performed through a network interface.
4. The system of claim 1, wherein signaling transmission is performed between the device BMC and the device resource allocation system through a KCS interface, and traffic data transmission is performed through a network interface.
5. The system of claim 1, wherein the device resource allocation system modifies a destination address of a data packet from the user to an address of the target PCIE device.
6. A server resource allocation method, comprising:
receiving PCIE resource requests of users;
selecting target PCIE equipment from a PCIE equipment set according to the PCIE resource request and distributing the target PCIE equipment to the user;
and sending a restart server request for indicating to load the target PCIE equipment to a server.
7. The method of claim 1, wherein the method further comprises:
receiving a request which is sent by the server and is not used for loading the optional memory;
and setting that the optional memory of the PCIE equipment distributed to the user in the PCIE equipment set is unavailable according to the request.
8. The method of claim 1, wherein the method further comprises:
if the PCIE equipment usage rate allocated to the user is detected to be smaller than a first preset threshold value, releasing a part of PCIE equipment allocated to the user;
and if the PCIE equipment usage rate allocated to the user is detected to be larger than a second preset threshold value, selecting a part of PCIE equipment from the PCIE equipment set to be allocated to the user.
9. A server resource allocation apparatus, comprising:
the receiving unit is configured to receive PCIE resource requests of users;
the allocation unit is configured to select a target PCIE device from a PCIE device set according to the PCIE resource request and allocate the target PCIE device to the user;
and the sending unit is configured to send a restart server request for indicating loading of the target PCIE equipment to a server.
10. The apparatus of claim 9, wherein the apparatus further comprises a disabling unit configured to:
receiving a request which is sent by the server and is not used for loading the optional memory;
and setting that the optional memory of the PCIE equipment distributed to the user in the PCIE equipment set is unavailable according to the request.
11. The apparatus of claim 9, wherein the apparatus further comprises a telescoping unit configured to:
if the PCIE equipment usage rate allocated to the user is detected to be smaller than a first preset threshold value, releasing a part of PCIE equipment allocated to the user;
and if the PCIE equipment usage rate allocated to the user is detected to be larger than a second preset threshold value, selecting a part of PCIE equipment from the PCIE equipment set to be allocated to the user.
12. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein,,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 6-8.
13. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of claims 6-8.
14. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any of claims 6-8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211131558.4A CN116010307A (en) | 2022-09-15 | 2022-09-15 | Server resource allocation system, method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211131558.4A CN116010307A (en) | 2022-09-15 | 2022-09-15 | Server resource allocation system, method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010307A true CN116010307A (en) | 2023-04-25 |
Family
ID=86030528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211131558.4A Pending CN116010307A (en) | 2022-09-15 | 2022-09-15 | Server resource allocation system, method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010307A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725014A (en) * | 2024-02-04 | 2024-03-19 | 珠海星云智联科技有限公司 | PCIE equipment attribute modification method and related device in DPU scene |
-
2022
- 2022-09-15 CN CN202211131558.4A patent/CN116010307A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725014A (en) * | 2024-02-04 | 2024-03-19 | 珠海星云智联科技有限公司 | PCIE equipment attribute modification method and related device in DPU scene |
CN117725014B (en) * | 2024-02-04 | 2024-05-28 | 珠海星云智联科技有限公司 | PCIE equipment attribute modification method and related device in DPU scene |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11392417B2 (en) | Ultraconverged systems having multiple availability zones | |
US10318443B2 (en) | Computer device and configuration and management method of computer device | |
US8495255B2 (en) | Discovery and configuration of device configurations | |
US8468276B2 (en) | Configuring an input/output adapter | |
US8745238B2 (en) | Virtual hot inserting functions in a shared I/O environment | |
US9792240B2 (en) | Method for dynamic configuration of a PCIE slot device for single or multi root ability | |
CN103609077B (en) | Method, apparatus and system for data transmission, and physical adapter | |
US9361255B2 (en) | Method for controlling I/O switch, method for controlling virtual computer, and computer system | |
US10372639B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
WO2014026374A1 (en) | Server system, management method, and device | |
JP2009075718A (en) | Method of managing virtual i/o path, information processing system, and program | |
WO2013086861A1 (en) | Method for accessing multi-path input/output (i/o) equipment, i/o multi-path manager and system | |
CN115617463B (en) | Target creating system and method based on virtualization platform | |
CN114860387B (en) | I/O virtualization method of HBA controller for virtualization storage application | |
CN111158905A (en) | Method and device for adjusting resources | |
CN116010307A (en) | Server resource allocation system, method and device | |
CN111247508A (en) | Network storage architecture | |
CN109962941B (en) | Communication method, device and server | |
CN117453242A (en) | Application updating method of virtual machine, computing equipment and computing system | |
WO2021244500A1 (en) | Backup state determination method, apparatus and system | |
JP2010231601A (en) | Grid computing system, method and program for controlling resource | |
US10951537B1 (en) | Adjustable receive queue for processing packets in a network device | |
US11061838B1 (en) | System and method for graphics processing unit management infrastructure for real time data collection | |
US11003612B2 (en) | Processor/endpoint connection configuration system | |
CN220509429U (en) | SoC server and electronic equipment based on CXL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |