KR20130046040A - Fuzzy control based virtual machine auto scaling system and method - Google Patents
Fuzzy control based virtual machine auto scaling system and method Download PDFInfo
- Publication number
- KR20130046040A KR20130046040A KR1020110110357A KR20110110357A KR20130046040A KR 20130046040 A KR20130046040 A KR 20130046040A KR 1020110110357 A KR1020110110357 A KR 1020110110357A KR 20110110357 A KR20110110357 A KR 20110110357A KR 20130046040 A KR20130046040 A KR 20130046040A
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- user
- fuzzy
- utilization
- workload
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/02—Computing arrangements based on specific mathematical models using fuzzy logic
- G06N7/026—Development tools for entering the parameters of a fuzzy system
Abstract
Description
본 발명은 클라우드 컴퓨팅에서 가상 머신 인스턴스를 동적으로 제어하기 위한 기술과 관련된다.
The present invention relates to techniques for dynamically controlling virtual machine instances in cloud computing.
최근 들어 신속한 비즈니스 대응, 효율적인 IT 자원 관리, IT 인프라 투자비 감소 등의 다양한 이유로 인해 클라우드 컴퓨팅이 각광받고 있다. 클라우드 컴퓨팅은 서비스 공급자가 제공하는 하드웨어 인프라, 소프트웨어 등의 IT 자원을 사용자가 서비스 형태로 제공받고 이에 대한 대가를 지불하는 인터넷 기반의 컴퓨팅 기술이다. 클라우드 컴퓨팅에서 가장 중요한 점은 사용한 만큼 비용을 지불하지만 사용자가 요구하면 이에 따라 서비스 용량, IT 자원도 증가해야 한다는 것이다. 즉, 사용자와의 서비스 계약인 SLA(Service Level Agreement)를 준수하기 위해서는 탄력적인 자원 사용을 통한 서비스 가용성 확보가 매우 중요하며, 이를 위한 해결책이 바로 오토 스케일링(Auto Scaling)이다. 오토 스케일링이란 사용자가 맺은 SLA 이상의 자원 사용률을 넘어가면 이를 감지하여 사용자가 필요로 하는 IT 자원 수요를 계산하여, 필요한 만큼의 IT자원을 동적으로 할당하는 기술이다.Recently, cloud computing has been in the spotlight for various reasons such as rapid business response, efficient IT resource management, and reduced IT infrastructure investment. Cloud computing is an Internet-based computing technology in which a user receives and pays for IT resources such as hardware infrastructure and software provided by a service provider as a service. The most important thing about cloud computing is that you pay for what you use, but you also need to increase your service capacity and IT resources according to your needs. In other words, in order to comply with the service level agreement (SLA), which is a service contract with a user, securing service availability through the use of elastic resources is very important. The solution for this is auto scaling. Auto-scaling is a technology that detects when the resource usage rate exceeds the SLA established by the user and calculates the IT resource demand required by the user, and dynamically allocates the IT resource as needed.
이와 같은 클라우드 컴퓨팅에서의 오토 스케일링을 위한 종래의 방법들로는 아마존 EC2, 마이크로소프트 Azure, 라이트스케일(Right Scale), 이노그리드의 Cloudit 등을 들 수 있다. 그러나 이러한 종래의 방법들에는 다음과 같은 문제가 있다. 먼저, 시스템의 관리자가 관리 API나 서비스 포털 상에서 스케일링의 조건을 미리 정의하고, 정의된 해당 조건을 만족할 경우 가상 머신의 크기를 조정한다는 점이다. 즉, 종래 기술의 경우 사용자가 정의한 제약조건에 의해 동작하는 정적 조정 방식을 제공한다. 따라서 사용자가 잘못된 제약조건을 설정할 경우 시스템을 통한 능동적인 가상 머신 조정이 이루어지지 않아 과부하로 인한 서비스 지연 및 단절이 발생할 가능성이 존재한다.Conventional methods for autoscaling in cloud computing include Amazon EC2, Microsoft Azure, Right Scale, and Innogrid's Cloudit. However, these conventional methods have the following problems. First, the administrator of the system pre-defines the scaling condition on the management API or the service portal, and adjusts the size of the virtual machine if the defined condition is met. That is, the prior art provides a static adjustment scheme that operates according to user defined constraints. Therefore, if the user sets the wrong constraint, there is a possibility that service delay and disconnection due to overload may occur because active virtual machine adjustment is not performed through the system.
또한, 라이트스케일과 이노그리드 등의 경우에는, 사용자별로 고정된 크기의 가상 머신을 유지하며 특정 사용자 조건을 만족할 경우 가상 머신을 확대하는 방식을 제공하고 있다. 따라서 서비스 가용성(SLA)은 일정 수준 이상 보장할 수 있으나 사용자의 작업 부하를 처리하기 위해 필요한 가상 머신을 최소화하는 알고리즘을 채택하고 있지 않은 바, 서비스 제공자의 이익을 보장하는 데에는 한계가 있었다. 이에 따라, 클라우드 컴퓨팅 환경에서 가상 머신의 크기를 능동적으로 조절하기 위한 새로운 방법이 필요하게 되었다.
In addition, in the case of Lightscale and Innogrid, a virtual machine of a fixed size is maintained for each user and a method of expanding the virtual machine when a specific user condition is satisfied is provided. Therefore, service availability (SLA) can be guaranteed more than a certain level, but there is a limit to guaranteeing the service provider's interest because it does not adopt an algorithm that minimizes the virtual machines required to handle the user's workload. Accordingly, there is a need for a new method for actively scaling virtual machines in a cloud computing environment.
본 발명은 물리적인 서버를 논리적인 다수의 가상 머신으로 분할하고 이를 다수의 사용자들이 공유하여 사용하는 클라우드 컴퓨팅 환경에서 사용자의 작업 부하, 트래픽 등의 가상 머신 상태 정보에 따라 사용자에게 할당된 가상 머신 인스턴스의 수를 동적으로 조정함으로써 클라우드를 구성하는 각 서버의 작업 부하를 분산시켜 서비스 가용성을 개선하고 자원 이용을 최적화하는 데 그 목적이 있다.
The present invention divides a physical server into a plurality of logical virtual machines, and the virtual machine instance assigned to the user according to the virtual machine state information such as workload and traffic of the user in a cloud computing environment that is shared and used by a plurality of users. The goal is to improve service availability and optimize resource usage by balancing the workload of each server in the cloud by dynamically adjusting the number of nodes.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 퍼지 제어 기반가상 머신 스케일링 시스템은, 사용자에게 할당된 가상 머신의 상태를 모니터링하는 모니터링 모듈; 상기 모니터링 모듈로부터 제공되는 상기 가상 머신의 상태 정보에 따라 상기 가상 머신의 사용률 및 작업부하를 계산하고, 계산된 상기 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하며, 퍼지화된 상기 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하고, 상기 퍼지 출력을 비퍼지화함으로써 상기 사용자의 가상 머신 인스턴스 필요량을 계산하는 스케일링 모듈; 및 상기 스케일링 모듈에서 계산된 상기 가상 머신 인스턴스 필요량에 따라 상기 사용자에게 할당된 가상 머신 인스턴스의 수를 제어하는 가상 머신 제어 모듈을 포함한다.
According to an aspect of the present invention, there is provided a fuzzy control-based virtual machine scaling system including: a monitoring module configured to monitor a state of a virtual machine assigned to a user; The utilization rate and workload of the virtual machine are calculated according to the state information of the virtual machine provided from the monitoring module, and the calculated utilization rate and workload are fuzzy by using a predetermined belonging function. A scaling module configured to calculate a fuzzy output by applying a set of inference rules to a utilization rate and a workload, and calculate a virtual machine instance requirement of the user by defusing the fuzzy output; And a virtual machine control module that controls the number of virtual machine instances assigned to the user according to the virtual machine instance needs calculated by the scaling module.
한편, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 퍼지 제어기반 가상 머신 스케일링 방법은, 사용자에게 할당된 가상 머신의 상태를 모니터링하는 단계; 상기 가상 머신의 상태 정보에 따라 상기 가상 머신의 사용률 및 작업부하를 계산하는 단계; 계산된 상기 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하는 단계; 퍼지화된 상기 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하는 단계; 상기 퍼지 출력을 비퍼지화하여 상기 사용자의 가상 머신 인스턴스 필요량을 계산하는 단계; 및 계산된 상기 가상 머신 인스턴스 필요량에 따라 상기 사용자에게 할당된 가상 머신 인스턴스의 수를 제어하는 단계를 포함한다.
On the other hand, the fuzzy control based virtual machine scaling method according to an embodiment of the present invention for solving the above problems, the step of monitoring the state of the virtual machine assigned to the user; Calculating a utilization rate and a workload of the virtual machine according to the state information of the virtual machine; Fuzzy use of the calculated utilization and workload using a predetermined belonging function; Calculating a fuzzy output by applying a predetermined reasoning rule to the fuzzy utilization and workload; Defusing the fuzzy output to calculate a virtual machine instance requirement of the user; And controlling the number of virtual machine instances assigned to the user according to the calculated virtual machine instance needs.
본 발명의 실시예들에 따를 경우, 사용자의 가상 머신 인스턴스 요구량이 증가할 때마다 동적으로 가상 머신 인스턴스 필요량을 늘려 SLA(Service Level Agreement)를 만족시킴으로써 사용자의 서비스 요구량에 신속하게 대응하는 동시에 사용자 만족도를 향상시킬 수 있다. 또한, 작업 부하 및 트래픽에 따라 휴면 상태 또는 활용률이 낮은 IT 자원의 수를 줄임으로써 자원 낭비를 막고 운영 비용을 최소화할 수 있는 장점이 있다.
According to the embodiments of the present invention, each time the user's virtual machine instance demand increases, the virtual machine instance needs are dynamically increased to satisfy the service level agreement (SLA), thereby rapidly responding to the user's service demand and simultaneously satisfying the user. Can improve. In addition, by reducing the number of dormant or low utilization IT resources according to the workload and traffic, there is an advantage that can minimize the waste of resources and minimize operating costs.
도 1은 본 발명에 따른 가상 머신 스케일링 시스템을 포함하는 클라우드 컴퓨팅 구조를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 스케일링 시스템의 상세 구성을 나타낸 블록도이다.
도 3은 가상 머신의 사용률에 대한 소속도 함수를 나타낸 그래프이다.
도 4는 가상 머신의 작업부하에 대한 소속도 함수를 나타낸 그래프이다.
도 5는 퍼지화된 가상 머신의 사용률 및 작업부하에 따른 퍼지 출력에 대한 소속도 함수를 나타낸 그래프이다.
도 6은 본 발명에 따른 가상 머신의 사용률 및 작업부하에 따라 퍼지 출력을 계산하는 일례를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 가상 머신 스케일링 방법을 나타낸 순서도이다.1 is a view for explaining a cloud computing structure including a virtual machine scaling system according to the present invention.
2 is a block diagram showing a detailed configuration of a virtual machine scaling system according to an embodiment of the present invention.
3 is a graph showing the membership function for the utilization rate of the virtual machine.
4 is a graph showing the membership function for the workload of the virtual machine.
FIG. 5 is a graph showing the membership function for fuzzy output according to the utilization and workload of the fuzzy virtual machine. FIG.
6 is a view for explaining an example of calculating the fuzzy output according to the utilization and workload of the virtual machine according to the present invention.
7 is a flowchart illustrating a virtual machine scaling method according to an embodiment of the present invention.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다. Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is merely an example and the present invention is not limited thereto.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for effectively explaining the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.
도 1은 본 발명에 따른 가상 머신 스케일링 시스템을 포함하는 전체 클라우드 컴퓨팅 시스템(100)을 설명하기 위한 도면이다. 도시된 바와 같이, 본 발명에서 클라우드 컴퓨팅 시스템(100)은 복수 개의 서버(102)를 포함하며, 복수 개의 서버(102)들은 서로 연결되어 하나의 클라우드(104)를 구성한다. 각각의 서버(102)는 내부적으로 하나 이상의 가상 머신 인스턴스로 분할된다. 상기 가상 머신 인스턴스는 서버(102)의 CPU 자원, 메모리 및 스토리지(저장 공간) 중 일부를 할당받아 소프트웨어적으로 구현된 가상의 서버 자원을 의미한다.1 is a diagram illustrating an entire
사용자 단말(106)은 클라우드(104)에 접속하여 서비스를 제공받기 위한 장치이다. 즉, 클라우드 컴퓨팅 시스템에서 사용자 단말(106)은 물리적인 서버(102)를 할당받는 것이 아니라 가상 머신을 할당받으며, 상기 가상 머신은 하나 이상의 가상 머신 인스턴스로 구성된다. 본 발명에서 가상 머신이란 각 사용자에게 할당되는 논리적인 서버의 단위로서, 상기 가상 머신의 크기는 각 가상 머신에 할당되는 가상 머신 인스턴스의 개수에 의하여 결정된다. 즉, 사용자로부터 요구되는 서버 자원의 양이 작은 경우 가상 머신에 할당되는 가상 머신 인스턴트의 개수 또한 적어지며, 사용자가 더 많은 컴퓨터 자원 또는 스토리지 용량을 요구할 경우에는 단순히 상기 가상 머신에 새로운 가상 머신 인스턴스를 부가함으로써 대응할 수 있다. 이에 따라 사용자는 물리적으로 가상 서버가 어떠한 형태로 구성되어 있는지의 여부에 관계 없이 자신의 요구량에 따라 용량이 탄력적으로 변화되는 서버를 제공받을 수 있다.The
가상 머신 스케일링 시스템(108)은 클라우드(104)에 접속한 사용자에 할당된 가상 머신 인스턴스를 동적으로 제어하기 위한 시스템이다. 가상 머신 스케일링 시스템(108)은 각 사용자에게 할당된 가상 머신의 사용률 및 작업부하를 계산하고 이에 따라 각 사용자 별 최적의 가상 머신 인스턴스 필요량을 계산하며, 상기 필요량과 기 가상 머신 할당량을 비교함으로써 사용자에게 가상 머신을 추가적으로 할당하거나 기 할당된 가상 머신을 회수한다. 이러한 가상 머신 스케일링 시스템(108)의 상세 구성에 대해서는 후술하기로 한다.
The virtual
도 2는 본 발명의 일 실시예에 따른 가상 머신 스케일링 시스템(108)의 상세 구성을 나타낸 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 머신 스케일링 시스템(108)은 모니터링 모듈(202), 스케일링 모듈(204) 및 가상 머신 제어 모듈(206)을 포함한다.2 is a block diagram showing a detailed configuration of a virtual
모니터링 모듈(202)은 사용자에게 할당된 가상 머신의 상태를 실시간으로 모니터링한다. 이때 상기 가상 머신의 상태 정보는, 각 가상 머신의 중앙처리장치(CPU) 사용률, 메모리 사용률, 저장 공간(스토리지) 사용률 및 사용자로부터 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함하도록 구성된다.The
스케일링 모듈(204)은 모니터링 모듈(202)로부터 제공되는 가상 머신의 상태 정보에 따라 퍼지 논리 제어를 이용하여 상기 사용자의 현재 상황에 가장 적합한 가상 머신을 구성할 수 있는 가상 머신 인스턴스의 수를 결정한다. 구체적으로, 스케일링 모듈(204)은 모니터링 모듈(202)로부터 제공되는 가상 머신의 상태 정보에 따라 가상 머신의 사용률 및 작업부하를 계산하고, 계산된 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하며, 퍼지화된 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하고, 퍼지 출력을 비퍼지화함으로써 사용자의 가상 머신 인스턴스 필요량을 계산하게 된다.The
가상 머신 제어 모듈(206)은 스케일링 모듈(204)에서 계산된 가상 머신 인스턴스 필요량에 따라 사용자에게 할당된 가상 머신 인스턴스의 수를 제어한다. 예를 들어, 현재 사용자에게 할당된 가상 머신 인스턴스의 수가 계산된 필요량보다 적을 경우 가상 머신 제어 모듈(206)은 상기 사용자에게 필요량 만큼의 가상 머신 인스턴스를 추가로 할당하며, 추가된 가상 머신 인스턴스는 기존의 가상 머신 인스턴스와 논리적으로 병합되어 하나의 가상 머신으로서 사용자에게 제공된다. 또한 가상 머신 제어 모듈(206)은 할당된 인스턴스의 수가 계산된 필요량보다 적은 경우 기 할당된 가상 머신 인스턴스 중 일부를 삭제한다.The virtual
이하에서는, 상기와 같이 구성되는 가상 머신 스케일링 시스템(108)의 구체적인 동작을 설명한다.
Hereinafter, specific operations of the virtual
가상 email
머신의Machine
사용률 및 작업부하 계산 Utilization and Workload Calculation
전술한 바와 같이, 모니터링 모듈(202)은 사용자에게 할당된 가상 머신의 상태를 실시간으로 모니터링하며, 상기 가상 머신의 상태 정보는 각 가상 머신의 중앙처리장치(CPU) 사용률, 메모리 사용률, 저장 공간(스토리지) 사용률 및 사용자로부터 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함한다. 스케일링 모듈(204)은 모니터링 모듈(202)에서 수집한 상기 상태 정보를 이용하여 가상 머신의 사용률 및 작업 부하를 계산한다.As described above, the
먼저, 가상 머신의 사용률(VMutil)은 다음의 수학식 1을 통하여 산출된다.
First, the utilization rate (VM util ) of the virtual machine is calculated through the following equation (1).
[수학식 1][Equation 1]
이때, Ucpu는 중앙처리장치(CPU) 사용률, Umem은 메모리 사용률, Udisk는 저장 공간 사용률을 각각 나타낸다. 상기 세 값들은 각각 0 내지 1 사이의 값을 가지며 1에 가까울수록 중앙처리장치의, 메모리 또는 저장 공간 사용률이 높음을 나타낸다. α,β,χ는 가중치로서 각각 0 내지 1 사이의 값을 가지며 α+β+χ=1의 관계를 만족한다.In this case, U cpu represents the CPU utilization, U mem represents the memory utilization, and U disk represents the storage space utilization. The three values each have a value between 0 and 1, and the closer to 1, the higher the memory or storage space utilization of the central processing unit. α, β, χ have weights between 0 and 1, respectively, and satisfy the relationship of α + β + χ = 1.
다음으로, 가상 머신의 작업부하(VMload)는 사용자로부터 가상 머신에 전송되는 작업량, 즉 네트워크 트래픽으로 표현되며, 다음의 수학식 2를 통하여 산출된다.
Next, the workload of the virtual machine (VM load ) is expressed as the workload transmitted from the user to the virtual machine, that is, network traffic, and is calculated through
[수학식 2]&Quot; (2) "
이때, aTuser은 사용자에게 할당된 가상 머신의 시간 당 평균 네트워크 트래픽, Max(aTgroup)은 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최고치, Min(aTgroup)은 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최저치를 각각 나타낸다. 즉, 본 발명에서 가상 머신의 작업부하는 사용자에게 할당된 단일 가상 머신의 네트워크 트래픽만이 아닌 사용자 그룹 내 모든 가상 머신의 네트워크 트래픽을 기준으로 결정되며, 이에 따라 상기 사용자 그룹의 전체 서비스 상황에 따라 가상 머신 크기를 조절할 수 있게 된다.
Where aT user is the average network traffic per hour of the virtual machine assigned to the user, Max (aT group ) is the highest of the average network traffic per hour of the virtual machine assigned to the user group containing the user, and Min (aT group ) is Represents the lowest of the hourly average network traffic of the virtual machines assigned to the user group containing the users. That is, in the present invention, the workload of the virtual machine is determined based on the network traffic of all the virtual machines in the user group, not just the network traffic of the single virtual machine assigned to the user, and according to the overall service situation of the user group. You can resize the virtual machine.
가상 email
머신의Machine
사용률 및 작업부하의 Utilization and workload
퍼지화Fuzzy
상기와 같은 방법으로 산출된 가상 머신의 사용률 및 가상 머신의 작업 부하는 퍼지 입력 집합 및 소속도 함수(Membership Function)를 통하여 퍼지화된다.The utilization of the virtual machine and the workload of the virtual machine calculated as described above are fuzzy through a fuzzy input set and a membership function.
가상 머신의 사용률 및 작업 부하를 퍼지화하기 위한 퍼지 입력 집합은 예를 들어 다음과 같이 구성될 수 있다.
A set of fuzzy inputs for fuzzy utilization and workload of the virtual machine may be configured as follows, for example.
퍼지 입력 집합 X (가상 머신 사용률) = {Very Low(매우 낮음), Low(낮음), Normal(중간), High(높음), Very High(매우 높음)}Fuzzy Input Input Set X (virtual machine utilization) = {Very Low, Low, Normal, High, Very High}
퍼지 입력 집합 Y (가상 머신 작업부하) = {Very Low, Low, Normal, High, Very High}
Fuzzy Input Set Y (Virtual Machine Workload) = {Very Low, Low, Normal, High, Very High}
상기 퍼지 입력 집합 X 및 Y를 퍼지화하기 위한 소속도 함수(Membership Function)는 각각 서로 다른 중심값을 가지며, 0 내지 1 사이의 값으로 정의되는 복수 개의 소속원들을 포함하며, 예를 들어 도 3 및 도 4와 같이 구성될 수 있다. 이때 도 3은 가상 머신의 사용률에 대한 소속도 함수이고, 도 4는 가상 머신의 작업부하에 대한 소속도 함수를 각각 나타낸다. 도시된 실시예에서는 각 소속원이 삼각형 분포를 가지도록 구성되었으나, 이는 예시일 뿐이며 각 소속원은 삼각형, 사각형 또는 가우시안 분포 등 다양한 형태의 분포를 가질 수 있음에 유의한다.
Membership functions for fuzzy fuzzy input sets X and Y each have a different center value and include a plurality of members defined by a value between 0 and 1, for example, FIGS. It may be configured as shown in FIG. 3 is a membership function for the utilization rate of the virtual machine, and FIG. 4 is a membership function for the workload of the virtual machine, respectively. In the illustrated embodiment, each member is configured to have a triangular distribution, but this is only an example, and each member may have various types of distributions such as a triangle, a square, or a Gaussian distribution.
퍼지 추론Fuzzy inference
상기와 같이 퍼지 입력 집합이 X, Y가 구성되면, 스케일링 모듈(204)은 각각의 퍼지 입력에 퍼지 추론 규칙(Fuzzy Inference Rule)을 적용하여 퍼지 추론을 실시한다. 퍼지 추론 규칙은 전건부(IF 조건) 및 후건부(THEN 명제)로 구성되는 논리 규칙의 집합으로서, 예를 들어 다음의 표 1과 같이 구성될 수 있다. 즉, 만약 퍼지 입력 X와 Y가 퍼지 추론 규칙의 전건부 조건을 만족할 경우, 후건부의 명제를 실행하여 퍼지 출력 집합을 도출하게 된다.
When the fuzzy input set is configured with X and Y as described above, the
퍼지 출력(Z * )은 퍼지화된 사용률 및 작업부하에 Mamdani의 Max-Min 추론 기법을 적용함으로써 생성될 수 있으며, 예를 들어 다음의 수학식 3에 의하여 도출될 수 있다.
The fuzzy output Z * may be generated by applying Mamdani's Max-Min inference technique to the purged utilization and workload, for example, by
[수학식 3]&Quot; (3) "
이때, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, ω는퍼지 추론 규칙의 전건부에 대한 적합도, μA(x)와 μB(y)는 퍼지 입력인 가상 머신 사용률 및 가상 머신 작업부하에 대한 소속도 함수, μ(z)는 퍼지 출력인 가상 머신 크기에 대한 소속도 함수이다.Where n is the number of fuzzy inference rules matching the fuzzy input, ω is the goodness of fit of the fuzzy inference rules, and μ A (x) and μ B (y) are the fuzzy input virtual machine utilization and virtual machine workload. The membership function for, μ (z), is the membership function for the virtual machine size, which is the fuzzy output.
퍼지 출력 집합 Z의 소속도 함수는 다음과 같이 정의될 수 있으며, 그 모양 및 중심값은 도 5에 도시된 것과 같은 형태를 가질 수 있다.
The membership function of the fuzzy output set Z may be defined as follows, and the shape and the center value may have a shape as shown in FIG. 5.
퍼지 출력 집합 Z (가상 머신 크기) = {Very Small(매우 작음), Small(작음), Normal(보통), Large(큼), Very Large(매우 큼)}
Fuzzy Output Set Z (Virtual Machine Size) = {Very Small, Small, Normal, Large, Very Large}
예를 들어, 가상 머신 사용률이 60%이고, 작업부하가 55%라고 가정하자. 이 경우, 퍼지 입력 X와 Y는 상기 표 1에서 퍼지 추론 규칙 7, 8, 12, 13에 적용된다.
For example, suppose the virtual machine utilization is 60% and the workload is 55%. In this case, fuzzy inputs X and Y are applied to
규칙 7: 가상 머신 사용률이 High(0.5)이고 작업부하가 High(0.25)일 경우 가상 머신 크기는 Large이다.Rule 7: If the virtual machine utilization is high (0.5) and the workload is high (0.25), the virtual machine size is large.
규칙 8; 가상 머신 사용률이 High(0.5)이고 작업부하가 Normal(0.75)일 경우 가상 머신 크기는 Large이다. Rule 8; If the virtual machine utilization is High (0.5) and the workload is Normal (0.75), the virtual machine size is Large.
규칙 12: 가상 머신 사용률이 Normal(0.5)이고 작업부하가 High(0.25)일 경우 가상 머신 크기는 Normal이다.Rule 12: If the virtual machine utilization is Normal (0.5) and the workload is High (0.25), then the virtual machine size is Normal.
규칙 13: 가상 머신 사용률이 Normal(0.5)이고 작업부하가 Normal(0.75)일 경우 가상 머신 크기는 Normal이다.
Rule 13: If the virtual machine utilization is Normal (0.5) and the workload is Normal (0.75), the virtual machine size is Normal.
따라서, 각 규칙의 전건부 적합도 ω7, ω8, ω12, ω13는 0.25, 0.5, 0.25, 0.5이며, 수학식 3을 이용하여 도 6과 같이 퍼지 출력 집합 Z*를 유도할 수 있다(도 6에서 회색으로 표시된 부분).
Therefore, the total fit of the rule ω7, ω8, ω12, ω13 of each rule is 0.25, 0.5, 0.25, 0.5, it is possible to derive the fuzzy output set Z * as shown in Figure 6 using the equation (3 in gray in Figure 6). Shown).
퍼지 출력의 Fuzzy output of
비퍼지화Defuzzy
다음으로, 스케일링 모듈(204)은 유도된 퍼지 출력 집합 Z*를 비퍼지화하여 오토 스케일링에 필요한 가상 머신 인스턴스 필요량을 계산한다. 퍼지 출력의 비퍼지화 방법은 기존에 알려진 다양한 방법들을 사용할 수 있으며, 예를 들어 다음 수학식 4와 같은 무게 중심법(Center of Gravity)을 사용할 수 있다. (필요한 경우 소수점은 반올림할 수 있다)
Next, the
[수학식 4]&Quot; (4) "
이때, z는 가상 머신 인스턴스 필요량, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, 는 퍼지 추론 규칙의 전건부에 대한 적합도, Zmax는 퍼지 출력 집합의 최대 단일값을 나타낸다.Where z is the virtual machine instance requirement, n is the number of fuzzy inference rules that meet the fuzzy input, Is the goodness-of-fit for the whole part of the fuzzy inference rule, and Z max is the maximum single value of the fuzzy output set.
도 6에 도시된 예의 경우, 가상 머신 인스턴스의 수 z는 다음과 같이 계산된다.
For the example shown in FIG. 6, the number z of virtual machine instances is calculated as follows.
가상 email
머신machine
인스턴스의Instance
개수 조정 Adjust number
상기와 같은 과정을 통하여 가상 머신 인스턴스 필요량이 도출되면, 다음으로 가상 머신 제어 모듈(206)은 스케일링 모듈(204)에서 계산된 가상 머신 인스턴스 필요량에 따라 사용자에게 할당된 가상 머신 인스턴스의 수를 제어한다.When the virtual machine instance needs are derived through the above process, the virtual
먼저, 가상 머신 제어 모듈(206)은 스케일링 모듈(204)에서 계산된 가상 머신 인스턴스 필요량 및 사용자에게 기 할당된 가상 머신 인스턴스의 수를 비교한다.First, the virtual
만약, 상기 비교 결과 계산된 가상 머신 인스턴스 필요량이 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 많은 경우, 가상 머신 제어 모듈(206)은 부족한 수 만큼의 가상 머신 인스턴스를 새로 생성한다. 이때, 상기 가상 머신 인스턴스는 해당 시점, 즉 가상 머신 인스턴스를 새로 생성하는 시점에서 기 생성된 가상 머신 인스턴스의 수가 가장 적은 물리 서버에 가상 머신 인스턴스를 생성할 수 있다. 다시 말해 새로 생성되는 가상 머신 인스턴스는 물리 서버 중 가용 자원이 가장 많은 물리 서버에 가상 머신 인스턴스를 생성함으로써 서버들 간의 로드 밸런싱을 유도한다. 또한 새로 생성되는 가상 머신 인스턴스는, 사용자에게 기 할당된 가상 머신 인스턴스와 동일한 중앙 처리 장치 성능, 동일한 메모리 용량 및 저장 장치 용량을 가지도록 구성되는 것이 바람직하다.If the virtual machine instance requirement calculated as a result of the comparison is greater than the number of virtual machine instances previously assigned to the user, the virtual
가상 머신 인스턴스가 생성되면, 가상 머신 제어 모듈(206)은 생성된 가상 머신 인스턴스를 사용자에게 기 할당된 가상 머신과 통합한 뒤 이를 사용자에게 할당한다.When the virtual machine instance is created, the virtual
한편, 이와 달리 만약 상기 비교 결과 계산된 가상 머신 인스턴스 필요량이 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 적은 경우, 가상 머신 제어 모듈(206)은 필요량을 초과하는 가상 머신 인스턴스를 사용자에게 기 할당된 가상 머신으로부터 삭제한다. 이때, 가상 머신 제어 모듈(206)은, 사용자에게 기 할당된 가상 머신 인스턴스 중 사용률이 낮은 순서로 초과한 개수만큼 가상 머신 인스턴스를 삭제할 수 있다.
On the other hand, in contrast, if the virtual machine instance requirement calculated as a result of the comparison is less than the number of virtual machine instances pre-assigned to the user, the virtual
도 7은 본 발명의 일 실시예에 따라 가상 머신 스케일링 시스템에서 수행되는 가상 머신 스케일링 방법을 나타낸 순서도이다.7 is a flowchart illustrating a virtual machine scaling method performed in a virtual machine scaling system according to an embodiment of the present invention.
먼저, 모니터링 모듈(202)은 사용자에게 할당된 가상 머신의 상태를 모니터링한다(702). 이때 상기 가상 머신의 상태 정보는, 각 가상 머신의 중앙처리장치(CPU) 사용률, 메모리 사용률, 저장 공간(스토리지) 사용률 및 사용자로부터 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함하도록 구성됨은 전술하였다.First, the
이후, 스케일링 모듈(204)은 상기 702 단계에서 얻어진 가상 머신의 상태 정보에 따라 가상 머신의 사용률 및 작업부하를 계산한다(704). 상기 가상 머신의 사용률 및 작업부하는 전술한 수학식 1 및 2를 이용하여 계산된다.Subsequently, the
다음으로, 스케일링 모듈(204)은 계산된 사용률 및 작업부하를 도 3 및 도 4에 도시된 소속도 함수를 이용하여 퍼지화하고(706), 표 1에서 설명한 추론 규칙을 적용하여 퍼지 출력을 계산하며(708), 계산된 퍼지 출력을 전술한 무게 중심법 등을 이용하여 비퍼지화하여 가상 머신 인스턴스 필요량을 계산한다(710).Next, the
이후, 가상 머신 제어 모듈(206) 계산된 가상 머신 인스턴스 필요량에 따라 사용자에게 할당된 가상 머신 인스턴스의 수를 증가하거나 또는 기 할당된 가상 머신 인스턴스를 삭제함으로써 가상 머신 인스턴스의 수를 동적으로 제어한다(712).
Thereafter, the virtual
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
On the other hand, an embodiment of the present invention may include a computer-readable recording medium including a program for performing the methods described herein on a computer. The computer-readable recording medium may include a program command, a local data file, a local data structure, or the like, alone or in combination. The media may be those specially designed and constructed for the present invention or may be known and available to those of ordinary skill in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and magnetic media such as ROMs, And hardware devices specifically configured to store and execute program instructions. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the present invention. I will understand.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.
100: 클라우드 컴퓨팅 시스템
102: 서버
104: 클라우드
106: 사용자 단말
108: 가상 머신 스케일링 시스템
202: 모니터링 모듈
204: 스케일링 모듈
206: 가상 머신 제어 모듈100: cloud computing system
102: server
104: cloud
106: User terminal
108: virtual machine scaling system
202: monitoring module
204 scaling module
206: virtual machine control module
Claims (31)
상기 모니터링 모듈로부터 제공되는 상기 가상 머신의 상태 정보에 따라 상기 가상 머신의 사용률 및 작업부하를 계산하고, 계산된 상기 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하며, 퍼지화된 상기 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하고, 상기 퍼지 출력을 비퍼지화함으로써 상기 사용자의 가상 머신 인스턴스 필요량을 계산하는 스케일링 모듈; 및
상기 스케일링 모듈에서 계산된 상기 가상 머신 인스턴스 필요량에 따라 상기 사용자에게 할당된 가상 머신 인스턴스의 수를 제어하는 가상 머신 제어 모듈을 포함하는 퍼지 제어 기반 가상 머신 스케일링 시스템.
A monitoring module for monitoring a state of a virtual machine assigned to a user;
The utilization rate and workload of the virtual machine are calculated according to the state information of the virtual machine provided from the monitoring module, and the calculated utilization rate and workload are fuzzy by using a predetermined belonging function. A scaling module configured to calculate a fuzzy output by applying a set of inference rules to a utilization rate and a workload, and calculate a virtual machine instance requirement of the user by defusing the fuzzy output; And
And a virtual machine control module for controlling the number of virtual machine instances assigned to the user according to the virtual machine instance requirements calculated by the scaling module.
상기 가상 머신의 상태 정보는, 상기 가상 머신의 중앙처리장치 사용률, 메모리 사용률, 저장 공간 사용률 및 상기 사용자로부터 상기 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함하는, 가상 머신 스케일링 시스템.
The method according to claim 1,
And the state information of the virtual machine includes one or more of CPU utilization, memory utilization, storage space usage, and the amount of network traffic transmitted from the user to the virtual machine.
상기 가상 머신의 사용률은 다음의 수학식
(이때, VMutil은 가상 머신의 사용률(%), Ucpu는 중앙처리장치 사용률로서 0 내지 1사이의 값, Umem은 메모리 사용률로서 0 내지 1사이의 값, Udisk는 저장 공간 사용률로서 0 내지 1사이의 값, α,β,χ는 가중치로서 각각 0 내지 1 사이의 값을 가지며 α+β+χ=1의 관계를 만족함)
을 이용하여 계산되는, 가상 머신 스케일링 시스템.
The method according to claim 2,
The utilization rate of the virtual machine is the following equation
Where VM util is the virtual machine utilization (%), U cpu is the central processing unit utilization between 0 and 1, U mem is the memory utilization between 0 and 1, and U disk is the storage space utilization. Values of 1 to 1, α, β, and χ each have a value between 0 and 1 as weights, and satisfy a relationship of α + β + χ = 1.)
Calculated using a virtual machine scaling system.
상기 가상 머신의 작업부하는 다음의 수학식,
(이때, VMload는 가상 머신의 작업부하(%), aTuser은 상기 사용자에게 할당된 상기 가상 머신의 시간 당 평균 네트워크 트래픽, Max(aTgroup)은 상기 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최고치, Min(aTgroup)은 상기 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최저치)
을 이용하여 계산되는, 가상 머신 스케일링 시스템.
The method according to claim 2,
The workload of the virtual machine is the following equation,
Where VM load is the workload of the virtual machine, aT user is the average network traffic per hour of the virtual machine assigned to the user, and Max (aT group ) is the virtual assigned to the user group containing the user. The highest average hourly network traffic per machine, Min (aT group ) is the lowest average hourly network traffic per virtual machine assigned to the user group containing the user)
Calculated using a virtual machine scaling system.
상기 가상 머신의 사용률 및 작업부하의 소속도 함수는, 각각 서로 다른 중심값을 가지며, 0 내지 1 사이의 값으로 정의되는 복수 개의 소속원들을 포함하는, 가상 머신 스케일링 시스템.
The method according to claim 1,
A utilization function and a workload belonging function of the virtual machine, each having a different center value and comprises a plurality of members defined by a value between 0 and 1.
상기 소속도 함수에 포함되는 상기 각 소속원은 삼각형, 사각형 또는 가우시안 분포 중 어느 하나의 분포를 가지는, 가상 머신 스케일링 시스템.
The method according to claim 5,
Wherein each membership included in the membership function has a distribution of any one of a triangle, a square, or a Gaussian distribution.
상기 퍼지 출력은 퍼지화된 상기 사용률 및 상기 작업부하에 Max-Min 추론 기법을 적용함으로써 생성되는, 가상 머신 스케일링 시스템.
The method according to claim 1,
The fuzzy output is generated by applying a Max-Min inference technique to the purged utilization and the workload.
상기 퍼지 출력은 다음의 수학식
(이때, Z*은 퍼지 출력 집합, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, ω는퍼지 추론 규칙의 전건부에 대한 적합도, μA(x)와 μB(y)는 퍼지 입력인 가상 머신 사용률 및 가상 머신 작업부하에 대한 소속도 함수, μ(z)는 퍼지 출력인 가상 머신 크기에 대한 소속도 함수)
을 이용하여 계산되는, 가상 머신 스케일링 시스템.
The method of claim 7,
The fuzzy output is represented by the following equation
Where Z * is the fuzzy output set, n is the number of fuzzy inference rules that match the fuzzy input, ω is the goodness of fit for the whole part of the fuzzy inference rule, and μ A (x) and μ B (y) are fuzzy inputs. Membership function for virtual machine utilization and virtual machine workload, μ (z) is membership function for virtual machine size, which is fuzzy output)
Calculated using a virtual machine scaling system.
상기 가상 머신 인스턴스 필요량은, 상기 퍼지 출력에 무게 중심법을 적용하여 상기 퍼지 출력을 비퍼지화함으로써 계산되는, 가상 머신 스케일링 시스템.
The method according to claim 1,
The virtual machine instance requirement is calculated by defusing the fuzzy output by applying a centroid method to the fuzzy output.
상기 가상 머신 인스턴스 필요량은, 다음의 수학식
(이때, z는 가상 머신 인스턴스 필요량, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, 는 퍼지 추론 규칙의 전건부에 대한 적합도, Zmax는 퍼지 출력 집합의 최대 단일값)
을 이용하여 계산되는, 가상 머신 스케일링 시스템.
The method according to claim 9,
The virtual machine instance required amount is the following equation
(Where z is the number of virtual machine instance requirements, n is the number of fuzzy inference rules that meet the fuzzy input, Is the goodness-of-fit for the whole part of the fuzzy inference rule, Z max is the maximum single value of the fuzzy output set)
Calculated using a virtual machine scaling system.
상기 가상 머신 제어 모듈은, 상기 가상 머신 인스턴스 필요량이 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 많은 경우, 부족한 수 만큼의 가상 머신 인스턴스를 생성하여 상기 사용자에게 기 할당된 가상 머신과 통합하는, 가상 머신 스케일링 시스템.
The method according to claim 1,
The virtual machine control module, when the required amount of the virtual machine instance is greater than the number of virtual machine instances previously assigned to the user, generates an insufficient number of virtual machine instances and integrates the virtual machine with the pre-assigned virtual machine, Virtual Machine Scaling System.
상기 가상 머신 제어 모듈은, 가상 머신을 생성 가능한 서버 중 기 생성된 가상 머신의 수가 가장 적은 서버에 가상 머신 인스턴스를 생성하는, 가상 머신 스케일링 시스템.
The method of claim 11,
The virtual machine control module, the virtual machine scaling system for creating a virtual machine instance on the server with the smallest number of virtual machines generated among the server capable of creating a virtual machine.
생성되는 상기 가상 머신 인스턴스는, 상기 사용자에게 기 할당된 가상 머신 인스턴스와 동일한 중앙 처리 장치 성능 및 동일한 메모리 용량, 저장 장치 용량을 가지는, 가상 머신 스케일링 시스템.
The method of claim 11,
The generated virtual machine instance has the same central processing unit performance and the same memory capacity and storage capacity as the virtual machine instance previously assigned to the user.
상기 가상 머신 제어 모듈은, 상기 가상 머신 인스턴스 필요량이 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 적은 경우, 필요량을 초과하는 가상 머신 인스턴스를 상기 사용자에게 기 할당된 가상 머신으로부터 삭제하는, 가상 머신 스케일링 시스템.
The method according to claim 1,
The virtual machine control module, when the virtual machine instance requirement is less than the number of virtual machine instances pre-assigned to the user, deletes the virtual machine instance exceeding the required amount from the pre-assigned virtual machine to the user. Scaling system.
상기 가상 머신 제어 모듈은, 상기 사용자에게 기 할당된 가상 머신 인스턴스 중 사용률이 낮은 순서로 필요량을 초과하는 가상 머신 인스턴스를 삭제하는, 가상 머신 스케일링 시스템.
The method according to claim 14,
The virtual machine control module, the virtual machine scaling system to delete the virtual machine instances exceeding the required amount in the order of low utilization among the virtual machine instances previously assigned to the user.
사용자에게 할당된 가상 머신의 상태를 모니터링하는 단계;
상기 가상 머신의 상태 정보에 따라 상기 가상 머신의 사용률 및 작업부하를 계산하는 단계;
계산된 상기 사용률 및 작업부하를 기 설정된 소속도 함수를 이용하여 퍼지화하는 단계;
퍼지화된 상기 사용률 및 작업부하에 기 설정된 추론 규칙을 적용하여 퍼지 출력을 계산하는 단계;
상기 퍼지 출력을 비퍼지화하여 상기 사용자의 가상 머신 인스턴스 필요량을 계산하는 단계; 및
계산된 상기 가상 머신 인스턴스 필요량에 따라 상기 사용자에게 할당된 가상 머신 인스턴스의 수를 제어하는 단계를 포함하는 퍼지 제어 기반 가상 머신 스케일링 방법.
A virtual machine scaling method performed in a virtual machine scaling system,
Monitoring a state of a virtual machine assigned to a user;
Calculating a utilization rate and a workload of the virtual machine according to the state information of the virtual machine;
Fuzzy use of the calculated utilization and workload using a predetermined belonging function;
Calculating a fuzzy output by applying a predetermined reasoning rule to the fuzzy utilization and workload;
Defusing the fuzzy output to calculate a virtual machine instance requirement of the user; And
And controlling the number of virtual machine instances assigned to the user according to the calculated virtual machine instance needs.
상기 가상 머신의 상태 정보는, 상기 가상 머신의 중앙처리장치 사용률, 메모리 사용률, 저장 공간 사용률 및 상기 사용자로부터 상기 가상 머신으로 전송되는 네트워크 트래픽의 양 중 하나 이상을 포함하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
And the state information of the virtual machine includes one or more of CPU utilization, memory utilization, storage space usage, and the amount of network traffic transmitted from the user to the virtual machine.
상기 가상 머신의 사용률은 다음의 수학식
(이때, VMutil은 가상 머신의 사용률(%), Ucpu는 중앙처리장치 사용률로서 0 내지 1사이의 값, Umem은 메모리 사용률로서 0 내지 1사이의 값, Udisk는 저장 공간 사용률로서 0 내지 1사이의 값, α,β,χ는 가중치로서 각각 0 내지 1 사이의 값을 가지며 α+β+χ=1의 관계를 만족함)
을 이용하여 계산되는, 가상 머신 스케일링 방법.
18. The method of claim 17,
The utilization rate of the virtual machine is the following equation
Where VM util is the virtual machine utilization (%), U cpu is the central processing unit utilization between 0 and 1, U mem is the memory utilization between 0 and 1, and U disk is the storage space utilization. Values of 1 to 1, α, β, and χ each have a value between 0 and 1 as weights, and satisfy a relationship of α + β + χ = 1.)
Calculated using the virtual machine scaling method.
상기 가상 머신의 작업부하는 다음의 수학식,
(이때, VMload는 가상 머신의 작업부하(%), aTuser은 상기 사용자에게 할당된 상기 가상 머신의 시간 당 평균 네트워크 트래픽, Max(aTgroup)은 상기 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최고치, Min(aTgroup)은 상기 사용자를 포함하는 사용자 그룹에 할당된 가상 머신의 시간 당 평균 네트워크 트래픽 중 최저치)
을 이용하여 계산되는, 가상 머신 스케일링 방법.
18. The method of claim 17,
The workload of the virtual machine is the following equation,
Where VM load is the workload of the virtual machine, aT user is the average network traffic per hour of the virtual machine assigned to the user, and Max (aT group ) is the virtual assigned to the user group containing the user. The highest average hourly network traffic per machine, Min (aT group ) is the lowest average hourly network traffic per virtual machine assigned to the user group containing the user)
Calculated using the virtual machine scaling method.
상기 가상 머신의 사용률 및 작업부하의 소속도 함수는, 각각 서로 다른 중심값을 가지며, 0 내지 1 사이의 값으로 정의되는 복수 개의 소속원들을 포함하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
The utilization factor and workload belonging function of the virtual machine each have a different center value and comprises a plurality of members defined by a value between 0 and 1.
상기 소속도 함수에 포함되는 상기 각 소속원은 삼각형, 사각형 또는 가우시안 분포 중 어느 하나의 분포를 가지는, 가상 머신 스케일링 방법.
The method of claim 20,
Each member belonging to the belonging function has a distribution of any one of a triangle, a square, or a Gaussian distribution.
상기 퍼지 출력을 계산하는 단계는, 퍼지화된 상기 사용률 및 상기 작업부하에 Max-Min 추론 기법을 적용함으로써 상기 퍼지 출력을 계산하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
And calculating the fuzzy output calculates the fuzzy output by applying a Max-Min inference technique to the fuzzy utilization and the workload.
상기 퍼지 출력은 다음의 수학식
(이때, Z*은 퍼지 출력 집합, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, ω는퍼지 추론 규칙의 전건부에 대한 적합도, μA(x)와 μB(y)는 퍼지 입력인 가상 머신 사용률 및 가상 머신 작업부하에 대한 소속도 함수, μ(z)는 퍼지 출력인 가상 머신 크기에 대한 소속도 함수)
을 이용하여 계산되는, 가상 머신 스케일링 방법.
23. The method of claim 22,
The fuzzy output is represented by the following equation
Where Z * is the fuzzy output set, n is the number of fuzzy inference rules that match the fuzzy input, ω is the goodness of fit for the whole part of the fuzzy inference rule, and μ A (x) and μ B (y) are fuzzy inputs. Membership function for virtual machine utilization and virtual machine workload, μ (z) is membership function for virtual machine size, which is fuzzy output)
Calculated using the virtual machine scaling method.
상기 가상 머신 인스턴스 필요량을 계산하는 단계는, 상기 퍼지 출력에 무게 중심법을 적용하여 상기 퍼지 출력을 비퍼지화함으로써 상기 가상 머신 인스턴스 필요량을 계산하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
The calculating of the virtual machine instance requirements comprises calculating the virtual machine instance requirements by applying a center of gravity method to the fuzzy outputs and defusing the fuzzy outputs.
상기 가상 머신 인스턴스 필요량은, 다음의 수학식
(이때, z는 가상 머신 인스턴스 필요량, n은 퍼지 입력에 부합되는 퍼지 추론 규칙의 수, 는 퍼지 추론 규칙의 전건부에 대한 적합도, Zmax는 퍼지 출력 집합의 최대 단일값)
을 이용하여 계산되는, 가상 머신 스케일링 방법.
27. The method of claim 24,
The virtual machine instance required amount is the following equation
(Where z is the number of virtual machine instance requirements, n is the number of fuzzy inference rules that meet the fuzzy input, Is the goodness-of-fit for the whole part of the fuzzy inference rule, Z max is the maximum single value of the fuzzy output set)
Calculated using the virtual machine scaling method.
가상 머신 인스턴스의 수를 제어하는 단계는,
상기 가상 머신 인스턴스 필요량 및 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수를 비교하는 단계;
상기 비교 결과, 상기 가상 머신 인스턴스 필요량이 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 많은 경우, 부족한 수 만큼의 가상 머신 인스턴스를 생성하는 단계; 및
생성된 상기 가상 머신 인스턴스를 상기 사용자에게 기 할당된 가상 머신 과 통합하는 단계를 더 포함하는, 가상 머신 스케일링 방법.
18. The method of claim 16,
Controlling the number of virtual machine instances,
Comparing the virtual machine instance requirements with the number of virtual machine instances previously assigned to the user;
If the virtual machine instance requirement is greater than the number of virtual machine instances pre-assigned to the user, creating an insufficient number of virtual machine instances; And
And integrating the created virtual machine instance with a virtual machine previously assigned to the user.
상기 가상 머신 인스턴스를 생성하는 단계는, 가상 머신을 생성 가능한 서버 중 기 생성된 가상 머신의 수가 가장 적은 서버에 가상 머신 인스턴스를 생성하는, 가상 머신 스케일링 방법.
27. The method of claim 26,
The generating of the virtual machine instance may include: creating a virtual machine instance on a server having the fewest number of virtual machines generated among the servers capable of creating the virtual machine.
생성되는 상기 가상 머신 인스턴스는, 상기 사용자에게 기 할당된 가상 머신 인스턴스와 동일한 중앙 처리 장치 성능 및 동일한 메모리 용량, 저장 장치 용량을 가지는, 가상 머신 스케일링 방법.
27. The method of claim 26,
The generated virtual machine instance has the same central processing unit performance and the same memory capacity and storage capacity as the virtual machine instance previously assigned to the user.
상기 판단 결과, 상기 가상 머신 인스턴스 필요량이 상기 사용자에게 기 할당된 가상 머신 인스턴스의 수보다 적은 경우, 필요량을 초과하는 가상 머신 인스턴스를 상기 사용자에게 기 할당된 가상 머신으로부터 삭제하는 단계를 더 포함하는, 가상 머신 스케일링 방법.
27. The method of claim 26,
If the virtual machine instance requirement is less than the number of virtual machine instances pre-assigned to the user, determining that the virtual machine instance exceeding the required amount is removed from the virtual machine pre-assigned to the user, Virtual machine scaling method.
상기 삭제하는 단계는, 상기 사용자에게 기 할당된 가상 머신 인스턴스 중 사용률이 낮은 순서로 필요량을 초과하는 가상 머신 인스턴스를 삭제하는, 가상 머신 스케일링 방법.
The method of claim 29,
The deleting may include deleting virtual machine instances exceeding a required amount in order of low utilization among virtual machine instances previously assigned to the user.
A computer-readable recording medium having recorded thereon a program for executing the method according to any one of claims 16 to 30.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110110357A KR101287448B1 (en) | 2011-10-27 | 2011-10-27 | Fuzzy control based virtual machine auto scaling system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110110357A KR101287448B1 (en) | 2011-10-27 | 2011-10-27 | Fuzzy control based virtual machine auto scaling system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130046040A true KR20130046040A (en) | 2013-05-07 |
KR101287448B1 KR101287448B1 (en) | 2013-07-18 |
Family
ID=48657831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110110357A KR101287448B1 (en) | 2011-10-27 | 2011-10-27 | Fuzzy control based virtual machine auto scaling system and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101287448B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160073306A (en) * | 2014-12-16 | 2016-06-24 | 캐논 가부시끼가이샤 | Management system and method for controlling management system |
CN106227582A (en) * | 2016-08-10 | 2016-12-14 | 华为技术有限公司 | Elastic telescopic method and system |
KR20180098838A (en) * | 2017-02-27 | 2018-09-05 | 한국전자통신연구원 | Apparatus and method for managing virtual network function |
WO2024014600A1 (en) * | 2022-07-13 | 2024-01-18 | 쿠팡 주식회사 | Instance management method, and electronic device therefor |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102048743B1 (en) | 2014-06-30 | 2020-01-08 | 한국전자통신연구원 | SDN-based network monitoring virtualization system and method therefor |
US10169243B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation |
US10223281B2 (en) | 2016-07-18 | 2019-03-05 | International Business Machines Corporation | Increasing the scope of local purges of structures associated with address translation |
US10168902B2 (en) | 2016-07-18 | 2019-01-01 | International Business Machines Corporation | Reducing purging of structures associated with address translation |
US10802986B2 (en) | 2016-07-18 | 2020-10-13 | International Business Machines Corporation | Marking to indicate memory used to back address translation structures |
US10180909B2 (en) | 2016-07-18 | 2019-01-15 | International Business Machines Corporation | Host-based resetting of active use of guest page table indicators |
US10241924B2 (en) | 2016-07-18 | 2019-03-26 | International Business Machines Corporation | Reducing over-purging of structures associated with address translation using an array of tags |
US10176111B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Host page management using active guest page table indicators |
US10176110B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Marking storage keys to indicate memory used to back address translation structures |
US10282305B2 (en) | 2016-07-18 | 2019-05-07 | International Business Machines Corporation | Selective purging of entries of structures associated with address translation in a virtualized environment |
US10176006B2 (en) | 2016-07-18 | 2019-01-08 | International Business Machines Corporation | Delaying purging of structures associated with address translation |
US10162764B2 (en) | 2016-07-18 | 2018-12-25 | International Business Machines Corporation | Marking page table/page status table entries to indicate memory used to back address translation structures |
US10248573B2 (en) | 2016-07-18 | 2019-04-02 | International Business Machines Corporation | Managing memory used to back address translation structures |
KR101990411B1 (en) * | 2017-12-26 | 2019-10-01 | 경희대학교 산학협력단 | System for scaling resource based on priority in cloud system, apparatus and method thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090070933A (en) * | 2007-12-27 | 2009-07-01 | 주식회사 케이티 | Device and method for hosting service using virtual machine |
US8849971B2 (en) | 2008-05-28 | 2014-09-30 | Red Hat, Inc. | Load balancing in cloud-based networks |
US20110078303A1 (en) | 2009-09-30 | 2011-03-31 | Alcatel-Lucent Usa Inc. | Dynamic load balancing and scaling of allocated cloud resources in an enterprise network |
-
2011
- 2011-10-27 KR KR1020110110357A patent/KR101287448B1/en active IP Right Grant
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160073306A (en) * | 2014-12-16 | 2016-06-24 | 캐논 가부시끼가이샤 | Management system and method for controlling management system |
CN106227582A (en) * | 2016-08-10 | 2016-12-14 | 华为技术有限公司 | Elastic telescopic method and system |
CN106227582B (en) * | 2016-08-10 | 2019-06-11 | 华为技术有限公司 | Elastic telescopic method and system |
KR20180098838A (en) * | 2017-02-27 | 2018-09-05 | 한국전자통신연구원 | Apparatus and method for managing virtual network function |
WO2024014600A1 (en) * | 2022-07-13 | 2024-01-18 | 쿠팡 주식회사 | Instance management method, and electronic device therefor |
Also Published As
Publication number | Publication date |
---|---|
KR101287448B1 (en) | 2013-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101287448B1 (en) | Fuzzy control based virtual machine auto scaling system and method | |
Wang et al. | Energy-aware dynamic virtual machine consolidation for cloud datacenters | |
US10460241B2 (en) | Server and cloud computing resource optimization method thereof for cloud big data computing architecture | |
CN108475207B (en) | Joint auto-scaling of cloud applications | |
JP4374391B2 (en) | System and method for operating load balancer for multiple instance applications | |
US20090100180A1 (en) | Incremental Run-Time Session Balancing In A Multi-Node System | |
EP3101870A1 (en) | Storage resource scheduling method and storage calculation system | |
US11093280B2 (en) | Automatic reconfiguration of high performance computing job schedulers based on user behavior, user feedback, and job performance monitoring | |
US20120221730A1 (en) | Resource control system and resource control method | |
US10237339B2 (en) | Statistical resource balancing of constrained microservices in cloud PAAS environments | |
US10721179B2 (en) | Adaptive resource allocation operations based on historical data in a distributed computing environment | |
US20060200469A1 (en) | Global session identifiers in a multi-node system | |
JP2012099062A (en) | Service cooperation system and information processing system | |
Guo et al. | Optimal management of virtual infrastructures under flexible cloud service agreements | |
WO2019102287A1 (en) | Prioritizing applications for diagonal scaling in a distributed computing environment | |
US10397315B2 (en) | Information processing apparatus and load distribution control method | |
US20210357269A1 (en) | Quality of service scheduling with workload profiles | |
US10635501B2 (en) | Adaptive scaling of workloads in a distributed computing environment | |
KR101630125B1 (en) | Method for resource provisioning in cloud computing resource management system | |
US11038755B1 (en) | Computing and implementing a remaining available budget in a cloud bursting environment | |
CN112600761A (en) | Resource allocation method, device and storage medium | |
Babu et al. | Interference aware prediction mechanism for auto scaling in cloud | |
Zaouch et al. | Load balancing for improved quality of service in the cloud | |
CN114116173A (en) | Method, device and system for dynamically adjusting task allocation | |
US10812407B2 (en) | Automatic diagonal scaling of workloads in a distributed computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160701 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180625 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190701 Year of fee payment: 7 |