WO2020158436A1 - ネットワーク性能保証システム及びネットワーク性能保証方法 - Google Patents
ネットワーク性能保証システム及びネットワーク性能保証方法 Download PDFInfo
- Publication number
- WO2020158436A1 WO2020158436A1 PCT/JP2020/001414 JP2020001414W WO2020158436A1 WO 2020158436 A1 WO2020158436 A1 WO 2020158436A1 JP 2020001414 W JP2020001414 W JP 2020001414W WO 2020158436 A1 WO2020158436 A1 WO 2020158436A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- performance
- resource allocation
- allocation amount
- resource
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
- H04L41/0897—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
Definitions
- the present invention provides a network performance assurance system and network performance that automatically scales the number of VMs (Virtual Machines) and containers generated in a server connected to a network, and resources such as CPU (Central Processing Unit) and memory. Regarding the guarantee method.
- VMs Virtual Machines
- CPU Central Processing Unit
- a network performance assurance system (also referred to as a system) has a configuration in which one or more VMs and/or containers are used as physical servers connected by a network. Either one or both of the VM and the container will be referred to as a VM/container.
- the VM/container constitutes a VNF (Network Functions Virtualization).
- performance the quality of communication services such as delay and throughput in a network using multiple VMs/containers. That is, good performance means good communication service quality, and poor performance means bad communication service quality.
- -Auto scale is a function that automatically increases or decreases the number of VMs/containers according to the server load. With this auto-scaling, the number of VMs/containers is automatically increased when access is concentrated on the server of the system, and the number of VMs/containers is decreased when access is low, so that the system operates with the optimal number of VMs/containers. It is like this.
- Autoscale includes scale-out that increases the number of VMs/containers to improve server performance, and conversely, scale-in that reduces the number of VMs/containers to optimize server performance. Further, in auto-scaling, resources such as CPU and memory of VM/container are added to improve server performance, and conversely, VM/container resources are deleted to optimize server performance. There is scale down. Note that scale-out or scale-in is expressed as scale-out/in, and scale-up or scale-down is expressed as scale-up/down.
- Non-Patent Documents 1 and 2 are examples of the autoscale of the system described above.
- Non-Patent Document 1 widely discloses a concept of performance control in consideration of SLO (service level target value or performance target value).
- SLO service level target value or performance target value
- the existing auto-scale of the performance control method in the virtualization technology uses the threshold value of the resource utilization rate defined in advance for each VM/container to determine the scale trigger. ing.
- the resource allocation amount to the VM/container is changed by adding/deleting resources such as CPU and memory by scaling up/down or scaling out/in.
- performance values such as delay and throughput and the resource allocation amount such as the number of vCPUs (virtual CPUs) of each VM/container, the amount of memory and the number of VMs/containers are complicated.
- the resource part that depends on and is a bottleneck exists as follows.
- the performance value p of the VNF depends on the resource allocation amounts r V1 , r V2 ,..., R Vk ,..., R Vn of the VM/containers V1, V2,..., Vk,. Then, the performance value p is expressed by the following functional expression (1).
- the performance value p is a function of the resource allocation amount of VM/container V1, V2,..., Vk,..., Vn, the resource allocation amount of a certain VM/container Vk, as shown in FIG. Even if only r Vk is increased (for example, increased to 3), the performance value p of the entire VNF cannot be improved. The reason for this is as follows.
- Vn is a respectively only one VMs/containers V1, V2,...
- the other VMs/containers V1, V2,..., Vn may be increased, but since it depends on manpower, it is not easy to know how much to increase and it takes time and labor.
- the performance value of VNF cannot be set to SLO (performance target value).
- the resource allocation amount such as the VM/number of containers cannot be properly controlled.
- the present invention has been made in view of such circumstances, and it is an object of the present invention to provide a network performance guarantee system and a network performance guarantee method capable of appropriately controlling a resource allocation amount such as the number of VMs/containers by autoscaling. To do.
- the invention according to claim 1 relates to the number of VMs/containers which are either or both of VMs (Virtual Machines) and containers generated in a server connected to a network, and A VM/container network performance assurance system that automatically scales resources represented by CPUs (Central Processing Units) and memories according to a resource allocation amount, and includes a plurality of types of VMs/containers and VMs.
- VMs/containers which are either or both of VMs (Virtual Machines) and containers generated in a server connected to a network
- a VM/container network performance assurance system that automatically scales resources represented by CPUs (Central Processing Units) and memories according to a resource allocation amount, and includes a plurality of types of VMs/containers and VMs.
- a /Collector that collects measurement data including the resource usage amount obtained by measuring the resource operation according to the resource allocation amount of the container/container and the performance value of the communication service related to the VM/container;
- a first server having a control unit that performs an auto-scale for increasing or decreasing resources according to the resource allocation amount, and correlates with the resource allocation amount from the performance value of the measurement data collected by the collection unit.
- a second server having a calculation unit that calculates an estimated value of performance, calculates the resource allocation amount when the estimated value satisfies the target value of the performance value, and the resource allocation amount is the minimum;
- the control unit is a network performance assurance system characterized by increasing or decreasing the resources of the corresponding VM/container by executing autoscaling according to the calculated resource allocation amount.
- the number of VMs/containers which are either or both of VMs and containers generated in a server connected to a network, and resources represented by CPU and memory of the VMs/containers are An autoscaling type performance guarantee method for a system that performs an autoscaling that increases or decreases according to a resource allocation amount, wherein the system is connected to a first server in which a plurality of types of VMs/containers are generated and the first server. And a resource utilization amount obtained by measuring the operation of the resource according to the resource allocation amount of the VM/container, and the performance of the communication service related to the VM/container.
- an estimated value of performance according to the change of the resource allocation amount is obtained, and when the estimated value satisfies the target value of the performance value and the resource allocation amount becomes the minimum, the resource allocation amount is calculated.
- a step of increasing or decreasing the resources of the corresponding VM/container by executing auto-scaling according to the calculated resource allocation amount. is there.
- the resource allocation amount such as the VM/number of containers can be appropriately controlled by auto scaling.
- the learning unit is configured such that, from among the measurement data collected by the collection unit, the correlation between the measurement data and the resource allocation amount of the VM/container is greater than a predetermined first threshold value.
- the following effects can be obtained.
- the measurement data (the resource usage amount corresponds) that is changed due to this change becomes inappropriate when the model performance value is obtained.
- This improper measurement data has a characteristic of increasing when the correlation with the measurement data of the resource that depends on the resource allocation amount is high. Therefore, if incorrect measurement data is excluded in advance as in the present invention, the accuracy with which the model performance value can be estimated can be increased.
- the learning unit performs measurement in which a correlation with a performance value of a communication service related to the VM/container is higher than a predetermined second threshold value.
- the correct performance value cannot be obtained unless the parameter reflecting the dependency relation with the measurement data is used. Therefore, as the parameter that can be used to estimate the performance value, only the measurement data that has a correlation with the performance value higher than the second threshold value is used from the measurement data that remains after the exclusion. Therefore, the correct performance value of the communication service related to the VM/container can be obtained.
- the calculation unit changes the number of resources of the VM/container between a predetermined minimum number and a maximum number, and selects a combination candidate of the brute force number according to the change. Generated, the total amount of each generated combination candidate quantity is in order of small or large, and from the combination candidates in which the estimated value is associated with the total quantity in this order, the estimated value is the performance value. A condition that satisfies the target value and the total amount becomes the minimum value is searched for, and after the minimum value of the total amount is searched, the first process is ended when the total amount becomes a value other than the minimum value.
- the network performance guarantee system according to claim 3, wherein
- the search is terminated when the total amount becomes a value other than the minimum value after all the conditions in which the estimated value satisfies the target value of the performance value and the total amount becomes the minimum value are searched. I chose Therefore, the search process can be significantly reduced as compared with the process of searching for all the combination candidates of the brute force quantity.
- the total amount is the minimum in the resource allocation amount of the operating resources of the VM/container, the estimated value satisfies the performance value, and the combination candidate retrieved at the end time. And selecting a combination candidate having the smallest absolute value of the difference between the resource allocation amount and the resource allocation amount, and performing a second process of notifying the control unit of the resource allocation amount of the selected combination candidate.
- the following effects can be obtained.
- Changing the resource allocation amount with respect to the resources of the VM/container has an adverse effect. Therefore, if the resource allocation amount is frequently changed on the way as a communication service, the performance value of the communication service decreases.
- the resource allocation amount that is closest to the resource allocation amount of the resource currently in operation is selected from the combination candidates of the brute force quantities of the resources of the VM/container. Therefore, even if the resource allocation amount is changed on the way, the deterioration of the performance value can be prevented or suppressed.
- the calculation unit performs the first process and the second process when the performance value becomes larger than a predetermined value, or at constant time intervals.
- the present invention it is possible to provide a network performance guarantee system and a network performance guarantee method that appropriately control resource allocation amounts such as the number of VMs/containers by autoscaling.
- FIG. 6 is a block diagram illustrating a process in which an estimated optimal calculation unit of the controller obtains a service performance estimated value for each combination candidate of VM/container of VM/number of containers.
- 7 is a table including a total amount which is a total value of VM/container number for each combination candidate of VM/container number of each VM/container.
- 10 is a diagram showing by a circle when the SLO for each combination candidate of VM/container number of each VM/container is 50 ms or less and the total amount is the minimum.
- 9 is a table showing current VM/container combination candidates. 9 is a table including Euclidean distances in a combination candidate of VM/container number under the above condition of VM/container. It is a sequence diagram for explaining the operation of the network performance assurance system according to the present embodiment. It is a figure which shows several VM/container in VNF. It is a figure showing a mode that a specific VM/container is increased in auto scale among a plurality of VM/containers in VNF.
- FIG. 1 is a block diagram showing the configuration of a network performance guarantee system according to an embodiment of the present invention.
- the network performance assurance system (system) 10 shown in FIG. 1 is configured by connecting a controller 12 to a plurality of computers 11,..., 11 (described later) connected via a network.
- the compute 11 includes a data collection unit 11a, a resource control unit 11b, and a plurality of types of VM/containers V1 to V4.
- the controller 12 includes a data collection unit 12a, a learning unit 12b, and an estimated optimal calculation unit 12c.
- the data collection unit 12a and the learning unit 12b are connected to a DB (Data Base) 13.
- DB Data Base
- Each compute 11 and controller 12 is composed of a physical server (server). However, a server in which VMs/containers V1 to V4, which are virtually created inside, move is defined as the compute 11.
- the controller 12 issues an instruction to increase or decrease the VMs/containers, and the compute 11 auto-scales in response to the instruction to add or remove the VMs/containers V1 to V4 inside.
- the VM/containers V1 to V4 are also expressed as V1 to V4.
- the compute 11 constitutes the first server described in the claims.
- the controller 12 constitutes the second server described in the claims.
- the data collection units 11a and 12a constitute a collection unit described in the claims.
- the resource control unit 11b constitutes the control unit described in the claims.
- the learning unit 12b constitutes a learning unit described in the claims.
- the estimated optimum calculation unit 12c constitutes the calculation unit 12c described in the claims.
- the resources such as the CPU and the memory of the compute 11 and the allocation amount (resource allocation amount) to the resources of each VM/container V1 to V4 generated in the compute 11 are controlled according to the control of the controller 12.
- the service performance or service performance value
- the resource allocation amount is changed to add the resource.
- the service performance is also called performance
- the service performance value is also called performance value.
- the resource allocation amount when the resource allocation amount is changed at regular time intervals or triggered by the service performance value, a combination of resource allocations of VMs/containers V1 to V4 that minimizes the resource allocation amount is optimally searched by estimation calculation ( Presumed optimal search). Resource allocation is executed with the resource allocation amount obtained by this estimated optimum search, and by this execution, the system 10 capable of guaranteeing communication service performance is realized.
- the service performance value of communication in the network using each VM/container V1 to V4 the resource of the compute 11 and the resource usage amount of each VM/container V1 to V4 (resource usage amount), and each VM /A process of collecting data with the resource allocation amounts of the containers V1 to V4 is performed.
- the resource usage amount of the compute 11 is the CPU usage amount, memory usage amount, packet transmission/reception number, storage IO (input/output) that is an auxiliary storage device, and the like of the physical server that configures the compute 11.
- the resource usage amount of each VM/container V1 to V4 is the vCPU usage amount, memory usage amount, packet transmission/reception number, storage IO number, VM/container number, etc. of each VM/container V1 to V4.
- the process of learning the relationship between the service performance value and the resource allocation amount by regression analysis is performed.
- the service performance estimation value (also called the performance estimation value) closest to the SLO (service level target value or performance target value) To get This performance estimation value is a value for estimating the service performance value. Further, in the operation phase, a combination of resource allocations that minimizes the resource allocations to the VMs/containers V1 to V4 is searched (estimated optimum search) according to the estimated performance value, and the combination of the searched resource allocations is calculated. The processing for changing the resource allocation is performed by the automatic scaling.
- the VMs/containers V1 to V4 constituting the service are generated or triggered by a certain time interval.
- the controller 12 instructs the compute 11 to collect data.
- the data collection unit 11a of the compute 11 changes the resource allocation amount of each VM/container V1 to V4 and collects the measurement data at the time of resource operation according to the changed allocation amount.
- the collected measurement data is notified to the data collection unit 12a of the controller 12 and stored in the DB 13.
- the learning unit 12b performs the learning phase process based on the measurement data stored in the DB 13 as follows.
- the learning unit 12b excludes, from the measurement data stored in the DB 13, the measurement data depending on the resource allocation amount of each VM/container V1 to V4 as follows.
- the measurement data of the DB 13 includes the resource usage amount (for example, VM/number of containers) according to the resource allocation amount of V1 to V4.
- the measurement data since the measurement data is collected while the resource allocation amount is changed as described above, the data becomes data according to the change. For example, it is assumed that the measurement data are a, b, c, d, and e as shown in Table 21 of FIG.
- the learning unit 12b sets the resource allocation amount to y and the measurement data to x, and the sample covariance Sxy indicating the relationship between the two data of y and x, and the sample standard deviation Sx indicating the magnitude of the variation between the two data.
- Sy a sample correlation coefficient r indicating the correlation between the two data is calculated from the following equation (2).
- the sample covariance is also referred to as the covariance
- the sample standard deviation is also referred to as the standard deviation
- the sample correlation coefficient is also referred to as the correlation coefficient.
- the correlation coefficient r calculated by the equation (2) is “0.6” for measurement data a, “0.1” for b, and “0.0” for c. , D becomes “0.1” and e becomes “0.8".
- the learning unit 12b excludes the measurement data depending on the resource allocation amount of each VM/container V1 to V4 from the measurement data a to e.
- a predetermined first threshold value for example, 0.2
- the service performance estimation value estimated to obtain an appropriate service performance value is, as shown in Table 23 of FIG. 3, a combination candidate (“2, 2, 2, 2”) of VM/container number of V1 to V4.
- the resource allocation amount (VM/number of containers) as "4, 4, 4, 4") is calculated by applying it to the following functional expression (3).
- Performance estimation value f (resource usage amount, resource allocation amount)... (3)
- the resource usage amount exists in addition to the resource allocation amount as an element that determines the performance estimation value. Therefore, when the resource allocation amount (VM/number of containers) is changed, the resource usage amount (VM/number of containers) changes due to this change. In this case, it becomes impossible to determine which of the resource usage amount and the resource allocation amount has changed the performance estimation value.
- the resource usage amount has a characteristic that the resource usage amount increases when the correlation between the resource allocation amount to V1 to V4 and the measurement data of the resource depending on this allocation amount is large.
- the measurement data b, c, d remaining after the removal in step Sa of FIG. 2 after being processed in this way are stored in the DB 13.
- step Sb of FIG. 2 the learning unit 12b calculates a sample correlation coefficient r1 described below for each of the remaining measurement data b, c, and d as shown in Table 22, and the correlation is recognized.
- the measured data b and c thus obtained are defined as input measured data for regression analysis of service performance.
- the learning unit 12b obtains the correlation coefficient r1 between the service performance value stored in the DB 13 and the measurement data b to d in the data collection phase.
- the correlation coefficient r1 is assumed that b of measurement data is "0.8", c is "0.5”, and d is "0.1".
- the measurement data b and c having a high correlation coefficient r1 used are stored in the DB 13 as the input measurement data b and c together with the service performance value.
- the reason for obtaining the correlation coefficient r1 between the above-mentioned service performance value and the measurement data b to d will be described.
- the correct service performance value cannot be obtained unless a parameter that reflects the dependency relationship with the measurement data is used. Therefore, the correlation coefficient r1 needs to be calculated for the purpose of extracting only the measurement data b and c from the measurement data b to d as a parameter that can be used to estimate the service performance value.
- step Sc of FIG. 2 the learning unit 12b performs regression analysis for estimating the service performance value as a model (model service performance value) using the input measurement data b and c, and obtains the result.
- the model service performance value as the learned result is stored in the DB 13.
- SVR Small Vector Regression
- the model service performance value constitutes the model performance value described in the claims.
- the estimated optimal calculation unit 12c generates a combination candidate of the resource allocation amount (VM/number of containers) as follows in the case of scale-out/in or scale-up/down executed by auto scaling.
- the estimated optimal calculation unit 12c sets the VM/container number as the resource allocation amount of V1 to V4 shown in Table 23 to, for example, the minimum number “2” and the maximum number “ 4”, and sequentially changing the number of steps by, for example, “2”, the combination candidates (“2, 2, 2, 2” to “4, 4, 4, 4” of the VM/container number (resource allocation amount) are combined. , 4”) is generated.
- the estimated optimal calculation unit 12c determines the number of resource allocation sets (not shown) as the resource allocation amount of V1 to V4 (see VM/number of containers in Table 23) to be, for example, “2” or maximum It is set to “4”, and while sequentially changing the number of steps by “2”, for example, the combination candidates (“2, 2, 2, 2” to “4, 4, 4” of the resource allocation set number (resource allocation amount) are exhaustive. 4, 4") is generated. Generation of these combination candidates will be described on behalf of the scale-out/in case.
- the estimated optimal calculation unit 12c uses each combination candidate generated for each VM/container number described above, and provides a real-time service of resources at the present time according to the input measurement data b and c in the DB 13.
- a performance value (referred to as an RT service performance value) is acquired.
- the estimated optimum calculation unit 12c performs a regression analysis from the relationship between the RT service performance value sequentially acquired for each combination candidate and the model service performance value as a learning result stored in the DB 13.
- the service performance according to the change of the resource allocation amount (VM/number of containers) is estimated for each combination candidate of V1 to V4.
- the service performance estimation value (target) for each combination candidate shown in Table 24 is obtained.
- the combination candidate has a large number of combinations even if the number of VMs/containers is two such as “2” and “4” as in the example, but the number of trials is as small as possible in the process of the estimated optimal search. You can narrow down the target. Therefore, the following processing is performed.
- the estimated optimal calculation unit 12c obtains the total value of the VM/container number combination candidates of V1 to V4 for each combination candidate as the total amount. For example, when the combination candidate 0 of the number of VMs/containers is “2, 2, 2, 2”, the total value is “8”, so the total amount is “8”. The smaller the total amount, the smaller the number of VMs/containers that are resources, and hence the less wasted resources.
- the estimated optimum calculation unit 12c determines that the estimated service performance value is equal to or lower than the SLO (performance target value) (in other words, the performance target value is satisfied) and the total amount is the minimum VM/container number (resource allocation amount). Search for a combination candidate that becomes. The retrieved combination candidate becomes the optimum resource allocation amount.
- the SLO is 50 ms as shown in Table 26 of FIG.
- a combination candidate having a delay of 50 ms or less, which is a performance estimation value, and a minimum total amount is searched for.
- the total amount is arranged in ascending order from the top of Table 26. Note that, conversely, they may be arranged in descending order.
- the estimated optimal calculation unit 12c searches for a delay whose performance estimation value (delay) shown in Table 26 is 50 ms or less.
- delay performance estimation value
- Table 26 The estimated optimal calculation unit 12c searches for a delay whose performance estimation value (delay) shown in Table 26 is 50 ms or less.
- the number of VMs/containers is "2, 4, 2, 4" indicated by the arrow Y1
- a delay of 50 ms is searched for the first time.
- the total amount “12” in the case of the delay 50 ms initially searched is the minimum, and thus the combination candidate having the delay 50 ms or less and the minimum total amount “12” is determined.
- a circle is attached to the SLO comparison column of the confirmed combination candidate.
- the SLO comparison column is sequentially marked with " ⁇ ".
- the search operation ends when the total amount designated by the arrow Y2 becomes "14" next to "12", that is, when the total value exceeds the minimum value.
- the number of VMs/containers of V1 to V4 is changed as little as possible, the fluctuation of resources will be less and the performance target value will be less affected, so I want to avoid changing the number of VMs/containers as much as possible.
- the number of VMs/containers of V1 to V4 is “2, 2, 2, 4” shown in Table 27 of FIG. 6, for example, “4” of V4 is decreased and “2” of V1 is changed. It is necessary to avoid changes such as increase. Therefore, it is necessary to search for a combination candidate whose number of VMs/containers is changed as little as possible. This search is performed using the Euclidean distance as follows.
- the estimated optimum calculation unit 12c calculates the resource allocation amount (VM/container number) of the current VM/container V1 to V4 and the resource allocation amount (VM) whose performance estimation value obtained above is SLO or less and whose total amount is minimum. /The number of containers) and a combination candidate that minimizes the Euclidean distance between
- the combination candidate that minimizes the Euclidean distance d of is obtained by calculating the Euclidean distance d by the following equation (4).
- the Euclidean distance d is calculated as follows. That is, the current combination of V1 to V4 “2, 2, 2, 4” shown in Table 27 of FIG. 6 and the combination candidate “2, 4, 2, 4” shown in the first line of Table 28 of FIG.
- the Euclidean distance d of is equal to “4” which is the result of calculating the square root which is the calculation result of (2-2) 2 +(2-4) 2 +(2-2) 2 +(4-4) 2 . This "4" is described in the column of the distance d.
- the second line to the fourth line are calculated in the same manner, each becomes "12".
- the estimated optimal calculation unit 12c sets the VM/container number “2, 4, 2, 4” of the combination candidate in the first row having the minimum Euclidean distance d shown in Table 28 to VM/containers V1 to V4. Adopt as resource allocation.
- the resource allocation amount (VM/container number) “2, 4, 2, 4” of the adopted V1 to V4 is notified to the resource control unit 11b of the compute 11.
- the resource control unit 11b controls the number of VMs/containers, which are the resources of the VMs/containers V1 to V4, to be the resource allocation amount “2, 4, 2, 4”. By this control, it is possible to guarantee the optimum communication service performance in the system 10.
- step S1 it is assumed that the data collection unit 12a of the controller 12 is notified by the compute 11 that each VM/container V1 to V4 (FIG. 1) has been created. Upon receiving this notification, the data collection unit 12a issues a data collection start instruction to the compute 11 in step S2.
- the data collection unit 11a of the compute 11 Upon receiving this instruction, the data collection unit 11a of the compute 11 starts data collection of the number of each VM/container V1 to V4 generated above and the resource performance value such as delay and throughput in step S3.
- step S4 the data collection unit 11a gives the resource control unit 11b an instruction (resource allocation instruction) to increase or decrease by adding or deleting resources of each VM/container V1 to V4.
- step S5 the resource control unit 11b controls the resource allocation for increasing or decreasing the resources of V1 to V4 according to the instruction.
- the number of VMs/containers of V1 to V4 as resources is determined, and the delay measurement data, which is the service performance value at this time, is also obtained.
- the measurement data a to e shown in Table 21 of FIG. 2 are obtained.
- measurement data of resources such as the CPU usage of the entire physical server, the CPU usage of each VM/container, and the resource allocation can be obtained.
- step S6 of FIG. 8 the resource control unit 11b notifies the data collection unit 11a of the measured data of the number of VMs/containers determined by the resource allocation and the service performance value.
- the data collection unit 11a collects the notified measurement data in step S7, and transfers the collected data to the data collection unit 12a of the controller 12 in step S8.
- the transferred collected data is stored in the DB 13 (FIG. 1).
- the above steps S4 to S8 are repeated as follows.
- the VM/container number as the resource allocation amount of V1 to V4 shown in Table 23 of FIG. 3 is set to the minimum “2” and the maximum “4”, and the VM/container is changed by sequentially changing the number of steps by “2”.
- a combination candidate (“2,2,2,2” to “4,4,4,4”) that is a combination of numbers is generated.
- the measurement data of the resource is collected, notified to the data collection unit 12a, and stored in the DB 13.
- the data collection unit 11a of the compute 11 notifies the data collection unit 12a of the controller 12 that the data collection is completed (step S9).
- the data collection unit 12a receives this notification, the data collection phase ends.
- the data collection unit 12a Upon receiving the data collection completion, the data collection unit 12a requests the learning unit 12b to perform calculation in the learning phase in step S10.
- the learning unit 12b Upon receiving the request, the learning unit 12b performs regression analysis as follows based on the collected data stored in the DB 13 in step S11.
- the learning unit 12b first obtains the correlation coefficient r between the measurement data a to e shown in Table 21 of FIG. 2 stored in the DB 13 and the resource allocation amount used in the resource allocation in step S5. Next, the measurement data a and e having the correlation coefficient r exceeding the first threshold “0.2” are excluded. The correlation coefficient r1 between the measured data b, c, d shown in Table 22 of FIG. 2 remaining after the elimination and the service performance value stored in the DB 13 in the data collection phase is obtained. Regression analysis is performed using the measurement data b and c whose correlation coefficient r1 exceeds the second threshold “0.4”. By this regression analysis, the model service performance value as the learning result is obtained.
- the learning unit 12b notifies the estimated optimum calculation unit 12c of the model service performance value as the learning result obtained by the regression analysis in step S12 shown in FIG.
- the estimated optimal calculation part 12c stores the model service performance value of the learning result in the DB 13 in step S13. This saving completes the learning phase.
- the estimated optimal calculation unit 12c After storing the model service performance value, the estimated optimal calculation unit 12c notifies the compute 11 of an operation start instruction in step S14. Upon receiving this notification, the data collection unit 11a of the compute 11 collects the measurement data at the time of resource operation from the VM/containers V1 to V4 in step S15, and the collected data is collected in step S16 by the data collection unit of the controller 12. 12a. The transferred collection data is notified from the data collection unit 12a to the estimated optimum calculation unit 12c in step S17.
- step S18 the estimated optimum calculation unit 12c performs estimated optimum search processing as follows. However, it is assumed that resource allocation is executed by scale-out/in in the operation phase. First, the estimated optimal calculation unit 12c performs a brute force combination candidate (“2, 2, 2, 2” to “4, 4” of VM/container numbers as resource allocation amounts of V1 to V4 shown in Table 23 of FIG. 3). , 4, 4”) is generated.
- the estimated optimum calculation unit 12c stores the RT service performance value, which is the real-time service performance value of the resource corresponding to the input measurement data b and c in the DB 13, for each combination candidate, and stores it in the DB 13 in step S13.
- the regression analysis is performed from the relationship with the model service performance value as the learned result. By this regression analysis, the service performance estimation value (delay) is obtained for each combination candidate shown in Table 24 of FIG.
- the estimated optimal calculation unit 12c obtains the total value for each combination candidate shown in Table 25 of FIG. 4 as the total amount. The smaller the total amount, the less wasted resources.
- the estimated optimum calculation unit 12c searches for a combination candidate whose performance estimation value shown in Table 26 of FIG. 5 is SLO (50 ms) or less and whose total amount is the minimum number of VMs/containers. It is assumed that there are four combination candidates as indicated by a circle in the SLO comparison column by this search.
- step S19 the estimated optimal calculation unit 12c notifies the resource control unit 11b of the compute 11 of the resource allocation amounts (VM/number of containers) of the adopted V1 to V4, “2, 4, 2, 4”. ..
- step S20 the resource control unit 11b sets the number of VMs/containers, which are the resources of the VMs/containers V1 to V4, to “2,4,2,4” of the resource allocation amount by performing auto-scaling by scale-out/in. Control. This control ensures optimal communication service performance in the system 10.
- This system 10 is represented by the number of VMs/containers V1 to V4 which are either or both of VMs and containers generated in a server connected to a network, and the CPU and memory of the VMs/containers V1 to V4.
- the resource is automatically scaled by increasing or decreasing according to the resource allocation amount.
- the characteristic configuration of the system 10 will be described.
- the system 10 includes a compute 11 including a plurality of types of VMs/containers V1 to V4, a data collection unit 11a, and a resource control unit 11b.
- the controller 12 includes a learning unit 12b and an estimated optimum calculation unit 12c. And the configuration.
- the data collection unit 11a measures the resource usage amount obtained by measuring the operation of the resource according to the resource allocation amount of the VM/container V1 to V4, and the measurement data including the performance value of the communication service related to the VM/container V1 to V4. To collect.
- the resource control unit 11b performs auto scaling to increase/decrease the resources of the VM/containers V1 to V4 according to the resource allocation amount.
- the learning unit 12b obtains a performance value having a high correlation with the resource allocation amount as a model performance value from the performance values of the measurement data collected by the data collection unit 11a.
- the estimated optimal calculation unit 12c obtains an estimated value of the performance according to the change of the resource allocation amount by performing a regression analysis of the model performance value and the performance value related to the operation of the resource corresponding to the model performance value.
- a resource allocation amount is calculated when the target value of the performance value is satisfied and the resource allocation amount is the minimum. Further, the resource control unit 11b increases or decreases the resources of the VM/containers V1 to V4 by executing the auto scaling according to the calculated resource allocation amount.
- the learning unit 12b performs measurement in which the correlation between the measurement data and the resource allocation amounts of the VMs/containers V1 to V4 is higher than the predetermined first threshold value from the measurement data collected by the data collection unit 11a. It is configured to exclude data.
- the following effects can be obtained.
- the measurement data (the resource usage amount corresponds) that is changed due to this change becomes inappropriate when the model performance value is obtained.
- This improper measurement data has a characteristic of increasing when the correlation with the measurement data of the resource that depends on the resource allocation amount is high. Therefore, if incorrect measurement data is excluded in advance as in the present invention, the accuracy with which the model performance value can be estimated can be increased.
- the learning unit 12b uses, as a model, the measurement data remaining after the exclusion, which has a correlation with the performance value of the communication service related to the VM/containers V1 to V4 that is higher than a predetermined second threshold value.
- the configuration is used to obtain the performance value.
- the correct performance value when actually calculating the performance value of the communication service related to the VM/containers V1 to V4, the correct performance value can be obtained unless the parameter reflecting the dependency relationship with the measurement data is used. Can not. Therefore, as the parameter that can be used to estimate the performance value, only the measurement data that has a correlation with the performance value higher than the second threshold value is used from the measurement data that remains after the exclusion.
- the estimated optimal calculation unit 12c varies the number of resources of the VMs/containers V1 to V4 from a predetermined minimum number to a maximum number, and generates a combination candidate of the brute force number according to this variation.
- the total amount of the generated quantities for each combination candidate is in the order of small or large, and from the combination candidates in which the estimated value is associated with the total amount in this order, the estimated value satisfies the target value of the performance value.
- the condition that the total amount is the minimum value is searched for, and after the minimum value of the total amount is searched, the first process is terminated when the total amount becomes a value other than the minimum value.
- the search is terminated when the total amount becomes a value other than the minimum value after all the conditions in which the estimated value satisfies the target value of the performance value and the total amount becomes the minimum value are searched. .. Therefore, the search process can be significantly reduced as compared with the process of searching for all the combination candidates of the brute force quantity.
- the estimated optimum calculation unit 12c uses the resource allocation amount of the operating resources of the VM/containers V1 to V4 and the resource allocation amount of which the estimated value satisfies the performance value and the total amount is the smallest in the combination candidates searched at the end. A combination candidate having the smallest absolute value of the difference between and is selected, and the second process of notifying the resource allocation amount of the selected combination candidate to the resource control unit 11b is performed.
- the following effects can be obtained.
- Changing the resource allocation amount with respect to the resources of the VMs/containers V1 to V4 has an adverse effect. Therefore, if the resource allocation amount is changed frequently during the communication service, the performance value of the communication service is lowered.
- the resource allocation amount that is closest to the resource allocation amount of the currently operating resource is selected from the combination candidates of the brute force quantities of the resources of the VM/containers V1 to V4. Therefore, even if the resource allocation amount is changed on the way, the deterioration of the performance value can be prevented or suppressed.
- the estimated optimal calculation unit 12c may perform the above-described first process and second process when the performance value becomes larger than a predetermined value, or at fixed time intervals.
- Network Performance Assurance System 11 Compute (First Server) 11a Data collection unit 11b Resource control unit 12 Controller (second server) 12a Data collection unit 12b Learning unit 12c Estimated optimal calculation unit 13 DB V1 to V4 VM/Container
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】オートスケールによってVM/コンテナ数等のリソース割当量を適正に制御する。 【解決手段】ネットワーク性能保証システム10は、サーバに生成されるVM/コンテナV1~V4(V1~V4)の数及びV1~V4のリソースを増減するオートスケールを行う。データ収集部11aでV1~V4のリソース割当量(割当量)に応じたリソース動作に係るリソース利用量とV1~V4に係る通信サービスの性能値とを含む測定データを収集する。学習部12bにより収集測定データの内の性能値から、割当量に相関が高い性能値をモデル性能値とする。推定最適算出部12cで、モデル性能値と、これに対応するリソースに係る性能値との回帰分析で割当量変更に応じた性能の推定値を求め、推定値が、性能値の目標値を満たし且つ割当量が最小となる割当量を算出する。リソース制御部11bでその算出した割当量に応じたオートスケールでV1~V4のリソースを増減する。
Description
本発明は、ネットワーク接続されたサーバに生成されるVM(Virtual Machine:仮想マシン)及びコンテナの数や、CPU(Central Processing Unit)及びメモリ等のリソースのオートスケールを行うネットワーク性能保証システム及びネットワーク性能保証方法に関する。
ネットワーク性能保証システム(システムともいう)は、ネットワークで接続される物理的なサーバに、1又は複数のVM及びコンテナの何れか一方又は双方を用いた構成となっている。このVM及びコンテナの何れか一方又は双方を、VM/コンテナと表現する。このVM/コンテナによりVNF(Network Functions Virtualization:VNFネットワーク機能仮想化)の構成が成されている。
また、複数のVM/コンテナを用いたネットワークにおける遅延やスループット等の通信サービスの品質を「性能」又は「性能値」という。つまり、性能が良いとは通信サービス品質が良いことを表わし、性能が悪いとは通信サービス品質が悪いことを表わす。
オートスケールとは、サーバ負荷に応じて、自動的にVM/コンテナの数を増減させる機能である。このオートスケールによって、システムのサーバにアクセスが集中したときはVM/コンテナ数を自動で増やし、アクセスが少ないときはVM/コンテナ数を減らすことで、極力最適なVM/コンテナ数でシステムを稼働するようになっている。
オートスケールには、VM/コンテナ数を増やしてサーバ性能を高めるスケールアウトと、この逆に、VM/コンテナ数を減らしてサーバ性能を適正にするスケールインがある。更に、オートスケールには、VM/コンテナのCPUやメモリ等のリソースの追加を行ってサーバ性能を高めるスケールアップと、この逆に、VM/コンテナのリソースの削除を行ってサーバ性能を適正にするスケールダウンとがある。なお、スケールアウト又はスケールインをスケールアウト/インと表現し、スケールアップ又はスケールダウンをスケールアップ/ダウンと表現する。
上述したシステムのオートスケールの一例として非特許文献1,2の技術が有る。非特許文献1には、SLO(サービスレベル目標値又は性能目標値)を意識した性能制御のコンセプトが広く開示されている。一方、非特許文献2における仕様及び機能では、仮想化技術における性能制御手法の既存のオートスケールが、VM/コンテナ毎に予め規定したリソース利用率の閾値を用いてスケール契機を判断するようになっている。このオートスケールでは、スケールアップ/ダウン或いはスケールアウト/インによるCPUやメモリ等のリソース追加/削除によって、VM/コンテナへのリソース割当量の変更を実施している。
M.G. Jaatun,et al.,"SLA-Driven Adaptive Resource Management for Web Applications on a Heterogeneous Compute Cloud",[online],2009,[平成31年1月16日検索],インターネット〈URL: http://www.cs.ait.ac.th/~mdailey/papers/Iqbal-RTSLA.pdf〉
富士通クラウドテクノロジーズ,"ニフクラのオートスケール",[online],2017-2019,[平成31年1月16日検索],インターネット〈URL: https://cloud.nifty.com/service/autoscale.htm〉
しかし、特許文献2のオートスケール技術では、リソース利用率の閾値と、リソース制御対象のVM/コンテナの選定と、VM/コンテナの増減等の制御量とを、人が予め適正に規定することが必要となっている。この人による規定は容易に行えず手間暇が掛かり、規定後にオートスケール制御を行ってもVM/コンテナ数やリソース割当量を適正に制御できないという問題が生じる。
また、複数のVM/コンテナで構成されるVNFでは、遅延やスループット等の性能値と、各VM/コンテナのvCPU(仮想CPU)数、メモリ量やVM/コンテナ数等のリソース割当量とが複雑に依存し、ボトルネックとなるリソース部分が次のように存在している。
例えば、図9に示すように、VNFに複数のVM/コンテナV1,V2,…,Vk,…,Vnがあるとする。この際に、VNFの性能値pが、VM/コンテナV1,V2,…,Vk,…,Vnのリソース割当量rV1,rV2,…,rVk,…,rVnに依存しているとすれば、性能値pは次の関数式(1)で表わされる。
p=f(rV1,rV2,…,rVk,…,rVn)…(1)
このように性能値pが、VM/コンテナV1,V2,…,Vk,…,Vnのリソース割当量の関数の場合に、図10に示すように、ある1つのVM/コンテナVkのリソース割当量rVkだけを増加(例えば3つに増加)させても、VNF全体の性能値pを向上させることができない。この理由は次の通りである。
この例のように、1つのVM/コンテナVkのリソース割当量rVkだけを3つに増加させても、これ以外の他のVM/コンテナV1,V2,…,Vnは各々1つのみなので、これらのVM/コンテナV1,V2,…,Vnで性能値pが不足してボトルネックとなり、VNF全体として性能が向上しない。この場合、他のVM/コンテナV1,V2,…,Vnも増加させればよいが、人手によるため、幾つ増やせば良いかが簡単に判らず手間暇が掛かってしまう。
このように、あるVM/コンテナVkのリソース割当量rVkだけを増加させるオートスケールを行っても、VNFの性能値をSLO(性能目標値)とすることができない。言い換えれば、オートスケールを行っても、VM/コンテナ数等のリソース割当量を適正に制御できない。
本発明は、このような事情に鑑みてなされたものであり、オートスケールによってVM/コンテナ数等のリソース割当量を適正に制御できるネットワーク性能保証システム及びネットワーク性能保証方法を提供することを課題とする。
上記課題を解決するための手段として、請求項1に係る発明は、ネットワーク接続されたサーバに生成されるVM(Virtual Machine)及びコンテナの何れか一方又は双方であるVM/コンテナの数及び、当該VM/コンテナのCPU(Central Processing Unit)及びメモリに代表されるリソースを、リソース割当量に応じて増減するオートスケールを行うネットワーク性能保証システムであって、複数種類の前記VM/コンテナと、前記VM/コンテナのリソース割当量に応じたリソースの動作を測定して得られるリソース利用量及び、当該VM/コンテナに係る通信サービスの性能値を含む測定データを収集する収集部と、前記VM/コンテナのリソースを前記リソース割当量に応じて増減するオートスケールを行う制御部とを有する第1サーバを備えると共に、前記収集部で収集された測定データの内の前記性能値から、前記リソース割当量に相関が高い性能値をモデル性能値として求める学習部と、前記モデル性能値と、当該モデル性能値に対応する前記リソースの動作に係る性能値との回帰分析により、前記リソース割当量の変更に応じた性能の推定値を求め、この推定値が、前記性能値の目標値を満たし且つ前記リソース割当量が最小となる場合の、リソース割当量を算出する算出部とを有する第2サーバを備え、前記制御部は、前記算出されたリソース割当量に応じたオートスケールの実行によって該当VM/コンテナのリソースを増減することを特徴とするネットワーク性能保証システムである。
請求項7に係る発明は、ネットワーク接続されたサーバに生成されるVM及びコンテナの何れか一方又は双方であるVM/コンテナの数及び、当該VM/コンテナのCPU及びメモリに代表されるリソースを、リソース割当量に応じて増減するオートスケールを行うシステムのオートスケール型性能保証方法であって、前記システムは、複数種類の前記VM/コンテナが生成された第1サーバと、当該第1サーバに接続された第2サーバとを備え、前記第1サーバは、前記VM/コンテナのリソース割当量に応じたリソースの動作を測定して得られるリソース利用量及び、当該VM/コンテナに係る通信サービスの性能値を含む測定データを収集するステップと、前記VM/コンテナのリソースを前記リソース割当量に応じて増減するオートスケールを行うステップとを実行し、前記第2サーバは、前記収集された測定データの内の前記性能値から、前記リソース割当量に相関が高い性能値をモデル性能値として求めるステップと、前記モデル性能値と、当該モデル性能値に対応する前記リソースの動作に係る性能値との回帰分析により、前記リソース割当量の変更に応じた性能の推定値を求め、この推定値が、前記性能値の目標値を満たし且つ前記リソース割当量が最小となる場合の、リソース割当量を算出するステップとを実行し、前記第1サーバは、前記算出されたリソース割当量に応じたオートスケールの実行によって該当VM/コンテナのリソースを増減するステップを実行することを特徴とするネットワーク性能保証方法である。
請求項1の構成及び請求項7の方法によれば、少ないリソース割当量でのオートスケールの実行により、VM/コンテナにおいて無駄なリソースが少なくなるようにリソース割当を行うことができる。このため、オートスケールによってVM/コンテナ数等のリソース割当量を適正に制御できる。
請求項2に係る発明は、前記学習部が、前記収集部で収集された測定データの中から、当該測定データと前記VM/コンテナのリソース割当量との相関が予め定められた第1閾値よりも高い測定データを排除することを特徴とする請求項1に記載のネットワーク性能保証システムである。
この構成によれば、次のような作用効果が得られる。VM/コンテナのリソースをリソース割当量で変更する際に、この変更に釣られて変わってしまう測定データ(リソース利用量が該当)は、モデル性能値を求める場合に不適正となる。この不適正な測定データは、リソース割当量に依存するリソースの測定データとの相関が高い場合に、多くなる特性がある。このため、本発明のように、不適正な測定データを事前に排除すれば、モデル性能値を推定できる精度を高めることができる。
請求項3に係る発明は、前記学習部が、前記排除の後に残った測定データの内、前記VM/コンテナに係る通信サービスの性能値との相関が予め定められた第2閾値よりも高い測定データを、前記モデル性能値を求めるために用いることを特徴とする請求項2に記載のネットワーク性能保証システムである。
この構成によれば、次のような作用効果が得られる。実際に、VM/コンテナに係る通信サービスの性能値を計算する場合、測定データとの依存関係を反映するパラメータを使用しなければ、正しい性能値を得ることができない。このため、性能値を推定するために使用可能なパラメータとして、前述の排除後に残った測定データから、性能値との相関が第2閾値よりも高い測定データのみを用いるようにした。このため、VM/コンテナに係る通信サービスの正しい性能値を得ることができる。
請求項4に係る発明は、前記算出部が、前記VM/コンテナのリソースの数量を予め定められた最小数から最大数の間で可変し、この可変に応じた総当りの数量の組合せ候補を生成し、この生成された組合せ候補毎の数量を合計した総量が小又は大の順番となり、この順番の総量に前記推定値を対応付けた組合せ候補の中から、当該推定値が前記性能値の目標値を満たし且つ当該総量が最小値となる条件を検索し、当該総量の最小値が検索された以降、当該検索を総量が最小値以外の値となった際に終了する第1処理を行うことを特徴とする請求項3に記載のネットワーク性能保証システムである。
この構成によれば、推定値が前記性能値の目標値を満たし且つ当該総量が最小値となる条件を全て検索した以降に、総量が最小値以外の値となった際に検索を終了するようにした。このため、総当りの数量の組合せ候補を全て検索する処理に比べ、大幅に検索処理を削減できる。
請求項5に係る発明は、前記算出部が、前記VM/コンテナの稼働中リソースのリソース割当量と、前記推定値が前記性能値を満たし且つ前記終了時に検索された組合せ候補において前記総量が最小であるリソース割当量と、の差分の絶対値が最小である組合せ候補を選択し、この選択された組合せ候補のリソース割当量を前記制御部へ通知する第2処理を行うことを特徴とする請求項4に記載のネットワーク性能保証システムである。
この構成によれば、次の作用効果が得られる。VM/コンテナのリソースに対してリソース割当量を変更すると悪影響が出るので、通信サービスとして途中でリソース割当量を頻繁に変えると、通信サービスの性能値が低下する。しかし、本発明では、VM/コンテナのリソースにおける総当り数量の組合せ候補の中から、現在、稼働中リソースのリソース割当量に最も近いリソース割当量を選択するようにした。このため、途中でリソース割当量を変えても、性能値の低下を防止又は抑制できる。
請求項6に係る発明は、前記算出部が、前記第1処理と前記第2処理を、前記性能値が予め定められた所定値よりも大きくなった場合、又は、一定時間間隔で行うことを特徴とする請求項5に記載のネットワーク性能保証システムである。
この構成によれば、突然ユーザ数が増加して通信サービスの性能値(遅延やスループット等)が大きくなった場合に、上記請求項4記載の第1処理と、請求項5記載の第2処理を行うことで対応できる。
本発明によれば、オートスケールによってVM/コンテナ数等のリソース割当量を適正に制御するネットワーク性能保証システム及びネットワーク性能保証方法を提供することができる。
以下、本発明の実施形態を、図面を参照して説明する。
<実施形態の構成>
図1は、本発明の実施形態に係るネットワーク性能保証システムの構成を示すブロック図である。
図1に示すネットワーク性能保証システム(システム)10は、ネットワークで接続される複数のコンピュート11,…,11(後述)に、コントローラ12がネットワーク接続されて構成されている。
<実施形態の構成>
図1は、本発明の実施形態に係るネットワーク性能保証システムの構成を示すブロック図である。
図1に示すネットワーク性能保証システム(システム)10は、ネットワークで接続される複数のコンピュート11,…,11(後述)に、コントローラ12がネットワーク接続されて構成されている。
コンピュート11は、データ収集部11aと、リソース制御部11bと、複数種類のVM/コンテナV1~V4とを備えて構成されている。
コントローラ12は、データ収集部12aと、学習部12bと、推定最適算出部12cとを備えて構成されている。データ収集部12a及び学習部12bは、DB(Data Base)13に接続されている。
各コンピュート11及びコントローラ12は、物理サーバ(サーバ)によって構成されている。但し、内部に仮想的に作られたVM/コンテナV1~V4が動くサーバを、コンピュート11と定義している。コントローラ12からVM/コンテナを増加又は削減する指示を出し、この指示に応じてコンピュート11がオートスケールによって、内部にVM/コンテナV1~V4を増設又は減設するようになっている。なお、VM/コンテナV1~V4は、V1~V4とも表現する。
なお、コンピュート11は、請求項記載の第1サーバを構成する。コントローラ12は、請求項記載の第2サーバを構成する。データ収集部11a,12aは、請求項記載の収集部を構成する。リソース制御部11bは、請求項記載の制御部を構成する。学習部12bは、請求項記載の学習部を構成する。推定最適算出部12cは、請求項記載の算出部12cを構成する。
システム10においては、コンピュート11のCPUやメモリ等のリソース及び、コンピュート11内に生成された各VM/コンテナV1~V4のリソースへの割当量(リソース割当量)を、コントローラ12の制御に応じて変更している。例えば、ネットワークにおける遅延やスループット等の通信サービスの品質を提供するためのサービス性能(又はサービス性能値)が低下した際に、リソース割当量を変更してリソースを追加している。なお、サービス性能を性能、サービス性能値を性能値とも称す。
本発明では、一定時間毎又はサービス性能値をトリガとしてリソース割当量を変更する際に、リソース割当量が最小となるVM/コンテナV1~V4のリソース割当の組合せを、推定計算により最適に検索(推定最適検索)する。この推定最適検索で得られたリソース割当量でリソース割当を実行するようにし、この実行により、通信サービス性能の保証が可能なシステム10を実現している。
このシステム10では、本発明の特徴であるデータ収集フェーズと、学習フェーズと、運用フェーズとの3段階の処理が行われる。最初に、3段階のフェーズ処理の概要を説明する。
データ収集フェーズでは、各VM/コンテナV1~V4を用いたネットワークにおける通信のサービス性能値と、コンピュート11のリソース及び各VM/コンテナV1~V4のリソースの利用量(リソース利用量)と、各VM/コンテナV1~V4のリソース割当量とのデータを収集する処理が行われる。
但し、コンピュート11のリソース利用量とは、コンピュート11を構成する物理サーバのCPU使用量、メモリ使用量、パケット送受信数、補助記憶装置であるストレージIO(入出力)などである。各VM/コンテナV1~V4のリソース利用量とは、各VM/コンテナV1~V4のvCPU使用量、メモリ使用量、パケット送受信数、ストレージIO数、VM/コンテナ数などである。
学習フェーズでは、サービス性能値とリソース割当量との関係を回帰分析によって学習する処理が行われる。
運用フェーズでは、リソース割当量を変更した場合のサービス性能値を学習の結果から推定することにより、SLO(サービスレベル目標値又は性能目標値)に最も近いサービス性能推定値(性能推定値ともいう)を得る。この性能推定値は、サービス性能値を推定するための値である。更に、運用フェーズでは、性能推定値に応じて、VM/コンテナV1~V4へのリソース割当量が最小となるリソース割当の組合せを検索(推定最適検索)し、この検索されたリソース割当量に応じたオートスケールにより、リソース割当を変更する処理が行われる。
次に、3段階のフェーズ処理の詳細な説明を行う。システム10において、リソース割当量を最適に変更して通信のサービス性能を向上させるためには、まず、サービスを構成するVM/コンテナV1~V4が生成されたことを契機又は一定時間間隔を契機に、コントローラ12がコンピュート11にデータ収集を指示する。この指示に応じてコンピュート11のデータ収集部11aが、各VM/コンテナV1~V4のリソース割当量を変更しながら、変更後の割当量に応じたリソース動作時の測定データを収集する。この収集された測定データは、コントローラ12のデータ収集部12aへ通知され、DB13に記憶される。
学習部12bは、DB13に記憶された測定データを基に学習フェーズの処理を次のように行う。
学習部12bは、図2に示すステップSaにおいて、DB13に記憶された測定データから、各VM/コンテナV1~V4のリソース割当量に依存する測定データを、次のように排除する。但し、DB13の測定データは、V1~V4のリソース割当量に応じたリソース利用量(例えばVM/コンテナ数)等が含まれている。この際、測定データは、上述したようにリソース割当量が変更されながら収集されるので、変更に応じたデータとなる。例えば、図2の表21に示すように、測定データa,b,c,d,eであるとする。
学習部12bは、リソース割当量をyとし、測定データをxとして、yとxとの2つのデータの関係を示す標本共分散Sxyと、2つのデータのバラツキの大きさを表わす標本標準偏差Sx,Syとを用いて、2つのデータの相関関係を示す標本相関係数rを次式(2)から算出する。なお、標本共分散は共分散、標本標準偏差は標準偏差、標本相関係数は相関係数とも称す。
r=Sxy/SxSy …(2)
式(2)により算出された相関係数rは、図2の表21に示すように、測定データのaが「0.6」、bが「0.1」、cが「0.0」、dが「0.1」、eが「0.8」になったとする。
次に、学習部12bは、測定データa~eから、各VM/コンテナV1~V4のリソース割当量に依存する測定データを排除する。この排除は、予め定められた第1閾値(例えば0.2)を超える相関係数rの測定データa=「0.6」、e=「0.8」を排除する。つまり、リソース割当量に対して所定以上大きな相関関係を有する測定データa,eが排除されることになる。表21に示すように、排除する測定データには「1」、排除しない測定データには「0」を付す。
ここで、測定データ(上記では測定データa,e)を排除する理由を説明する。適正なサービス性能値を得るために推定されるサービス性能推定値は、図3の表23に示すように、V1~V4のVM/コンテナ数の組合せ候補(「2,2,2,2」~「4,4,4,4」)としてのリソース割当量(VM/コンテナ数)を、次の関数式(3)に当て嵌めながら求める。
性能推定値=f(リソース利用量,リソース割当量) …(3)
この場合、表23に示すように、V1~V4のVM/コンテナ数が「4,4,4,4」のように多ければ、サービス性能推定値である遅延が(性能が)10msと良くなる。一方、VM/コンテナ数が「2,2,2,2」のように少なければ、遅延が100msと悪くなる傾向がある。
しかし、上式(3)では、性能推定値を決める要素として、リソース割当量の他に、リソース利用量も存在する。このため、リソース割当量(VM/コンテナ数)を変えた際に、この変更に釣られてリソース利用量(VM/コンテナ数)が変わってしまう。この場合、リソース利用量とリソース割当量との何れの影響で性能推定値が変わったのか判別できなくなる。
そこで、式(3)からリソース利用量を事前に排除しておきたい。リソース利用量は、V1~V4へのリソース割当量と、この割当量に依存するリソースの測定データとの相関関係が大きい場合に、リソース利用量が多くなる特性がある。
そこで、上述したように、V1~V4のリソース割当量yと各測定データxとの相関係数r(図2の表21参照)が、第1閾値「0.2」を超えた測定データa=「0.6」、e=「0.8」を排除すれば、リソース利用量が上式(3)から排除されることになる。この場合、式(3)において、リソース割当量のみとなるので、リソース割当量のみに依存した適正なサービス性能推定値を得ることができる。
このように処理して、図2のステップSaでの排除後に残った測定データb,c,dは、DB13に記憶される。
次に、学習部12bは、図2のステップSbにおいて、上記残った測定データb,c,dの各々について、表22に示すように、後述の標本相関係数r1を計算し、相関が認められた測定データb,cを、サービス性能の回帰分析の入力測定データとして定義する。
即ち、学習部12bは、上記データ収集フェーズでDB13に記憶されたサービス性能値と測定データb~dとの相関係数r1を求める。この相関係数r1は、表22に示すように、測定データのbが「0.8」、cが「0.5」、dが「0.1」になったとする。
学習部12bは、相関係数r1が、予め定められた第2閾値「0.4」を超えた測定データb=「0.8」、c=「0.5」を、後述のサービス性能値の回帰分析に利用する。利用する測定データには「1」、利用しない測定データには「0」を付す。この利用される相関係数r1の高い測定データb,cは、入力測定データb,cとして、サービス性能値と共に、DB13に記憶する。
ここで、上述したサービス性能値と測定データb~dとの相関係数r1を求める理由について説明する。実際にサービス性能値を計算する場合、測定データとの依存関係を反映するパラメータを使用しなければ、正しいサービス性能値を得ることができない。このため、サービス性能値を推定するために使用可能なパラメータとして、測定データb~dから測定データb,cのみを取り出すことを目的として、上記相関係数r1を計算する必要がある。
次に、学習部12bは、図2のステップScにおいて、入力測定データb,cを用いて、モデルとしてのサービス性能値(モデルサービス性能値)を推定するための回帰分析を行い、この結果得られる学習結果としてのモデルサービス性能値をDB13に保存する。但し、回帰分析には、SVR(Support Vector Regression:サポートベクター回帰)等を利用する。なお、モデルサービス性能値は請求項記載のモデル性能値を構成する。
上記学習結果としての相関係数r1の高い測定データ(入力測定データ)b,cに係るモデルサービス性能値と、リソース割当量とを用いれば、次の運用フェーズにおいて適正なサービス性能推定値が得られる。
運用フェーズにおいて、推定最適算出部12cは、オートスケールで実行されるスケールアウト/イン又はスケールアップ/ダウンの場合に、リソース割当量(VM/コンテナ数)の組合せ候補を下記のように生成する。
スケールアウト/インの場合、推定最適算出部12cは、図3のステップSdにおいて、表23に示すV1~V4のリソース割当量としてのVM/コンテナ数を、例えば最小数「2」、最大数「4」とし、これをステップ数の例えば「2」ずつ順次変えながら、VM/コンテナ数(リソース割当量)の総当りの組合せ候補(「2,2,2,2」~「4,4,4,4」)を生成する。
スケールアップ/ダウンの場合、推定最適算出部12cは、V1~V4のリソース割当量としての図示せぬリソース割当セット数(表23のVM/コンテナ数を参照)を、例えば最小「2」、最大「4」とし、これをステップ数の例えば「2」ずつ順次変えながら、リソース割当セット数(リソース割当量)の総当りの組合せ候補(「2,2,2,2」~「4,4,4,4」)を生成する。
これらの組合せ候補の生成は、スケールアウト/インの場合を代表して説明する。
これらの組合せ候補の生成は、スケールアウト/インの場合を代表して説明する。
次に、推定最適算出部12cは、図3のステップSeにおいて、上記VM/コンテナ数毎に生成した各組合せ候補で、DB13内の入力測定データb,cに応じた現時点におけるリソースのリアルタイムのサービス性能値(RTサービス性能値という)を取得する。
次に、推定最適算出部12cは、上記組合せ候補毎に順次取得されるRTサービス性能値と、DB13に記憶された学習結果としてのモデルサービス性能値との関係から回帰分析を行う。この回帰分析により、V1~V4の組合せ候補毎に、リソース割当量(VM/コンテナ数)の変更に応じたサービス性能を推定する。この推定によって、表24に示す組合せ候補毎のサービス性能推定値(ターゲット)を求める。
ところで、上記組合せ候補は、VM/コンテナ数が例のように「2」と「4」の2種類でも組合せ数が多いが、推定最適検索の処理を行う上で、出来るだけ少ない試行回数で上記ターゲットを絞り込めればよい。そこで、次の処理を行うようにした。
推定最適算出部12cは、図4の表25に示すように、V1~V4のVM/コンテナ数の組合せ候補毎の合計値を総量として求める。例えば、VM/コンテナ数の組合せ候補0が「2,2,2,2」の場合の合計値は「8」なので、総量が「8」となる。この総量が少ない程に、リソースであるVM/コンテナ数が少ないので、無駄なリソースが少なくなる。
次に、推定最適算出部12cは、サービス性能推定値がSLO(性能目標値)以下で(言い換えれば性能目標値を満たしており)、且つ、総量が最小のVM/コンテナ数(リソース割当量)となる組合せ候補を検索する。この検索された組合せ候補が、最適なリソース割当量となる。
例えば、図5の表26に示すように、SLOが50msであるとする。この場合、性能推定値である遅延が50ms以下で、且つ総量が最小となる組合せ候補を検索する。総量は、表26の上から小さい順に配列してある。なお、この逆に大きい順に配列してもよい。
推定最適算出部12cは、表26に示す性能推定値(遅延)が50ms以下の遅延を検索する。この例の場合、VM/コンテナ数が矢印Y1で指示する「2,4,2,4」の場合に遅延50msのものが初めて検索される。この時点で、初検索された遅延50msの場合の総量「12」が最小であるため、遅延50ms以下且つ最小の総量「12」となる組合せ候補が確定する。この確定した組合せ候補のSLO比較の欄に○を付す。
更に、上記確定後、最小の総量「12」を検索しながら、確定した遅延50ms以下且つ最小の総量「12」となる組合せ候補が順次検索される都度、SLO比較の欄に順次○を付す。この検索中に、表26の例では、矢印Y2で指示する総量が「12」の次の「14」となった時点、つまり、最小値を超えた時点で検索動作が終了する。この検索では、遅延50ms以下且つ最小の総量「12」となるVM/コンテナ数(リソース割当量)の組合せ候補が、○を付した通り4つあったとする。
ここで、V1~V4のVM/コンテナ数は、出来るだけ変更が少ない方がリソースの揺動が少なくなり性能目標値に影響が少ないので、極力、VM/コンテナ数の変更を回避したい。V1~V4のVM/コンテナ数が、例えば図6の表27に示す「2,2,2,4」で運用されている場合に、例えばV4の「4」を減少、V1の「2」を増加する等の変更を回避する必要がある。そこで、VM/コンテナ数の変更が出来るだけ少ない組合せ候補を検索する必要がある。この検索を次のようにユークリッド距離を用いて行うようにした。
推定最適算出部12cは、現在のVM/コンテナV1~V4のリソース割当量(VM/コンテナ数)と、上記で求めた性能推定値がSLO以下で、且つ、総量が最小のリソース割当量(VM/コンテナ数)と、のユークリッド距離が最小となる組合せ候補を算出する。
ここで、現在のVM/コンテナV1,…,Vn)のリソース割当量(rV1,rV2,…,rVn)と、組合せ候補(r′V1,r′V2,…,r′Vn)とのユークリッド距離dが最小となる組合せ候補は、次式(4)でユークリッド距離dを求めて得られる。
d=√{(rV1-r′V1)2+(rV2-r′V2)2+…+(rVn-r′Vn)2} …(4)
この式(4)を用いてユークリッド距離dを次のように求める。即ち、図6の表27に示す現在のV1~V4の組合せ「2,2,2,4」と、図7の表28の1行目に示す組合せ候補「2,4,2,4」とのユークリッド距離dは、(2-2)2+(2-4)2+(2-2)2+(4-4)2の計算結果である平方根を計算した結果の「4」となる。この「4」を距離dの欄に記載する。以降同様に、2行目~4行目を計算すると、各々が「12」となる。
この結果、推定最適算出部12cは、表28に示すユークリッド距離dが最小となる1行目の組合せ候補のVM/コンテナ数「2,4,2,4」を、VM/コンテナV1~V4のリソース割当量として採用する。
この採用されたV1~V4のリソース割当量(VM/コンテナ数)「2,4,2,4」は、コンピュート11のリソース制御部11bへ通知される。リソース制御部11bは、VM/コンテナV1~V4のリソースであるVM/コンテナ数を、リソース割当量の「2,4,2,4」とする制御を行う。この制御によって、システム10における通信サービス性能の最適な保証が可能となる。
<実施形態の動作>
次に、本実施形態に係るネットワーク性能保証システムの動作を、図8のシーケンス図を参照して説明する。
次に、本実施形態に係るネットワーク性能保証システムの動作を、図8のシーケンス図を参照して説明する。
ステップS1において、コントローラ12のデータ収集部12aに、コンピュート11から各VM/コンテナV1~V4(図1)が生成されたことが通知されたとする。この通知を受けたデータ収集部12aは、ステップS2において、コンピュート11にデータ収集開始指示を行う。
この指示を受けたコンピュート11のデータ収集部11aは、ステップS3において、上記生成された各VM/コンテナV1~V4の数や、遅延やスループット等のリソースの性能値のデータ収集を開始する。
このデータ収集部11aは、ステップS4において、各VM/コンテナV1~V4のリソースを追加又は削除して増減する指示(リソース割当指示)を、リソース制御部11bに行う。ステップS5において、リソース制御部11bは、その指示に応じてV1~V4のリソースを増減するリソース割当の制御を行う。この制御では、リソースとしてのV1~V4のVM/コンテナ数が定められ、この際のサービス性能値である遅延の測定データも求められるとする。例えば、図2の表21に示した測定データa~eが求められる。この他に、物理サーバ全体のCPU使用量、VM/コンテナ個別のCPU使用量やリソース割当量等のリソースの測定データも得られる。
図8のステップS6において、リソース制御部11bは、上記リソース割当により定まったVM/コンテナ数とサービス性能値の測定データをデータ収集部11aに通知する。
データ収集部11aは、ステップS7において、その通知された測定データを収集し、この収集データを、ステップS8において、コントローラ12のデータ収集部12aへ転送する。この転送された収集データは、DB13(図1)に記憶される。
上記ステップS4~S8の処理は、次のように繰り返される。例えば、図3の表23に示すV1~V4のリソース割当量としてのVM/コンテナ数を、最小「2」、最大「4」とし、これをステップ数「2」ずつ順次変えながら、VM/コンテナ数の総当りの組合せ候補(「2,2,2,2」~「4,4,4,4」)を生成する。この繰り返し生成において、リソースの測定データが収集されてデータ収集部12aに通知され、DB13に記憶される。
上記ステップS4~S8の処理の繰り返しにより、様々なパターンのデータが所定数収集されると、コンピュート11のデータ収集部11aからコントローラ12のデータ収集部12aへデータ収集完了が通知される(ステップS9)。この通知をデータ収集部12aが受けた時にデータ収集フェーズが終了する。
上記データ収集完了を受信したデータ収集部12aは、ステップS10において、学習部12bに学習フェーズでの計算を依頼する。
依頼を受けた学習部12bは、ステップS11において、DB13に記憶された収集データを基に、次のように回帰分析を行う。
即ち、学習部12bは、まず、DB13に記憶された図2の表21に示す測定データa~eと、上記ステップS5のリソース割当で用いられたリソース割当量との相関係数rを求める。次に、第1閾値「0.2」を超える相関係数rの測定データa,eを排除する。この排除後に残った図2の表22に示す測定データb,c,dと、上記データ収集フェーズでDB13に記憶されたサービス性能値との相関係数r1を求める。この相関係数r1が第2閾値「0.4」を超えた測定データb,cを用いて回帰分析を行う。この回帰分析により、学習結果としてのモデルサービス性能値が得られる。
次に、学習部12bは、図8に示すステップS12において、上記回帰分析で得られた学習結果としてのモデルサービス性能値を推定最適算出部12cに通知する。推定最適算出部12cは、ステップS13において、その学習結果のモデルサービス性能値をDB13に保存する。この保存により学習フェーズが終了する。
上記モデルサービス性能値の保存後、推定最適算出部12cは、ステップS14において、運用開始指示をコンピュート11へ通知する。この通知を受けたコンピュート11のデータ収集部11aは、ステップS15において、VM/コンテナV1~V4からリソース運用時の測定データを収集し、この収集データを、ステップS16において、コントローラ12のデータ収集部12aへ転送する。この転送された収集データは、ステップS17において、データ収集部12aから推定最適算出部12cへ通知される。
ステップS18において、推定最適算出部12cは、推定最適検索処理を次のように行う。但し、運用フェーズにおいて、スケールアウト/インでリソース割当が実行されるとする。まず、推定最適算出部12cは、図3の表23に示すV1~V4のリソース割当量としてのVM/コンテナ数の総当りの組合せ候補(「2,2,2,2」~「4,4,4,4」)を生成する。
次に、推定最適算出部12cは、上記組合せ候補毎に、DB13内の入力測定データb,cに応じたリソースのリアルタイムのサービス性能値であるRTサービス性能値と、上記ステップS13でDB13に記憶された学習結果としてのモデルサービス性能値との関係から回帰分析を行う。この回帰分析により、図3の表24に示す組合せ候補毎にサービス性能推定値(遅延)が求められる。
次に、推定最適算出部12cは、図4の表25に示す組合せ候補毎の合計値を総量として求める。総量が少ない程に無駄なリソースが少なくなる。次に、推定最適算出部12cは、図5の表26に示す性能推定値がSLO(50ms)以下で、且つ、総量が最小のVM/コンテナ数となる組合せ候補を検索する。この検索によりSLO比較の欄に○を付したように組合せ候補が4つあったとする。
ここで、V1~V4のVM/コンテナ数が、図6の表27に示す組合せ「2,2,2,4」で運用されている場合に、この組合せ「2,2,2,4」と、図7の表27の各行の組合せ候補「2,4,2,4」とのユークリッド距離dを算出する。このユークリッド距離dが最小「4」となる1行目の組合せ候補「2,4,2,4」を、VM/コンテナV1~V4のリソース割当量であるVM/コンテナ数として採用する。
推定最適算出部12cは、ステップS19において、その採用されたV1~V4のリソース割当量(VM/コンテナ数)の「2,4,2,4」を、コンピュート11のリソース制御部11bへ通知する。ステップS20において、リソース制御部11bは、VM/コンテナV1~V4のリソースであるVM/コンテナ数を、スケールアウト/インによるオートスケール実行によって、リソース割当量の「2,4,2,4」とする制御を行う。この制御によって、システム10における通信サービス性能が最適に保証される。
<実施形態の効果>
本実施形態に係るネットワーク性能保証システム10の効果について説明する。このシステム10は、ネットワーク接続されたサーバに生成されるVM及びコンテナの何れか一方又は双方であるVM/コンテナV1~V4の数及び、当該VM/コンテナV1~V4のCPU及びメモリに代表されるリソースを、リソース割当量に応じて増減するオートスケールを行う。このシステム10の特徴構成を説明する。
本実施形態に係るネットワーク性能保証システム10の効果について説明する。このシステム10は、ネットワーク接続されたサーバに生成されるVM及びコンテナの何れか一方又は双方であるVM/コンテナV1~V4の数及び、当該VM/コンテナV1~V4のCPU及びメモリに代表されるリソースを、リソース割当量に応じて増減するオートスケールを行う。このシステム10の特徴構成を説明する。
(1)システム10は、コンピュート11に、複数種類のVM/コンテナV1~V4と、データ収集部11aと、リソース制御部11bとを備え、コントローラ12に、学習部12bと、推定最適算出部12cとを備える構成とした。
データ収集部11aは、VM/コンテナV1~V4のリソース割当量に応じたリソースの動作を測定して得られるリソース利用量及び、VM/コンテナV1~V4に係る通信サービスの性能値を含む測定データを収集する。リソース制御部11bは、VM/コンテナV1~V4のリソースをリソース割当量に応じて増減するオートスケールを行う。
学習部12bは、データ収集部11aで収集された測定データの内の性能値から、リソース割当量に相関が高い性能値をモデル性能値として求める。推定最適算出部12cは、モデル性能値と、モデル性能値に対応するリソースの動作に係る性能値との回帰分析により、リソース割当量の変更に応じた性能の推定値を求め、この推定値が、性能値の目標値を満たし且つリソース割当量が最小となる場合の、リソース割当量を算出する。更に、リソース制御部11bは、上記算出されたリソース割当量に応じたオートスケールの実行によってVM/コンテナV1~V4のリソースを増減する。
この構成によれば、少ないリソース割当量でのオートスケールの実行により、VM/コンテナV1~V4において無駄なリソースが少なくなるようにリソース割当を行うことができる。このため、オートスケールによってVM/コンテナV1~V4数等のリソース割当量を適正に制御できる。
(2)学習部12bは、データ収集部11aで収集された測定データの中から、測定データとVM/コンテナV1~V4のリソース割当量との相関が予め定められた第1閾値よりも高い測定データを排除する構成とした。
この構成によれば、次のような作用効果が得られる。VM/コンテナV1~V4のリソースをリソース割当量で変更する際に、この変更に釣られて変わってしまう測定データ(リソース利用量が該当)は、モデル性能値を求める場合に不適正となる。この不適正な測定データは、リソース割当量に依存するリソースの測定データとの相関が高い場合に、多くなる特性がある。このため、本発明のように、不適正な測定データを事前に排除すれば、モデル性能値を推定できる精度を高めることができる。
(3)学習部12bは、排除の後に残った測定データの内、VM/コンテナV1~V4に係る通信サービスの性能値との相関が予め定められた第2閾値よりも高い測定データを、モデル性能値を求めるために用いる構成とした。
この構成によれば、実際に、VM/コンテナV1~V4に係る通信サービスの性能値を計算する場合、測定データとの依存関係を反映するパラメータを使用しなければ、正しい性能値を得ることができない。このため、性能値を推定するために使用可能なパラメータとして、前述の排除後に残った測定データから、性能値との相関が第2閾値よりも高い測定データのみを用いるようにした。
(4)推定最適算出部12cは、VM/コンテナV1~V4のリソースの数量を予め定められた最小数から最大数の間で可変し、この可変に応じた総当りの数量の組合せ候補を生成し、この生成された組合せ候補毎の数量を合計した総量が小又は大の順番となり、この順番の総量に推定値を対応付けた組合せ候補の中から、推定値が性能値の目標値を満たし且つ総量が最小値となる条件を検索し、総量の最小値が検索された以降、検索を総量が最小値以外の値となった際に終了する第1処理を行う構成とした。
この構成によれば、推定値が性能値の目標値を満たし且つ総量が最小値となる条件を全て検索した以降に、総量が最小値以外の値となった際に検索を終了するようにした。このため、総当りの数量の組合せ候補を全て検索する処理に比べ、大幅に検索処理を削減できる。
(5)推定最適算出部12cは、VM/コンテナV1~V4の稼働中リソースのリソース割当量と、推定値が性能値を満たし且つ終了時に検索された組合せ候補において総量が最小であるリソース割当量と、の差分の絶対値が最小である組合せ候補を選択し、この選択された組合せ候補のリソース割当量をリソース制御部11bへ通知する第2処理を行う構成とした。
この構成によれば、次の作用効果が得られる。VM/コンテナV1~V4のリソースに対してリソース割当量を変更すると悪影響が出るので、通信サービスとして途中でリソース割当量を頻繁に変えると、通信サービスの性能値が低下する。しかし、本発明では、VM/コンテナV1~V4のリソースにおける総当り数量の組合せ候補の中から、現在、稼働中リソースのリソース割当量に最も近いリソース割当量を選択するようにした。このため、途中でリソース割当量を変えても、性能値の低下を防止又は抑制できる。
この他、推定最適算出部12cは、上述した第1処理と第2処理を、性能値が予め定められた所定値よりも大きくなった場合、又は、一定時間間隔で行うようにしてもよい。
この構成によれば、突然ユーザ数が増加して通信サービスの性能値(遅延やスループット等)が大きくなった場合に、第1処理と第2処理を行うことで対応できる。
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
10 ネットワーク性能保証システム
11 コンピュート(第1サーバ)
11a データ収集部
11b リソース制御部
12 コントローラ(第2サーバ)
12a データ収集部
12b 学習部
12c 推定最適算出部
13 DB
V1~V4 VM/コンテナ
11 コンピュート(第1サーバ)
11a データ収集部
11b リソース制御部
12 コントローラ(第2サーバ)
12a データ収集部
12b 学習部
12c 推定最適算出部
13 DB
V1~V4 VM/コンテナ
Claims (7)
- ネットワーク接続されたサーバに生成されるVM(Virtual Machine)及びコンテナの何れか一方又は双方であるVM/コンテナの数及び、当該VM/コンテナのCPU(Central Processing Unit)及びメモリに代表されるリソースを、リソース割当量に応じて増減するオートスケールを行うネットワーク性能保証システムであって、
複数種類の前記VM/コンテナと、
前記VM/コンテナのリソース割当量に応じたリソースの動作を測定して得られるリソース利用量及び、当該VM/コンテナに係る通信サービスの性能値を含む測定データを収集する収集部と、
前記VM/コンテナのリソースを前記リソース割当量に応じて増減するオートスケールを行う制御部と
を有する第1サーバを備えると共に、
前記収集部で収集された測定データの内の前記性能値から、前記リソース割当量に相関が高い性能値をモデル性能値として求める学習部と、
前記モデル性能値と、当該モデル性能値に対応する前記リソースの動作に係る性能値との回帰分析により、前記リソース割当量の変更に応じた性能の推定値を求め、この推定値が、前記性能値の目標値を満たし且つ前記リソース割当量が最小となる場合の、リソース割当量を算出する算出部と
を有する第2サーバを備え、
前記制御部は、前記算出されたリソース割当量に応じたオートスケールの実行によって該当VM/コンテナのリソースを増減する
ことを特徴とするネットワーク性能保証システム。 - 前記学習部は、
前記収集部で収集された測定データの中から、当該測定データと前記VM/コンテナのリソース割当量との相関が予め定められた第1閾値よりも高い測定データを排除する
ことを特徴とする請求項1に記載のネットワーク性能保証システム。 - 前記学習部は、
前記排除の後に残った測定データの内、前記VM/コンテナに係る通信サービスの性能値との相関が予め定められた第2閾値よりも高い測定データを、前記モデル性能値を求めるために用いる
ことを特徴とする請求項2に記載のネットワーク性能保証システム。 - 前記算出部は、
前記VM/コンテナのリソースの数量を予め定められた最小数から最大数の間で可変し、この可変に応じた総当りの数量の組合せ候補を生成し、この生成された組合せ候補毎の数量を合計した総量が小又は大の順番となり、この順番の総量に前記推定値を対応付けた組合せ候補の中から、当該推定値が前記性能値の目標値を満たし且つ当該総量が最小値となる条件を検索し、当該総量の最小値が検索された以降、当該検索を総量が最小値以外の値となった際に終了する第1処理を行う
ことを特徴とする請求項3に記載のネットワーク性能保証システム。 - 前記算出部は、
前記VM/コンテナの稼働中リソースのリソース割当量と、前記推定値が前記性能値を満たし且つ前記終了時に検索された組合せ候補において前記総量が最小であるリソース割当量と、の差分の絶対値が最小である組合せ候補を選択し、この選択された組合せ候補のリソース割当量を前記制御部へ通知する第2処理を行う
ことを特徴とする請求項4に記載のネットワーク性能保証システム。 - 前記算出部は、
前記第1処理と前記第2処理を、前記性能値が予め定められた所定値よりも大きくなった場合、又は、一定時間間隔で行う
ことを特徴とする請求項5に記載のネットワーク性能保証システム。 - ネットワーク接続されたサーバに生成されるVM及びコンテナの何れか一方又は双方であるVM/コンテナの数及び、当該VM/コンテナのCPU及びメモリに代表されるリソースを、リソース割当量に応じて増減するオートスケールを行うシステムのオートスケール型性能保証方法であって、
前記システムは、複数種類の前記VM/コンテナが生成された第1サーバと、当該第1サーバに接続された第2サーバとを備え、
前記第1サーバは、
前記VM/コンテナのリソース割当量に応じたリソースの動作を測定して得られるリソース利用量及び、当該VM/コンテナに係る通信サービスの性能値を含む測定データを収集するステップと、
前記VM/コンテナのリソースを前記リソース割当量に応じて増減するオートスケールを行うステップとを実行し、
前記第2サーバは、
前記収集された測定データの内の前記性能値から、前記リソース割当量に相関が高い性能値をモデル性能値として求めるステップと、
前記モデル性能値と、当該モデル性能値に対応する前記リソースの動作に係る性能値との回帰分析により、前記リソース割当量の変更に応じた性能の推定値を求め、この推定値が、前記性能値の目標値を満たし且つ前記リソース割当量が最小となる場合の、リソース割当量を算出するステップとを実行し、
前記第1サーバは、
前記算出されたリソース割当量に応じたオートスケールの実行によって該当VM/コンテナのリソースを増減するステップを実行する
ことを特徴とするネットワーク性能保証方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/424,101 US20220100548A1 (en) | 2019-01-30 | 2020-01-17 | Network performance assurance system and network performance assurance method |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019014760A JP7081513B2 (ja) | 2019-01-30 | 2019-01-30 | ネットワーク性能保証システム及びネットワーク性能保証方法 |
| JP2019-014760 | 2019-01-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020158436A1 true WO2020158436A1 (ja) | 2020-08-06 |
Family
ID=71842066
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2020/001414 Ceased WO2020158436A1 (ja) | 2019-01-30 | 2020-01-17 | ネットワーク性能保証システム及びネットワーク性能保証方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20220100548A1 (ja) |
| JP (1) | JP7081513B2 (ja) |
| WO (1) | WO2020158436A1 (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021149808A (ja) * | 2020-03-23 | 2021-09-27 | 富士通株式会社 | Cpu状態表示方法及びcpu状態表示プログラム |
| JP7191906B2 (ja) * | 2020-09-09 | 2022-12-19 | 株式会社日立製作所 | リソース割当制御装置、計算機システム、及びリソース割当制御方法 |
| US20220318666A1 (en) * | 2021-03-30 | 2022-10-06 | International Business Machines Corporation | Training and scoring for large number of performance models |
| KR102563329B1 (ko) * | 2021-09-01 | 2023-08-03 | 고려대학교 산학협력단 | 컨테이너에 대한 리소스 간 의존성 스케줄링 방법 및 이를 수행하는 네트워크 시스템 |
| JP7645825B2 (ja) * | 2022-01-07 | 2025-03-14 | 日立ヴァンタラ株式会社 | クラウドアプリケーションデプロイ装置およびクラウドアプリケーションデプロイ方法 |
| JP2023102641A (ja) * | 2022-01-12 | 2023-07-25 | 株式会社日立製作所 | 計算機システム及びスケールアップ管理方法 |
| WO2023157199A1 (ja) * | 2022-02-17 | 2023-08-24 | 楽天モバイル株式会社 | 妥当性検証システム及び妥当性検証方法 |
| US20220326999A1 (en) * | 2022-05-16 | 2022-10-13 | Drew Penney | Dynamic resource allocation based on quality-of-service prediction |
| JP2024053468A (ja) | 2022-10-03 | 2024-04-15 | 富士通株式会社 | 制御方法、制御プログラム、および情報処理装置 |
| US12436814B1 (en) | 2022-12-16 | 2025-10-07 | Amazon Technologies, Inc. | Resource right-sizing for compute clusters |
| US12423161B1 (en) * | 2022-12-16 | 2025-09-23 | Amazon Technologies, Inc. | Cluster right-sizing for cloud-based applications |
| US20240394110A1 (en) * | 2023-05-25 | 2024-11-28 | Nec Laboratories America, Inc. | Latency-aware resource allocation for stream processing applications |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3035619A1 (en) * | 2014-12-15 | 2016-06-22 | Alcatel Lucent | A method and system for scaling and a telecommunications network |
| US20170126792A1 (en) * | 2015-11-02 | 2017-05-04 | Telefonaktiebolaget L M Ericsson (Publ) | System and methods for intelligent service function placement and autoscale based on machine learning |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8112527B2 (en) * | 2006-05-24 | 2012-02-07 | Nec Corporation | Virtual machine management apparatus, and virtual machine management method and program |
| US10476949B2 (en) * | 2017-02-21 | 2019-11-12 | Microsoft Technology Licensing, Llc | Predictive autoscaling in computing systems |
| US12387131B2 (en) * | 2018-05-31 | 2025-08-12 | Microsoft Technology Licensing, Llc | Enhanced pipeline for the generation, validation, and deployment of machine-based predictive models |
| US10452441B1 (en) * | 2018-10-15 | 2019-10-22 | Accenture Global Solutions Limited | Determining an allocation of computing resources for a job |
-
2019
- 2019-01-30 JP JP2019014760A patent/JP7081513B2/ja active Active
-
2020
- 2020-01-17 WO PCT/JP2020/001414 patent/WO2020158436A1/ja not_active Ceased
- 2020-01-17 US US17/424,101 patent/US20220100548A1/en not_active Abandoned
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3035619A1 (en) * | 2014-12-15 | 2016-06-22 | Alcatel Lucent | A method and system for scaling and a telecommunications network |
| US20170126792A1 (en) * | 2015-11-02 | 2017-05-04 | Telefonaktiebolaget L M Ericsson (Publ) | System and methods for intelligent service function placement and autoscale based on machine learning |
Non-Patent Citations (3)
| Title |
|---|
| HIRASHIMA YOKO, YAMASAKI KENTA, MORIMURA TOMOHIRO, KOMODA NORIHISA: "Hybrid Auto-Scaling Mechanism for Dynamic Load Change", IEEJ TRANSACTIONS ON ELECTRONICS, INFORMATION AND SYSTEMS, vol. 137, no. 3, 1 March 2017 (2017-03-01), pages 521 - 531, XP009522943, ISSN: 0385-4221, DOI: 10.1541/ieejeiss.137.521 * |
| ITO, YOSHITO ET AL.: "BS-4-4 Examination of performance prediction for guaranteeing service requirements of VNF", PROCEEDINGS OF THE 2017 IEICE SOCIETY CONFERENCE, 29 August 2017 (2017-08-29), pages S-14, XP009522941 * |
| JUN MIZUNO, TAKASHI TAMESHIGE: "Study of Baseline Analysis Method of Service Performance Anomaly for Cloud System", IEICE TECHNICAL REPORT, vol. 116, no. 507, 2 March 2017 (2017-03-02), pages 37 - 42, XP009522942 * |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020123848A (ja) | 2020-08-13 |
| JP7081513B2 (ja) | 2022-06-07 |
| US20220100548A1 (en) | 2022-03-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2020158436A1 (ja) | ネットワーク性能保証システム及びネットワーク性能保証方法 | |
| US9940162B2 (en) | Realtime optimization of compute infrastructure in a virtualized environment | |
| US10635664B2 (en) | Map-reduce job virtualization | |
| US8566835B2 (en) | Dynamically resizing a virtual machine container | |
| US9921809B2 (en) | Scaling a cloud infrastructure | |
| JP7081514B2 (ja) | オートスケール型性能保証システム及びオートスケール型性能保証方法 | |
| US8612180B2 (en) | Calibration of resource allocation during parallel processing | |
| US9727383B2 (en) | Predicting datacenter performance to improve provisioning | |
| US9229778B2 (en) | Method and system for dynamic scaling in a cloud environment | |
| EP2913756B1 (en) | Operation management apparatus and operation management method | |
| US10282272B2 (en) | Operation management apparatus and operation management method | |
| EP2977898B1 (en) | Task allocation in a computing environment | |
| US11263369B2 (en) | Workflow simulation using provenance data similarity and sequence alignment | |
| CN111538567A (zh) | 一种边缘设备上虚拟网络功能链的部署方法和设备 | |
| JP2018139064A (ja) | 仮想計算機システムおよびそのリソース割当て方法 | |
| JP2010224754A (ja) | リソース割当装置、リソース割当方法、及びプログラム | |
| CN118245196B (zh) | 应用切换方法、装置、设备、存储介质及计算机程序产品 | |
| JP2012118872A (ja) | 性能予測装置、性能予測方法およびプログラム | |
| CN119652893B (zh) | 动态均衡系统负载的方法、计算机装置、介质、产品 | |
| US20250245515A1 (en) | Guided exploration method for reinforcement learning training | |
| JP2018018275A (ja) | 情報処理装置及びプログラム | |
| CN112950274A (zh) | 预估服务阶段执行时长的确定方法、装置及服务器 | |
| WO2024224503A1 (ja) | リソース制御装置、計算機システム、リソース制御方法、および、リソース制御プログラム | |
| Paul et al. | Task Allocation In a Computing Environment | |
| WO2013179921A1 (ja) | 設計支援装置、設計支援方法及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20749302 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20749302 Country of ref document: EP Kind code of ref document: A1 |