CN109743207B - Server performance adjusting method and server - Google Patents

Server performance adjusting method and server Download PDF

Info

Publication number
CN109743207B
CN109743207B CN201811653617.8A CN201811653617A CN109743207B CN 109743207 B CN109743207 B CN 109743207B CN 201811653617 A CN201811653617 A CN 201811653617A CN 109743207 B CN109743207 B CN 109743207B
Authority
CN
China
Prior art keywords
network card
performance
server
data table
configuration management
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.)
Active
Application number
CN201811653617.8A
Other languages
Chinese (zh)
Other versions
CN109743207A (en
Inventor
何岚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201811653617.8A priority Critical patent/CN109743207B/en
Publication of CN109743207A publication Critical patent/CN109743207A/en
Application granted granted Critical
Publication of CN109743207B publication Critical patent/CN109743207B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

The present disclosure provides a server performance adjusting method, including: acquiring network card load information of a server; and adjusting the performance mode setting of the server in the boot system in the running process of the server based on the network card load information. The present disclosure also provides a server.

Description

Server performance adjusting method and server
Technical Field
The disclosure relates to a server performance adjusting method and a server.
Background
In the process of using the server, when the load of the server changes, the user wants to enable the server to exert the performance which is most matched with the load by adjusting the performance mode setting of the server in the guide system, and further, the computing resource of the server is utilized to the maximum extent. In the prior art, often, a user needs to manually adjust, specifically, restarting a server to enter a performance mode setting of the server in a boot system, which is manually adjusted, and this process is time-consuming and labor-consuming and requires interruption of the service of the server.
Disclosure of Invention
One aspect of the present disclosure provides a server performance adjusting method, including: and acquiring network card load information of the server, and adjusting the performance mode setting of the server in the boot system in the running process of the server based on the acquired network card load information.
Optionally, the obtaining network card load information of the server includes: the network card driver reads the state statistic register group of the corresponding network card to obtain at least one of the following state information of the corresponding network card: the number of data packets received by the network card, the size of the data packets received by the network card, the speed at which the data packets are received by the network card, the number of data packets transmitted by the network card, the size of data packets transmitted by the network card, and the speed at which the data packets are transmitted by the network card. And the network card driver calculates the load value of the corresponding network card based on the at least one state information.
Optionally, after the network card driver calculates the load value of the corresponding network card based on the at least one piece of status information, when the load value of the network card is higher than a highest threshold or lower than a lowest threshold, the network card driver transmits a performance adjustment request to a boot system of the server through a pre-negotiated configuration management data table, where the performance adjustment request includes information representing an expected performance mode of the network card. The adjusting the performance mode setting of the server in the boot system in the running process of the server based on the acquired network card load information includes: the boot system configures a specific register set of the processor according to the performance adjustment request to set the performance mode to a desired performance mode of the network card.
Optionally, the delivering, by the network card driver, the performance adjustment request to the boot system of the server through the pre-negotiated configuration management data table includes: the network card driver acquires the configuration management data table from the server memory, fills the expected performance mode of the corresponding network card in the configuration management data table according to the identification information of the network card in the configuration management data table, and triggers a guidance system to operate through a specified interface; or, the network card driver acquires the configuration management data table from the server memory, fills the identification information and expected performance mode of the corresponding network card in the configuration management data table, and triggers the boot system to operate through the specified interface. The directing system configuring a particular register set of the processor in accordance with the performance adjustment request includes: and the boot system reads the configuration management data table filled by the network card driver from the server memory after being triggered, acquires corresponding performance state configuration parameters according to the expected performance mode in the configuration management data table, and writes the performance state configuration parameters into one or more corresponding specific registers.
Optionally, the identification information of the network card includes at least one of the following: the system comprises a network card, a guidance system and a performance adjusting system, wherein the guidance system comprises manufacturer identification information of the network card, type identification information of the network card and/or a serial number of the network card, and the guidance system distinguishes performance adjusting requests corresponding to different network cards based on the identification information of the network card.
Optionally, the method further includes: and when the configuration management data table comprises expected performance modes of the network cards and the expected performance modes of the network cards are different, the boot system sets the performance modes according to the expected performance mode of the highest level.
Optionally, the method further includes: before filling the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode of the corresponding network card, and/or if an identifier representing that the corresponding network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, the network card driver does not transmit a performance adjustment request to the boot system any more.
Optionally, the method further includes: after reading the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode of the network card, and/or if an identifier representing that the network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, the boot system does not adjust the performance mode setting according to the performance adjustment request corresponding to the network card.
Optionally, the method further includes: after the boot system adjusts the performance mode setting, the adjusted performance mode setting is updated to the configuration management data table, and the identifier representing whether each network card is allowed to perform performance mode adjustment is updated to the configuration management data table.
Another aspect of the present disclosure provides a server, including: a network card driver and a boot system. The network card driver is used for acquiring network card load information of the server. And the boot system is used for adjusting the performance mode setting of the server in the boot system in the running process of the server based on the network card load information.
Optionally, the network card driver includes a reading module and a calculating module. The reading module is used for reading the state statistic register group of the corresponding network card and obtaining at least one of the following state information of the network card: the number of data packets received by the network card, the size of the data packets received by the network card, the speed at which the data packets are received by the network card, the number of data packets transmitted by the network card, the size of the data packets transmitted by the network card, and/or the speed at which the data packets are transmitted by the network card. The calculation module is used for calculating and obtaining the load value of the corresponding network card based on the at least one state information.
Optionally, the network card driver further includes a request module, configured to transmit a performance adjustment request to the boot system of the server through a pre-negotiated configuration management data table when the load value of the network card is higher than a highest threshold or lower than a lowest threshold after the calculation module obtains the load value of the corresponding network card. The boot system includes an adjustment module for configuring a specific register set of the processor in accordance with a performance adjustment request to set a performance mode to a desired performance mode of the network card.
Optionally, the request module is specifically configured to obtain the configuration management data table from the server memory, fill the expected performance mode of the corresponding network card in the configuration management data table according to the identification information of the network card in the configuration management data table, and trigger the guidance system to operate through the specified interface. Or, the request module is specifically configured to obtain a configuration management data table from a server memory, fill in the configuration management data table with identification information and an expected performance mode of a corresponding network card, and trigger the boot system to operate through a specified interface. The adjusting module is specifically configured to read the configuration management data table filled by the network card driver from the server memory after being triggered, obtain corresponding performance state configuration parameters according to an expected performance mode in the configuration management data table, and write the performance state configuration parameters into the corresponding one or more specific registers.
Optionally, the identification information of the network card includes at least one of the following: vendor identification information of the network card, type identification information of the network card, and/or a serial number of the network card. The guiding system also comprises an identification module used for distinguishing the performance adjusting requests transmitted by different network cards based on the manufacturer identification information of the network cards, the type identification information of the network cards and/or the serial numbers of the network cards.
Optionally, the boot system further includes a scheduling module, configured to set the performance mode according to a highest-level expected performance mode when the configuration management data table includes expected performance modes of the multiple network cards and the expected performance modes of the multiple network cards are different.
Optionally, the network card driver further includes a prejudging module, configured to, before filling in the configuration management data table, if a current performance mode setting recorded in the configuration management data table is the same as the expected performance mode, and/or if an identifier indicating that the network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, no performance adjustment request is transmitted to the boot system.
Optionally, the boot system further includes a prejudgment module, configured to, after reading the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode, and/or if an identifier indicating that the network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, no longer adjust the performance mode setting according to the performance adjustment request of the network card.
Optionally, the boot system further includes an updating module, configured to update the adjusted performance mode setting to the configuration management data table after adjusting the performance mode setting, and update an identifier indicating whether to allow each network card to perform performance mode adjustment to the configuration management data table.
Another aspect of the present disclosure provides a server, including: network card, processor and memory. The memory stores a computer program operable on a processor, which when executed implements the method as described above.
Another aspect of the present disclosure provides a computer-readable storage medium storing computer-executable instructions for implementing the method as described above when executed.
Another aspect of the disclosure provides a computer program comprising computer executable instructions for implementing the method as described above when executed.
Drawings
For a more complete understanding of the present disclosure and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:
fig. 1 schematically illustrates an application scenario of a server and a server performance adjustment method according to an embodiment of the present disclosure;
FIG. 2 schematically illustrates a flow chart of a server performance adjustment method according to an embodiment of the present disclosure;
FIG. 3A schematically illustrates a flow chart of a method of server performance adjustment according to another embodiment of the present disclosure;
FIG. 3B schematically illustrates a flow chart of a method of server performance adjustment according to another embodiment of the present disclosure;
FIG. 4 schematically shows a block diagram of a server according to an embodiment of the disclosure;
FIG. 5 schematically shows a block diagram of a server according to another embodiment of the present disclosure; and
fig. 6 schematically shows a block diagram of a server according to another embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "at least one of A, B and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.). Where a convention analogous to "A, B or at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B or C" would include but not be limited to systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
Some block diagrams and/or flow diagrams are shown in the figures. It will be understood that some blocks of the block diagrams and/or flowchart illustrations, or combinations thereof, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor, create means for implementing the functions/acts specified in the block diagrams and/or flowchart block or blocks. The techniques of this disclosure may be implemented in hardware and/or software (including firmware, microcode, etc.). In addition, the techniques of this disclosure may take the form of a computer program product on a computer-readable storage medium having instructions stored thereon for use by or in connection with an instruction execution system.
The embodiment of the disclosure provides a server performance adjusting method and a server capable of applying the method. The method comprises a load information acquisition phase and a performance adjustment phase. In the load information obtaining phase, network card load information of the server is obtained, and in the performance adjusting phase, the performance mode setting of the server in the boot system is adjusted on the basis of the network card load information on the premise of not interrupting the service of the server.
Fig. 1 schematically illustrates an application scenario of a server and a server performance adjustment method according to an embodiment of the present disclosure. It should be noted that fig. 1 is only an example of a scenario in which the embodiments of the present disclosure may be applied to help those skilled in the art understand the technical content of the present disclosure, but does not mean that the embodiments of the present disclosure may not be applied to other devices, systems, environments or scenarios.
As shown in fig. 1, the application scenario may include a server 100, where the server 100 may be a server providing various data processing services and having various computing capabilities, the server 100 currently enters a boot system setting interface, the boot system has functions of booting an operating system of the server, ensuring normal operation of the operating system of the server, and the like, the boot system setting interface includes a processor setting menu, the processor setting menu includes a performance mode setting sub-menu, and the performance mode setting sub-menu includes three options: "normal mode", "high performance mode", and "low performance mode".
When the load of the processors of the server is different, the most adapted performance mode setting is correspondingly different, e.g. when the load is larger, the performance mode is set to "high performance mode" to support the correspondingly larger load, and when the load is smaller, the performance mode is set to "low performance mode" to reduce unnecessary power consumption. In other embodiments, the options in the performance mode setting submenu in the boot system of the server may be in various forms, and are not limited herein.
The server performance adjustment scheme provided by the embodiments of the present disclosure is applicable to scenarios in which performance mode settings in a boot system are actively adjusted without interrupting server operation based on differences in the load of the processors of the server.
Fig. 2 schematically shows a flow chart of a server performance adjustment method according to an embodiment of the present disclosure.
As shown in fig. 2, the method includes operations S201 to S202.
In operation S201, network card load information of a server is acquired.
In operation S202, the performance mode setting of the server in the boot system is adjusted during the operation of the server based on the network card load information.
It can be seen that, in the method shown in fig. 2, the performance mode setting of the server in the guidance system can be directly adjusted according to the network card load information of the server in the operation process of the server, and compared with the scheme in the prior art that the service of the server needs to be interrupted and the server enters the guidance system to be manually adjusted, the self-adaptive performance adjustment of the server in the operation state is realized.
It should be noted that the boot system is a system based on a hardware bottom layer of the server, and has functions of checking whether states of a processor and each controller in the server are normal, initializing a memory, a motherboard chipset, a graphics card, and a peripheral device of the server, providing basic settings of each component in the server, such as a display, a keyboard, a processor, and a memory, providing an interrupt resident program called by an operating system or an application program, starting the operating system of the boot server, and ensuring normal operation of the operating system of the server, and the like, for example, a Basic Input Output System (BIOS) is a conventional boot system, and a Unified Extensible Firmware Interface (UEFI) is a novel boot system, and the like, which are not limited herein.
In an embodiment of the present disclosure, the acquiring network card load information of the server in operation S201 includes: the network card driver reads the state statistic register group of the corresponding network card to obtain at least one of the following state information: the number of data packets received by the network card, the size of the data packets received by the network card, the speed at which the data packets are received by the network card, the number of data packets transmitted by the network card, the size of the data packets transmitted by the network card, and/or the speed at which the data packets are transmitted by the network card. And the network card driver calculates the load value of the corresponding network card based on the read at least one type of state information.
For example, the network card has a corresponding status statistics Register set (status Register), which includes registers (Packets Received [64Bytes ] Count, Packets Received [65-127Bytes ] Count, Packets Received [128-255Bytes ] Count, Packets Received [256-511Bytes ] Count, Packets Received [512-1023Bytes ] Count, Packets Received [ 1024-to-Max Bytes ] Count), registers (Total Packets Received) that record the Total amount of the network card Received Packets, registers (Packets Transmitted [64Bytes ] Count, Packets Transmitted [65-127Bytes ] Count, Packets Transmitted [ 128-511-255 Bytes ] Count, Packets Transmitted [ 128-128 Bytes ] Count, Packets Transmitted [ 128-511-255 Bytes ] Count, Packets Transmitted [1024 ] Count, Packets Transmitted [ 128-511-255 ] Count, Packets Transmitted [1024 ] Count, and the network card driver can obtain one or more state information of the corresponding network card by reading one or more registers in the state statistic register group, and because the load of the network card is related to the size, the number and the speed of the received/transmitted data packet, the load value of the corresponding network card can be accurately and conveniently obtained through the state information so as to reflect the corresponding network card load degree of the server.
In an embodiment of the present disclosure, after the network card driver obtains the load value of the corresponding network card, the method shown in fig. 2 further includes: when the load value of the network card is higher than the highest threshold value or lower than the lowest threshold value, the network card driver transmits a performance adjusting request to a boot system of the server through a pre-negotiated configuration management data table, wherein the performance adjusting request comprises information representing the expected performance mode of the network card. The expected performance mode of the network card refers to a performance mode of the processor adapted to the load value of the network card, and the highest threshold and the lowest threshold can be flexibly set according to actual requirements and are used for controlling the initiation condition of the performance adjustment request.
On this basis, the adjusting the performance mode setting of the server in the boot system during the operation of the server based on the network card load information in operation S202 includes: the boot system configures a specific register set of the processor according to the performance adjustment request to set a performance mode to a desired performance mode of the network card.
For example, after the network card driver obtains the load value of the corresponding network card, if the load value of the network card is higher than the highest threshold, which indicates that the current network card is overloaded and needs higher performance support, the network card driver transmits a performance adjustment request to the boot system of the server through the pre-negotiated configuration management data table, where the expected performance mode of the corresponding network card represented in the performance adjustment request is the "high performance mode". After acquiring the performance adjustment request, the boot system may configure a specific register set of the processor according to the performance adjustment request, so that the performance mode of the processor is set to the "high performance mode". And if the load value of the network card is lower than the lowest threshold value, which indicates that the load of the current network card is very low and the performance of the processor can be reduced for saving unnecessary energy consumption, the network card driver transmits a performance regulation request to a boot system of the server through a pre-negotiated configuration management data table, wherein the expected performance mode of the corresponding network card represented in the performance regulation request is a 'low performance mode'. After acquiring the performance adjustment request, the boot system may configure a specific register set of the processor according to the performance adjustment request, so that the performance mode of the processor is set to the "low performance mode". According to the scheme of this embodiment, the network card driver running under the operating system of the server may transmit the performance adjustment request to the boot system through a pre-negotiated configuration management data table, where the configuration management data table is a data table defined by being extended in addition to data tables of various standards and used for implementing performance adjustment related communication between the operating system and the boot system in this scheme, and the operating system transmits the performance adjustment request to the boot system by using the configuration management data table, which is very convenient and efficient.
Specifically, in an embodiment of the present disclosure, the transmitting, by the network card driver, the performance adjustment request to the boot system of the server through the pre-negotiated configuration management data table includes: the network card driver acquires a configuration management data table from a server memory, the configuration management data table is filled with identification information and expected performance modes of corresponding network cards, and a guidance system is triggered to operate through a specified interface. In some cases, the configuration management data table is already filled with the identification information of the network card corresponding to the network card driver that needs to interact after being created, so that after the network card driver acquires the configuration management data table from the server memory, the identification information of the network card does not need to be filled, and only the corresponding expected performance mode needs to be filled after the identification information of the corresponding network card. The above-mentioned bootstrap system includes according to the specific register bank of the said performance adjustment request configuration processor: and the boot system reads the configuration management data table filled by the network card driver from the server memory after being triggered, acquires corresponding performance state configuration parameters according to the expected performance mode in the configuration management data table, and writes the performance state configuration parameters into one or more corresponding specific registers.
As an optional embodiment, the identification information of the network card includes at least one of the following: vendor identification information of the network card, type identification information of the network card, and/or a serial number of the network card. And when reading the configuration management data table, the guide system distinguishes the performance adjusting requests corresponding to different network cards based on the manufacturer identification information of the network cards, the type identification information of the network cards and/or the serial numbers of the network cards in the configuration management data table.
For example, the network card driver and the boot system negotiate in advance to define a configuration management data table (OEM ACPI table) and an identifier (signature) of the configuration management data table, the configuration management data table is stored in a server memory, and a header of the configuration management data table is shown in table 1:
TABLE 1
Figure GDA0002157325940000101
As can be seen from table 1, the vendor identification information (vendor ID) column, the type identification information (device ID) column, the Sequence Number (SN) column, and the performance expected control flag (performance option control flag) column are included, and in other embodiments, the configuration management data table may include various extended information columns, which are not limited herein. The manufacturer identification information (vendor ID) column is used for filling identification information of a manufacturer to which the network card belongs, the type identification information (device ID) column is used for filling identification information of a device type to which the network card belongs, and the Serial Number (SN) column is used for filling a serial number of the network card, and the three kinds of identification information jointly form identification information of the network card and can globally and uniquely identify the network card. The "performance option control flag" field is used to fill in the performance mode adapted to the network card load information, and represents the performance adjustment requirement corresponding to the network card. In this example, the Performance mode setting of the boot system of the server includes three options of "high Performance mode (Max Performance)", "low Performance mode (Energy Efficiency)", and "common mode (Custom)", and the desired Performance mode of the network card may be any one of them.
The server comprises a network card A, wherein the network card A corresponds to a network card driver A ', and the network card driver A' reads a state statistical register group of the network card A at intervals of preset time and calculates a load value of the network card A. The network card driver A' compares the obtained load value with the preset highest threshold value and the preset lowest threshold value, and finds that the load value of the network card A is lower than the lowest threshold value, which indicates that the load of the network card A is small and is adapted to the lower performance mode of the server. The network card driver a' reads the configuration management data table from the server memory according to the identification identifier of the configuration management data table defined by negotiation in advance, and fills the expected performance mode "low performance mode" of the network card a in the configuration management data table, where the manufacturer identification information, the type identification information, and the serial number are already filled by the boot system when initializing the configuration management data table. The filled configuration management data table is shown in table 2 and still stored in the server memory, where the specified interface is a System Management Interrupt (SMI) interface, and the network card driver a' triggers the boot system to operate through the SMI interface.
TABLE 2
Figure GDA0002157325940000111
After being triggered, the bootstrap system reads the configuration management data table shown in table 2 from the server memory according to the identification mark of the configuration management data table defined by negotiation in advance, and the information in the configuration management data table reflects the following information: the performance regulation requirement of network card a, which is collectively identified by a1, a2, and A3, is "low performance mode". The method comprises the steps of leading a system to obtain pre-stored performance state configuration parameters corresponding to a low performance mode (Energy Efficiency), wherein the performance state configuration parameters can comprise frequency parameters, voltage parameters and other parameters related to the performance of a processor, and writing the performance state configuration parameters into one or more corresponding specific registers. In this example, the specific register set may be a model specific register set (MSR), the "low performance mode (Energy Efficiency)" corresponds to a smaller frequency parameter and voltage parameter, the frequency parameter and the voltage parameter corresponding to the "low performance mode (Energy Efficiency)" are written into a corresponding MSR register, the processor obtains the frequency parameter and the voltage parameter by accessing the corresponding MSR register, and adjusts the operating frequency and the operating voltage of the processor according to the frequency parameter and the voltage parameter, thereby implementing the setting of the "low performance mode (Energy Efficiency)".
In another embodiment of the disclosure, a scenario is described in which a network card driver of a plurality of network cards delivers a performance adjustment request to a boot system, and the method shown in fig. 2 further includes: and when the expected performance modes of the plurality of network cards are included in the configuration management data table and are different, the boot system sets the performance modes according to the expected performance mode of the highest level.
Following the above example, the network card driver a ' of the network card a fills the configuration management data table based on the load information of the network card a, the network card driver B ' of the network card B fills the configuration management data table based on the load information of the network card B, the network card driver C ' of the network card C fills the configuration management data table based on the load information of the network card C, and the filled configuration management data table is shown in table 3:
TABLE 3
Figure GDA0002157325940000121
As can be seen from table 3, the configuration management data table records a Performance adjustment request corresponding to the network card a, a Performance adjustment request corresponding to the network card B, and a Performance adjustment request corresponding to the network card C, where the network card a is identified by identification information a1, a2, and A3, the corresponding expected Performance mode is "low Performance mode" (Energy Efficiency), "the network card B is identified by identification information B1, B2, and B3, the corresponding expected Performance mode is" high Performance mode "(Max Performance)," the network card C is identified by identification information C1, C2, and C3, and the corresponding expected Performance mode is "normal mode" (Custom) ". The network card B wants to adjust the Performance mode setting to "high Performance mode (Max Performance)", which indicates that the load of the current network card B is large, and in order to ensure that each network card operates normally, the network card B should preferentially satisfy the Performance adjustment request of the network card with a large load. The boot system reads the configuration management data table shown in table 3 from the server memory, selects the expected Performance mode of the network card B for adjustment, obtains the Performance state configuration parameters corresponding to the pre-stored "high Performance mode (Max Performance)", and writes the Performance state configuration parameters into the corresponding MSR register, so that the processor accesses the MSR register to exert the corresponding high Performance.
As can be seen, the scheme of this embodiment supports the control requirements of multiple network cards in the server, processes the performance adjustment requests of the multiple network cards according to the predetermined processing rule, and when the performance adjustment requests of the multiple network cards are different, preferentially considers the requirements of the network card requiring the highest-level performance mode, thereby conforming to the actual processing situation. In other embodiments, the predetermined processing rule may be set according to specific situations, and is not limited herein.
Further, in an embodiment of the present disclosure, the configuration management data table further includes: information characterizing the current performance mode setting and an indication characterizing whether performance mode adjustment is allowed, the method shown in fig. 2 further comprising: before filling the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode, and/or if an identifier indicating that the corresponding network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, the network card driver does not transmit a performance adjustment request to the boot system any more.
For example, the header of the configuration management data table is shown in table 4:
TABLE 4
Figure GDA0002157325940000131
As can be seen from table 4, the configuration management data table is extended with two columns on the basis of table 1: a "current performance mode setting status flag" column and a "whether performance mode adjustment to control flag is permitted" column. The "performance option status flag" column is filled by the boot system after the previous setting, and corresponds to information of the performance mode actually configured in the specific register, and the "performance option allow to control flag" column is also filled by the boot system, and represents information of whether to allow the corresponding network card to send out a performance adjustment request.
When a network card driver needs to send a performance adjustment request of the network card, the configuration management data table shown in table 4 is read from the server memory, and the contents of the "current performance mode setting (performance option status flag)" column and the "whether performance mode adjustment (performance option allow to control flag)" column of the corresponding network card are specifically checked. If the current performance mode setting (performance option status flag) column indicates that the current performance mode setting is the same as the expected performance mode of the corresponding network card, no performance adjustment request is issued, and/or if the performance mode adjustment (performance option allow to control flag) column indicates that the performance mode adjustment of the corresponding network card is not allowed, no performance adjustment request is transmitted to the boot system. Therefore, the network card driver can be prevented from sending meaningless performance adjustment requests, the efficiency is improved, and the computing resources are saved.
Further, in an embodiment of the present disclosure, the head of the formulation management data table is as shown in table 4, and the method shown in fig. 2 further includes: after reading the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode, and/or if an identifier representing that the network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, the boot system does not adjust the performance mode setting according to the performance adjustment request of the network card.
Following the above example, after being triggered, the boot system reads the configuration management data table shown in table 4 from the server memory, and specifically checks the contents of the "current performance mode setting (performance operation status flag)" column and the "whether performance mode adjustment (performance operation allow to control flag)" column of the corresponding network card for the performance adjustment request of each network card. If the current performance mode setting (performance option status flag) column indicates that the current performance mode setting is the same as the expected performance mode of the corresponding network card, the performance adjustment request of the network card is not processed, and/or if the performance mode adjustment (performance option allow to control flag) column indicates that the performance mode adjustment of the corresponding network card is not allowed, the performance adjustment request of the network card is not processed.
And, further, in an embodiment of the present disclosure, the header of the formulation management data table is as shown in table 4, and the method shown in fig. 2 further includes: after the boot system adjusts the performance mode setting, the adjusted performance mode setting is updated to the configuration management data table, and the identifier representing whether each network card is allowed to perform performance mode adjustment is updated to the configuration management data table.
The method shown in fig. 2 is described below with reference to fig. 3A to 3B in conjunction with specific embodiments:
in this embodiment, the server includes network cards A, B and C corresponding to the network card drivers a ', B ' and C ', respectively, the boot system is a BIOS system, the network card driver and the BIOS system negotiate in advance to define an OEM ACPI table of configuration management data tables and identification identifiers thereof, a header of the OEM ACPI table is shown in table 4, and identification information corresponding to each of the network cards A, B and C is completely filled in the table.
Fig. 3A schematically shows a flow chart of a server performance adjustment method according to another embodiment of the present disclosure, describing the server performance adjustment process from the network card driver side.
As shown in fig. 3A, the method includes operations S301 to S306.
In operation S301, a load value of the network card is calculated by reading the status statistic register set of the network card, and when the load value of the network card reaches a preset threshold, operation S302 is performed.
In this operation, the load value of the network card obtained by reading the state statistics register group of the network card through calculation is described above, and is not described again. The preset threshold includes the above-mentioned highest threshold and lowest threshold, and the load value of the network card reaching the preset threshold means that the load value of the network card is higher than the highest threshold or lower than the lowest threshold. The setting Interface may be provided to the user in advance through an hii (human Interface initialization) configuration program of the server, and the user may flexibly set the threshold.
In operation S302, a corresponding configuration management data table is found according to the identification identifier of the configuration management data table defined by negotiation with the boot system in advance, and the content corresponding to the corresponding network card in the configuration management data table is found according to the identifier information of the network card.
In this operation, taking the network card a as an example, the network card driver a 'finds the OEM ACPI table according to the pre-negotiated identification identifier, and the network card driver a' matches in the OEM ACPI table according to the vendor identification information a1, the type identification information a2, and the serial number A3 of the network card a to find the row corresponding to the network card a.
In operation S303, it is checked whether the current performance mode setting corresponding to the network card is different from the expected performance mode of the network card, if so, operation S304 is performed, and if not, operation S306 is performed.
In this operation, the network card driver a' checks whether the "current performance mode setting (performance option status flag)" corresponding to the network card a in the OEM ACPI table is different from the expected performance mode of the current network card a, and there is a need to continue performance adjustment only when the two are different.
In operation S304, it is checked whether the network card allows performance mode adjustment, if yes, operation S305 is performed, and if no, operation S306 is performed.
In this operation, the network card driver a' checks whether "whether performance option allow to control flag" corresponding to the network card a in the OEM ACPI table is allowed, and only when it is allowed, it is necessary to continue performance adjustment.
In operation S305, a desired performance mode is filled, and the boot system is triggered through the SMI interface, so that the boot system performs a corresponding performance mode adjustment.
In this operation, the network card driver a' fills in an expected performance Mode (performance option control flag) adapted to a current load value of the network card a at a position of an "expected performance Mode" corresponding to the network card a in the OEM ACPI table, and after the completion of the filling, transmits a command value defined in advance to an SMI interface (SW SMI port, IO 0xB2), triggers the SW SMI interface, so that the processor enters a system management Mode (SMM Mode), and forwards to execute an SMI handler program in the BOIS system, that is, triggers the BIOS system shown in fig. 3B to execute a performance Mode adjustment operation.
In operation S306, the logic is tripped out.
Fig. 3B schematically shows a flowchart of a server performance adjustment method according to another embodiment of the present disclosure, which describes the server performance adjustment process from the boot system side.
As shown in FIG. 3B, the method includes operations S301 'to S307'.
In operation S301', each network card detected by the server motherboard is initialized, and an initial value of each position is defined in a configuration management data table defined by negotiation in advance.
In this operation, the BIOS system initializes the network cards A, B and C detected by the server motherboard, fills identification information corresponding to the network cards A, B and C into the OEM ACPI table, initializes a "performance expected mode (performance option control flag)" field and a "current performance mode setting (performance option flag)" field to default values, and initializes a "whether performance mode adjustment (performance option allow to control flag)" field to "allow".
Triggered in operation S302', performance mode adjustment is started.
In the operation, after the network card finishes filling the OEMACPI table, the SW SMI interface is triggered, and when the SW SMI interface is triggered, the SMI handler program in the BIOS system is started to be executed, namely, the performance mode adjustment is started to be executed.
In operation S303', a corresponding configuration management data table is found according to the identification of the configuration management data table defined by pre-negotiation with the boot system.
In operation S304', it is checked whether the expected performance mode corresponding to each network card is different from the current performance mode setting, and the performance adjustment request of the network card with the expected performance mode being the same as the current performance mode is not processed.
In the operation, the BIOS system checks whether a "current performance mode setting (performance option flag)" corresponding to the network card a in the OEM ACPI table is different from a "desired performance mode (performance option control flag)" of the current network card a, if so, performs subsequent operation on the performance adjustment request of the network card a, and if not, does not process the performance adjustment request of the network card a. For the same reason of the network cards B and C, no further description is given. The performance adjustment requests for network cards a and B are processed further in this example.
In operation S305', it is checked whether each network card allows performance mode adjustment, and a performance adjustment request of a network card that does not allow performance mode adjustment is not processed.
In the operation, the BIOS system checks whether "whether performance option to control flag" corresponding to the network card a in the OEM ACPI table is allowed, if so, performs subsequent operation on the performance adjustment request of the network card a, and if not, does not process the performance adjustment request of the network card a. The network card B is similar and will not be described again. In this example, network cards a and B are both allowed.
In operation S306', a target performance mode is determined according to the expected performance mode of each network card and a predetermined processing rule, a corresponding specific register meeting the requirement of the target performance mode is configured, and the configuration management data table is updated.
In this operation, the predetermined processing rule may be as follows: and if the expected performance modes corresponding to the network cards A and B are the same, taking the expected performance mode as a target performance mode, and if the expected performance modes of the network cards A and B are different, taking the expected performance mode with a higher level as the target performance mode. The BIOS system configures the MSR register group corresponding to the requirement of the target performance mode, after the configuration is completed, the column of 'current performance mode setting (performance option status flag') in the OEM ACPI table is updated to the configured target performance mode, and the content of 'whether performance mode adjustment to control flag' is allowed to be performed corresponding to each network card is updated according to the logic requirement. In this example, if the target performance mode is the expected performance mode of the network card a, the BIOS updates "whether performance mode adjustment (performance option to control flag) is allowed" corresponding to the network cards B and C to disallow.
In operation S307', the process ends.
The operation exits the SMI handler program and ends the process of the BIOS system executing the server performance adjustment.
Based on the scheme provided by each embodiment of the present disclosure, the following beneficial effects can be achieved: the method saves the manual adjustment process of the user when the performance mode of the server needs to be adjusted, avoids interrupting the service of the server, and enables the user to flexibly preset the condition for performing the performance adjustment request and support the performance adjustment requirements of a plurality of network cards.
Fig. 4 schematically shows a block diagram of a server according to an embodiment of the present disclosure.
As shown in fig. 4, the server 400 includes: a network card driver 410 and a boot system 420.
The network card driver 410 is used to obtain network card load information of the server 400.
The boot system 420 is used to adjust the performance mode settings of the server 400 in the boot system 420 during the operation of the server 400 based on the network card load information.
It can be seen that, in the operation process of the server shown in fig. 4, the performance mode setting of the server in the guidance system can be directly adjusted according to the network card load information of the server, and compared with a scheme in the prior art that the service of the server needs to be interrupted and the server enters the guidance system to be manually adjusted, the self-adaptive performance adjustment of the server in the operation state is realized.
Fig. 5 schematically shows a block diagram of a server according to another embodiment of the present disclosure.
As shown in fig. 5, the server 500 includes: a network card driver 510 and a boot system 520. The network card driver 510 may implement the function of the network card driver 410, and the booting system 520 may implement the function of the booting system 420, and repeated descriptions are omitted here.
The network card driver 510 includes: a reading module 511, a calculating module 512, a requesting module 513, and a prejudging module 514. The guidance system 520 includes: an adjustment module 521, an identification module 522, a scheduling module 523, a anticipation module 524, and an update module 525.
In one embodiment of the present disclosure, the network card driver 510 includes a reading module 511 and a calculating module 512. The reading module 511 is configured to read a status statistics register group of a corresponding network card, and obtain at least one of the following status information of the network card: the number of data packets received by the network card, the size of the data packets received by the network card, the speed at which the data packets are received by the network card, the number of data packets transmitted by the network card, the size of the data packets transmitted by the network card, and/or the speed at which the data packets are transmitted by the network card. The calculating module 512 calculates a load value of the corresponding network card based on the at least one state information, that is, obtains corresponding network card load information.
In an embodiment of the present disclosure, the network card driver 510 further includes a request module 513, configured to, after obtaining the load value of the corresponding network card, transmit a performance adjustment request to the boot system 520 through a pre-negotiated configuration management data table when the load value of the network card is higher than a highest threshold or lower than a lowest threshold. The boot system 520 includes an adjustment module 521 for configuring a specific register set of the processor according to the performance adjustment request to set the performance mode to a desired performance mode of the network card, so as to implement an operation of adjusting the performance mode setting during the operation of the server 500.
Specifically, as an optional embodiment, the request module 513 is specifically configured to acquire a configuration management data table from a server memory, fill a desired performance mode of a corresponding network card in the configuration management data table according to the identification information of the network card in the configuration management data table, and trigger the booting system 520 to operate through a specified interface. Or, the request module 513 is specifically configured to obtain a configuration management data table from a server memory, fill the configuration management data table with identification information and an expected performance mode of a corresponding network card, and trigger a boot system to operate through a specified interface. The adjusting module 521 is specifically configured to read the configuration management data table filled by the network card driver 510 from the server memory after being triggered, obtain corresponding performance state configuration parameters according to an expected performance mode in the configuration management data table, write the performance state configuration parameters into one or more corresponding specific registers, so as to complete configuration of a specific register set, and set the performance mode as an expected performance mode of a corresponding network card.
Optionally, the identification information of the network card includes at least one of the following: vendor identification information of the network card, type identification information of the network card, and/or a serial number of the network card. The booting system 520 also includes an identification module 522 for distinguishing between performance adjustment requests delivered by different network cards based on vendor identification information of the network cards, type identification information of the network cards, and/or serial numbers of the network cards.
In an embodiment of the present disclosure, the boot system 520 further includes a scheduling module 523, configured to set the performance mode according to a highest-level expected performance mode when the configuration management data table includes expected performance modes of the plurality of network cards and the expected performance modes of the plurality of network cards are different.
Further, in an embodiment of the present disclosure, the network card driver 510 further includes a prejudging module 514, configured to, before filling in the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode, and/or if an identifier indicating that the network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, not transmit a performance adjustment request to the boot system.
In another embodiment of the present disclosure, the boot system 520 further includes a prejudging module 524, configured to, after reading the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode, and/or if an identifier indicating that the network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, no longer adjust the performance mode setting according to the performance adjustment request of the network card.
Further, as an optional embodiment, the boot system 520 further includes an updating module 525, configured to update the adjusted performance mode setting to the configuration management data table after the performance mode setting is adjusted, and update an identifier indicating whether to allow each network card to perform performance mode adjustment to the configuration management data table.
It should be noted that the implementation, solved technical problems, implemented functions, and achieved technical effects of each module/unit/subunit and the like in the apparatus part embodiment are respectively the same as or similar to the implementation, solved technical problems, implemented functions, and achieved technical effects of each corresponding step in the method part embodiment, and are not described herein again.
Any number of modules, sub-modules, units, sub-units, or at least part of the functionality of any number thereof according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be implemented by being split into a plurality of modules. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in any other reasonable manner of hardware or firmware by integrating or packaging a circuit, or in any one of or a suitable combination of software, hardware, and firmware implementations. Alternatively, one or more of the modules, sub-modules, units, sub-units according to embodiments of the disclosure may be at least partially implemented as a computer program module, which when executed may perform the corresponding functions.
For example, any of the reading module 511, the calculating module 512, the requesting module 513, and the prejudging module 514 may be combined and implemented in one module, or any one of the modules may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the reading module 511, the calculating module 512, the requesting module 513, and the prejudging module 514 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or implemented by any one of three implementations of software, hardware, and firmware, or any suitable combination of any of them. Alternatively, at least one of the reading module 511, the calculating module 512, the requesting module 513, and the prejudging module 514 may be at least partially implemented as a computer program module, which, when executed, may perform a corresponding function.
For another example, any of the read adjusting module 521, the identifying module 522, the scheduling module 523, the prejudging module 524, and the updating module 525 may be combined into one module to be implemented, or any one of the modules may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the read adjusting module 521, the identifying module 522, the scheduling module 523, the prejudging module 524, and the updating module 525 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented by hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or implemented by any one of three implementations of software, hardware, and firmware, or implemented by a suitable combination of any of them. Alternatively, at least one of the adjusting module 521, the identifying module 522, the scheduling module 523, the anticipation module 524 and the updating module 525 may be at least partially implemented as a computer program module, which when executed, may perform a corresponding function.
Fig. 6 schematically shows a block diagram of a server adapted to implement the above described method according to another embodiment of the present disclosure. The server shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, server 600 includes a processor 610, a computer-readable storage medium 620, and a network card 630. The server 600 may perform a method according to an embodiment of the present disclosure.
In particular, the processor 610 may comprise, for example, a general purpose microprocessor, an instruction set processor and/or related chip set and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 610 may also include onboard memory for caching purposes. The processor 610 may be a single processing unit or a plurality of processing units for performing the different actions of the method flows according to embodiments of the present disclosure.
Computer-readable storage medium 620, for example, may be a non-volatile computer-readable storage medium, specific examples including, but not limited to: magnetic storage devices, such as magnetic tape or Hard Disk Drives (HDDs); optical storage devices, such as compact disks (CD-ROMs); a memory, such as a Random Access Memory (RAM) or a flash memory; and so on.
The computer-readable storage medium 620 may include a computer program 621, which computer program 621 may include code/computer-executable instructions that, when executed by the processor 610, cause the processor 610 to perform a method according to an embodiment of the disclosure, or any variation thereof.
The computer program 621 may be configured with, for example, computer program code comprising computer program modules. For example, in an example embodiment, code in computer program 621 may include one or more program modules, including for example module 621A, module 621B, … …. It should be noted that the division and number of the modules are not fixed, and those skilled in the art may use suitable program modules or program module combinations according to actual situations, so that the processor 610 may execute the method according to the embodiment of the present disclosure or any variation thereof when the program modules are executed by the processor 610.
According to an embodiment of the present invention, at least one of the network card driver 410/510 and the boot system 420/520 may be implemented as computer program modules as described with reference to fig. 6, which when executed by the processor 610, may implement the corresponding operations performed by the network card driver and the corresponding operations performed by the boot system as described above.
According to an embodiment of the present invention, at least one of the reading module 511, the calculating module 512, the requesting module 513, and the prejudging module 514 may be implemented as a computer program module described with reference to fig. 6, which, when being executed by the processor 610, may implement the corresponding operations described above.
According to an embodiment of the present invention, at least one of the adjusting module 521, the identifying module 522, the scheduling module 523, the prejudging module 524, and the updating module 525 may be implemented as a computer program module described with reference to fig. 6, which, when executed by the processor 610, may implement the corresponding operations described above.
The present disclosure also provides a computer-readable storage medium, which may be contained in the apparatus/device/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: 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), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that various combinations and/or combinations of features recited in the various embodiments and/or claims of the present disclosure can be made, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
While the disclosure has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents. Accordingly, the scope of the present disclosure should not be limited to the above-described embodiments, but should be defined not only by the appended claims, but also by equivalents thereof.

Claims (9)

1. A server performance adjustment method, comprising:
the method for acquiring the network card load information of the server comprises the following steps: the network card driver reads the state statistic register group of the corresponding network card to obtain at least one of the following state information: the number of data packets received by the network card, the size of the data packets received by the network card, the speed of the data packets received by the network card, the number of data packets transmitted by the network card, the size of the data packets transmitted by the network card, and/or the speed of the data packets transmitted by the network card; the network card driver calculates the load value of the corresponding network card based on the at least one state information;
when the load value of the network card is higher than the highest threshold value or lower than the lowest threshold value, the network card driver transmits a performance adjusting request to a guide system of a server through a pre-negotiated configuration management data table;
and adjusting the performance mode setting of the server in the boot system in the running process of the server based on the network card load information.
2. The method of claim 1, wherein:
the performance adjusting request comprises information representing the expected performance mode of the network card;
the adjusting the performance mode setting of the server in the boot system in the running process of the server based on the network card load information comprises the following steps: the boot system configures a specific register set of a processor according to the performance adjustment request to set a performance mode to a desired performance mode of the network card.
3. The method of claim 2, wherein:
the network card driver transmitting the performance adjustment request to the boot system of the server through the pre-negotiated configuration management data table includes:
the network card driver acquires the configuration management data table from a server memory, fills expected performance modes of corresponding network cards in the configuration management data table according to the identification information of the network cards in the configuration management data table, and triggers the bootstrap system to operate through a specified interface; or
The network card driver acquires the configuration management data table from the server memory, fills identification information and expected performance modes of corresponding network cards in the configuration management data table, and triggers the boot system to operate through a specified interface;
the directing system configuring a particular register set of a processor in accordance with the performance adjustment request includes: and the guide system reads the configuration management data table from the server memory after being triggered, acquires corresponding performance state configuration parameters according to an expected performance mode in the configuration management data table, and writes the performance state configuration parameters into one or more corresponding specific registers.
4. The method of claim 3, wherein the identification information of the network card comprises at least one of: the system comprises a network card, a guidance system and a performance adjusting system, wherein the guidance system comprises manufacturer identification information of the network card, type identification information of the network card and/or a serial number of the network card, and the guidance system distinguishes performance adjusting requests corresponding to different network cards based on the identification information of the network card.
5. The method of claim 3, further comprising:
and when the expected performance modes of the plurality of network cards are included in the configuration management data table and are different, the boot system sets the performance modes according to the expected performance mode of the highest level.
6. The method of claim 3, further comprising:
before filling the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode, and/or if an identifier representing that the network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, the network card driver does not transmit a performance adjustment request to the boot system any more.
7. The method of claim 3, further comprising:
after reading the configuration management data table, if the current performance mode setting recorded in the configuration management data table is the same as the expected performance mode of the network card, and/or if an identifier representing that the network card is not allowed to perform performance mode adjustment is recorded in the configuration management data table, the boot system does not adjust the performance mode setting according to the performance adjustment request corresponding to the network card.
8. The method of claim 3, further comprising:
after the boot system adjusts the performance mode setting, the adjusted performance mode setting is updated to the configuration management data table, and the identifier representing whether each network card is allowed to perform performance mode adjustment is updated to the configuration management data table.
9. A server, comprising:
the network card driver is used for acquiring network card load information of the server, and comprises: the network card driver reads the state statistic register group of the corresponding network card to obtain at least one of the following state information: the number of data packets received by the network card, the size of the data packets received by the network card, the speed of the data packets received by the network card, the number of data packets transmitted by the network card, the size of the data packets transmitted by the network card, and/or the speed of the data packets transmitted by the network card; the network card driver calculates the load value of the corresponding network card based on the at least one state information;
the configuration module is used for transmitting a performance adjustment request to a guide system of the server by the network card driver through a pre-negotiated configuration management data table under the condition that the load value of the network card is higher than a highest threshold value or lower than a lowest threshold value;
and the boot system is used for adjusting the performance mode setting of the server in the boot system in the running process of the server based on the network card load information.
CN201811653617.8A 2018-12-29 2018-12-29 Server performance adjusting method and server Active CN109743207B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811653617.8A CN109743207B (en) 2018-12-29 2018-12-29 Server performance adjusting method and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811653617.8A CN109743207B (en) 2018-12-29 2018-12-29 Server performance adjusting method and server

Publications (2)

Publication Number Publication Date
CN109743207A CN109743207A (en) 2019-05-10
CN109743207B true CN109743207B (en) 2021-09-14

Family

ID=66363018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811653617.8A Active CN109743207B (en) 2018-12-29 2018-12-29 Server performance adjusting method and server

Country Status (1)

Country Link
CN (1) CN109743207B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268130A (en) * 2021-04-02 2021-08-17 北京比格大数据有限公司 Server power supply method, storage medium and computer equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279934A (en) * 2018-02-28 2018-07-13 郑州云海信息技术有限公司 Server B IOS performance parameters setting method, device and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103529925A (en) * 2013-10-30 2014-01-22 深圳市中兴移动通信有限公司 Method and device for switching central processing unit (CPU) working modes according to application scenarios
CN104883264A (en) * 2014-02-27 2015-09-02 中国科学院声学研究所 Method and system of virtualizing network cards on network processing platform
CN105260236A (en) * 2015-09-22 2016-01-20 惠州Tcl移动通信有限公司 Mobile terminal and performance adjustment method of processor of mobile terminal
CN105786674B (en) * 2016-03-24 2018-11-16 华为技术有限公司 A kind of dispatching method and electronic equipment
CN108430087B (en) * 2018-03-26 2020-10-16 新华三技术有限公司 Power consumption control method and device and router

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108279934A (en) * 2018-02-28 2018-07-13 郑州云海信息技术有限公司 Server B IOS performance parameters setting method, device and storage medium

Also Published As

Publication number Publication date
CN109743207A (en) 2019-05-10

Similar Documents

Publication Publication Date Title
US10572309B2 (en) Computer system, and method for processing multiple application programs
EP2926239B1 (en) Bootability with multiple logical unit numbers
US8688932B2 (en) Virtual computer system and method of controlling the same
KR101802800B1 (en) Media protection policy enforcement for multiple-operating-system environments
US20140173215A1 (en) Methods and systems for provisioning a bootable image on to an external drive
US9740502B2 (en) Virtual bus device using management engine
EP3319283B1 (en) Server data port learning at data switch
US10089266B2 (en) Power saving feature for storage subsystems
US20120042307A1 (en) System and method for creating memory interface of computing device
US10360043B2 (en) Installation of device drivers from virtual media
US10037170B2 (en) Motherboard and a method for boot-up
US11875174B2 (en) Method and apparatus for virtual machine emulator upgrading virtualization emulator
WO2016058427A1 (en) Usb wireless network card configuration method, host, usb wireless network card and communication system
CN109743207B (en) Server performance adjusting method and server
US10108236B2 (en) System and method for adjusting cooling fan control settings based on identification of a module
US20100169635A1 (en) Method and system to facilitate configuration of a hardware device in a platform
US11321109B2 (en) Container engine for selecting driver based on container metadata
WO2020206879A1 (en) Method and device for automatically adapting link width of pcie port, electronic apparatus and storage medium
CN105260138A (en) Read/write control system and method
US9977730B2 (en) System and method for optimizing system memory and input/output operations memory
CN110928587A (en) Control method and control device
US20200257520A1 (en) Updating firmware of a microcontroller
US9191445B2 (en) Systems and methods for managing emulation sessions
US9619245B1 (en) Method and apparatus for configuring and booting with more than one protocol using single option ROMBIOS code on multi function converged network adapter
US8849647B2 (en) Dual-firmware for next generation emulation

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
GR01 Patent grant
GR01 Patent grant