Apparatus and method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NTT DOCOMO INC
- Filing Date
- 2025-01-27
- Publication Date
- 2026-08-06
Smart Images

Figure 2026127482000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an apparatus and a method.
Background Art
[0002] NFV (Network Functions Virtualization) for realizing network functions on a virtualization infrastructure is known. On the NFV infrastructure, VNFs (Virtual Network Functions), which are virtualized communication functions, operate. The VNFs are adjusted to operate stably on the NFV infrastructure.
[0003] Patent Document 1 describes a technique for changing the congestion determination threshold of a virtual machine that constitutes a virtual network function based on the performance of a physical machine.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] Due to the EoL (End of Life) of general-purpose servers constituting the NFV infrastructure, etc., the NFV infrastructure is upgraded. Performance differences occur in the NFV infrastructure before and after the upgrade. For example, since the performance of new general-purpose servers improves year by year, the performance of the NFV infrastructure improves due to the upgrade. Here, the VNFs are adjusted according to the performance of the NFV infrastructure before the upgrade. Due to the performance of the NFV infrastructure after the upgrade, problems may occur in the stable operation of the VNFs.
[0006] Patent Document 1 does not support the upgrade of physical machines. In the technique described in Patent Document 1, since the settings of virtual machines are changed, the operation of virtual machines may change before and after the upgrade of physical machines.
[0007] This disclosure aims to provide a technology that mitigates the impact on the virtualization infrastructure caused by the replacement of the physical infrastructure. [Means for solving the problem]
[0008] The apparatus relating to one aspect of this disclosure includes an adjustment unit that tunes the settings of the new server based on information regarding the characteristics of the application running on the old server, which is the physical server before replacement, and information regarding the characteristics of the new server, which is the physical server after replacement; a verification unit that performs performance verification of the application on the new server; and a determination unit that determines the new settings of the new server based on the repeated execution of tuning and performance verification.
[0009] In the device relating to one aspect of this disclosure, new settings for the new server are determined through iterative tuning of settings based on information regarding the characteristics of the new server and information regarding the characteristics of the application on the old server, and performance verification of the application. By reflecting the results of performance verification in the new settings, performance discrepancies between the new server and the application can be suppressed. As a result, the impact on the virtualization infrastructure caused by the replacement of the physical infrastructure can be suppressed. [Effects of the Invention]
[0010] According to this disclosure, it is possible to mitigate the impact on the virtualization infrastructure caused by the replacement of the physical infrastructure. [Brief explanation of the drawing]
[0011] [Figure 1] Figure 1 is a block diagram showing an example of the overall configuration, including the communication system. [Figure 2] Figure 2 shows an example of the impact of updating NFVI. [Figure 3] Figure 3(a) shows an example of the correspondence between the settings of the new server 21B and application 31. Figure 3(b) shows an example of the settings. [Figure 4]Figure 4 is a flowchart showing an example of preprocessing for a communication system. [Figure 5] Figure 5 is a flowchart showing an example of how a communication system works. [Figure 6] Figure 6 shows an example of the hardware configuration of a communication system. [Modes for carrying out the invention]
[0012] Embodiments of this disclosure will be described with reference to the attached drawings. Where possible, the same parts will be denoted by the same reference numerals, and redundant descriptions will be omitted.
[0013] Figure 1 is a schematic diagram showing an example of communication system 1. Communication system 1 has an architecture compliant with NFV. Communication system 1 constitutes, for example, the virtualization infrastructure for the core network of a mobile communication network. Communication system 1 may also provide mobile communication functions to terminals not shown. Terminals are, for example, smartphones or mobile phones used by users.
[0014] Communication system 1 comprises NFVI2 (NFV Infrastructure), VNF3, and MANO4 (Management and Orchestration).
[0015] NFVI2 (physical infrastructure) is a physical device composed of general-purpose equipment. NFVI2 functions as a hardware component providing a hardware-independent software execution environment. NFVI2 includes, for example, one or more physical servers 21. These physical servers 21 are located at sites such as data centers.
[0016] NFVI2 includes physical resources, a virtualization layer, and virtualized resources that constitute the virtualization environment. Physical resources include computing resources, storage resources, and transmission resources. The virtualization layer is, for example, a hypervisor. The virtualization layer provides virtualized physical resources to VNF3. Virtualized resources are virtualized infrastructure resources that are provided to VNF3.
[0017] VNF3 is communication software that operates on NFVI2. For example, VNF3 is realized as application 31 when a program is executed on a virtual machine. The virtual machine is realized by using physical resources allocated from NFVI2. VNF3 functions as a call processing unit that establishes call connections and performs communication processing. VNF3 may be a virtual node that performs communication processing. VNF3 may include a plurality of VNFCs (Virtual Network Function Components) as components.
[0018] MANO4 functions as a control unit that manages and operates the virtualization infrastructure. MANO4 includes an NFVO5 (NFV Orchestrator), a VNFM6 (VNF Manager), and a VIM10 (Virtualized Infrastructure Manager).
[0019] NFVO5 manages the resources of the entire virtualization infrastructure. The resource management of the entire virtualization infrastructure includes, for example, control execution management, conflict processing, and priority control.
[0020] VNFM6 performs lifecycle management that grasps and controls the alive / dead state, etc. of VNF3. The lifecycle management includes, for example, auto-healing and auto-scaling.
[0021] VIM10 manages the resources of NFVI2. The resource management of NFVI2 includes the management and control of physical resources and the management and control of virtual resources.
[0022] In the present disclosure, NFVI2 is upgraded. The upgrade of NFVI2 may be performed, for example, by adding or replacing physical server 21. In the case of replacement, a part of physical server 21 may be replaced, or all of physical server 21 may be replaced.
[0023] Figure 2 is a schematic diagram showing an example of an NFVI2 upgrade. Old server 21A is the physical server 21 before the upgrade. New server 21B is the physical server 21 after the upgrade. The performance of the old server and the performance of the new server are different. For example, the performance of new server 21B is improved compared to the performance of old server 21A. In one example, if the performance of old server 21A is represented as "100", the performance of new server 21B can be represented as "120".
[0024] VNF311~313 are tuned to the performance of the old server 21A. For example, the allowable processing volume and regulatory values for VNF311~313 are determined based on the environment of the old server 21A. The performance of VNF311~313 can be expressed as "100," which is adjusted to match the performance of the old server 21A.
[0025] VNF311~313, which were tuned to the performance of the old server 21A, may experience problems when running on the new server 21B. For example, the difference in performance between the old server 21A and the new server 21B may cause different bottleneck processes before and after the upgrade. In one example, when VNF311~313 are overloaded, a process that was a bottleneck on the old server 21A may be able to be handled without problems on the new server 21B. However, if one process proceeds at high speed, problems may occur in other processes. Figure 2 shows a problem occurring with VNF313 on the new server 21B.
[0026] Returning to Figure 1, VIM10 determines the physical resource settings (new settings) for the new server 21B. In the operation of the communication system 1, the new settings may be determined in a verification environment (test environment), for example, and then reflected in the commercial environment. VIM10 includes, as functional elements, an operation verification unit 11, a restriction unit 12, an adjustment unit 13, a verification unit 14, a determination unit 15, and a storage unit 16.
[0027] The operation verification unit 11 verifies the operation of application 31. The operation verification unit 11 verifies whether application 31 operates correctly on the new server 21B. In other words, the operation verification unit 11 verifies the operation of VNF3 on the updated NFVI2.
[0028] The limiting unit 12 limits the upper limit of the operating frequency of the CPU (Central Processing Unit) of the new server 21B according to the results of the operational check. If the operational check causes a malfunction in the application, the limiting unit 12 may lower the upper limit of the operating frequency. If the operational check does not cause a malfunction in the application, the limiting unit 12 does not need to limit the upper limit of the operating frequency.
[0029] After the limiting unit 12 lowers the upper limit of the operating frequency, the operation verification unit 11 may perform an operation verification. The operation verification and the limitation of the upper limit of the operating frequency may be repeated until no malfunctions occur in the application as a result of the operation verification. The limiting unit 12 determines the upper limit of the operating frequency at which no malfunctions occur.
[0030] The limiting unit 12 may change the reduction amount depending on the number of operational verification trials. For example, the limiting unit 12 may increase the reduction amount of the upper limit of the operating frequency when the number of operational verification trials is small. The limiting unit 12 may decrease the reduction amount of the upper limit of the operating frequency as the number of operational verification trials increases. The limiting unit 12 may decrease the reduction amount of the upper limit of the operating frequency as the limited upper limit of the operating frequency approaches the operating frequency of the old server 21A's CPU.
[0031] In one example, the limiting unit 12 may limit the upper limit of the CPU operating frequency by setting the reduction amount to 1 GHz when the number of operational verification trials is 1. In another example, the limiting unit 12 may limit the upper limit of the CPU operating frequency by setting the reduction amount to 500 MHz when the number of operational verification trials is 2.
[0032] If a problem occurs that cannot be resolved by limiting the operating frequency, VIM10 may apply a rule to the application to run on the old server 21A. This rule is implemented by creating and managing a host aggregate.
[0033] The adjustment unit 13 tunes the settings of the new server 21B based on information regarding the characteristics of the application 31 running on the old server 21A and information regarding the characteristics of the new server 21B. The information regarding the characteristics of the new server 21B and the information regarding the characteristics of the application 31 may be obtained from, for example, NFVI2 and stored in the storage unit 16 described later. The information regarding the characteristics of the new server 21B is information indicating the CPU characteristics of the new server 21B. The information regarding the characteristics of the application 31 is information indicating the CPU characteristics of the virtual machine.
[0034] For example, the information indicating the CPU characteristics may be the operating frequency and the number of cores. The adjustment unit 13 may set the upper limit of the operating frequency to the upper limit of the old server 21A. The adjustment unit 13 may also set the upper limit of the operating frequency to a value that is approximately the same as the benchmark evaluation of the old server 21A. The benchmark evaluation will be performed by the verification unit 14, which will be described later.
[0035] In another example, information describing the CPU's characteristics may be the CPU's model name. The CPU's model name can specify, for example, the operating frequency and the number of cores. The model name can be specified, for example, in the `cpu_model` parameter in a virtual machine definition. In one example, the `cpu_model` parameter can specify the name of a previous generation model.
[0036] The adjustment unit 13 may tune the settings by combining the setting of the operating frequency and the setting of the power saving function. The setting of the operating frequency may also be an upper limit setting for the operating frequency.
[0037] The adjustment unit 13 may set the upper limit of the operating frequency by changing the userspace setting of the CPU governor (or CPUfreq governor). The adjustment unit 13 may also set the upper limit of the operating frequency determined by the limiting unit 12 as the initial value for setting the operating frequency.
[0038] The adjustment unit 13 may enable or disable C-State, which saves energy by putting the CPU into a low-power state, as a power saving setting. The adjustment unit 13 may enable the setting of the operating frequency by enabling C-State. The adjustment unit 13 may disable the setting of the operating frequency by disabling C-State.
[0039] The adjustment unit 13 may tune the settings according to the time of day. For example, the adjustment unit 13 may set an operating frequency lower than the operating frequency of the old server 21A as the setting for the nighttime period. The nighttime period may be a predetermined time period. For example, the nighttime period may be 6 hours from 24:00 to 6:00. The nighttime period may include at least a portion of the time from midnight to before sunrise. The adjustment unit 13 may set an operating frequency equivalent to or the same as the operating frequency of the new server 21B as the setting for the operating frequency outside of the nighttime period.
[0040] The adjustment unit 13 may use AI (Artificial Intelligence) to tune the settings. For example, the adjustment unit 13 may use a model that has learned the relationship between information about the characteristics of the new server 21B, information about the characteristics of the application 31, and past tuning results to tune the settings.
[0041] Multiple cores of the CPU in the new server 21B may each be associated with a separate application 31. The adjustment unit 13 may perform tuning of the settings for each of the multiple cores.
[0042] The new server 21B may arrange virtual machines so that applications 31 requiring low performance and applications 31 requiring high performance are mixed together. The adjustment unit 13 may set the operating frequency of the cores corresponding to applications requiring high performance higher than the operating frequency of the cores corresponding to applications requiring low performance.
[0043] The verification unit 14 performs performance verification of application 31 on the new server 21B. Performance verification may be, for example, a benchmark evaluation. Performance verification may also be based on, for example, CPU usage under high load.
[0044] The decision unit 15 determines the new settings for the new server 21B based on iterative tuning and performance verification. For example, the decision unit 15 may identify a tuning that has improved performance verification as a result of the iterative execution and determine the new settings corresponding to that tuning. The decision unit 15 may store the new settings in the storage unit 16. The decision unit 15 may transmit the new settings to other devices. The decision unit 15 may display the new settings on a display device. The new settings are used when allocating virtual machines on the VNF3 side.
[0045] The verification unit 14 may perform further performance verification on the old server 21A. The determination unit 15 may determine the new settings based on the results of the performance verification performed on the old server 21A. For example, the determination unit 15 may compare the results of performance verification (e.g., benchmark evaluation) of the old server 21A and the new server 21B and determine the new settings when similar performance is achieved. Similar performance may mean that the performance is within a predetermined range based on the performance of the old server.
[0046] The adjustment unit 13 may set the upper limit of the operating frequency of the new server 21B to be the same as the upper limit of the operating frequency of the CPU of the old server 21A. The adjustment unit 13 may also set the upper limit of the new server 21B using a value that makes the performance verification results (benchmark results) of the old server 21A and the performance verification results of the new server 21B to be roughly the same.
[0047] The storage unit 16 (management DB) is a non-temporary storage medium or storage device that stores the new settings of the new server 21B. The storage unit 16 may store information regarding the characteristics of application 31, information regarding the characteristics of old server 21A, information regarding the characteristics of new server 21B, the determined new settings, and past tuning results (past settings). The storage unit 16 may be constructed as a single database or as a collection of multiple databases. The storage unit 16 may be a component of VIM 10 or may be located in a computer system separate from VIM 10.
[0048] Figure 3(a) shows an example of the correspondence between the settings of the new server 21B and application 31. Figure 3(a) shows servers V1 to V3 as examples of the new server 21B. Figure 3(a) shows applications A1 to A3 as examples of application 31.
[0049] In one example, the memory unit 16 stores setting C1 in relation to server V1 and application A1. The memory unit 16 stores setting C2 in relation to server V1 and application A2. The memory unit 16 stores setting C3 in relation to server V1 and application A3.
[0050] Figure 3(b) shows an example of the settings. The settings may include frequency settings, C-State, and CPU governor. Frequency settings and CPU governor are examples of setting the operating frequency. C-State is an example of setting power saving. For example, the memory unit 16 may store the frequency settings, C-State, and CPU governor in association with each of the settings C1 to C3.
[0051] Through iterative tuning and performance testing, performance differences are gradually eliminated. Depending on the tuning, the results regarding the elimination of performance differences and the occurrence of problems may change. For example, in a first combination of a server and application, changing only the operating frequency may be more effective in eliminating performance differences and less likely to cause problems than changing the C-State. In a second combination of a different server and application, changing both the operating frequency and the C-State may be more effective in eliminating performance differences and less likely to cause problems than changing either one. And in a third combination of a different server and application, changing only the C-State may be more effective in eliminating performance differences and less likely to cause problems than changing the operating frequency. Thus, the optimal settings may differ depending on the relationship between the server and application.
[0052] An example of how the communication system 1 operates will be explained with reference to Figure 4. Figure 4 is a flowchart showing an example of the preprocessing of the communication system 1 as flow M1. Flow M1 may be omitted.
[0053] In step S1, the operation verification unit 11 verifies the operation of application 31. The operation verification unit 11 verifies whether application 31 operates correctly on the new server 21B. In other words, the operation verification unit 11 verifies the operation of VNF3 on the updated NFVI2.
[0054] In step S2, the limiting unit 12 determines the result of the operation check. If a malfunction occurs in the application as a result of the operation check (YES in step S2), the process proceeds to step S3. If no malfunction occurs in the application as a result of the operation check (NO in step S2), the process proceeds to step S4.
[0055] In step S3, the limiting unit 12 limits the upper limit of the operating frequency of the CPU of the new server 21B according to the results of the operation check. For example, the limiting unit 12 may lower the upper limit of the operating frequency.
[0056] After step S3, the process returns to step S1. That is, after the limiting unit 12 lowers the upper limit of the operating frequency, the operation verification unit 11 may perform an operation verification.
[0057] The limiting unit 12 may change the reduction amount depending on the number of operational verification trials. For example, the limiting unit 12 may increase the reduction amount of the upper limit of the operating frequency when the number of operational verification trials is small. The limiting unit 12 may decrease the reduction amount of the upper limit of the operating frequency as the number of operational verification trials increases. The limiting unit 12 may decrease the reduction amount of the upper limit of the operating frequency as the limited upper limit of the operating frequency approaches the operating frequency of the old server 21A's CPU.
[0058] In one example, the limiting unit 12 may limit the upper limit of the CPU operating frequency by setting the reduction amount to 1 GHz when the number of operational verification trials is 1. In another example, the limiting unit 12 may limit the upper limit of the CPU operating frequency by setting the reduction amount to 500 MHz when the number of operational verification trials is 2.
[0059] In step S4, the limiting unit 12 determines the upper limit of the operating frequency at which no malfunction occurs. If the operation check confirms that no malfunction occurs in the application, the limiting unit 12 does not need to limit the upper limit of the operating frequency.
[0060] If a problem occurs that cannot be resolved by limiting the operating frequency, VIM10 may apply a rule to the application to run on the old server 21A. This rule is implemented by creating and managing a host aggregate.
[0061] An example of how the communication system 1 operates will be explained with reference to Figure 5. Figure 5 is a flowchart showing an example of the operation of the communication system 1 as flow M2.
[0062] In step S11, the adjustment unit 13 obtains information regarding the characteristics of the application 31 running on the old server 21A and information regarding the characteristics of the new server 21B. For example, the adjustment unit 13 may obtain information regarding the characteristics of the new server 21B and information regarding the characteristics of the application 31 from the storage unit 16.
[0063] In step S12, the adjustment unit 13 tunes the settings of the new server 21B based on information regarding the characteristics of the application 31 running on the old server 21A and information regarding the characteristics of the new server 21B.
[0064] The adjustment unit 13 may tune the settings by combining the setting of the operating frequency and the setting of the power saving function. The setting of the operating frequency may also be an upper limit setting for the operating frequency.
[0065] The adjustment unit 13 may set the upper limit of the operating frequency by changing the userspace setting of the CPU governor (or CPUfreq governor). The adjustment unit 13 may set the upper limit of the operating frequency determined by the limiting unit 12 in flow M1 as the initial value for setting the operating frequency.
[0066] The adjustment unit 13 may enable or disable C-State, which saves energy by putting the CPU into a low-power state, as a power saving setting. The adjustment unit 13 may enable the setting of the operating frequency by enabling C-State. The adjustment unit 13 may disable the setting of the operating frequency by disabling C-State.
[0067] The adjustment unit 13 may tune the settings according to the time of day. For example, the adjustment unit 13 may set an operating frequency lower than the operating frequency of the old server 21A as the setting for the operating frequency during the nighttime period. The nighttime period may be a predetermined time period. For example, the nighttime period may be 6 hours from 24:00 to 6:00. The nighttime period may also include at least a portion of the time from midnight to before sunrise.
[0068] The adjustment unit 13 may use AI to tune the settings. For example, the adjustment unit 13 may use a model that has learned the relationship between information about the characteristics of the new server 21B, information about the characteristics of the application 31, and past tuning results to tune the settings.
[0069] Multiple cores of the CPU in the new server 21B may each be associated with a separate application 31. The adjustment unit 13 may perform tuning of the settings for each of the multiple cores.
[0070] The new server 21B may arrange virtual machines so that applications 31 requiring low performance and applications 31 requiring high performance are mixed together. The adjustment unit 13 may set the operating frequency of the cores corresponding to applications requiring high performance higher than the operating frequency of the cores corresponding to applications requiring low performance.
[0071] The verification unit 14 performs performance verification of application 31 on the new server 21B. Performance verification may be, for example, a benchmark evaluation. Performance verification may also be based on, for example, CPU usage under high load.
[0072] In step S14, the verification unit 14 distributes the processing according to whether or not the iteration termination condition is met. The iteration termination condition is not limited. The iteration termination condition may be, for example, that the performance verification has been executed a predetermined number of times, or that the result of the performance verification meets the criteria. If the iteration termination condition is met (YES in step S14), the processing proceeds to step S15. If the iteration termination condition is not met (NO in step S14), the processing returns to step S12.
[0073] In step S15, the decision unit 15 determines the new settings for the new server 21B based on iterative tuning and performance verification. For example, the decision unit 15 may identify a tuning that has improved performance verification as a result of the iterative execution and determine the new settings corresponding to that tuning. The decision unit 15 may store the new settings in the storage unit 16. The decision unit 15 may transmit the new settings to another device. The decision unit 15 may display the new settings on a display device. The new settings are used when allocating virtual machines on the VNF3 side.
[0074] In relation to step S13, the verification unit 14 may perform further performance verification on the old server 21A. In relation to step S15, the determination unit 15 may determine the new settings based on the results of the performance verification performed on the old server 21A. For example, the determination unit 15 may compare the results of performance verification (e.g., benchmark evaluation) of the old server 21A and the new server 21B and determine the new settings when similar performance is achieved. Similar performance may mean that the performance is within a predetermined range based on the performance of the old server.
[0075] In relation to steps S11 to S12, the adjustment unit 13 may set the upper limit of the operating frequency of the new server 21B to be the same as the upper limit of the operating frequency of the CPU of the old server 21A. The adjustment unit 13 may also set the upper limit of the new server 21B using a value that makes the performance verification results (benchmark results) of the old server 21A and the performance verification results of the new server 21B to be about the same.
[0076] The new settings may be determined in the testing environment and then reflected in the commercial environment. If it can be guaranteed that application 31 can run on the new server 21B in the testing environment, VNFM6 may automatically heal application 31 onto the new server 21B in the commercial environment, which has the new settings reflected.
[0077] As described above, the VIM10 (device) relating to one aspect of this disclosure includes an adjustment unit 13 that tunes the settings of the new server 21B based on information regarding the characteristics of the application 31 running on the old server 21A, which is the physical server 21 before replacement, and information regarding the characteristics of the new server 21B, which is the physical server 21 after replacement; a verification unit 14 that verifies the performance of the application 31 on the new server 21B; and a determination unit 15 that determines the new settings of the new server 21B based on repeated tuning and performance verification.
[0078] One aspect of the method relating to this disclosure includes the steps of tuning the settings of the new server 21B based on information regarding the characteristics of the application 31 running on the old server 21A, which is the physical server 21 before replacement, and information regarding the characteristics of the new server 21B, which is the physical server 21 after replacement; performing performance verification of the application 31 on the new server 21B; and determining new settings for the new server 21B based on the iterative implementation of tuning and performance verification.
[0079] In the apparatus and method relating to one aspect of this disclosure, a new configuration for the new server 21B is determined by iteratively performing tuning of settings based on information regarding the characteristics of the new server 21B and information regarding the characteristics of the application 31 on the old server 21A, and verifying the performance of the application 31. By reflecting the results of the performance verification in the new configuration, the performance discrepancy between the new server 21B and the application 31 can be suppressed. As a result, the impact on the virtualization infrastructure caused by the replacement of the physical infrastructure can be suppressed.
[0080] The adjustment unit 13 tunes the settings by combining the operating frequency setting and the power saving setting. The operating frequency setting and the power saving setting have a significant impact on performance. By tuning through combinations of these settings, it becomes possible to narrow down the number of settings and determine efficient new settings.
[0081] The adjustment unit 13 sets the operating frequency for nighttime hours to a lower frequency than the operating frequency of the old server 21A. Nighttime hours are a period when the processing load of the physical server 21 and the application 31 is low. In other words, high performance is not required during nighttime hours. By setting a lower operating frequency during nighttime hours, power consumption, which is dependent on the operating frequency, can be reduced.
[0082] The adjustment unit 13 sets the operating frequency to match the operating frequency of the new server 21B. The determination unit 15 determines the new settings to match the operating frequency of the new server 21B if there are no problems with the performance verification. For example, the adjustment unit 13 may use the upper limit or default operating frequency of the new server 21B as the operating frequency setting. It is possible that no problems will occur in the performance verification even at the operating frequency of the new server 21B. In other words, it is possible that the application 31 can handle the performance of the new server 21B. In this case, by setting the new settings to match the operating frequency of the new server 21B, the physical resources of the new server 21B can be effectively utilized.
[0083] The adjustment unit 13 performs tuning using a model that has learned the relationship between information about the characteristics of the new server 21B, information about the characteristics of the application 31, and past tuning results. As more past tuning results are accumulated, the learning accuracy of the model improves. As a result, the time and computational cost required for tuning the settings can be reduced.
[0084] The CPU cores of the new server 21B are each associated with a separate application 31. The tuning unit 13 performs tuning for each of the multiple cores. The performance requirements for physical resources differ depending on the type of application 31. Tuning for each of the multiple cores allows for more precise tuning. As a result, the impact on the virtualization infrastructure caused by the replacement of the physical infrastructure can be further suppressed.
[0085] The new server 21B arranges virtual machines so that applications 31 requiring low performance and applications 31 requiring high performance coexist. The adjustment unit 13 sets the operating frequency of the cores corresponding to applications 31 requiring high performance higher than the operating frequency of the cores corresponding to applications 31 requiring low performance. By coexisting applications 31 requiring low performance and applications 31 requiring high performance, the CPU of the new server 21B can be used efficiently. For example, since applications 31 requiring low performance have a small workload on the CPU, stable operation is possible even if the operating frequency is suppressed. More physical resources can be allocated to applications 31 requiring high performance. In addition, applications 31 requiring high performance can more easily utilize operation exceeding the rated operating frequency (e.g., turbo boost). As a result, the impact on the virtualization infrastructure caused by the replacement of the physical infrastructure can be suppressed.
[0086] The verification unit 14 performs further performance verification on the old server 21A. The decision unit 15 then determines the new settings based on the results of the performance verification performed on the old server 21A. By performing performance verification (e.g., benchmark evaluation) on both the old server 21A and the new server 21B, a new setting for the new server 21B that enables stable operation equivalent to that of the old server 21A is determined. In other words, the track record of stable operation of the old server 21A is reflected in the new settings for the new server 21B. As a result, the impact on the virtualization infrastructure caused by the replacement of the physical infrastructure can be further suppressed.
[0087] The apparatus and method of this disclosure may have the following configurations. [1] An adjustment unit that tunes the settings of the new server based on information regarding the characteristics of the application running on the old server (the physical server before replacement) and information regarding the characteristics of the new server (the physical server after replacement), A verification unit that performs performance verification of the aforementioned application on the new server, The system includes a determination unit that determines new settings for the new server based on the repeated execution of the aforementioned tuning and performance verification. Device. [2] The apparatus according to claim 1, wherein the adjustment unit tunes the settings by a combination of setting the operating frequency and setting the power saving function. [3] The apparatus according to claim 2, wherein the adjustment unit sets an operating frequency lower than the operating frequency of the old server as the setting for the operating frequency during nighttime hours. [4] The adjustment unit sets the operating frequency to match the operating frequency of the new server. If there are no problems with the performance verification, the determination unit determines the new settings in accordance with the operating frequency of the new server. The apparatus according to claim 2. [5] The adjustment unit performs the tuning using a model that has learned the relationship between information regarding the characteristics of the new server, information regarding the characteristics of the application, and past tuning results, as described in any of [1] to [4]. [6] The multiple cores of the CPU in the aforementioned new server are each associated with a different application. The adjustment unit performs the tuning for each of the multiple cores. The apparatus described in any of [1] to [5]. [7] The aforementioned new server arranges virtual machines so that applications requiring low performance and applications requiring high performance coexist. The adjustment unit makes the operating frequency of the core corresponding to the application requiring high performance higher than the operating frequency of the core corresponding to the application requiring low performance. The apparatus described in [6]. [8] The verification unit further performs the performance verification on the old server, The determination unit further determines the new settings based on the results of the performance verification performed on the old server. The apparatus described in any of [1] to [7]. [9] The steps include tuning the settings of the new server based on information regarding the characteristics of the application running on the old server (the physical server before replacement) and information regarding the characteristics of the new server (the physical server after replacement), The steps include performing performance verification of the aforementioned application on the new server, The process includes the step of determining a new configuration for the new server based on the repeated performance of the aforementioned tuning and performance verification. method.
[0088] The block diagrams used in the description of the above embodiments show functional units. These functional blocks (components) are realized by any combination of at least one of hardware and software. Furthermore, the method of realizing each functional block is not particularly limited. That is, each functional block may be realized using one device that is physically or logically coupled, or it may be realized using two or more physically or logically separated devices that are directly or indirectly connected (for example, using wired or wireless connections). A functional block may also be realized by combining the above one device or the above multiple devices with software.
[0089] Functions include, but are not limited to, judgment, decision, judgment, calculation, calculation, processing, derivation, investigation, exploration, confirmation, reception, transmission, output, access, resolution, selection, selection, establishment, comparison, assumption, expectation, assumption, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating (mapping), and assigning. For example, a functional block (configuration part) that enables transmission is called a transmitting unit or transmitter. As mentioned above, the method of implementation is not particularly limited.
[0090] For example, the communication system 1 in one embodiment of the present disclosure may function as a computer that performs information processing according to the present disclosure. Figure 6 is a diagram showing an example of the hardware configuration of the communication system 1 according to one embodiment of the present disclosure. The VIM 10 described above may be physically configured as a computer device including a processor 1001, memory 1002, storage 1003, communication device 1004, input device 1005, output device 1006, bus 1007, etc.
[0091] In the following explanation, the term "device" can be replaced with "circuit," "device," "unit," etc. The hardware configuration of communication system 1 may include one or more of the devices shown in the figure, or it may be configured without some of the devices.
[0092] Each function in the communication system 1 is realized by loading predetermined software (programs) onto hardware such as the processor 1001 and memory 1002, which allows the processor 1001 to perform calculations and control communication by the communication device 1004, or control at least one of data reading and writing in the memory 1002 and storage 1003.
[0093] The processor 1001 controls the entire computer, for example, by running an operating system. The processor 1001 may be composed of a central processing unit (CPU) that includes interfaces with peripheral devices, control units, arithmetic units, registers, etc. For example, each function in the communication system 1 described above may be implemented by the processor 1001.
[0094] Furthermore, the processor 1001 reads programs (program code), software modules, data, etc., from at least one of the storage 1003 and the communication device 1004 into the memory 1002 and executes various processes accordingly. The program used is one that causes the computer to execute at least a part of the operations described in the above embodiment. For example, each function in the communication system 1 may be implemented by a control program stored in the memory 1002 and running on the processor 1001. Although the above-described processes have been executed by one processor 1001, they may be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The program may also be transmitted from the network via a telecommunications line.
[0095] Memory 1002 is a computer-readable recording medium and may consist of at least one of the following: ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. Memory 1002 may also be called a register, cache, main memory, etc. Memory 1002 can store executable programs (program code), software modules, etc., for carrying out a method according to one embodiment of the present disclosure.
[0096] The storage 1003 is a computer-readable recording medium and may consist of at least one of the following: an optical disc such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disc, a digital multipurpose disc, a Blu-ray® disc), a smart card, flash memory (e.g., a card, a stick, a key drive), a floppy® disk, a magnetic strip, etc. The storage 1003 may also be called an auxiliary storage device. The storage medium provided by the communication system 1 may be, for example, a database, server, or other suitable medium including at least one of the memory 1002 and the storage 1003.
[0097] The communication device 1004 is hardware (transceiver / receiver device) for communicating between computers via at least one of a wired network and a wireless network, and is also called a network device, network controller, network card, communication module, etc.
[0098] The input device 1005 is an input device that accepts input from an external source (e.g., a keyboard, mouse, microphone, switch, button, sensor, etc.). The output device 1006 is an output device that outputs to an external source (e.g., a display, speaker, LED lamp, etc.). The input device 1005 and the output device 1006 may be configured as an integrated unit (e.g., a touch panel).
[0099] Furthermore, each device, such as the processor 1001 and memory 1002, is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or different buses may be configured for each device.
[0100] Furthermore, the communication system 1 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array), and some or all of each functional block may be realized by such hardware. For example, the processor 1001 may be implemented using at least one of these hardware components.
[0101] The processing procedures, sequences, flowcharts, etc., of each aspect / embodiment described herein may be reordered, provided they are consistent with each other. For example, the methods described herein present various step elements in an exemplary order and are not limited to that specific order.
[0102] Input and output information may be stored in a specific location (e.g., memory) or managed using a management table. Input and output information may be overwritten, updated, or appended to. Output information may be deleted. Input information may be transmitted to other devices.
[0103] The determination may be made by a value represented by 1 bit (0 or 1), by a boolean value (true or false), or by a numerical comparison (for example, a comparison with a predetermined value).
[0104] Each aspect / embodiment described herein may be used individually, in combination, or switched between as needed during implementation. Furthermore, notification of specific information (e.g., notification that "X is") is not limited to explicit notification, but may also be implicit (e.g., by not providing such notification).
[0105] Although the present disclosure has been described in detail above, it will be clear to those skilled in the art that the present disclosure is not limited to the embodiments described herein. The present disclosure can be implemented in modified and altered forms without departing from the intent and scope of the present disclosure as defined by the claims. Therefore, the descriptions in the present disclosure are illustrative and not intended to be restrictive in any way.
[0106] Software should be broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, functions, and so on, whether they are called software, firmware, middleware, microcode, hardware description languages, or by any other name.
[0107] Furthermore, software, instructions, information, etc., may be transmitted and received via a transmission medium. For example, if software is transmitted from a website, server, or other remote source using at least one of wired technology (such as coaxial cable, fiber optic cable, twisted pair, or digital subscriber line (DSL)) and wireless technology (such as infrared or microwave), then at least one of these wired and wireless technologies is included in the definition of a transmission medium.
[0108] The terms “system” and “network” as used in this disclosure are interchangeable.
[0109] Furthermore, the information, parameters, etc., described in this disclosure may be expressed using absolute values, relative values from a predetermined value, or corresponding other information.
[0110] As used in this disclosure, the terms “determining” and “determining” may encompass a wide variety of actions. “Determining” may include, for example, judging, calculating, computing, processing, deriving, investigating, looking up, searching, inquiry (e.g., searching in a table, database, or other data structure), and ascertaining. “Determining” may also include, for example, receiving (e.g., receiving information), transmitting (e.g., sending information), input, output, and accessing (e.g., accessing data in memory). Furthermore, "judgment" and "decision" can include considering something as having been "judged" or "decided" after resolving, selecting, choosing, establishing, comparing, etc. In other words, "judgment" and "decision" can include considering something as having been "judged" or "decided" after some action. Also, "judgment (decision)" can be reinterpreted as "assuming," "expecting," or "considering."
[0111] The terms “connected,” “coupled,” or any variation thereof, mean any direct or indirect connection or coupling between two or more elements, and may include the presence of one or more intermediate elements between two elements that are “connected” or “coupled” with each other. The coupling or connection between elements may be physical, logical, or a combination thereof. For example, “connection” may be reinterpreted as “access.” As used in this disclosure, two elements may be considered to be “connected” or “coupled” with each other using at least one of one or more wires, cables, and printed electrical connections, and, in some non-limiting and non-exclusive examples, electromagnetic energy having wavelengths in the radio frequency domain, microwave domain, and optical (both visible and invisible) domain.
[0112] In this disclosure, the phrase "based on" does not mean "based solely on" unless otherwise specified. In other words, the phrase "based on" means both "based solely on" and "based at least on."
[0113] Any reference to elements using the designations “first,” “second,” etc., as used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient way to distinguish between two or more elements. Accordingly, references to the first and second elements do not imply that only two elements may be employed, or that the first element must precede the second element in any way.
[0114] Where the terms “include,” “including,” and variations thereof are used in this disclosure, these terms are intended to be inclusive, as is the term “comprising.” Furthermore, the term “or” as used in this disclosure is not intended to mean exclusive OR.
[0115] In this disclosure, if articles are added through translation, such as a, an, and the in English, this disclosure may include the fact that the noun following these articles is plural.
[0116] In this disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "combine" may be interpreted similarly to "different." [Explanation of Symbols]
[0117] 1...Communication system, 2...NFVI, 3...VNF, 4...MANO, 5...NFVO, 6...VNFM, 10...VIM, 11...Operation confirmation unit, 12...Restriction unit, 13...Adjustment unit, 14...Verification unit, 15...Decision unit, 16...Storage unit, 21...Physical server, 21A...Old server, 21B...New server, 31...Application, 311...VNF, 312...VNF, 313...VNF.
Claims
1. An adjustment unit that tunes the settings of the new server based on information regarding the characteristics of the application running on the old server (the physical server before replacement) and information regarding the characteristics of the new server (the physical server after replacement), A verification unit that performs performance verification of the aforementioned application on the new server, The system includes a determination unit that determines new settings for the new server based on the repeated execution of the aforementioned tuning and performance verification. Device.
2. The apparatus according to claim 1, wherein the adjustment unit tunes the settings by a combination of setting the operating frequency and setting the power saving function.
3. The apparatus according to claim 2, wherein the adjustment unit sets an operating frequency lower than the operating frequency of the old server as the setting for the operating frequency during the nighttime period.
4. The adjustment unit sets the operating frequency to match the operating frequency of the new server. If there are no problems with the performance verification, the determination unit determines the new settings in accordance with the operating frequency of the new server. The apparatus according to claim 2.
5. The apparatus according to claim 1, wherein the adjustment unit performs the tuning using a model that has learned the relationship between information regarding the characteristics of the new server, information regarding the characteristics of the application, and past tuning results.
6. The multiple cores of the CPU in the aforementioned new server are each associated with a different application. The adjustment unit performs the tuning for each of the multiple cores. The apparatus according to claim 1.
7. The aforementioned new server arranges virtual machines so that applications requiring low performance and applications requiring high performance coexist. The adjustment unit makes the operating frequency of the core corresponding to the application requiring high performance higher than the operating frequency of the core corresponding to the application requiring low performance. The apparatus according to claim 6.
8. The verification unit further performs the performance verification on the old server, The determination unit further determines the new settings based on the results of the performance verification performed on the old server. The apparatus according to claim 1.
9. The steps include tuning the settings of the new server based on information regarding the characteristics of the application running on the old server (the physical server before replacement) and information regarding the characteristics of the new server (the physical server after replacement), The steps include performing performance verification of the aforementioned application on the new server, The process includes the step of determining a new configuration for the new server based on the repeated performance of the aforementioned tuning and performance verification. method.
Citation Information
Patent Citations
Method of controlling virtual network function, virtual network function management device, and virtual network providing system
WO2018181956A1