KR102027303B1 - Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment - Google Patents

Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment Download PDF

Info

Publication number
KR102027303B1
KR102027303B1 KR1020180035005A KR20180035005A KR102027303B1 KR 102027303 B1 KR102027303 B1 KR 102027303B1 KR 1020180035005 A KR1020180035005 A KR 1020180035005A KR 20180035005 A KR20180035005 A KR 20180035005A KR 102027303 B1 KR102027303 B1 KR 102027303B1
Authority
KR
South Korea
Prior art keywords
fuzzy
resource usage
usage data
unit
readjustment
Prior art date
Application number
KR1020180035005A
Other languages
Korean (ko)
Other versions
KR20190078453A (en
Inventor
허의남
손아영
김윤곤
이가원
박준영
Original Assignee
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경희대학교 산학협력단 filed Critical 경희대학교 산학협력단
Priority to PCT/KR2018/015419 priority Critical patent/WO2019132300A1/en
Publication of KR20190078453A publication Critical patent/KR20190078453A/en
Application granted granted Critical
Publication of KR102027303B1 publication Critical patent/KR102027303B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Abstract

마이그레이션 시스템이 개시된다. 상기 마이그레이션 시스템은 자원 사용을 모니터링하는 자원 모니터링부, 상기 자원 모니터링부를 통해 모니터링된 자원 사용 데이터에 대하여 퍼지화 및 학습을 수행하고, 학습을 통해 획득한 예측 데이터를 토대로 퍼지 재조정이 필요한지 여부를 판단하는 퍼지 시스템, 및 상기 퍼지 시스템의 퍼지 재조정 여부의 판단에 따라 마이그레이션 여부를 결정하는 마이그레이션 관리부를 포함한다.The migration system is disclosed. The migration system performs a fuzzy fuzzy and learning on a resource monitoring unit that monitors resource usage, the resource usage data monitored by the resource monitoring unit, and determines whether fuzzy readjustment is necessary based on the prediction data acquired through the learning. A purge system, and a migration management unit for determining whether to migrate in accordance with the determination of whether or not to purge the fuzzy system.

Description

분산 클라우드 환경에서 퍼지값 재조정에 따른 마이그레이션 시스템 및 방법{Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment}Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment

본 발명은 마이그레이션 시스템 및 방법에 관한 것으로서, 보다 구체적으로 분산 클라우드 환경에서 퍼지값 재조정을 통해 가상머신의 상태를 예측하고, 마이그레이션을 실시하는 시스템 및 방법에 관한 것이다.The present invention relates to a migration system and method, and more particularly to a system and method for predicting the state of the virtual machine through the fuzzy value readjustment in a distributed cloud environment, and performing the migration.

최근 데이터센터의 증가로 인해 에너지 사용량이 증가하고 있으며 분산된 클라우드 환경에서 특정 데이터센터로부터 서비스를 받던 사용자가 다른 지역으로 이동하더라도 지리적으로 가까운 새로운 데이터센터로부터 기존의 서비스를 연속적으로 받을 수 있는 방법이 필요하다.In recent years, energy usage has increased due to the increase in data centers.However, in a distributed cloud environment, there is a way to continuously receive existing services from a new geographically close data center even if a user moving from one data center moves to another. need.

자원을 관리하기 위한 마이그레이션 기술은 가상머신(VM) 할당이 필요한 시점에 수행하려는 워크로드의 특성을 파악하여 워크로드를 가장 효율적으로 수행시킬 수 있도록 가상머신을 물리적 자원에 위치시킬 수 있다. 또한, 성능 최적화 및 저전력 운용을 위해 마이그레이션 기술을 활용하여 그 효율을 높이고 있다.The migration technology for managing resources can locate the virtual machine on a physical resource so that the workload can be executed most efficiently by identifying the characteristics of the workload to be performed when the virtual machine (VM) allocation is required. In addition, the company utilizes migration technology to improve performance and low power operation.

한편, 기존 마이그레이션 기술들의 목적은 전체 마이그레이션 시간을 줄이는 것일 뿐이고, 서비스 대기시간도 고려되지 않아 전체적으로 시스템의 부하가 큰 상황에서는 응용 프로그램의 성능을 정확하게 예측하지 못하고 있으며 동적으로 자원을 할당하지 못한다는 문제점이 가지고 있다. 특히, 물리머신은 할당된 가상머신들의 시간에 따라 요구되는 자원을 충분히 보유하지 못하면 성능이 저하되는 Hotspot 문제가 발생하기 때문에 가상머신의 CPU, 메모리, 네트워크 자원요구를 서비스에 적합하게 동적으로 할당할 수 있는 시스템 및 방법이 필요하다.On the other hand, the purpose of the existing migration techniques is to reduce the overall migration time, and the service latency is not taken into account. Therefore, the performance of the application cannot be accurately predicted and the resources cannot be dynamically allocated in a situation where the system load is large. I have this. In particular, since a physical machine has a hotspot problem that degrades performance if it does not have enough resources according to the time of the allocated virtual machines, the CPU, memory, and network resource requirements of the virtual machine can be dynamically allocated to the service. What is needed is a system and method that can.

본 발명의 목적은 분산된 데이터센터 내에서 사용자가 자원을 효율적으로 사용할 수 있도록 사용자에게 끊임없는 서비스를 보장해주고, QoS를 높여줄 수 있는 마이그레이션 시스템 및 방법을 제공하는 것에 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a migration system and method for guaranteeing a continuous service to a user and improving QoS so that a user can efficiently use resources in a distributed data center.

본 발명의 일 실시 예에 따른 마이그레이션 시스템은 자원 사용을 모니터링하는 자원 모니터링부, 상기 자원 모니터링부를 통해 모니터링된 자원 사용 데이터에 대하여 퍼지화 및 학습을 수행하고, 학습을 통해 획득한 예측 데이터를 토대로 퍼지 재조정이 필요한지 여부를 판단하는 퍼지 시스템, 및 상기 퍼지 시스템의 퍼지 재조정 여부의 판단에 따라 마이그레이션 여부를 결정하는 마이그레이션 관리부를 포함할 수 있다.The migration system according to an embodiment of the present invention is a resource monitoring unit for monitoring the resource usage, performing fuzzy fuzzy and learning on the resource usage data monitored through the resource monitoring unit, fuzzy based on the prediction data obtained through the learning It may include a fuzzy system for determining whether re-adjustment is necessary, and a migration management unit for determining whether to migrate in accordance with the determination of whether to purge the fuzzy system.

여기에, 상기 자원 모니터링부는 상기 자원 사용 데이터를 토대로 사용자에 제공될 워크로드에 대한 분석을 수행하는 워크로드 분석부, 및 상기 워크로드에 대한 분석 결과를 토대로 퍼지화될 상기 자원 사용 데이터에 관한 메트릭을 선정하는 메트릭 분석부를 포함할 수 있다.The resource monitoring unit may include a workload analysis unit that analyzes a workload to be provided to a user based on the resource usage data, and a metric about the resource usage data to be fuzzy based on an analysis result of the workload. It may include a metric analysis unit for selecting the.

여기에, 상기 워크로드 분석부는 상기 워크로드의 자원 사용 데이터의 패턴을 분석하고, 분석된 상기 자원 사용 데이터의 패턴을 기반으로 상기 자원 사용 데이터에 대한 클러스터링을 수행할 수 있다.Here, the workload analyzer may analyze the pattern of the resource usage data of the workload and perform clustering on the resource usage data based on the analyzed pattern of the resource usage data.

여기에, 상기 퍼지 시스템은 상기 자원 사용 데이터 값의 범위에 대해 상응하는 논의 영역(Universe of discourse)으로 변화시키는 스케일 맵핑(Scale Mapping)을 통해 퍼지화를 수행하는 퍼지화부, 제어 규칙의 집합인 퍼지 룰(Fuzzy Rule)을 생성하고 관리하는 룰 생성부, 상기 퍼지화부를 통해 퍼지화된 자원 사용 데이터 및 상기 룰 생성부에서 생성된 퍼지 룰에 기반하여 규칙을 결정하는 의사 결정 논리(Decision-Making Logic)를 수행하는 퍼지 추론부, 및 상기 퍼지 추론부의 결과값의 범위에 상응되는 논의 영역으로 변화시키는 스케일 맵핑을 통해 디퍼지화를 수행하는 디퍼지화부를 포함할 수 있다.Here, the fuzzy system is a fuzzy equalizer, which is a set of fuzzy equalizers and control rules that perform fuzzy through scale mapping for changing a range of resource usage data values into a corresponding universe of discourse. Decision-Making Logic to determine a rule based on a rule generation unit for generating and managing a rule (Fuzzy Rule), resource usage data purged through the fuzzy equalizer and fuzzy rules generated by the rule generator A fuzzy inference unit for performing a), and a depurifier for performing the depuration through the scale mapping to the discussion area corresponding to the range of the result value of the fuzzy inference unit.

여기에, 상기 퍼지 시스템은 상기 퍼지화부를 통해 퍼지화된 상기 자원 사용 데이터에 대하여 학습을 수행하는 학습부를 더 포함할 수 있다.The fuzzy system may further include a learning unit configured to perform learning on the resource use data purged through the fuzzy unit.

여기에, 상기 학습부를 통해 획득한 예측 데이터를 토대로 퍼지 재조정이 필요한지 여부를 판단하는 재조정 판단부를 더 포함할 수 있다.The apparatus may further include a readjustment determiner configured to determine whether the fuzzy readjustment is necessary based on the prediction data acquired through the learner.

여기에, 상기 재조정 판단부는 상기 예측 데이터에 대한 QoS값과 기 설정된 임계값의 비교를 통하여 퍼지 재조정이 필요한지 여부를 판단할 수 있다.Here, the readjustment determination unit may determine whether the fuzzy readjustment is necessary by comparing the QoS value of the prediction data with a preset threshold value.

여기에, 상기 룰 생성부는 상기 재조정 판단부에 따라 퍼지 재조정이 필요한 것으로 판단되면, 새로운 퍼지 룰을 생성할 수 있다.Here, if it is determined that the fuzzy readjustment is necessary according to the readjustment determining unit, the rule generator may generate a new fuzzy rule.

본 발명의 일 실시 예에 따른 마이그레이션 방법은 (a) 자원 사용을 모니터링하는 단계, (b) 상기 (a) 단계를 통해 모니터링된 자원 사용 데이터에 대하여 퍼지화 및 학습을 수행하는 단계, (c) 상기 (b) 단계를 통해 획득한 예측 데이터를 토대로 퍼지 재조정이 필요한지 여부를 판단하는 단계, 및 (d) 상기 (c) 단계의 퍼지 재조정 여부의 판단에 따라 마이그레이션 여부를 결정하는 단계를 포함할 수 있다.The migration method according to an embodiment of the present invention comprises the steps of (a) monitoring resource usage, (b) performing fuzzy and learning on the resource usage data monitored through the step (a), (c) Determining whether fuzzy readjustment is necessary based on the prediction data obtained through step (b), and (d) determining whether to migrate according to whether to purge readjustment of step (c). have.

여기에, 상기 (a) 단계는 (a-1) 상기 자원 사용 데이터를 토대로 사용자에 제공될 워크로드에 대한 분석을 수행하는 단계, 및 (a-2) 상기 워크로드에 대한 분석 결과를 토대로 퍼지화될 상기 자원 사용 데이터에 관한 메트릭을 선정하는 단계를 더 포함할 수 있다.Here, the step (a) is (a-1) performing the analysis on the workload to be provided to the user based on the resource usage data, and (a-2) purge based on the analysis result for the workload The method may further include selecting a metric regarding the resource usage data to be converted.

여기에, 상기 (b) 단계는 (b-1) 상기 자원 사용 데이터에 대하여 퍼지화를 수행하는 단계, 및 (b-2) 상기 (b-1) 단계를 통해 퍼지화된 상기 자원 사용 데이터에 대하여 학습을 수행하고, 예측 데이터를 획득하는 단계를 더 포함할 수 있다.Here, the step (b) includes the step of (b-1) performing fuzzy with respect to the resource usage data, and (b-2) with the resource usage data purged through the step (b-1). The method may further include performing learning and obtaining prediction data.

여기에, 상기 (b) 단계는 (b-3) 상기 퍼지화된 자원 사용 데이터에 대하여 재 클러스터링을 수행하는 단계를 더 포함할 수 있다.Here, the step (b) may further include (b-3) performing re-clustering on the purged resource usage data.

여기에, 상기 (c) 단계는 상기 예측 데이터에 대한 QoS값과 기 설정된 임계값의 비교를 통하여 퍼지 재조정이 필요한지 여부를 판단할 수 있다.Here, in step (c), it may be determined whether a fuzzy readjustment is necessary by comparing the QoS value of the prediction data with a preset threshold value.

여기에, 상기 (c) 단계를 통해 퍼지 재조정이 필요한 것으로 판단되면, 퍼지 재조정이 필요하지 않다고 판단될 때까지 상기 (b) 단계 내지 상기 (c) 단계를 반복적으로 수행할 수 있다.If it is determined that purge readjustment is necessary through step (c), steps (b) to (c) may be repeatedly performed until it is determined that purge readjustment is not necessary.

본 발명의 일 실시 예에 따르면, 분산 클라우드 환경에서의 마이그레이션을 활용하여 자원을 효율적으로 활용하고 성능을 향상시킬 수 있으며, 분산 클라우드 환경에서의 향상된 서비스를 보장할 수 있다.According to an embodiment of the present invention, it is possible to efficiently utilize resources and improve performance by utilizing migration in a distributed cloud environment, and to ensure an improved service in a distributed cloud environment.

또한, 마이그레이션시 사용되는 지표의 값들을 퍼지화 시키고, 퍼지 재조정을 통한 값을 반영하여 마이그레이션에 영향을 줄 수 있는 요소들을 재조정하고, 마이그레이션시 자원 효율을 높일 수 있다.In addition, the values of the indicators used in the migration can be fuzzy, and the values through the fuzzy re-adjustment can be reflected to adjust the factors that may affect the migration and to increase the resource efficiency in the migration.

도 1은 본 발명이 적용될 수 있는 클라우드 데이터센터 시스템의 일 예를 도시한 것이다.
도 2는 본 발명의 일 실시 예에 따른 마이그레이션 시스템의 블록도이다.
도 3은 자원 모니터링부의 블록도를 도시한 것이다.
도 4는 본 발명의 일 실시 예에 따른 마이그레이션 방법의 순서도이다.
도 5는 퍼지 재조정을 위한 학습 전·후의 결과를 도시한 그래프이다.
도 6은 퍼지 재조정에 따른 결과의 일 예를 도시한 그래프이다.
도 7은 본 발명의 일 실시 예에 따른 마이그레이션 시스템 및 방법과 기존의 알고리즘과의 정확도를 비교한 것을 도시한 것이다.
1 illustrates an example of a cloud data center system to which the present invention can be applied.
2 is a block diagram of a migration system according to an embodiment of the present invention.
3 is a block diagram of a resource monitoring unit.
4 is a flowchart illustrating a migration method according to an embodiment of the present invention.
5 is a graph showing the results before and after learning for fuzzy readjustment.
6 is a graph illustrating an example of the result of the fuzzy readjustment.
7 illustrates a comparison of the accuracy of a migration system and method according to an embodiment of the present invention with an existing algorithm.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the inventive concept disclosed herein are merely illustrated for the purpose of describing the embodiments according to the inventive concept, and the embodiments according to the inventive concept. These may be embodied in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the inventive concept may be variously modified and have various forms, so embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments in accordance with the concept of the present invention to specific embodiments, and includes modifications, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The terms are only for the purpose of distinguishing one component from another component, for example, without departing from the scope of the rights according to the inventive concept, the first component may be called a second component, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Expressions describing relationships between components, such as "between" and "immediately between" or "directly neighboring", should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "having" are intended to designate that the stated feature, number, step, operation, component, part, or combination thereof is present, but one or more other features or numbers, It is to be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not. Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

도 1은 본 발명이 적용될 수 있는 클라우드 데이터센터 시스템의 일 예를 도시한 것이다.1 illustrates an example of a cloud data center system to which the present invention can be applied.

도 1을 참조하면, 클라우드 데이터센터 시스템(1)은 SDN((Software-Defined Networking) 기반의 시스템일 수 있다. 이때, 클라우드 데이터센터 시스템(1)은 데이터센터(10), SDN(20) 및 마이그레이션 시스템(30)을 포함할 수 있다.Referring to FIG. 1, the cloud data center system 1 may be a software-defined networking (SDN) -based system. In this case, the cloud data center system 1 may include a data center 10, an SDN 20, and the like. Migration system 30.

데이터센터(10)는 외부와 연결되는 송수신부, 사용자가 요청한 서비스를 인식하는 서비스 인식부, 자원 사용을 모니터링하는 자원 모니터링부 및 우선순위를 고려하여 가상머신의 상태를 예측하고, 마이그레이션을 수행할 가상머신을 결정하는 가상머신 관리부를 포함할 수 있다.The data center 10 estimates the state of the virtual machine in consideration of the transmission / reception unit connected to the outside, the service recognition unit recognizing the service requested by the user, the resource monitoring unit monitoring the resource usage, and the priority, and performs the migration. It may include a virtual machine management unit for determining the virtual machine.

SDN(20)은 가상 네트워크를 확장하여 클라우드 데이터센터(10)들이 상호 연결될 수 있도록 제어 및 관리한다. SDN(20)은 API를 확인하여 네트워크 장치가 이해할 수 있는 인터페이스로 변환한 다음에 네트워크 장치에 전달하는 컨트롤러 및 사용자가 요청한 서비스를 인식하는 서비스 인식부를 포함할 수 있다. 한편, SDN 컨트롤러는 물리 네트워크를 구성하는 오픈 플로우 스위치들과, 가상 네트워크를 구성하는 오픈 가상 스위치(이하, OvS : Open Virtual Switch)를 관리한다. 이러한 OvS들은 물리머신에 생성되는 가상머신들이 네트워크에 접속되도록 할 수 있다.SDN 20 extends the virtual network to control and manage the cloud data center 10 to be interconnected. The SDN 20 may include a controller that checks an API, converts it into an interface that can be understood by the network device, and then transfers the controller to the network device and a service recognizer that recognizes the service requested by the user. Meanwhile, the SDN controller manages open flow switches constituting a physical network and open virtual switches (OvS: Open Virtual Switch) constituting a virtual network. Such OvSs may allow virtual machines created on the physical machine to be connected to the network.

OvS를 통해 네트워크에 접속되는 가상머신은 물리머신의 자원을 기반으로 가상적으로 생성되어 동작하는 머신을 의미한다. 가상머신은 각각 별도로 운영체제(OS)를 구동시켜 각각 분리된 컴퓨팅 장치인 것처럼 동작할 수 있다.A virtual machine connected to a network through OvS refers to a machine that is virtually created and operated based on the resources of the physical machine. The virtual machines may operate as if they were separate computing devices by operating an operating system (OS) separately.

이때, 어느 하나의 가상머신 내의 시스템은 다른 가상머신으로 마이그레이션될 수 있다. 마이그레이션은 특정한 환경의 시스템, 애플리케이션 또는 모듈 등을 그대로 다른 환경으로 이주시키는 것을 의미한다. 이 경우, 시스템 등이 존재하던 기존의 환경과 새로운 환경은 서로 동일하지 않을 수 있다. 예를 들어, 기존의 가상머신에 제공되던 시스템 자원(CPU, 메모리 등)과 새로운 가상머신에 제공되는 시스템 자원은 서로 상이할 수 있다.At this time, the system in one virtual machine may be migrated to another virtual machine. Migration means migrating a system, application, or module from one environment to another. In this case, the existing environment where the system and the like existed and the new environment may not be the same. For example, system resources (CPU, memory, etc.) provided to the existing virtual machine and system resources provided to the new virtual machine may be different from each other.

한편, 이하에서 설명할 본 발명의 일 실시 예에 따른 마이그레이션 시스템(30)은 앞서 일 예로서 설명한 SDN 기반의 네트워크 환경뿐만 아니라, 다른 네트워크 환경에서도 적용 가능함은 자명하다.On the other hand, it is apparent that the migration system 30 according to an embodiment of the present invention to be described below is applicable to other network environments as well as the SDN-based network environment described as an example.

도 2는 본 발명의 일 실시 예에 따른 마이그레이션 시스템의 블록도이다.2 is a block diagram of a migration system according to an embodiment of the present invention.

도 2를 참조하면, 마이그레이션 시스템(30)은 가상머신 중 어느 하나의 가상머신 내의 시스템을 다른 가상머신으로 마이그레이션하기 위한 시스템으로서, 송수신부(310), 자원 모니터링부(330), 퍼지 시스템(350) 및 마이그레이션 관리부(370)를 포함한다.Referring to FIG. 2, the migration system 30 is a system for migrating a system in one of the virtual machines to another virtual machine, and includes a transceiver 310, a resource monitoring unit 330, and a fuzzy system 350. And the migration management unit 370.

송수신부(310)는 SDN(20)을 통해 데이터센터(10)와 데이터를 주고받는다.The transceiver 310 exchanges data with the data center 10 through the SDN 20.

자원 모니터링부(330)는 가상머신의 상태 및/또는 가상머신에 제공되는 자원을 모니터링한다. 보다 구체적으로, 자원 모니터링부(330)는 가상머신의 CPU의 사용량, 램 등의 메모리 사용량 및/또는 네트워크 자원 상태 등을 모니터링함으로써 가상머신의 상태나 가상머신에 제공되는 자원 사용에 대한 데이터를 획득할 수 있다. 또한, 자원 모니터링부(330)는 가상머신이 대기한 시간(대기 시간)이나, 가상머신이 동작한 시간(실행 시간)이나, 가상머신의 동작이 종료된 기간이나, 및/또는 전력 공급의 중단의 빈도 등을 모니터링하는 것도 가능하다.The resource monitoring unit 330 monitors the state of the virtual machine and / or resources provided to the virtual machine. More specifically, the resource monitoring unit 330 acquires data on the state of the virtual machine or the resource usage provided to the virtual machine by monitoring the CPU usage of the virtual machine, memory usage such as RAM, and / or network resource status. can do. In addition, the resource monitoring unit 330 may be a time (wait time) that the virtual machine waits, a time (execution time) the operation of the virtual machine, a period in which the operation of the virtual machine is terminated, and / or interruption of power supply. It is also possible to monitor the frequency and so on.

자원 모니터링부(330)의 모니터링 결과는 퍼지 시스템(350)으로 전달될 수 있다. 이 경우, 자원 모니터링부(330)는 주기적으로 또는 연속적으로 퍼지 시스템(350)에 모니터링 결과를 전송할 수도 있다.The monitoring result of the resource monitoring unit 330 may be transferred to the fuzzy system 350. In this case, the resource monitoring unit 330 may transmit the monitoring result to the purge system 350 periodically or continuously.

자원 모니터링부의 블록도를 도시한 도 3을 참조하면, 자원 모니터링부(330)는 워크로드 분석부 및 메트릭 분석부를 포함할 수 있다.Referring to FIG. 3, which shows a block diagram of a resource monitoring unit, the resource monitoring unit 330 may include a workload analyzer and a metric analyzer.

워크로드 분석부는 자원 모니터링부(330)에서 모니터링된 자원 사용 데이터를 토대로 사용자에 제공될 서비스에 따른 워크로드에 대한 분석을 수행한다. 보다 구체적으로, 워크로드 분석부는 자원 모니터링부(330)를 통하여 모니터링되는 자원 사용 데이터의 패턴을 분석하고, 분석된 자원 사용 패턴 데이터를 기반으로 클러스터링하여 자원 사용 데이터에 대한 군집 분석을 수행한다. 이때, 군집 분석에 사용되는 클러스터링 알고리즘으로는 K-means 알고리즘이 사용될 수 있으나, 여기에 한정되지 않고 다양한 알고리즘이 사용될 수 있다.The workload analyzer analyzes the workload according to the service to be provided to the user based on the resource usage data monitored by the resource monitor 330. More specifically, the workload analysis unit analyzes the pattern of the resource usage data monitored by the resource monitoring unit 330, performs clustering analysis on the resource usage data by clustering based on the analyzed resource usage pattern data. In this case, the K-means algorithm may be used as the clustering algorithm used for cluster analysis, but various algorithms may be used without being limited thereto.

또한, 워크로드 분석부는 퍼지 컨트롤부(351)를 통해 퍼지화된 자원 사용 데이터에 따라 재 클러스터링을 수행할 수 있다.In addition, the workload analysis unit may perform re-clustering according to the resource usage data purged through the fuzzy control unit 351.

메트릭 분석부는 메트릭(metric)에 대한 분석을 수행하고, 퍼지화될 자원 사용 데이터에 관한 메트릭을 선정한다. 메트릭 분석부는 서비스 인식부를 통해 인식된 서비스의 목적 및 클러스터링된 자원 사용 데이터를 기반으로 메트릭을 비교하고, 마이그레이션 효율을 향상시키기 위한 메트릭을 선정할 수 있다.The metric analyzer performs an analysis on the metric and selects a metric regarding the resource usage data to be fuzzy. The metric analyzer may compare metrics based on the purpose of the service recognized by the service recognizer and clustered resource usage data, and select a metric for improving migration efficiency.

아래의 표 1은 서비스의 목적에 따른 메트릭의 일 예이다.Table 1 below is an example of a metric according to the purpose of the service.

서비스 목적Service purpose 목표goal MetricsMetrics Performance efficiencyPerformance efficiency Minimizing timeMinimizing time Transferred pagesTransferred pages Network trafficNetwork traffic BandwidthBandwidth Waiting timeWaiting time Number of migrationNumber of migration VM execution timeVM execution time VM RAM workloadVM RAM workload Increasing resource utilizationIncreasing resource utilization Resource utilization
Response time
Resource utilization
Response time
Load balancingLoad balancing Resource utilizationResource utilization Improving ReliabilityImproving Reliability ScalabilityScalability ThroughputThroughput Response timeResponse time Power consumptionPower consumption Increasing resource utilizationIncreasing resource utilization Numberof migrationNumberof migration Running server/VMRunning server / VM Resource utilizationResource utilization Power consumptionPower consumption Energy consumptionEnergy consumption frequencyfrequency Reducing BottleneckReducing bottleneck Resource utilizationResource utilization BandwidthBandwidth

퍼지 시스템(350)은 자원 모니터링부(330)를 통하여 모니터링된 자원 사용 데이터의 학습을 수행하거나, 모니터링 결과와 학습 결과를 기반으로 선정된 메트릭의 자원 사용 데이터에 대한 퍼지화를 수행하고 퍼지 룰을 생성할 수 있다. 퍼지 시스템(350)은 퍼지 컨트롤부(351), 학습부(353) 및 재조정 판단부(355)를 포함한다.The fuzzy system 350 performs learning of the monitored resource usage data through the resource monitoring unit 330, or purges the resource usage data of the selected metric based on the monitoring result and the learning result and performs a fuzzy rule. Can be generated. The purge system 350 includes a purge controller 351, a learner 353, and a readjustment determiner 355.

퍼지 컨트롤부(351)는 자원 모니터링 결과와 학습 결과를 기반으로 선정된 메트릭의 자원 사용 데이터에 대한 퍼지화를 수행하고, 퍼지 룰을 생성할 수 있다. 퍼지 컨트롤부(351)는 퍼지화부(351a), 룰 생성부(351d), 퍼지 추론부(351b) 및 디퍼지화부(351c)를 포함한다.The fuzzy control unit 351 may purge the resource usage data of the selected metric based on the resource monitoring result and the learning result and generate a fuzzy rule. The purge control unit 351 includes a purge unit 351a, a rule generator 351d, a purge inference unit 351b, and a depurator 351c.

퍼지화부(351a)는 모니터링된 자원 사용 데이터의 평균값인 입력 변수를 명령이 실현될 수 있는 소정의 수치로 변환시켜 퍼지화를 수행할 수 있다. 즉, 퍼지화부(351a)는 입력 변수의 값의 범위에 대해 상응하는 논의 영역(Universe of discourse)으로 변화시키는 스케일 맵핑(Scale Mapping)을 통해 입력 변수를 퍼지화시킨다.The fuzzy unit 351a may perform fuzzy by converting an input variable, which is an average value of the monitored resource usage data, into a predetermined value at which the command can be realized. That is, the fuzzy unit 351a purges the input variable through scale mapping, which changes the range of the value of the input variable into a corresponding universe of discourse.

룰 생성부(351d)는 제어 규칙의 집합을 기록하고 관리한다. 한편, 룰 생성부(351d)는 후술할 재조정 판단부(355)에 따라 퍼지 재조정이 필요한 경우 새로운 룰을 생성할 수 있다.The rule generator 351d records and manages a set of control rules. Meanwhile, the rule generation unit 351d may generate a new rule when the fuzzy re-adjustment is necessary according to the re-adjustment determination unit 355 to be described later.

퍼지 추론부(351b)는 퍼지화된 입력과 룰 생성부(351d)에서 생성된 퍼지 룰에 기반하여 규칙을 결정하는 의사 결정 논리(Decision-Making Logic)를 수행할 수 있다. 퍼지화가 수행된 결과 값은 디퍼지화부(351c)로 전달된다.The fuzzy inference unit 351b may perform decision-making logic that determines a rule based on the fuzzy input and the fuzzy rule generated by the rule generator 351d. The resultant value of the purge is transferred to the depurifier 351c.

디퍼지화부(351c)는 출력 변수를 원하는 범위로 변환하여 논의 영역으로 전환하는 스케일 매핑 작업을 수행한다. 스케일 매핑에 따라 디퍼지화된 결과값은 자원 모니터링부(330)로 전달될 수 있다.The depurator 351c performs a scale mapping operation of converting an output variable into a desired range and converting it into a discussion area. The diffused result value according to the scale mapping may be transmitted to the resource monitoring unit 330.

학습부(353)는 퍼지화된 자원 사용 데이터에 대하여 기계 학습(machine learning)을 수행한다. 기계 학습은 소정의 기계 학습 알고리즘을 이용하여 구현 가능하다. 기계 학습 알고리즘은, 예를 들어, 심층 신경망(DNN, Deep Neural Network), 콘볼루션 신경망(CNN, Convolutional Neural Network), 순환 신경망(RNN, Recurrent Neural Network), 심층 신뢰 신경망(DBN, Deep Belief Network) 및 심층 Q-네트워크(Deep Q-Networks) 중 적어도 하나를 이용하여 구현될 수 있으나, 구현 가능한 기계 학습 알고리즘은 이에 한정되는 것은 아니다.The learner 353 performs machine learning on fuzzy resource usage data. Machine learning can be implemented using any machine learning algorithm. Machine learning algorithms include, for example, deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), and deep trust neural networks (DBNs). And deep Q-Networks (Deep Q-Networks) may be implemented using at least one, but the machine learning algorithm that can be implemented is not limited thereto.

학습부(353)는 퍼지화된 자원 사용 데이터를 기반으로 학습을 수행하여 자원 상태의 변화를 확인할 수 있으며, 퍼지 컨트롤부(351)에서 학습 결과에 따라(즉, 자원 상태의 변화에 따라) 재 퍼지화를 수행하도록 함으로써 정확한 자원의 사용을 반영할 수 있다.The learning unit 353 may check the change of the resource state by performing the learning based on the fuzzy resource usage data, and re-install according to the learning result (that is, according to the change of the resource state) in the fuzzy control unit 351. By doing fuzzy, you can reflect the exact use of resources.

재조정 판단부(355)는 학습부(353)를 통해 획득한 예측 데이터를 토대로 QoS를 만족하는지 여부에 따라 퍼지 재조정이 필요한지 여부를 판단한다. 보다 구체적으로, 재조정 판단부(355)는 예측 데이터를 이용하여 QoS를 만족하는지 여부를 판단하는데, 이는 예측 데이터에 대한 QoS값과 기 설정된 임계값과의 비교를 통하여 판단할 수 있다.The readjustment determiner 355 determines whether fuzzy reconditioning is necessary based on whether the QoS is satisfied based on the prediction data acquired through the learner 353. More specifically, the readjustment determination unit 355 determines whether the QoS is satisfied by using the prediction data, which may be determined by comparing the QoS value of the prediction data with a preset threshold value.

일 예로서, 퍼포먼스 효율 향상이 목적인 서비스라면, 아래의 수학식 1에 의해 정의되는 QoS값(

Figure 112018030261971-pat00001
)이 기 설정된 임계값(
Figure 112018030261971-pat00002
) 보다 작다면, QoS를 만족하는 것으로 판단할 수 있다.As an example, if the service is to improve the performance efficiency, the QoS value defined by Equation 1 below (
Figure 112018030261971-pat00001
) Is the preset threshold (
Figure 112018030261971-pat00002
If it is smaller than), it can be determined that the QoS is satisfied.

Figure 112018030261971-pat00003
Figure 112018030261971-pat00003

즉, QoS값(

Figure 112018030261971-pat00004
)이 기 설정된 임계값(
Figure 112018030261971-pat00005
) 보다 작다면 마이그레이션 실행 시간을 최소화하는 목적에 대한 QoS를 만족하는 것으로 보아 퍼지 재조정을 할 필요가 없는 것으로 판단할 수 있다.That is, the QoS value (
Figure 112018030261971-pat00004
) Is the preset threshold (
Figure 112018030261971-pat00005
Less than), it is determined that there is no need for fuzzy rebalancing because it satisfies QoS for the purpose of minimizing migration execution time.

다른 일 예로서, 퍼포먼스 효율 향상이 목적인 서비스라면, 아래의 수학식 2에 의해 정의되는 QoS값(

Figure 112018030261971-pat00006
)이 기 설정된 임계값(
Figure 112018030261971-pat00007
) 보다 작다면, QoS를 만족하는 것으로 판단할 수 있다.As another example, if the service is to improve performance efficiency, the QoS value defined by Equation 2 below (
Figure 112018030261971-pat00006
) Is the preset threshold (
Figure 112018030261971-pat00007
If it is smaller than), it can be determined that the QoS is satisfied.

Figure 112018030261971-pat00008
Figure 112018030261971-pat00008

여기서,

Figure 112018030261971-pat00009
이다. 즉, 트래픽 수요와 관련된 평균제곱오차(MSE)값인 QoS값(
Figure 112018030261971-pat00010
)이 기 설정된 임계값(
Figure 112018030261971-pat00011
) 보다 작다면 수요 예측이 오차 범위 내에 이루어진 것으로 보아 퍼지 재조정을 할 필요가 없는 것으로 판단할 수 있다.here,
Figure 112018030261971-pat00009
to be. That is, the QoS value (MSE) value related to traffic demand (
Figure 112018030261971-pat00010
) Is the preset threshold (
Figure 112018030261971-pat00011
Less than), the demand forecast is within the margin of error, indicating that no fuzzy readjustment is necessary.

즉, 재조정 판단부(355)는 퍼지 재조정 여부를 판단하기 위해 QoS를 만족하는지 여부에 대한 판단을 수행하고, QoS를 만족하지 못한다면 퍼지 재조정을 위한 신호를 퍼지 시스템(350)에 전송할 수 있다.That is, the readjustment determination unit 355 may determine whether the QoS is satisfied to determine whether to re-adjust the fuzzy, and transmit a signal for fuzzy reconditioning to the fuzzy system 350 if the QoS is not satisfied.

한편, 퍼지 재조정 여부의 판단을 위한 QoS값은 위와 같은 실시예에 한정되지 않으며, 사용자에게 제공되는 서비스 목적 및 메트릭에 따라서 달라질 수 있다는 것은 자명하다.On the other hand, the QoS value for determining whether or not to re-adjust fuzzy is not limited to the above embodiment, it is obvious that it may vary depending on the service purpose and metrics provided to the user.

마이그레이션 관리부(370)는 퍼지 시스템(350)의 퍼지 재조정 여부의 판단에 따라 마이그레이션 여부를 결정한다. 마이그레이션 관리부(370)는 퍼지 재조정이 더 이상 필요 없는 것으로 판단되면, 가상머신 관리부를 통해 예측된 가상머신의 상태에 따라 마이그레이션 여부를 결정할 수 있다.The migration manager 370 determines whether to migrate according to whether to purge the fuzzy system 350 again. If it is determined that the fuzzy readjustment is no longer necessary, the migration manager 370 may determine whether to migrate according to the predicted state of the virtual machine through the virtual machine manager.

도 4는 본 발명의 일 실시 예에 따른 마이그레이션 방법의 순서도이다. 이하에서는 앞서 설명한 부분과 중복되는 부분에 대한 설명은 생략하기로 한다.4 is a flowchart illustrating a migration method according to an embodiment of the present invention. Hereinafter, a description of a portion overlapping with the above-described portion will be omitted.

도 4를 참조하면, S410 단계는 워크로드에 대한 분석을 수행한다. S410 단계에서는 자원 모니터링부(330)에서 모니터링되는 자원 사용 데이터의 패턴을 분석하고, 분석된 패턴을 기반으로 클러스터링하여 워크로드의 자원 사용 데이터에 대한 군집 분석을 수행한다. 이를 위해, S410 단계에 앞서 자원 모니터링부(330)를 통하여 가상머신의 상태 및/또는 가상머신에 제공되는 제공되는 자원을 모니터링하는 단계가 수행될 수 있다.Referring to FIG. 4, step S410 performs analysis on the workload. In step S410 analyzes the pattern of the resource usage data monitored by the resource monitoring unit 330, clustering based on the analyzed pattern to perform cluster analysis on the resource usage data of the workload. To this end, the step of monitoring the resources provided to the virtual machine and / or the virtual machine through the resource monitoring unit 330 may be performed prior to step S410.

S420 단계는 S410 단계에서 클러스터링된 자원 사용 데이터에 따라 메트릭을 분석하고, 마이그레이션 효율 향상을 위한(즉, QoS 보장을 위한) 메트릭을 선정한다. S420 단계에서는 메트릭 선정을 위해 중요도를 나타내는 스코어를 산출하고, 이를 비교하는 단계가 추가적으로 수행될 수 있다. 한편, 서비스의 목적에 따라 다양한 메트릭이 동시에 다수가 사용될 수 있다.In step S420, the metric is analyzed according to the resource usage data clustered in step S410, and a metric for improving migration efficiency (that is, for guaranteeing QoS) is selected. In operation S420, a score indicating a degree of importance for metric selection may be additionally performed. On the other hand, depending on the purpose of the service, a number of different metrics can be used simultaneously.

S430a 단계는 모니터링된 자원 사용 데이터를 기반으로 선정된 메트릭과 관련된 자원 사용 데이터에 대하여 퍼지화를 수행한다. 퍼지화는 퍼지 시스템(350)을 통해 수행된다. 한편, 후술할 S440 단계 내지 S470 단계를 통하여 퍼지 재조정이 필요한 것으로 판단되면, 모니터링된 자원 사용 데이터 및 학습된 자원 사용 데이터를 기반으로 재 퍼지화를 수행하여 자원의 상태를 다시 반영하도록 할 수 있다.(S430b)Step S430a performs fuzzy on resource usage data related to the selected metric based on the monitored resource usage data. Purge is performed through purge system 350. On the other hand, if it is determined that the fuzzy re-adjustment is necessary through the steps S440 to S470 to be described later, re-fuzzy based on the monitored resource usage data and the learned resource usage data may be reflected to reflect the state of the resource. (S430b)

S440 단계는 퍼지화된 자원 사용 데이터에 대하여 재 클러스터링을 수행한다. 즉, 퍼지화된 자원 사용 데이터에 대한 클러스터링을 다시 수행하여 군집 분석을 수행하고, 자원의 상태를 반영한다.In step S440, re-clustering is performed on the purged resource usage data. That is, clustering of the fuzzy resource usage data is performed again to perform cluster analysis and reflect the state of resources.

S450 단계는 자원 사용의 변화를 예측하기 위하여 자원 사용 데이터에 대한 학습을 수행한다. S450 단계를 통해 학습된 모델을 이용하여 자원 사용의 변화를 예측할 수 있으며, 이를 기반으로 퍼지 재조정 여부를 판단할 수 있다.In operation S450, learning about resource usage data is performed to predict a change in resource usage. In operation S450, the change in resource usage may be predicted using the trained model, and based on the determination, the fuzzy readjustment may be determined.

S460 단계는 퍼지 재조정 여부를 판단한다. 재조정 여부는 S450 단계를 통해 예측된 자원 사용 데이터에 대한 QoS값과 기 설정된 임계값과의 비교를 통하여 판단하며, 이때 기 설정된 임계값은 서비스 목적 및 선정된 메트릭에 따라서 달라질 수 있다.Step S460 determines whether or not to purge. The readjustment is determined by comparing the QoS value for the resource usage data predicted through the step S450 with a preset threshold value, and the preset threshold value may vary depending on the service purpose and the selected metric.

S460 단계를 통해 기 설정된 QoS값을 만족하는 것으로 판단되면(S470), 가상머신의 상태를 예측하고(S480), 예측 결과에 따라 마이그레이션 여부를 결정한다.(S490)If it is determined in step S460 that the predetermined QoS value is satisfied (S470), the state of the virtual machine is predicted (S480), and it is determined whether to migrate according to the prediction result (S490).

한편, S460 단계를 통해 기 설정된 QoS값을 만족하지 못한 것으로 판단되면(S470), 퍼지 재조정이 필요한 것으로 보아 재 퍼지화를 수행할 수 있다.(S430b)On the other hand, if it is determined in step S460 that the predetermined QoS value is not satisfied (S470), it may be considered that fuzzy re-adjustment is necessary and re-fuzzy may be performed (S430b).

이하에서는 본 발명인 마이그레이션 시스템(30) 및 방법의 일 실시예를 살펴본다.The following describes an embodiment of the present inventors migration system 30 and method.

<실시예><Example>

본 발명의 일 실시 예에 따라, 퍼지 재조정 여부를 판단하기 위하여 임의의 자원 사용 데이터에 대하여 학습을 수행한다.According to an embodiment of the present invention, learning is performed on any resource usage data to determine whether to re-fuzzy.

퍼지 재조정을 위한 학습 전·후의 결과를 도시한 도 5를 참조하면, 학습을 통해 퍼지화된 자원 사용 데이터(CPU 사용량 및 RAM 사용량)의 변화 추이를 알 수 있으며, 이러한 자원 사용의 변화에 대한 예측을 기반으로 새로운 퍼지 룰을 생성할 수 있다.Referring to FIG. 5, which shows the results before and after the training for fuzzy rebalancing, it is possible to know the change in the fuzzy resource usage data (CPU usage and RAM usage) through the training, and to predict the change in resource usage. You can create a new fuzzy rule based on this.

아래의 표 2는 새로이 생성된 퍼지 룰을 나타낸 것이다.Table 2 below shows the newly generated fuzzy rules.

PowerPower Resource UtilizationResource Utilization Number of VMNumber of VM Waiting timeWaiting time 1One Very highVery high Very highVery high Very highVery high Very highVery high 22 Very highVery high Very lowVery low Very lowVery low Very lowVery low 33 Very lowVery low Very highVery high Very lowVery low Very lowVery low 44 Very lowVery low Very lowVery low Very lowVery low Very lowVery low 55 Very lowVery low Very lowVery low Very highVery high Very lowVery low 66 Very lowVery low Very lowVery low Very lowVery low Very highVery high 77 Very lowVery low Very lowVery low Very lowVery low Very lowVery low

즉, 각 메트릭에 대한 퍼지 룰을 새로이 생성하고, 새로이 생성된 각각의 퍼지 룰에 따라 가상머신의 상태를 예측한다.That is, a new fuzzy rule for each metric is generated and the state of the virtual machine is predicted according to each newly generated fuzzy rule.

퍼지 재조정에 따른 결과의 일 예를 도시한 도 6을 참조하면, 새로이 생성된 각각의 퍼지 룰에 따라 가상머신의 상태(에너지 소모)를 예측할 수 있다.Referring to FIG. 6, which shows an example of the result of the fuzzy readjustment, it is possible to predict the state (energy consumption) of the virtual machine according to each newly generated fuzzy rule.

도 7은 본 발명의 일 실시 예에 따른 마이그레이션 시스템 및 방법과 기존의 알고리즘과의 정확도를 비교한 것을 도시한 것이다.7 illustrates a comparison of the accuracy of a migration system and method according to an embodiment of the present invention with an existing algorithm.

도 7을 참조하면, 가로축은 시간 간격(T1 : ~3h, T2 : 3-6h, T3 : 7-12h, T4 : 13-24h)이며, 세로축은 예측된 가상머신의 상태에 대한 MSE이다. 즉, 대부분의 시간 구간에서 본 발명에 따른 가상머신의 예측이 기존의 예측 알고리즘에 비하여 향상된 예측률을 나타내는 것을 확인할 수 있다.Referring to FIG. 7, the horizontal axis represents time intervals T1: ~ 3h, T2: 3-6h, T3: 7-12h, and T4: 13-24h, and the vertical axis represents MSE for the predicted state of the virtual machine. That is, it can be seen that the prediction of the virtual machine according to the present invention exhibits an improved prediction rate compared to the conventional prediction algorithm in most time intervals.

결국, 본 발명을 이용하는 경우에 분산 클라우드 환경에서 사용자의 요구사항 및 서비스의 목적에 따른 퍼지 재조정을 통하여 마이그레이션 효율을 향상시킬 수 있다.As a result, in the case of using the present invention, it is possible to improve the migration efficiency through fuzzy readjustment according to the user's requirements and the purpose of the service in a distributed cloud environment.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments may be, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the accompanying drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

Claims (14)

자원 사용을 모니터링하는 자원 모니터링부;
상기 자원 모니터링부를 통해 모니터링된 자원 사용 데이터에 대하여 퍼지화 및 학습을 수행하고, 학습을 통해 획득한 예측 데이터를 토대로 퍼지 재조정이 필요한지 여부를 판단하는 퍼지 시스템; 및
상기 퍼지 시스템의 퍼지 재조정 여부의 판단에 따라 마이그레이션 여부를 결정하는 마이그레이션 관리부를 포함하고,
상기 퍼지 시스템은
상기 자원 사용 데이터 값의 범위에 대해 상응하는 논의 영역(Universe of discourse)으로 변화시키는 스케일 맵핑(Scale Mapping)을 통해 퍼지화를 수행하는 퍼지화부;
제어 규칙의 집합인 퍼지 룰(Fuzzy Rule)을 생성하고 관리하는 룰 생성부;
상기 퍼지화부를 통해 퍼지화된 자원 사용 데이터 및 상기 룰 생성부에서 생성된 퍼지 룰에 기반하여 규칙을 결정하는 의사 결정 논리(Decision-Making Logic)를 수행하는 퍼지 추론부;
상기 퍼지 추론부의 결과값의 범위에 상응되는 논의 영역으로 변화시키는 스케일 맵핑을 통해 디퍼지화를 수행하는 디퍼지화부;
상기 퍼지화부를 통해 퍼지화된 상기 자원 사용 데이터에 대하여 학습을 수행하는 학습부; 및
상기 학습부를 통해 획득한 예측 데이터를 토대로 퍼지 재조정이 필요한지 여부를 판단하는 재조정 판단부를 포함하고,
상기 재조정 판단부는 상기 예측 데이터에 대한 QoS값과 기 설정된 임계값의 비교를 통하여 퍼지 재조정이 필요한지 여부를 판단하는 마이그레이션 시스템.
A resource monitoring unit for monitoring resource usage;
A fuzzy system performing fuzzy and learning on the resource usage data monitored by the resource monitoring unit and determining whether fuzzy readjustment is necessary based on the predicted data obtained through the learning; And
It includes a migration management unit for determining whether to migrate in accordance with the determination of whether or not to re-adjust the fuzzy system,
The purge system
A fuzzy equalizer for performing fuzzy through scale mapping for changing a range of the resource usage data value into a corresponding universe of discourse;
A rule generator for generating and managing a fuzzy rule, which is a set of control rules;
A fuzzy inference unit that performs decision-making logic to determine a rule based on the resource usage data purged through the fuzzy unit and the fuzzy rule generated by the rule generator;
A depurifier for performing depurification through scale mapping to change into a discussion area corresponding to a range of result values of the fuzzy inference unit;
A learning unit that learns the resource usage data purged through the fuzzy unit; And
And a readjustment determination unit determining whether a fuzzy readjustment is necessary based on the prediction data acquired through the learning unit.
And the readjustment determination unit determines whether a fuzzy readjustment is necessary by comparing a QoS value with respect to the predicted data and a preset threshold value.
제1항에 있어서,
상기 자원 모니터링부는
상기 자원 사용 데이터를 토대로 사용자에 제공될 워크로드에 대한 분석을 수행하는 워크로드 분석부; 및
상기 워크로드에 대한 분석 결과를 토대로 퍼지화될 상기 자원 사용 데이터에 관한 메트릭을 선정하는 메트릭 분석부를 포함하는 마이그레이션 시스템.
The method of claim 1,
The resource monitoring unit
A workload analyzer configured to analyze a workload to be provided to a user based on the resource usage data; And
And a metric analyzer configured to select a metric for the resource usage data to be fuzzy based on the analysis result of the workload.
제2항에 있어서,
상기 워크로드 분석부는 상기 워크로드의 자원 사용 데이터의 패턴을 분석하고, 분석된 상기 자원 사용 데이터의 패턴을 기반으로 상기 자원 사용 데이터에 대한 클러스터링을 수행하는 마이그레이션 시스템.
The method of claim 2,
The workload analysis unit analyzes the pattern of the resource usage data of the workload, and performs a clustering of the resource usage data based on the analyzed pattern of the resource usage data.
삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 룰 생성부는 상기 재조정 판단부에 따라 퍼지 재조정이 필요한 것으로 판단되면, 새로운 퍼지 룰을 생성하는 마이그레이션 시스템.
The method of claim 1,
And the rule generation unit generates a new fuzzy rule when it is determined that fuzzy readjustment is necessary according to the readjustment determining unit.
마이그레이션 시스템에 의해 수행되는 마이그레이션 방법으로서,
(a) 자원 사용을 모니터링하는 단계;
(b) 상기 (a) 단계를 통해 모니터링된 자원 사용 데이터에 대하여 퍼지화 및 학습을 수행하는 단계;
(c) 상기 (b) 단계를 통해 획득한 예측 데이터를 토대로 퍼지 재조정이 필요한지 여부를 판단하는 단계; 및
(d) 상기 (c) 단계의 퍼지 재조정 여부의 판단에 따라 마이그레이션 여부를 결정하는 단계를 포함하고,
상기 (b) 단계는
(b-1) 상기 자원 사용 데이터 값의 범위에 대해 상응하는 논의 영역으로 변화시키는 스케일 맵핑(Scale Mapping)을 통해 퍼지화를 수행하는 단계;
(b-2) 상기 (b-1) 단계를 통해 퍼지화된 상기 자원 사용 데이터에 대하여 학습을 수행하고, 예측 데이터를 획득하는 단계; 및
(b-3) 상기 퍼지화된 자원 사용 데이터에 대하여 재 클러스터링을 수행하는 단계를 포함하며,
상기 (c) 단계는 상기 예측 데이터에 대한 QoS값과 기 설정된 임계값의 비교를 통하여 퍼지 재조정이 필요한지 여부를 판단하는 마이그레이션 방법.
The migration method performed by the migration system,
(a) monitoring resource usage;
(b) performing fuzzy and learning on the resource usage data monitored through step (a);
(c) determining whether fuzzy readjustment is necessary based on the prediction data obtained through step (b); And
(d) determining whether to migrate according to whether to re-fuzzy in step (c);
Step (b) is
(b-1) performing fuzzy through scale mapping to change the range of resource usage data values into corresponding discussion areas;
(b-2) performing learning on the resource usage data purged through step (b-1) and obtaining prediction data; And
(b-3) performing re-clustering on the fuzzy resource usage data,
The step (c) is a migration method for determining whether the fuzzy re-adjustment is necessary by comparing the QoS value and the predetermined threshold value for the prediction data.
제9항에 있어서,
상기 (a) 단계는
(a-1) 상기 자원 사용 데이터를 토대로 사용자에 제공될 워크로드에 대한 분석을 수행하는 단계; 및
(a-2) 상기 워크로드에 대한 분석 결과를 토대로 퍼지화될 상기 자원 사용 데이터에 관한 메트릭을 선정하는 단계를 더 포함하는 마이그레이션 방법.
The method of claim 9,
Step (a) is
(a-1) performing analysis on the workload to be provided to the user based on the resource usage data; And
(a-2) selecting a metric for the resource usage data to be fuzzy based on the analysis result for the workload.
삭제delete 삭제delete 삭제delete 제9항에 있어서,
상기 (c) 단계를 통해 퍼지 재조정이 필요한 것으로 판단되면, 퍼지 재조정이 필요하지 않다고 판단될 때까지 상기 (b) 단계 내지 상기 (c) 단계를 반복적으로 수행하는 마이그레이션 방법.
The method of claim 9,
If it is determined that the purge readjustment is necessary through the step (c), the step (b) to (c) is repeatedly performed until it is determined that the purge readjustment is not necessary.
KR1020180035005A 2017-12-26 2018-03-27 Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment KR102027303B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/015419 WO2019132300A1 (en) 2017-12-26 2018-12-06 Migration system and method according to readjustment of fuzzy value in distributed cloud environment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170179209 2017-12-26
KR1020170179209 2017-12-26

Publications (2)

Publication Number Publication Date
KR20190078453A KR20190078453A (en) 2019-07-04
KR102027303B1 true KR102027303B1 (en) 2019-10-01

Family

ID=67259728

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180035005A KR102027303B1 (en) 2017-12-26 2018-03-27 Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment

Country Status (1)

Country Link
KR (1) KR102027303B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102227644B1 (en) * 2019-11-11 2021-03-15 한국전자기술연구원 Method for measuring workload by learning on micro data center environment
KR102284074B1 (en) * 2019-12-26 2021-07-30 연세대학교 산학협력단 Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering
KR102481870B1 (en) * 2020-10-27 2022-12-28 한국과학기술정보연구원 Method and apparatus for building a computing environment for artificial intelligence learning
KR102385087B1 (en) * 2020-12-29 2022-04-12 경희대학교 산학협력단 Method for latency minimization in a fuzzy-based mobile edge orchestrator and system using same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101471749B1 (en) * 2013-03-27 2014-12-12 인하대학교 산학협력단 Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method
KR20160070636A (en) * 2014-12-10 2016-06-20 경희대학교 산학협력단 Device for controlling migration in a distributed cloud environment and method for controlling migration using the same

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
박민오 외 3명. '이주 효율성 향상을 위한 퍼지로직 기반 우선순위 이주 모델'. 한국시뮬레이션학회 논문지 제24권 제4호, 2015.12., pp.11-21.*
블로그 게시물. ‘[#5] 퍼지 이론(Fuzzu Theory)’. 2015.12.01. (출처: http://gomoveyongs.tistory.com/76)
손아영 외 2명. '클라우드 컴퓨팅 환경에서 Multi-Metic 기반의 QoS를 위한 마이그레이션 연구'. 2017년도 한국통신학회 동계종합학술발표회 논문집, 2017.01., pp.1227-1228.*

Also Published As

Publication number Publication date
KR20190078453A (en) 2019-07-04

Similar Documents

Publication Publication Date Title
KR102027303B1 (en) Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment
JP7094352B2 (en) Realization method of task parallel processing, equipment, equipment and media
Ismaeel et al. Proactive dynamic virtual-machine consolidation for energy conservation in cloud data centres
US11233710B2 (en) System and method for applying machine learning algorithms to compute health scores for workload scheduling
US10289973B2 (en) System and method for analytics-driven SLA management and insight generation in clouds
US10070328B2 (en) Predictive network traffic management
Sayadnavard et al. A reliable energy-aware approach for dynamic virtual machine consolidation in cloud data centers
US20200019841A1 (en) Neural network model for predicting usage in a hyper-converged infrastructure
Sufiev et al. A dynamic load balancing architecture for SDN
US20180248768A1 (en) Identification of mutual influence between cloud network entities
Vakilinia et al. Analysis and optimization of big-data stream processing
US10983828B2 (en) Method, apparatus and computer program product for scheduling dedicated processing resources
Cai et al. SARM: service function chain active reconfiguration mechanism based on load and demand prediction
US20150186256A1 (en) Providing virtual storage pools for target applications
Kalim et al. Caladrius: A performance modelling service for distributed stream processing systems
US11620207B2 (en) Power efficient machine learning in cloud-backed mobile systems
US11157323B2 (en) Multiple metric based load prediction and resource allocation in an active stream processing job
Najafizadegan et al. An autonomous model for self‐optimizing virtual machine selection by learning automata in cloud environment
Babayigit et al. Deep learning for load balancing of SDN‐based data center networks
Ponmalar et al. Machine Learning Based Network Traffic Predictive Analysis
Caglar et al. Towards a performance interference-aware virtual machine placement strategy for supporting soft real-time applications in the cloud
Li et al. Research on energy‐saving virtual machine migration algorithm for green data center
KR20210056655A (en) Method for selecting predict-based migration candidate and target on cloud edge
US20230060623A1 (en) Network improvement with reinforcement learning
Wang et al. Model-based scheduling for stream processing systems

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