KR20210083465A - Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering - Google Patents

Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering Download PDF

Info

Publication number
KR20210083465A
KR20210083465A KR1020190175556A KR20190175556A KR20210083465A KR 20210083465 A KR20210083465 A KR 20210083465A KR 1020190175556 A KR1020190175556 A KR 1020190175556A KR 20190175556 A KR20190175556 A KR 20190175556A KR 20210083465 A KR20210083465 A KR 20210083465A
Authority
KR
South Korea
Prior art keywords
virtual machine
workload
server
server management
clustering
Prior art date
Application number
KR1020190175556A
Other languages
Korean (ko)
Other versions
KR102284074B1 (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 KR1020190175556A priority Critical patent/KR102284074B1/en
Publication of KR20210083465A publication Critical patent/KR20210083465A/en
Application granted granted Critical
Publication of KR102284074B1 publication Critical patent/KR102284074B1/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The present embodiments provide a multi-server management method and device for efficiently and stably operating multi-server resources by clustering virtual machines and predicting workload using artificial intelligence learned for each cluster. The method includes the steps of: clustering a plurality of virtual machines mixedly located in a plurality of servers into a plurality of clusters according to a pattern of the workload of the virtual machines; predicting a next workload of the virtual machine through a workload prediction model from a current workload of the virtual machine belonging to the cluster; combining the plurality of virtual machines into a virtual machine set based on the predicted next workload of the virtual machine; and deploying the combined virtual machine set to the plurality of servers.

Description

가상머신 워크로드 클러스터링 예측을 활용한 높은 전력 효율성을 제공하는 다중 서버 관리 방법 {Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering}Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering}

본 발명이 속하는 기술 분야는 가상머신 워크로드 클러스터링 예측을 활용한 다중 서버 관리 방법 및 장치에 관한 것이다.The technical field to which the present invention belongs relates to a method and apparatus for managing multiple servers using virtual machine workload clustering prediction.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information for the present embodiment and does not constitute the prior art.

가상화 기술은 컴퓨터 운영체제(OS)를 시스템 구조나 하드웨어에 영향받지 않고 설치 및 사용할 수 있는 기술이다. 하나의 물리머신(예컨대, 서버)을 가상으로 여러 조각으로 나누어, 물리머신을 효율적으로 사용할 수 있게 한다. 수십 개의 가상머신이 서버의 프로세서와 메모리 자원을 할당받는다.Virtualization technology is a technology that can install and use a computer operating system (OS) without being affected by system structure or hardware. By dividing one physical machine (eg, a server) into several virtual pieces, the physical machine can be used efficiently. Dozens of virtual machines are allocated the server's processor and memory resources.

데이터센터에는 수 많은 서버들이 가상화 환경으로 설정되어 있다. 수십 내지 수백, 수천 내지 수만 대의 서버가 있는 데이터센터는 서버의 수보다 많은 가상머신의 수가 존재한다. 데이터 센터는 기본적으로 높은 계산 복잡도를 보이는 특성이 있으며, 이는 관리자의 직관으로 운영할 수 있는 수준을 훨씬 초월한다. 데이터센터는 설비 비용보다 운영 비용이 훨씬 높은 에너지 고밀도 건물로 단일건물로는 전력 사용량이 가장 많다. Numerous servers are set up in a virtualized environment in a data center. In a data center with tens to hundreds, thousands to tens of thousands of servers, the number of virtual machines is greater than the number of servers. Data centers are inherently characterized by high computational complexity, which is far beyond the intuition of an administrator. A data center is an energy-dense building, where operating costs are much higher than facility costs, and a single building uses the most power.

데이터센터는 365일 24시간 동안 끊김없이 가동되어야 하는 조건때문에 관리자들은 보수적인 운영방안을 채택하고 있다. 서버 운영이 중지되는 시간이 길어질수록, 피해 비용이 발생하게 된다. 데이터센터의 규모가 커지고 있으나, 여전히 관리자의 직관으로 데이터센터를 운영되는 것이 실정이다.Due to the condition that data centers must be operated continuously 24 hours a day, 365 days a year, managers are adopting conservative operation methods. The longer the server is down, the more costly the damage will be. Although the size of the data center is growing, it is still the case that the data center is operated by the intuition of the manager.

한국공개특허공보 10-2018-0105874 (2018.10.01)Korean Patent Publication No. 10-2018-0105874 (2018.10.01)

본 발명의 실시예들은 가상머신을 클러스터링하고 클러스터별로 학습된 인공지능을 활용한 워크로드 예측을 통해, 다중 서버 자원을 효율적이고 안정적으로 운영하는데 발명의 주된 목적이 있다.Embodiments of the present invention have a main purpose of the invention to efficiently and stably operate multiple server resources by clustering virtual machines and predicting workloads using artificial intelligence learned for each cluster.

본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other objects not specified in the present invention may be additionally considered within the scope that can be easily inferred from the following detailed description and effects thereof.

본 실시예의 일 측면에 의하면, 복수의 서버에 혼재하여 위치하는 복수의 가상머신을 상기 가상머신의 워크로드의 패턴에 따라 복수의 클러스터로 클러스터링하는 단계, 상기 클러스터에 속하는 가상머신의 현재 워크로드로부터 워크로드 예측 모델을 통해 상기 가상머신의 다음 워크로드를 예측하는 단계, 상기 예측한 가상머신의 다음 워크로드를 기준으로 상기 복수의 가상머신을 가상머신 세트로 조합하는 단계, 및 상기 조합한 가상머신 세트를 상기 복수의 서버에 배치하는 단계를 포함하는 다중 서버 관리 방법을 제공한다.According to one aspect of this embodiment, clustering a plurality of virtual machines located in a mixture in a plurality of servers into a plurality of clusters according to the pattern of the workload of the virtual machines, from the current workload of the virtual machines belonging to the cluster Predicting the next workload of the virtual machine through a workload prediction model, combining the plurality of virtual machines into a virtual machine set based on the predicted next workload of the virtual machine, and the combined virtual machine It provides a multi-server management method comprising the step of deploying a set to the plurality of servers.

상기 가상머신의 워크로드는 시계열 데이터일 수 있다.The workload of the virtual machine may be time series data.

상기 조합한 가상머신 세트를 상기 복수의 서버에 배치하는 단계는 상기 복수의 가상머신의 워크로드의 패턴을 상쇄하는 방식으로 상기 조합한 가상머신 세트의 워크로드의 분포를 최소화하고 상기 복수의 서버의 워크로드의 분포를 최소화할 수 있다.The step of disposing the combined virtual machine set to the plurality of servers minimizes the distribution of the workload of the combined virtual machine set in a manner that offsets the pattern of the workload of the plurality of virtual machines, and Workload distribution can be minimized.

상기 다중 서버 관리 방법은 상기 조합한 가상머신 세트를 상기 복수의 서버에 배치하는 단계 이후에, 상기 예측한 가상머신의 다음 워크로드의 변화가 기준 범위를 넘으면 하나의 서버에 위치한 가상머신을 다른 서버로 마이그레이션하여 상기 복수의 가상머신을 재배치하는 단계를 추가로 포함할 수 있다.In the multi-server management method, after the step of arranging the combined virtual machine set to the plurality of servers, if the predicted change in the next workload of the virtual machine exceeds a reference range, the virtual machine located in one server is transferred to another server. The method may further include migrating to and relocating the plurality of virtual machines.

상기 워크로드 예측 모델은 상기 클러스터마다 독립적으로 병렬적으로 학습될 수 있다.The workload prediction model may be independently and parallelly trained for each cluster.

상기 워크로드 예측 모델은 장단기 메모리(Long Short Term Memory, LSTM) 구조의 순환신경망(Recurrent Neural Network, RNN)을 기반으로 상기 다음 워크로드를 예측할 수 있다.The workload prediction model may predict the next workload based on a Recurrent Neural Network (RNN) of a Long Short Term Memory (LSTM) structure.

상기 클러스터링하는 단계는 메타 데이터를 기준으로 상기 클러스터를 분류할 수 있다.The clustering may include classifying the clusters based on metadata.

상기 메타 데이터는 상기 가상머신의 명칭, 애플리케이션 리스트, 워크로드의 유형, 및 사용 자원의 비율을 포함할 수 있다.The metadata may include a name of the virtual machine, an application list, a type of workload, and a ratio of resources used.

상기 클러스터링하는 단계는 상기 가상머신의 명칭으로부터 키워드를 추출하고 상기 키워드가 스톱워드(Stopword)에 해당하면, 상기 가상머신에 대응시킬 복수의 클러스터의 가중치를 균일하게 설정할 수 있다.In the clustering step, a keyword is extracted from the name of the virtual machine, and when the keyword corresponds to a stopword, weights of a plurality of clusters to correspond to the virtual machine may be uniformly set.

상기 클러스터링하는 단계는 상기 애플리케이션 리스트 중에서 기 설정된 사용 빈도 범위에 속하는 애플리케이션의 정보를 추출하여 상기 애플리케이션의 정보를 기준으로 상기 클러스터를 분류할 수 있다.The clustering may include extracting information on an application belonging to a preset usage frequency range from the application list and classifying the cluster based on the information on the application.

상기 워크로드의 유형은 (i) 제1 시간 구간에서 점진적 증가하는 형태인 제1 유형, (ii) 상기 제1 시간 구간보다 좁은 제2 시간 구간에서 급격히 증가하는 형태인 제2 유형, 및 (iii) 시간에 상관없이 일정한 형태인 제3 유형으로 구분될 수 있다.The type of workload is (i) a first type that gradually increases in a first time interval, (ii) a second type that increases rapidly in a second time interval that is narrower than the first time interval, and (iii) ) can be classified into a third type, which is a constant form regardless of time.

상기 사용 자원의 비율은 프로세서의 사용률 및 메모리의 사용률로 구분될 수 있다.The ratio of the used resources may be divided into a processor usage ratio and a memory usage ratio.

이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 복수의 가상머신을 클러스터링하고 클러스터별로 학습된 인공지능을 활용한 워크로드 예측을 통해, 다중 서버 자원을 효율적이고 안정적으로 운영할 수 있는 효과가 있다.As described above, according to the embodiments of the present invention, there is an effect of efficiently and stably operating multiple server resources by clustering a plurality of virtual machines and predicting workload using artificial intelligence learned for each cluster. have.

여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.Even if it is an effect not explicitly mentioned herein, the effects described in the following specification expected by the technical features of the present invention and their potential effects are treated as if they were described in the specification of the present invention.

도 1은 서버에 설치된 가상머신을 예시한 도면이다.
도 2 및 도 3은 본 발명의 실시예들에 따른 다중 서버 관리 방법의 전체 동작을 예시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 신규 가상머신을 클러스터링하는 동작을 예시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 처리하는 메타 데이터를 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 처리하는 클러스터 가중치를 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 클러스터별 워크로드 예측 모델을 학습하는 동작을 예시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 복수의 서버에 복수의 가상머신을 배치한 상태를 예시한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 다중 서버 관리 장치를 예시한 도면이다.
1 is a diagram illustrating a virtual machine installed in a server.
2 and 3 are flowcharts illustrating the overall operation of a multi-server management method according to embodiments of the present invention.
4 is a flowchart illustrating an operation of clustering a new virtual machine in a multi-server management method according to an embodiment of the present invention.
5 is a diagram illustrating meta data processed by a multi-server management method according to an embodiment of the present invention.
6 is a diagram illustrating cluster weights processed by the multi-server management method according to an embodiment of the present invention.
7 is a diagram illustrating an operation of learning a workload prediction model for each cluster in a multi-server management method according to an embodiment of the present invention.
8 is a diagram illustrating a state in which a plurality of virtual machines are disposed on a plurality of servers in a method for managing multiple servers according to an embodiment of the present invention.
9 is a diagram illustrating a multi-server management apparatus according to another embodiment of the present invention.

이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.Hereinafter, in the description of the present invention, if it is determined that the subject matter of the present invention may be unnecessarily obscured as it is obvious to those skilled in the art with respect to related known functions, the detailed description thereof will be omitted, and some embodiments of the present invention will be described. It will be described in detail with reference to exemplary drawings.

도 1은 가상머신을 예시한 도면이다.1 is a diagram illustrating a virtual machine.

가상머신(Virtual Machine, VM)은 컴퓨팅 환경을 소프트웨어로 구현한 것이다. 가상머신은 하드웨어와 독립적인 프로그램 실행 환경과 추상화를 제공하도록 설계된다. 가상머신에 운영체제 또는 애플리케이션을 설치하고 실행할 수 있다.A virtual machine (VM) is a software implementation of a computing environment. Virtual machines are designed to provide a hardware-independent program execution environment and abstraction. You can install and run an operating system or application on a virtual machine.

수 많은 서버는 가상화 환경으로 설정되어 있다. 서버에 설치된 가상머신은 365일 24시간 가동되면서 CPU, Memory, Disk I/O, Network I/O 등의 자원을 사용한다. 이러한 자원 사용을 워크로드라고 한다. 데이터센터 관리자는 분당 발생하는 워크로드를 모니터링할 수 있는 관리자 도구를 활용하여, 데이터센터의 수 많은 자원들이 정상적으로 작동되고 있는지 모니터링한다. 모니터링 결과 서버에 이상이 발생하면 관리자는 대응 조치를 취한다.Many servers are set up in a virtualized environment. The virtual machine installed on the server operates 24 hours a day, 365 days a year and uses resources such as CPU, Memory, Disk I/O, and Network I/O. The use of these resources is called a workload. The data center manager monitors whether numerous data center resources are operating normally by using the manager tool that can monitor the workload occurring per minute. As a result of monitoring, if an abnormality occurs in the server, the administrator takes action.

가상화 기술은 마이그레이션 기능을 지원한다. 마이그레이션은 한 서버에 위치한 가상머신을 다른 서버로 이동하는 기능이다. 서버에 할당되어 있는 가상머신을 다른 서버로 모두 옮기면, 서버는 휴지(Idle) 상태가 되고, 절전 모드로 전환하거나 전원을 끌 수 있다. 가상머신 재배치를 활용하여, 서버를 절전하는 것을 가상머신 통합(Virtual Machine Consolidation)이라고 한다. 가상머신 통합은 어떤 서버에 위치한 어떤 가상머신을 다른 어떤 서버로 마이그레이션할 건지를 결정하는 문제이다.Virtualization technology supports the migration function. Migration is a function of moving a virtual machine located on one server to another server. If all virtual machines assigned to a server are moved to another server, the server enters the idle state and can be switched to power saving mode or turned off. Using virtual machine relocation to save server power is called Virtual Machine Consolidation. Virtual machine consolidation is a matter of deciding which virtual machine located on which server to migrate to which other server.

가상머신을 마이그레이션하는 것은 시간이 소요되며, 마이그레이션하는 작업 자체가 과부하가 발생하는 작업이다. 마이그레이션하는 동안에도 서비스는 중단없이 제공되지만, 시간 간격이 존재하기 때문에 서비스의 품질이 저하될 수 있다. 관리자는 어떤 가상머신이 어떤 서버에 위치했는지 어느 정도 파악을 할 수 있어야 하는데, 마이그레이션이 자주 발생하게 된다면 운영 관점에서도 관리 포인트가 증가하게 된다. 가상머신 통합은 가상머신 마이그레이션이 최소화 되어야 한다는 조건이 고려되어야 한다.Migrating a virtual machine takes time, and the migration itself is an overloaded operation. During migration, service is provided without interruption, but the quality of service may be degraded due to the existence of time intervals. The administrator should be able to understand to some extent which virtual machine is located on which server, and if migration occurs frequently, the number of management points will increase from an operational point of view. For virtual machine consolidation, the condition that virtual machine migration should be minimized should be considered.

기존의 가상머신 통합 연구들은 서버의 환경을 24시간 모니터링하면서, 과부하가 발생하였거나, 저부하 상태의 서버가 감지되었을 때 가상머신을 마이그레이션한다. 기존의 방식은 어느 정도의 임계치(Threshold)를 여유있게 설정하긴 하지만 과부하가 발생하였을 때, 가상머신을 어디로 마이그레이션할 것인지에 대한 연산을 수행해야 하고, 과부하가 발생한 서버에서 과부하를 일으키는 가상머신 마이그레이션 작업을 무리하게 수행해야 한다.Existing virtual machine integration studies monitor the server environment 24 hours a day, and migrate the virtual machine when an overload occurs or a server with a low load is detected. The existing method sets the threshold to a certain extent, but when an overload occurs, it is necessary to calculate where to migrate the virtual machine, and to perform the virtual machine migration task that causes an overload on the overloaded server. must be done forcefully.

본 발명의 실시예들에 따른 다중 서버 관리 방법은 인공 지능(딥 러닝) 기술을 적용하여 서버 자원이 사용하고 있는 시계열적인 워크로드 데이터를 예측하여, 데이터 센터의 서버 운영에 영향을 주는 큰 문제가 발생하기 전에 사전 조치를 취한다. 다중 서버 관리 방법은 복수의 가상머신을 클러스터링하고 클러스터별로 학습된 인공지능을 활용한 워크로드 예측을 통해, 다중 서버 자원을 효율적이고 안정적으로 운영할 수 있다.The multi-server management method according to the embodiments of the present invention applies artificial intelligence (deep learning) technology to predict time-series workload data used by server resources, so that there is a big problem affecting the server operation of the data center Take precautions before they happen. The multi-server management method can efficiently and stably operate multi-server resources by clustering multiple virtual machines and predicting workloads using artificial intelligence learned for each cluster.

도 2 및 도 3은 본 발명의 실시예들에 따른 다중 서버 관리 방법의 전체 동작을 예시한 흐름도이다.2 and 3 are flowcharts illustrating the overall operation of a multi-server management method according to embodiments of the present invention.

다중 서버 관리 방법은 다중 서버 관리 장치에 의해 수행될 수 있다. 다중 서버 관리 장치의 구성은 도 9에 예시적으로 도시되어 있다.The multi-server management method may be performed by the multi-server management apparatus. The configuration of the multi-server management apparatus is exemplarily shown in FIG. 9 .

단계 S210에서 프로세서는 복수의 서버에 혼재하여 위치하는 복수의 가상머신을 가상머신의 워크로드의 패턴에 따라 복수의 클러스터로 클러스터링한다. 가상머신의 워크로드는 시계열 데이터이며, 가상머신의 자원 사용 정보이다. In step S210, the processor clusters a plurality of virtual machines coexistingly located in a plurality of servers into a plurality of clusters according to a pattern of a workload of the virtual machine. The workload of the virtual machine is time series data, and resource usage information of the virtual machine.

클러스터링하는 단계(S210)는 메타 데이터를 기준으로 클러스터를 분류할 수 있다. 메타 데이터는 가상머신의 명칭, 애플리케이션 리스트, 워크로드의 유형, 및 사용 자원의 비율을 포함할 수 있다.In the step of clustering ( S210 ), clusters may be classified based on metadata. The metadata may include a name of a virtual machine, an application list, a type of workload, and a ratio of resources used.

클러스터링하는 단계(S210)는 가상머신의 명칭으로부터 키워드를 추출하고 키워드가 스톱워드(Stopword)에 해당하면, 가상머신에 대응시킬 복수의 클러스터의 가중치를 균일하게 설정할 수 있다.In the clustering step ( S210 ), a keyword is extracted from the name of the virtual machine, and when the keyword corresponds to a stopword, weights of a plurality of clusters to correspond to the virtual machine may be uniformly set.

클러스터링하는 단계(S210)는 애플리케이션 리스트 중에서 기 설정된 사용 빈도 범위에 속하는 애플리케이션의 정보를 추출하여 애플리케이션의 정보를 기준으로 상기 클러스터를 분류할 수 있다.In the clustering step (S210), information on an application belonging to a preset usage frequency range may be extracted from the application list, and the cluster may be classified based on the information of the application.

단계 S220에서 프로세서는 클러스터에 속하는 가상머신의 현재 워크로드로부터 워크로드 예측 모델을 통해 가상머신의 다음 워크로드를 예측한다. 워크로드 예측 모델은 클러스터마다 독립적으로 병렬적으로 학습될 수 있다. 워크로드 예측 모델은 장단기 메모리(Long Short Term Memory, LSTM) 구조의 순환신경망(Recurrent Neural Network, RNN)을 기반으로 다음 워크로드를 예측할 수 있다.In step S220, the processor predicts the next workload of the virtual machine from the current workload of the virtual machine belonging to the cluster through the workload prediction model. The workload prediction model can be trained independently and in parallel for each cluster. The workload prediction model can predict the next workload based on a Recurrent Neural Network (RNN) of a Long Short Term Memory (LSTM) structure.

단계 S230에서 프로세서는 예측한 가상머신의 다음 워크로드를 기준으로 복수의 가상머신을 가상머신 세트로 조합한다.In step S230, the processor combines a plurality of virtual machines into a virtual machine set based on the predicted next workload of the virtual machine.

단계 S240에서 프로세서는 조합한 가상머신 세트를 상기 복수의 서버에 배치한다. 조합한 가상머신 세트를 상기 복수의 서버에 배치하는 단계(S240)는 복수의 가상머신의 워크로드의 패턴을 상쇄하는 방식으로 조합한 가상머신 세트의 워크로드의 분포를 최소화하고 복수의 서버의 워크로드의 분포를 최소화할 수 있다.In step S240, the processor places the combined virtual machine set on the plurality of servers. Placing the combined virtual machine set on the plurality of servers (S240) minimizes the distribution of the workload of the combined virtual machine set in a way that offsets the pattern of the workload of the plurality of virtual machines, and the workload of the plurality of servers The load distribution can be minimized.

단계 S250에서 프로세서는 조합한 가상머신 세트를 상기 복수의 서버에 배치하는 단계 이후에, 예측한 가상머신의 다음 워크로드의 변화가 기준 범위를 넘으면 하나의 서버에 위치한 가상머신을 다른 서버로 마이그레이션하여 복수의 가상머신을 재배치할 수 있다.In step S250, after the step of arranging the combined virtual machine set to the plurality of servers, if the predicted change in the next workload of the virtual machine exceeds the reference range, the virtual machine located in one server is migrated to another server, Multiple virtual machines can be relocated.

단계 S310에서 다중 서버 관리 장치는 가상머신 메타 데이터 데이터베이스로부터 메타 데이터를 독출한다. 메타 데이터를 분석하여, 데이터 유형에 맞게 정의한다.In step S310, the multi-server management device reads metadata from the virtual machine metadata database. Metadata is analyzed and defined according to the data type.

단계 S320에서 다중 서버 관리 장치는 가상머신을 클러스터링한다. 다중 서버 관리 장치는 가상머신 클러스터 정보를 기반으로 워크로드 데이터 학습 데이터 베이스를 구축한다.In step S320, the multi-server management device clusters the virtual machine. The multi-server management device builds a workload data learning database based on the virtual machine cluster information.

단계 S330에서 다중 서버 관리 장치는 워크로드 데이터 학습 데이터 베이스를 이용하여 가상머신 워크로드 클러스터링을 예측한다. 가상머신이 어떤 클러스터로 분류되는지 파악하고, 클러스터의 학습파일을 토대로 CPU, Memory 등의 워크로드를 시계열적으로 예측한다.In step S330, the multi-server management device predicts virtual machine workload clustering using the workload data learning database. It identifies which cluster the virtual machine is classified into, and time-series predictions of workloads such as CPU and memory based on the cluster's training file.

단계 S340에서 다중 서버 관리 장치는 가상머신 별 워크로드 예측값에 따라 가상머신 조합을 탐색한다. 가상머신 워크로드 예측값을 토대로 서버의 워크로드가 안정적으로 유지되고, 각 서버별로 워크로드 균형이 맞는 가상머신 조합을 탐색한다.In step S340, the multi-server management apparatus searches for a virtual machine combination according to the workload prediction value for each virtual machine. Based on the virtual machine workload forecast, the workload of the server is kept stable, and a combination of virtual machines that balances the workload for each server is explored.

단계 S350에서 다중 서버 관리 장치는 가상머신 마이그레이션을 실행한다. 도출된 가상머신 조합이 이전의 조합과 다르다면, 새롭게 도출된 가상머신 조합에 따라 가상머신을 마이그레이션한다.In step S350, the multi-server management device executes virtual machine migration. If the derived virtual machine combination is different from the previous combination, the virtual machine is migrated according to the newly derived virtual machine combination.

도 4는 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 신규 가상머신을 클러스터링하는 동작을 예시한 흐름도이다.4 is a flowchart illustrating an operation of clustering a new virtual machine in a multi-server management method according to an embodiment of the present invention.

단계 S410에서 프로세서는 신규 가상머신의 명칭 키워드를 추출한다.In step S410, the processor extracts the name keyword of the new virtual machine.

단계 S420에서 프로세서는 키워드가 스톱워드에 해당하는지 여부를 판단한다. 가상머신의 이름이 직관적으로 작성되지 않았는지를 검사한다. 예컨대, test123, aaa123, abc 등의 명칭이 있을 수 있다.In step S420, the processor determines whether the keyword corresponds to a stopword. Check whether the name of the virtual machine is not written intuitively. For example, there may be names such as test123, aaa123, and abc.

단계 S430에서 프로세서는 키워드가 스톱워드에 해당하면, 클러스터 가중치를 균일하게 분배한다. 가상머신을 분류할 수 없기 때문에 Cluster의 weight를 균일하게 분배한다. 예컨대, New 가상머신 #100은 Cluster #1은 0.25, Cluster #2는 0.25, Cluster #3은 0.25, Cluster #4는 0.25의 가중치를 갖도록 설정할 수 있다. In step S430, if the keyword corresponds to the stopword, the processor evenly distributes the cluster weight. Since virtual machines cannot be classified, the cluster weight is distributed evenly. For example, the new virtual machine #100 can be set to have a weight of 0.25 for Cluster #1, 0.25 for Cluster #2, 0.25 for Cluster #3, and 0.25 for Cluster #4.

단계 S440에서 프로세서는 키워드가 스톱워드에 해당하지 않으면, 가상머신 클러스터링을 분류한다(S440).If the keyword does not correspond to the stopword in step S440, the processor classifies the virtual machine clustering (S440).

도 5는 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 처리하는 메타 데이터를 예시한 도면이다.5 is a diagram illustrating meta data processed by a multi-server management method according to an embodiment of the present invention.

시계열 데이터의 클러스터링은 시간대별로 구분하여 진행한다. 가상머신의 워크로드는 시계열 데이터이므로 시간에 따라 고유한 패턴을 보인다. 주말보다는 평일에 높은 워크로드를 보이는지, 새벽보다는 일과시간에 높은 워크로드를 보이는지 등 시간대별로 패턴을 분류할 수 있다. 가상머신 통합의 목적 자체가 워크로드를 안정하게 만드는 가상머신 조합을 탐색하는 것이므로 시간대별로 구분이 가능하다.Clustering of time series data is carried out by dividing by time period. Since the workload of a virtual machine is time-series data, it shows a unique pattern over time. Patterns can be classified by time period, such as whether a high workload is seen on weekdays rather than on weekends, or whether a high workload is seen during work hours rather than dawn. Since the purpose of virtual machine consolidation itself is to explore the combination of virtual machines that make the workload stable, it is possible to classify them by time period.

가상머신의 패턴을 시간대별로만 구분하는 것은 간단하지만 정확도를 높이기 위해 별도의 정보들을 추가적으로 고려한다. 도 5를 참조하면, 가상머신을 클러스터링하는데 고려되는 정보가 예시되어 있다.It is simple to classify the patterns of virtual machines only by time period, but additional information is considered in order to increase the accuracy. Referring to FIG. 5 , information to be considered for clustering a virtual machine is exemplified.

메타 데이터는 가상머신의 명칭, 애플리케이션 리스트, 워크로드의 유형, 및 사용 자원의 비율을 포함할 수 있다. 서버와 관련된 프로그래밍 인터페이스를 통해 메타 데이터를 추출할 수 있다.The metadata may include a name of a virtual machine, an application list, a type of workload, and a ratio of resources used. Metadata can be extracted through a programming interface associated with the server.

관리자가 가상머신을 처음 생성할 때 가상머신의 명칭을 직관적으로 작성하므로, 어떤 가상머신인지 파악하는 데 단서를 제공한다.When an administrator creates a virtual machine for the first time, it intuitively writes the name of the virtual machine, so it provides a clue to what kind of virtual machine it is.

애플리케이션, 즉, 어떤 프로세스를 사용하는지를 파악하면 해당 가상머신이 어떤 특징이 있는지 알 수 있다.If you understand the application, that is, which process is used, you can know the characteristics of the virtual machine.

워크로드의 유형은 (i) 제1 시간 구간에서 점진적 증가하는 형태인 제1 유형, (ii) 제1 시간 구간보다 좁은 제2 시간 구간에서 급격히 증가하는 형태인 제2 유형, 및 (iii) 시간에 상관없이 일정한 형태인 제3 유형으로 구분될 수 있다. 예컨대, 제1 유형은 업무 시간대를 기준으로 서버의 활용률이 점진적으로 증가하는 형태인 일반(Normal) 유형으로, 제2 유형은 특정 시간대에 활용률이 급격히 증가하는 형태인 경사(Ramp) 유형으로, 제3 유형은 시간에 관계없이 일정한 형태인 안정(Steady) 유형으로 설정할 수 있다.The type of workload is (i) a first type in a progressively increasing form in a first time interval, (ii) a second type in a rapidly increasing form in a second time interval narrower than the first time interval, and (iii) time It can be classified into a third type, which is a constant form regardless of For example, the first type is a normal type in which the utilization rate of the server gradually increases based on the business time period, and the second type is a ramp type in which the utilization rate increases rapidly during a specific time period. Type 3 can be set as a steady type, which is a constant type regardless of time.

사용 자원의 비율은 프로세서의 사용률 및 메모리의 사용률로 구분될 수 있다. 예컨대, CPU와 Memory의 항목의 합은 1이 되어야 하며, 두 항목이 0.5이면, 균일하게 사용한다는 의미이다.The ratio of used resources may be divided into a processor usage ratio and a memory usage ratio. For example, the sum of the items of CPU and Memory should be 1, and if both items are 0.5, it means that they are used uniformly.

도 6은 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 처리하는 클러스터 가중치를 예시한 도면이다.6 is a diagram illustrating cluster weights processed by the multi-server management method according to an embodiment of the present invention.

클러스터링 기법은 퍼지 클러스터링(Fuzzy Clustering)을 적용하여, 하나의 가상머신이 여러 개의 클러스터에 포함될 수 있으며, 각 클러스터에 얼마나 밀접한지 가중치 형태로 도출된다. 퍼지 클러스터링은 각 관측치가 하나의 클러스터에만 속하는 것이 아니라 여러 클러스터에 속할 수 있으며, 각 군집에 속할 가능성(Possibility) 또는 확률(Probability)을 제시한다.The clustering technique applies fuzzy clustering, so that one virtual machine can be included in multiple clusters, and how close it is to each cluster is derived in the form of a weight. In fuzzy clustering, each observation can belong to several clusters rather than to only one cluster, and it presents the probability or probability of belonging to each cluster.

도 6을 참조하면, 가상머신 #1은 클러스터 #1에 0.82의 가중치를 가지며, 클러스터 #2와 클러스터 #5에 각각 0.14, 0.04의 가중치를 갖는다. 이는 가상머신 #1은 클러스터 #1, #2, #5에 해당한다는 의미이며, 예측을 할 때, 클러스터 #1, #2, #5의 학습 결과를 사용하여, 가중치를 기반으로 예측한다.Referring to FIG. 6 , virtual machine #1 has a weight of 0.82 in cluster #1, and weights of 0.14 and 0.04 in cluster #2 and cluster #5, respectively. This means that virtual machine #1 corresponds to clusters #1, #2, and #5, and when making predictions, using the learning results of clusters #1, #2, and #5, prediction is made based on weights.

도 7은 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 클러스터별 워크로드 예측 모델을 학습하는 동작을 예시한 도면이다.7 is a diagram illustrating an operation of learning a workload prediction model for each cluster in a multi-server management method according to an embodiment of the present invention.

가상머신 통합에 워크로드 패턴을 고려하며 각 가상머신별로 워크로드 패턴을 예측하고, 가상머신 재배치를 결정한다. It considers the workload pattern for virtual machine integration, predicts the workload pattern for each virtual machine, and decides on virtual machine relocation.

인공지능 기반의 전형적인 예측 모형은 여러 가지 패턴들을 수집하여, 인공지능 알고리즘을 통해 학습을 진행한다. 해당 학습 모델에 예측할 데이터를 입력하면, 예측 데이터가 출력되는 형식이다. A typical prediction model based on artificial intelligence collects various patterns and learns through an artificial intelligence algorithm. When the data to be predicted is input to the corresponding learning model, the prediction data is output.

VM #1 내지 VM #10은 학습에 사용할 수집 데이터이다. LSTM 알고리즘을 통해 학습하게 되면, 학습 모델이 생성된다. 예측하려는 객체(Target VM)의 기존 값을 생성된 학습 모델에 입력하면, 기존 학습 모델에 저장된 패턴에 따라 객체의 값이 예측(Predicted VM)된다. VMs #1 to VM #10 are collected data to be used for training. When learning through the LSTM algorithm, a learning model is created. When the existing value of the object to be predicted (Target VM) is input into the created learning model, the value of the object is predicted (Predicted VM) according to the pattern stored in the existing learning model.

RNN은 연속성을 지니고 앞뒤의 순서가 중요한 패턴을 표현하고 학습하는 데 유용한 신경망이고, LSTM 모델은 시간적 순서에 따른 데이터를 인코딩을 위해 사용된다. LSTM은 데이터를 분석하고 벡터를 생성한다. RNN is a neural network useful for expressing and learning patterns that have continuity and whose back and forth order is important, and the LSTM model is used to encode temporally ordered data. LSTM analyzes the data and creates a vector.

RNN은 은닉 레이어의 결과가 다시 같은 은닉 레이어의 입력으로 들어가도록 연결된 루프가 있고, 과거의 데이터가 미래에 영향을 주는 구조를 갖는다. 즉, RNN은 히든 노드가 방향을 가진 엣지로 연결되어 순환구조를 이룬다. RNN has a loop connected so that the result of the hidden layer goes back to the input of the same hidden layer, and has a structure in which past data influences the future. That is, in RNN, hidden nodes are connected to edges with directions to form a cyclic structure.

LSTM 모델은 은닉 레어어에 여러 개의 게이트가 연결된 셀을 추가한 구조이다. 은닉 레이어는 입력 게이트(Input Gate), 출력 게이트(Output Gate), 망각 게이트(Forget Gate)를 포함하는 셀, 즉 메모리 블록(Memory Block)을 갖는다. 망각 게이트는 과거 정보를 잊기를 위한 게이트이고, 입력 게이트는 현재 정보를 기억하기 위한 게이트이다. 게이트는 각각 세기 및 방향을 가진다. 셀은 컨베이어 벨트 역할을 하고, 상태가 오래 경과하더라도 그래디언트가 비교적 전파를 유지할 수 있다. 망각 게이트는 이전 상태의 정보를 얼마나 기억할 것인지를 결정하는 단계로 0에서 1 사이 값이 출력되고 0이면 이전 상태의 정보를 완전히 잊는 것이고 1이면 이전의 정보를 온전히 기억하는 것이 될 수 있다.The LSTM model is a structure in which cells with multiple gates are added to the hidden layer. The hidden layer has a cell including an input gate, an output gate, and a forget gate, that is, a memory block. The forget gate is a gate for forgetting past information, and the input gate is a gate for remembering present information. The gates each have an intensity and a direction. Cells act as conveyor belts, and gradients can relatively sustain propagation over long periods of time. Forgetting gate is a step in determining how much information in the previous state to remember. A value between 0 and 1 is output. If it is 0, it completely forgets the information in the previous state, and if it is 1, it can be that the previous information is fully remembered.

본 실시예에 따른 다중 서버 관리 방법은 학습할 데이터들의 패턴을 분석하여, N(자연수) 개의 클러스터로 구분하고, 해당 클러스터에 속하는 데이터들끼리 학습을 진행한다. 즉, N 번을 진행한다. 예컨대, 가상머신 데이터들을 4 개의 패턴으로 나누었고, 각 패턴에 속하는 가상머신 데이터들을 모아서 학습을 진행하여, 학습 모델을 관리한다. 패턴의 개수는 요구되는 설계사항에 따라 다양한 수치로 설정될 수 있다. The multi-server management method according to the present embodiment analyzes patterns of data to be learned, classifies them into N (natural number) clusters, and performs learning among data belonging to the corresponding cluster. That is, it proceeds N times. For example, virtual machine data is divided into four patterns, and the learning model is managed by collecting virtual machine data belonging to each pattern and conducting learning. The number of patterns may be set to various numerical values according to required design requirements.

이러한 분할 클러스터링 학습은 전형적인 예측 모델에 비해, 패턴의 특수성을 유지할 수 있으며, 학습을 병렬적으로 진행한다면, 학습 시간을 최소화할 수 있다.Compared to a typical predictive model, this split clustering learning can maintain the specificity of the pattern, and if the learning is performed in parallel, the learning time can be minimized.

도 8은 본 발명의 일 실시예에 따른 다중 서버 관리 방법이 복수의 서버에 복수의 가상머신을 배치한 상태를 예시한 도면이다.8 is a diagram illustrating a state in which a plurality of virtual machines are disposed on a plurality of servers in a method for managing multiple servers according to an embodiment of the present invention.

도 8의 좌측을 보면, 서버 #1에 가상머신 #1이 할당되고, 서버 #2에 가상머신 #2, 가상머신 #3, 가상머신 #4이 할당되고, 서버 #3에 가상머신 #5, 가상머신 #6이 할당된 것으로 가정하면, 서버 #1은 저부하 상태로 해석될 수 있고, 서버 #2는 과부하 상태에 가깝다고 해석할 수 있다.8, virtual machine #1 is allocated to server #1, virtual machine #2, virtual machine #3, virtual machine #4 are allocated to server #2, virtual machine #5 is allocated to server #3, Assuming that virtual machine #6 is allocated, server #1 may be interpreted as a low load state, and server #2 may be interpreted as being close to an overload state.

본 실시예에 따른 다중 서버 관리 방법은 서버의 시계열적인 워크로드 데이터를 감시하여 서버의 워크로드가 계속해서 안정적으로 운영한다. 즉, 가상머신의 마이그레이션을 최소화한다The multi-server management method according to the present embodiment monitors time-series workload data of the server so that the workload of the server is continuously operated stably. In other words, virtual machine migration is minimized.

도 8의 우측을 보면, 서버 #1과 서버 #2, 서버 #3이 저부하, 과부하 상태가 아닌 비교적 비슷한 수준을 유지하고 있고, 시간에 따라 안정적인 모습을 확인할 수 있다. 즉, 조합한 가상머신 세트의 워크로드의 분포를 최소화하고 복수의 서버의 워크로드의 분포를 최소화할 수 있다.Referring to the right side of FIG. 8 , server #1, server #2, and server #3 are maintained at relatively similar levels rather than under low load and overload, and it can be seen that they are stable over time. That is, it is possible to minimize the distribution of the workload of the combined virtual machine set and minimize the distribution of the workload of a plurality of servers.

서버의 워크로드가 최대한 안정적으로 유지하여 마이그레이션을 최소화한다. 한 서버의 워크로드의 표준편차가 0에 가까울수록 안정한 상태라고 정의할 수 있고, 각 서버의 워크로드 표준편차를 최소화한다. Minimize migration by keeping the server's workload as stable as possible. The closer the standard deviation of the workload of one server to 0, the more stable it can be defined, and the standard deviation of the workload of each server is minimized.

서버는 부하가 높아질수록 온도가 상승하여, 장비의 수명에 영향을 준다. 한 서버에 가상머신이 몰려 부하 수준이 높다면, 해당 서버의 수명은 줄어들고, 고장률이 높아지게 된다. 각 서버별로 워크로드의 균형을 맞춘다. 각 서버별 워크로드의 표준편차를 최소화한다.The server temperature rises as the load increases, affecting the lifespan of the equipment. If the load level is high because virtual machines are clustered on one server, the lifespan of the server will be shortened and the failure rate will increase. Balance the workload on each server. Minimize the standard deviation of the workload for each server.

본 실시예에 따른 가상머신 통합은 서로 상반되는 패턴을 보이는 가상머신들을 조합하여, 패턴을 상쇄시켜 워크로드의 표준편차를 0에 가깝게 하고, 각 서버별 워크로드 편차도 0에 가깝게 한다.The virtual machine integration according to this embodiment combines virtual machines showing opposite patterns, cancels the patterns to bring the standard deviation of the workload close to zero, and the workload deviation for each server is also close to zero.

도 9는 본 발명의 다른 실시예에 따른 다중 서버 관리 장치를 예시한 도면이다.9 is a diagram illustrating a multi-server management apparatus according to another embodiment of the present invention.

다중 서버 관리 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능한 저장매체(16) 및 통신 버스(18)를 포함한다. The multiple server management device 12 includes at least one processor 14 , a computer readable storage medium 16 , and a communication bus 18 .

프로세서(14)는 다중 서버 관리 장치(12)로 동작하도록 제어할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능한 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 다중 서버 관리 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The processor 14 may be controlled to operate as the multi-server management device 12 . For example, the processor 14 may execute one or more programs stored in the computer-readable storage medium 16 . The one or more programs may include one or more computer-executable instructions, which when executed by the processor 14 configure the multi-server management device 12 to perform operations in accordance with the exemplary embodiment. can be

컴퓨터 판독 가능한 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능한 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독한 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 다중 서버 관리 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14 . In one embodiment, computer-readable storage medium 16 includes memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, It may be flash memory devices, other types of storage media accessed by the multi-server management apparatus 12 and capable of storing desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능한 저장 매체(16)를 포함하여 다중 서버 관리 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.A communication bus 18 interconnects the various other components of the multi-server management device 12, including a processor 14 and a computer-readable storage medium 16.

다중 서버 관리 장치(12)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치는 입출력 인터페이스(22)를 통해 다중 서버 관리 장치(12)의 다른 컴포넌트들에 연결될 수 있다.The multi-server management device 12 may also include one or more input/output interfaces 22 and one or more communication interfaces 26 that provide interfaces for one or more input/output devices. The input/output interface 22 and the communication interface 26 are coupled to the communication bus 18 . The input/output device may be connected to other components of the multi-server management device 12 via the input/output interface 22 .

서버는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 서버는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 서버는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.The server may be implemented in a logic circuit by hardware, firmware, software, or a combination thereof, or may be implemented using a general-purpose or special-purpose computer. The server may be implemented using a hardwired device, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like. In addition, the server may be implemented as a system on chip (SoC) including one or more processors and controllers.

서버는 하드웨어적 요소가 마련된 컴퓨팅 디바이스에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.The server may be mounted in the form of software, hardware, or a combination thereof on a computing device provided with hardware elements. A server is a variety of devices including, in whole or in part, a communication device such as a communication modem for communicating with various devices or wired and wireless communication networks, a memory for storing data for executing a program, and a microprocessor for executing operations and commands by executing the program. can mean

도 2 내지 도 4에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 2 내지 도 4에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.Although it is described that each process is sequentially executed in FIGS. 2 to 4 , this is only an exemplary description, and those skilled in the art are shown in FIGS. 2 to 4 within the range that does not depart from the essential characteristics of the embodiment of the present invention. Various modifications and variations may be applied by changing the order described, executing one or more processes in parallel, or adding other processes.

본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.The operations according to the present embodiments may be implemented in the form of program instructions that can be performed through various computer means and recorded in a computer-readable medium. Computer-readable media refers to any medium that participates in providing instructions to a processor for execution. Computer-readable media may include program instructions, data files, data structures, or a combination thereof. For example, there may be a magnetic medium, an optical recording medium, a memory, and the like. A computer program may be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. Functional programs, codes, and code segments for implementing the present embodiment may be easily inferred by programmers in the technical field to which the present embodiment pertains.

본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The present embodiments are for explaining the technical idea of the present embodiment, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The protection scope of the present embodiment should be interpreted by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present embodiment.

Claims (5)

복수의 서버에 혼재하여 위치하는 복수의 가상머신을 상기 가상머신의 워크로드의 패턴에 따라 복수의 클러스터로 클러스터링하는 단계;
상기 클러스터에 속하는 가상머신의 현재 워크로드로부터 워크로드 예측 모델을 통해 상기 가상머신의 다음 워크로드를 예측하는 단계;
상기 예측한 가상머신의 다음 워크로드를 기준으로 상기 복수의 가상머신을 가상머신 세트로 조합하는 단계; 및
상기 조합한 가상머신 세트를 상기 복수의 서버에 배치하는 단계
를 포함하는 다중 서버 관리 방법.
clustering a plurality of virtual machines mixedly located in a plurality of servers into a plurality of clusters according to a pattern of a workload of the virtual machines;
predicting the next workload of the virtual machine through a workload prediction model from the current workload of the virtual machine belonging to the cluster;
combining the plurality of virtual machines into a virtual machine set based on the predicted next workload of the virtual machine; and
Deploying the combined virtual machine set to the plurality of servers
Multiple server management methods including.
제1항에 있어서,
상기 가상머신의 워크로드는 시계열 데이터이며,
상기 조합한 가상머신 세트를 상기 복수의 서버에 배치하는 단계는 상기 복수의 가상머신의 워크로드의 패턴을 상쇄하는 방식으로 상기 조합한 가상머신 세트의 워크로드의 분포를 최소화하고 상기 복수의 서버의 워크로드의 분포를 최소화하는 것을 특징으로 하는 다중 서버 관리 방법.
According to claim 1,
The workload of the virtual machine is time series data,
The step of disposing the combined virtual machine set on the plurality of servers minimizes the distribution of the workload of the combined virtual machine set in a manner that offsets the pattern of the workload of the plurality of virtual machines, and A multi-server management method characterized in that the distribution of the workload is minimized.
제1항에 있어서,
상기 조합한 가상머신 세트를 상기 복수의 서버에 배치하는 단계 이후에,
상기 예측한 가상머신의 다음 워크로드의 변화가 기준 범위를 넘으면 하나의 서버에 위치한 가상머신을 다른 서버로 마이그레이션하여 상기 복수의 가상머신을 재배치하는 단계를 추가로 포함하는 것을 특징으로 하는 다중 서버 관리 방법.
According to claim 1,
After disposing the combined virtual machine set to the plurality of servers,
Multi-server management, characterized in that when the predicted change in the next workload of the virtual machine exceeds a reference range, migrating a virtual machine located in one server to another server and relocating the plurality of virtual machines Way.
제1항에 있어서,
상기 워크로드 예측 모델은 상기 클러스터마다 독립적으로 병렬적으로 학습되며,
상기 워크로드 예측 모델은 장단기 메모리(Long Short Term Memory, LSTM) 구조의 순환신경망(Recurrent Neural Network, RNN)을 기반으로 상기 다음 워크로드를 예측하는 것을 특징으로 하는 다중 서버 관리 방법.
According to claim 1,
The workload prediction model is independently trained in parallel for each cluster,
The workload prediction model is a multi-server management method, characterized in that it predicts the next workload based on a Recurrent Neural Network (RNN) of a Long Short Term Memory (LSTM) structure.
제1항에 있어서,
상기 클러스터링하는 단계는 메타 데이터를 기준으로 상기 클러스터를 분류하며,
상기 메타 데이터는 상기 가상머신의 명칭, 애플리케이션 리스트, 워크로드의 유형, 및 사용 자원의 비율을 포함하며,
상기 클러스터링하는 단계는 상기 가상머신의 명칭으로부터 키워드를 추출하고 상기 키워드가 스톱워드(Stopword)에 해당하면, 상기 가상머신에 대응시킬 복수의 클러스터의 가중치를 균일하게 설정하고,
상기 클러스터링하는 단계는 상기 애플리케이션 리스트 중에서 기 설정된 사용 빈도 범위에 속하는 애플리케이션의 정보를 추출하여 상기 애플리케이션의 정보를 기준으로 상기 클러스터를 분류하고,
상기 워크로드의 유형은 (i) 제1 시간 구간에서 점진적 증가하는 형태인 제1 유형, (ii) 상기 제1 시간 구간보다 좁은 제2 시간 구간에서 급격히 증가하는 형태인 제2 유형, 및 (iii) 시간에 상관없이 일정한 형태인 제3 유형으로 구분되며,
상기 사용 자원의 비율은 프로세서의 사용률 및 메모리의 사용률로 구분되는 것을 특징으로 하는 다중 서버 관리 방법.
According to claim 1,
In the clustering step, the cluster is classified based on metadata,
The metadata includes a name of the virtual machine, an application list, a type of workload, and a ratio of resources used,
In the clustering step, a keyword is extracted from the name of the virtual machine, and if the keyword corresponds to a stopword, uniformly set weights of a plurality of clusters to correspond to the virtual machine,
The clustering includes extracting information on applications belonging to a preset usage frequency range from the application list and classifying the clusters based on the information on the applications,
The type of workload is (i) a first type that gradually increases in a first time interval, (ii) a second type that increases rapidly in a second time interval that is narrower than the first time interval, and (iii) ) is divided into the third type, which is a constant form regardless of time,
The multi-server management method, characterized in that the ratio of the resource used is divided into a processor usage rate and a memory usage rate.
KR1020190175556A 2019-12-26 2019-12-26 Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering KR102284074B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190175556A KR102284074B1 (en) 2019-12-26 2019-12-26 Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190175556A KR102284074B1 (en) 2019-12-26 2019-12-26 Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering

Publications (2)

Publication Number Publication Date
KR20210083465A true KR20210083465A (en) 2021-07-07
KR102284074B1 KR102284074B1 (en) 2021-07-30

Family

ID=76861920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190175556A KR102284074B1 (en) 2019-12-26 2019-12-26 Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering

Country Status (1)

Country Link
KR (1) KR102284074B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102467522B1 (en) * 2022-08-29 2022-11-17 주식회사 시스원 High Availability System of Global Sharing Virtualization Resource for Cloud Infrastructure

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102469718B1 (en) * 2021-10-29 2022-11-22 오케스트로 주식회사 A virtual machine placement system with anomaly monitoring function

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120023703A (en) * 2009-06-01 2012-03-13 후지쯔 가부시끼가이샤 Server control program, control server, virtual server distribution method
JP2012159928A (en) * 2011-01-31 2012-08-23 Internatl Business Mach Corp <Ibm> Information processing device, information processing system, arrangement configuration determination method, and program and recording medium therefor
WO2016153288A1 (en) * 2015-03-24 2016-09-29 건국대학교 산학협력단 Virtual cluster management system and method for controlling same
KR20180105874A (en) 2017-03-16 2018-10-01 한국전자통신연구원 Method, apparatus and system for selectively providing virtual machine through actual measurement of power usage
KR20190078453A (en) * 2017-12-26 2019-07-04 경희대학교 산학협력단 Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120023703A (en) * 2009-06-01 2012-03-13 후지쯔 가부시끼가이샤 Server control program, control server, virtual server distribution method
JP2012159928A (en) * 2011-01-31 2012-08-23 Internatl Business Mach Corp <Ibm> Information processing device, information processing system, arrangement configuration determination method, and program and recording medium therefor
WO2016153288A1 (en) * 2015-03-24 2016-09-29 건국대학교 산학협력단 Virtual cluster management system and method for controlling same
KR20180105874A (en) 2017-03-16 2018-10-01 한국전자통신연구원 Method, apparatus and system for selectively providing virtual machine through actual measurement of power usage
KR20190078453A (en) * 2017-12-26 2019-07-04 경희대학교 산학협력단 Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
윤호영 외 1명. 클라우드 데이터센터 최적 운영을 위한 가상머신 통합 최적화 모형 연구. 2019년 4월 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102467522B1 (en) * 2022-08-29 2022-11-17 주식회사 시스원 High Availability System of Global Sharing Virtualization Resource for Cloud Infrastructure

Also Published As

Publication number Publication date
KR102284074B1 (en) 2021-07-30

Similar Documents

Publication Publication Date Title
EP3847549B1 (en) Minimizing impact of migrating virtual services
US11392843B2 (en) Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer
Wu et al. Energy-efficient hadoop for big data analytics and computing: A systematic review and research insights
US20200117508A1 (en) Determining an allocation of computing resources for a job
Gautam et al. A survey on job scheduling algorithms in big data processing
US9384059B2 (en) Comparing resource costs between allocation plans in a load balance apparatus
US11665064B2 (en) Utilizing machine learning to reduce cloud instances in a cloud computing environment
US11403088B2 (en) Upgrade of hosts hosting application units of a container-based application based on analysis of the historical workload pattern of the cluster
US8745637B2 (en) Middleware for extracting aggregation statistics to enable light-weight management planners
US11755385B2 (en) Cross-cluster load balancer
KR102284074B1 (en) Multi-Server Management Method to Enhance Power Efficiency Using Workload Prediction of Virtual Machine Clustering
Maleki et al. MapReduce: an infrastructure review and research insights
Xue et al. Managing data center tickets: Prediction and active sizing
Ruan et al. Pre-filter-copy: Efficient and self-adaptive live migration of virtual machines
Sellami et al. Clustering-based data placement in cloud computing: a predictive approach
Bawankule et al. Historical data based approach for straggler avoidance in a heterogeneous Hadoop cluster
CN105930202B (en) A kind of virtual machine migration method of three threshold values
Toutov et al. Multicriteria optimization of virtual machine placement in cloud data centers
US20210397485A1 (en) Distributed storage system and rebalancing processing method
Kumar et al. Graphive: Heterogeneity-aware adaptive graph partitioning in graphlab
US20220114031A1 (en) Determining a deployment schedule for operations performed on devices using device dependencies and predicted workloads
Xiao et al. YISHAN: Managing large-scale cloud database instances via machine learning
Wu et al. Loads prediction and consolidation of virtual machines in cloud
Ergönöl et al. Clustered Server Consolidation for Energy Efficient Cloud
EP3719719A1 (en) Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant