KR102347375B1 - 복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법 - Google Patents

복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법 Download PDF

Info

Publication number
KR102347375B1
KR102347375B1 KR1020200053253A KR20200053253A KR102347375B1 KR 102347375 B1 KR102347375 B1 KR 102347375B1 KR 1020200053253 A KR1020200053253 A KR 1020200053253A KR 20200053253 A KR20200053253 A KR 20200053253A KR 102347375 B1 KR102347375 B1 KR 102347375B1
Authority
KR
South Korea
Prior art keywords
load
prediction
target
predetermined
storage
Prior art date
Application number
KR1020200053253A
Other languages
English (en)
Other versions
KR20210029073A (ko
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
Priority claimed from KR1020190110079A external-priority patent/KR102109088B1/ko
Application filed by 오케스트로 주식회사 filed Critical 오케스트로 주식회사
Priority to KR1020200053253A priority Critical patent/KR102347375B1/ko
Publication of KR20210029073A publication Critical patent/KR20210029073A/ko
Application granted granted Critical
Publication of KR102347375B1 publication Critical patent/KR102347375B1/ko

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법은, 예측 장치에 의해 구현되며, 물리 서버 상에 설치된 가상 머신에 의해 부과될 것으로 예측되는 물리 서버의 부하인 예측 부하가 산출되는 방법인 가상 머신 예측 워크 로드 산출 방법에 있어서, 상기 물리 서버에 설치된 상기 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 저장 부하와 관련된 정보인 저장 부하 정보가 수집되는 단계; 미리 정해진 분류 방법에 의해 복수의 가상 머신에 대한 저장 부하들이 그룹 단위로 분류되는 단계; 및 상기 저장 부하가 소정의 기준인 정렬 기준으로 정렬될 경우, 동일한 그룹으로 분류된 상기 저장 부하들 단위로 상기 예측 부하를 산출할 수 있는 예측 모델이 형성되는 단계;를 포함할 수 있다.

Description

복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법 {VIRTUAL MACHINE WORKLOAD PREDICTION METHOD BASED ON MULTIPLE PREDICTION MODELS}
본 발명은 복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법 및 이를 구현하는 예측 장치에 관한 것으로서, 물리 서버 상에서 가상 머신의 배치를 변경하기 위한 전 단계로서 미래의 가상 머신에 의해 발생되는 물리 서버의 부하를 예측하는, 복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법 및 이를 구현하는 예측 장치에 관한 것이다.
전 세계 전력사용량의 약 2%를 차지하는 데이터센터는 단일 건물 중 전력을 가장 많이 사용하는 고밀도 에너지 다소비 건물이지만, 안정성을 최우선시하는 보수적인 운영을 고수하여 비효율적인 운영 현황을 보이고 있다. 향후 사물인터넷, 빅 데이터, 클라우드 기술 등의 확산으로 인해 소규모의 데이터센터는 대규모의 데이터센터인 '하이퍼스케일', '메가' 데이터센터로 통합될 것으로 전망되는바, 인프라 확대에 따른 데이터센터 운영관리의 복잡성 또한 심화될 것으로 전망된다. 이에 불필요한 서버는 유휴 혹은 절전모드로 전환하고, 가용되는 서버를 최대한 안정적으로 운영함으로써 데이터센터 운영의 효율성을 극대화하며, 전력소비량을 줄여 운영비용 절감에 기여하기 위하여, 데이터센터에 배치된 수많은 가상 머신들의 배치를 적절하게 하는 것이 매우 중요하다.
물리적 자원(Physical Machine, PM, 물리 서버)들을 논리적 자원(Virtual Machine, VM, 가상 머신)들로 구성하는 가상화 환경에서는 구동 중인 가상 머신을 다른 물리 서버로 이동시킬 수 있는데, 이를 라이브 마이그레이션이라고 한다. 이는 효율적인 데이터센터를 관리하는데 필수적인 관리 방법이다. 여기서, 데이터센터를 효율적으로 관리하기 위하여 가상 머신들을 마이그레이션하여 데이터 센터를 운영하는 것과 관련된 기술(일본특허공보 특허 제5827594, 2015. 10. 23, 등록)이 개발되고 출시되어 있다.
다만, 기존의 출시되어 있는 기술들은 실제적으로 데이터센터를 운영하는 것에 대한 것으로서, 데이터센터에 운영프로그램을 적용하기 전에 미리 결과를 예측하지 못한다는 불편함이 존재하였다.
이를 해결하기 위해, 가상 머신에 의해 발생되는 물리 서버의 부하를 미리 예측을 하고, 예측된 가상 머신의 워크 로드를 기초로 가상 머신을 재 배치하는 발명을 고안하였고 앞서 출원(한국특허출원번호 제10-2019-0049976호, 2019.04.29, 출원)을 하였다.
다만, 단순하게 모든 데이터들을 기초로 하나의 예측 모델을 생성할 경우, 모든 패턴의 데이터들을 포용하는 예측 모델로서 형성되기 때문에, 예측의 정확도가 다소 떨어지며, 예측 모델을 생성하는데 긴 시간이 소요되는 문제를 발생시켰다.
본 발명의 목적은 상기 문제점을 해결하기 위해서, 빠른 시간 동안 정확하게 미래의 가상 머신 워크 로드를 예측할 수 있는 가상 머신 예측 워크 로드 산출 방법 및 이를 구현하는 예측 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법은, 예측 장치에 의해 구현되며, 물리 서버 상에 설치된 가상 머신에 의해 부과될 것으로 예측되는 물리 서버의 부하인 예측 부하가 산출되는 방법인 가상 머신 예측 워크 로드 산출 방법에 있어서, 상기 물리 서버에 설치된 상기 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 저장 부하와 관련된 정보인 저장 부하 정보가 수집되는 단계; 복수의 가상 머신에 대한 상기 저장 부하들이 미리 정해진 분류 방법에 의해 분류되는 단계; 동일한 그룹으로 분류된 상기 저장 부하들 단위로 상기 예측 부하를 산출할 수 있는 예측 모델이 형성되는 단계; 분석 대상 가상 머신인 타겟 가상 머신에 의해 발생될 것으로 예측되는 상기 물리 서버의 부하인 타겟 예측 부하에 대한 예측도를 상승시키기 위하여, 미리 정해진 선정 방법에 의해 복수의 예측 모델 중에서 적어도 하나의 예측 모델이 선정되는 단계; 및 상기 타겟 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 타겟 저장 부하와 관련된 정보인 타겟 저장 부하 정보와 선정된 예측 모델인 선정 모델을 기초로 미리 정해진 산출 방법에 의해 상기 타겟 예측 부하와 관련된 정보인 타겟 예측 부하 정보가 산출되는 단계;를 포함하고, 상기 미리 정해진 분류 방법은, 상기 저장 부하들을 소정의 기준인 정렬 기준으로 정렬한 후, 소정의 방법인 기준 구분 방법을 통해 상기 저장부하들을 그룹화하는 방법이고, 상기 미리 정해진 선정 방법은, 상기 타겟 저장 부하가 상기 저장 부하의 일 그룹에 위치 되는 경우, 상기 타겟 저장 부하가 위치되는 그룹으로 분류된 상기 저장 부하들을 기초로 산출된 예측 모델이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제1 선정 방법을 구비하고, 상기 타겟 저장 부하가 상기 저장 부하의 어느 그룹 내에도 위치되지 않는 경우, 상기 타겟 저장 부하를 기준으로 판단되는 미리 정해진 조건이 만족되는 상기 저장 부하의 그룹에 대응되는 예측 모델들이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제2 선정 방법을 구비할 수 있다.
또한, 상기 미리 정해진 조건은, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하로부터 소정 거리 이내에 위치되는 조건일 수 있다.
또한, 상기 미리 정해진 조건은, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하에서 상기 저장 부하의 그룹과의 거리 중 가장 짧은 거리인 기준 거리를 기준으로 기준 범위 내에 위치되는 조건일 수 있다.
또한, 상기 기준 구분 방법은, K-평균 군집화(K-means Clustering) 또는 계측정 군집화(Hierarchical Clustering)을 이용하는 방법일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 상기 선정 모델이 단수 혹은 복수 인지에 따라 다른 방법으로 상기 타겟 예측 부하 정보를 산출하는 방법일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 상기 선정 모델이 단수일 경우, 상기 선정 모델에 상기 타겟 저장 부하 정보를 입력하여 상기 타겟 예측 부하 정보가 산출되는 방법일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 상기 선정 모델이 복수 일 경우, 복수의 상기 선정 모델 모두에 상기 타겟 저장 부하 정보가 입력되어 산출되는 결과 값인 복 수의 타겟 예비 부하와 관련된 복수의 타겟 예비 부하 정보에 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하와 상기 선정 모델과 대응되는 상기 저장 부하의 그룹들의 이격 거리들의 비율을 근거로 하여 산출되는 가중치가 고려되어, 상기 타겟 예측 부하 정보가 산출되는 방법일 수 있다.
본 발명의 일 실시예에 따른 예측 장치는, 가상 머신 예측 워크 로드 산출 방법을 구현하는 예측 장치에 있어서, 상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 정보를 연산 처리하는 제어부; 상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 정보가 저장되는 저장부; 소정의 정보를 송신하는 송신부; 및 소정의 정보를 수신하여 상기 제어부, 상기 저장부 또는 상기 송신부로 전달하는 수신부;를 포함하고, 상기 가상 머신 예측 워크 로드 산출 방법은, 상기 물리 서버에 설치된 상기 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 저장 부하와 관련된 정보인 저장 부하 정보가 수집되는 단계; 복수의 가상 머신에 대한 상기 저장 부하들이 미리 정해진 분류 방법에 의해 분류되는 단계; 상기 저장 부하가 소정의 기준인 정렬 기준으로 정렬될 경우, 동일한 그룹으로 분류된 상기 저장 부하들 단위로 상기 예측 부하를 산출할 수 있는 예측 모델이 형성되는 단계; 분석 대상 가상 머신인 타겟 가상 머신에 의해 발생될 것으로 예측되는 상기 물리 서버의 부하인 타겟 예측 부하에 대한 예측도를 상승시키기 위하여, 미리 정해진 선정 방법에 의해 복수의 예측 모델 중에서 적어도 하나의 예측 모델이 선정되는 단계; 및 상기 타겟 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 타겟 저장 부하와 관련된 정보인 타겟 저장 부하 정보와 선정된 예측 모델인 선정 모델을 기초로 미리 정해진 산출 방법에 의해 상기 타겟 예측 부하와 관련된 정보인 타겟 예측 부하 정보가 산출되는 단계;를 포함하고, 상기 미리 정해진 선정 방법은, 상기 타겟 저장 부하가 상기 저장 부하의 일 그룹에 위치 되는 경우, 상기 타겟 저장 부하가 위치되는 그룹으로 분류된 상기 저장 부하들을 기초로 산출된 예측 모델이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제1 선정 방법을 구비하고, 상기 타겟 저장 부하가 상기 저장 부하의 어느 그룹 내에도 위치되지 않는 경우, 상기 타겟 저장 부하를 기준으로 판단되는 미리 정해진 조건이 만족되는 상기 저장 부하의 그룹에 대응되는 예측 모델들이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제2 선정 방법을 구비할 수 있다.
또한, 상기 미리 정해진 조건은, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하로부터 소정 거리 이내에 위치되는 조건일 수 있다.
또한, 상기 기준 구분 방법은, K-평균 군집화(K-means Clustering) 또는 계측정 군집화(Hierarchical Clustering)을 이용하는 방법일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 상기 선정 모델이 단수 혹은 복수 인지에 따라 다른 방법으로 상기 타겟 예측 부하 정보를 산출하는 방법일 수 있다.
본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법은, 예측 장치에 의해 구현되며, 물리 서버 상에 설치된 가상 머신에 의해 부과될 것으로 예측되는 물리 서버의 부하인 예측 부하가 산출되는 방법인 가상 머신 예측 워크 로드 산출 방법에 있어서, 상기 물리 서버에 설치된 상기 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 저장 부하와 관련된 정보인 저장 부하 정보가 수집되는 단계; 미리 정해진 분류 방법에 의해 복수의 가상 머신에 대한 저장 부하들이 그룹 단위로 분류되는 단계; 복수의 가상 머신에 대한 상기 저장 부하들이 미리 정해진 분류 방법에 의해 분류되는 단계; 상기 저장 부하가 소정의 기준인 정렬 기준으로 정렬될 경우, 동일한 그룹으로 분류된 상기 저장 부하들 단위로 상기 예측 부하를 산출할 수 있는 예측 모델이 형성되는 단계; 분석 대상 가상 머신인 타겟 가상 머신에 의해 발생될 것으로 예측되는 상기 물리 서버의 부하인 타겟 예측 부하에 대한 예측도를 상승시키기 위하여, 미리 정해진 선정 방법에 의해 복수의 예측 모델 중에서 적어도 하나의 예측 모델이 선정되는 단계; 및 상기 타겟 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 타겟 저장 부하와 관련된 정보인 타겟 저장 부하 정보와 선정된 예측 모델인 선정 모델을 기초로 미리 정해진 산출 방법에 의해 상기 타겟 예측 부하와 관련된 정보인 타겟 예측 부하 정보가 산출되는 단계;를 포함할 수 있다.
또한, 상기 미리 정해진 선정 방법은, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하가 상기 저장 부하의 일 그룹에 위치되는 경우, 상기 타겟 저장 부하가 위치되는 그룹으로 분류된 상기 저장 부하들을 기초로 산출된 예측 모델이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제1 선정 방법을 구비할 수 있다.
또한, 상기 미리 정해진 선정 방법은, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하가 상기 저장 부하의 어느 그룹 내에도 위치되지 않는 경우, 미리 정해진 조건이 만족되는 상기 저장 부하의 그룹에 대응되는 예측 모델들이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제2 선정 방법을 구비할 수 있다.
또한, 상기 미리 정해진 조건은, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하로부터 소정 거리 이내에 위치되는 조건일 수 있다.
또한, 상기 미리 정해진 조건은, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하에서 상기 저장 부하의 그룹과의 거리 중 가장 짧은 거리인 기준 거리를 기준으로 기준 범위 내에 위치되는 조건일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 상기 선정 모델이 단수 혹은 복수 인지에 따라 다른 방법으로 상기 타겟 예측 부하 정보를 산출하는 방법일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 상기 선정 모델이 단수일 경우, 상기 선정 모델에 상기 타겟 저장 부하 정보를 입력하여 상기 타겟 예측 부하 정보가 산출되는 방법일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 상기 선정 모델이 복수 일 경우, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하와 상기 선정 모델과 대응되는 상기 저장 부하의 그룹들의 이격 거리들의 비율을 근거로 하여 산출되는 가중치가 고려되어, 상기 타겟 예측 부하 정보가 산출되는 방법일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 소정 기간 동안의 상기 타겟 예측 부하 정보를 산출하는 방법일 수 있다.
본 발명에 따른 가상 머신 예측 워크 로드 산출 방법 및 이를 구현하는 예측 장치에 따르면, 미래의 가상 머신 워크로드를 높은 정확도로 예측할 있다.
또한, 빠른 시간 내에 미래의 가상 머신 워크로드를 예측할 수 있다.
또한, 사용자의 목적을 정확하게 반영할 수 있다.
또한, 데이터센터를 안정적으로 관리할 수 있다.
본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 예측 장치의 개념도 및 예측 장치와 복수의 물리 서버와의 관계를 도시한 도면
도 2는 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법에 대한 개략적인 개념도
도 3은 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법의 순서도
도 4는 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법 중에서 저장 부하 분류 단계 및 예측 모델 선정 단계를 설명하기 위한 도면
도 5는 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법 중에서 예측 모델 선정 단계를 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법 중에서 타겟 예측 부하 정보 산출 단계를 설명하기 위한 도면
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 예측 장치의 개념도 및 예측 장치와 복수의 물리 서버와의 관계를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 예측 장치(10)는 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 정보(일례로, 데이터를)를 연산, 산출 및/또는 처리하는 제어부(11), 상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 정보가 저장되는 저장부(12), 소정의 정보를 수신하는 수신부(13) 및 소정의 정보를 송신하는 송신부(14)를 포함할 수 있다.
또한, 상기 예측 장치(10)는 상기 제어부(11)에 의한 제어에 의해 이미지를 표시하는 표시부(16) 및 외부로부터 입력되는 것에 발생되는 소정의 신호를 상기 연산부, 상기 저장부(12), 상기 송신부(14), 상기 수신부(13) 및/또는 제어부(11)로 전달하는 입력부(15)를 더 포함할 수 있다.
제어부(11)는 상기 저장부(12)에 저장되어 있는 정보를 기초로 상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 모든 정보 처리 연산을 수행할 수 있다.
일례로, 상기 제어부(11)는 중앙처리장치(CPU)를 의미할 수 있다.
다만, 이에 한정하지 않고, 상기 제어부(11)는 상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 연산을 수행할 수 있는 모든 장치 혹은 부품을 포함할 수 있다.
저장부(12)는 상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 정보(데이터)가 저장되어 있을 수 있다.
일례로, 상기 저장부(12)에는 후술하는 저장 부하 정보가 저장되어 있을 수 있다.
상기 저장부(12)에는 상기 가상 머신 예측 워크 로드 산출 방법을 수행하는 프로그램이 저장되어 있을 수 있다.
일례로, 상기 저장부(12)는 보조기업장치로서 하드디스크일 수 있다.
다만, 이에 한정하지 않고, 상기 저장부(12)는 상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 정보가 저장될 수 있는 모든 요소를 포함할 수 있다.
수신부(13)는 소정의 정보를 전달 받아 상기 제어부(11), 상기 저장부(12), 입력부(15), 상기 표시부(16) 및/또는 상기 송신부(14)로 전달할 수 있다.
일례로, 상기 수신부(13)는 물리 서버로부터 전달되는 정보를 수신할 수 있다.
상기 수신부(13)는 상기 물리 서버의 작동과 관련된 정보를 대응되는 물리 서버로부터 전달받을 수 있다.
일례로, 상기 수신부(13)는 후술하는 저장 부하 정보를 전달받아 상기 저장부(12)로 전달할 수 있다.
송신부(14)는 소정의 정보를 임의의 장치 혹은 서버로 송신할 수 있다.
일례로, 상기 송신부(14)는 상기 물리 서버로 정보를 전달할 수 있다.
상기 송신부(14)는 상기 제어부(11)가 산출한 제어 신호를 상기 물리 서버로 전달할 수 있다.
일례로, 상기 입력부(15)는 키보드일 수 있다.
다만, 이에 한정하지 않고 상기 입력부(15)의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
일례로, 상기 표시부(16)는 디스플레이일 수 있다.
다만, 이에 한정하지 않고 상기 표시부(16)의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
상기 예측 장치(10) 내의 구성들은 서로 유선 및/또는 무선으로 연결될 수 있다.
상기 예측 장치(10)는 각 각의 상기 물리 서버와 유선 및/또는 무선으로 연결될 수 있다.
물리 서버는 가상 머신이 실행될 수 있는 하드웨어 플랫폼을 의미할 수 있다.
일례로, 상기 물리 서버는 통상적인 데스크톱, 서버 컴퓨터, 랩톱 컴퓨터 또는 휴대 전화 등과 같은 것일 수 있다.
다만, 이에 한정하지 않고 상기 물리 서버는 가상 머신이 실행될 수 있는 모든 수단을 포함하는 개념일 수 있다.
본 발명의 일 실시예에 따른 예측 장치는 제1 물리 서버(20), 제2 물리 서버 (30)및 제3 물리 서버(40)를 통제하고 관리하는 것을 기준으로 설명하나, 이에 본 발명이 한정되는 것은 아니고, 상기 예측 장치가 관리 및 통제하는 물리 서버의 개수는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
도 1에 도시된 것에 따르면, 물리 서버는 제1 물리 서버(20), 제2 물리 서버 (30)및 제3 물리 서버(40)로 이루어지며, 상기 제1 물리 서버(20) 상에서는 제a 가상 머신(21), 제b 가상 머신(22) 및 제c 가상 머신(23)이 구동되고 있을 수 있으며, 상기 제2 물리 서버(30) 상에는 제d 가상 머신(31) 및 제e 가상 머신(32)이 구동되고 있을 수 있으며, 상기 제3 물리 서버(40) 상에는 제f 가상 머신(41) 및 제g 가상 머(42)이 구동되고 있을 수 있다.
이하, 예측 장치에 의해 구현되는 가상 머신 예측 워크 로드 산출 방법의 주요한 특징에 대해서 서술하도록 한다.
도 2는 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법에 대한 개략적인 개념도이다.
상기 수신부는 가상 머신이 물리 서버 상에서 동작되는 것과 관련된 정보들을 수신하여 상기 저장부로 전달할 수 있다.
상기 제어부는 가상 머신이 물리 서버 상에서 동작되는 것과 관련된 정보들을 기초로 미리 정해진 워크 로드 산출 방법에 따라 저장 부하 정보를 산출할 수 있다.
여기서, 상기 저장 부하 정보는 상기 저장부에는 가상 머신에 의해 부과되는 물리 서버의 부하인 저장 부하에 대한 정보를 의미할 수 있다.
일례로, 상기 미리 정해진 워크 로드 산출 방법은 가상 머신의 가동에 의해 발생되는 물리 서버의 CPU 가동 정도를 기초로 저장 부하 정보를 산출하는 방법일 수 있다.
즉, 가상 머신의 가동에 의해 발생되는 물리 서버의 CPU 가동 정도가 저장 부하를 의미하는 것일 수 있다.
상기 미리 정해진 워크 로드 산출 방법 상에서는 하나의 가상 머신은 하나의 물리 서버 상에서만 실행될 수 있다고 가정할 수 있다.
일례로, 이는 하나의 가상 머신은 두 개의 물리 서버 상에서 구현될 수 없다는 것을 의미할 수 있다.
물리 서버의 워크 로드라는 것의 의미는 상기 물리 서버에 부과되는 부하를 의미할 수 있다.
일례로, 상기 물리 서버의 워크 로드는 상기 물리 서버의 중앙처리장치(CPU)에 부과되는 부하로서 산출될 수 있다.
일례로, 물리 서버의 워크 로드는 물리 서버에 배치되는 가상 머신들의 부하(워크 로드)인 가상 머신 워크 로드들의 합에 의해 산출될 수 있다.
이는, 후술하는 예측하는데 필요한 기초 데이터를 단순화 함으로써, 후술하는 단계에서 예측의 정확도를 더욱 상승시킬 수 있다.]
가상 머신의 워크 로드라는 것의 의미는 상기 물리 서버 상에서 가상 머신이 동작되는 것에 의해 발생되는 상기 물리 서버 부하를 의미할 수 있다.
저장부에 저장된 상기 저장 부하를 기초로, 상기 제어부는 다중회귀모형, ARIMA 분석 또는 Deep Learning과 같은 알고리즘을 활용하여 후술하는 예측 부하를 산출할 수 있는 예측 모델을 산출할 수 있다.
예측 모델을 생성하는 머신 러닝의 알고리즘에 대해서는 통상의 기술자에게 자명한 기술로서 이에 대한 자세한 설명은 생략될 수 있다.
만일, 모든 저장 부하 정보를 입력 한 뒤에 머신 러닝을 통해 하나의 예측 모델을 생성할 경우, 예측율이 감소되고 모델 형성 기간이 다소 길어질 수 있다.
이를 방지하기 위해, 예측 모델을 생성하기 전에 저장 부하 정보를 후술하는 미리 정해진 분류 방법으로 비슷한 성격끼리 일 그룹으로 하여 분류할 수 있다.
일례로, 도 2를 참조하면, 상기 저장 부하(T10)는 제1 그룹(G10), 제2 그룹(G20) 및 제3 그룹(G30)으로 분류될 수 있다.
여기서, 상기 제어부는 상기 제1 그룹(G10)에 대해서 머신 러닝을 통해 가상 머신에 의해 발생될 것으로 예상되는 물리 서버 부하(워크 로드)를 예측할 수 있는 제1 예측 모델(M10)을 산출할 수 있다.
마찬가지로, 상기 제어부는 상기 제2 그룹(G20)에 대해서 머신 러닝을 통해 가상 머신에 의해 발생될 것으로 예상되는 물리 서버 부하를 예측할 수 있는 제2 예측 모델(M20)을 산출할 수 있다.
또한, 상기 제어부는 상기 제3 그룹(G30)에 대해서 머신 러닝을 통해 가상 머신에 의해 발생될 것으로 예상되는 물리 서버를 예측할 수 있는 제3 예측 모델(M30)을 산출할 수 있다.
이와 같이, 비슷한 성질 혹은 패턴을 가지는 저장 부하를 기초로 예측 모델을 각 각 생성하여 활용하기 때문에 예측도를 증가시키며 분석 시간을 획기적으로 단축시킬 수 있다.
도 2에서는 저장 부하가 3 개의 그룹으로 분류되는 것을 가정하여 서술하였지만, 이에 본 발명이 한정되는 것은 아니고, 분류되는 그룹의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
이하, 예측 장치에 의해 구현되는 가상 머신 예측 워크 로드 산출 방법에 대해서 자세하게 서술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법의 순서도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법에 따르면, 예측 장치에 의해 구현되며, 물리 서버 상에 설치된 가상 머신에 의해 부과될 것으로 예측되는 물리 서버의 부하인 예측 부하가 산출되는 방법인 가상 머신 예측 워크 로드 산출 방법에 있어서, 상기 물리 서버에 설치된 상기 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 저장 부하와 관련된 정보인 저장 부하 정보가 수집되는 단계(S20), 복수의 가상 머신에 대한 상기 저장 부하들이 미리 정해진 분류 방법에 의해 분류되는 단계(S30), 상기 저장 부하가 소정의 기준으로 정렬될 경우, 동일한 그룹으로 분류된 상기 저장 부하들 단위로, 상기 저장 부하 정보를 기초로 딥 러닝하여 상기 예측 부하를 산출할 수 있는 예측 모델이 형성되는 단계(S40), 분석 대상 가상 머신인 타겟 가상 머신에 의해 발생될 것으로 예측되는 상기 물리 서버의 부하인 타겟 예측 부하에 대한 예측도를 상승시키기 위하여, 미리 정해진 선정 방법에 의해 복수의 예측 모델 중에서 적어도 하나의 예측 모델이 선정되는 단계(S50) 및 상기 타겟 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 타겟 저장 부하와 관련된 정보인 타겟 저장 부하 정보와 선정된 예측 모델인 선정 모델을 기초로 미리 정해진 산출 방법에 의해 상기 타겟 예측 부하와 관련된 정보인 타겟 예측 부하 정보가 산출되는 단계(S60)를 포함할 수 있다.
상기 제어부는 상기 저장부에 저장된 정보를 기초로 상기 미리 정해진 워크 로드 산출 방법에 따라 상기 저장 부하 정보를 산출할 수 있다(S10).
다만, 이와 다르게 상기 수신부는 상기 저장 부하 정보를 수신하여 상기 저장부로 전달하고, 상기 저장부는 상기 저장 부하 정보를 저장할 수 있다.
상기 제어부는 상기 저장부에 저장되어 있는 상기 저장 부하 정보를 수집할 수 있다(S20).
상기 제어부는 수집된 상기 저장 부하 (정보)를 미리 정해진 분류 방법으로 분류할 수 있다(S30).
상기 미리 정해진 분류 방법은 상기 저장 부하를 소정의 기준인 정렬 기준으로 정렬하는 미리 정해진 제1 분류 방법 및 상기 정렬 기준에 의해 정렬된 저장 부하를 소정의 방법인 기준 구분 방법을 통해 분류하는 미리 정해진 제2 분류 방법을 구비할 수 있다.
도 4는 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법 중에서 저장 부하 분류 단계 및 예측 모델 선정 단계를 설명하기 위한 도면이다.
상기 제어부는 상기 미리 정해진 제1 분류 방법에 의해 상기 저장 부하 정보를 정렬할 수 있다.
일례로, 정렬 기준은 업무 시간의 길이와 업무 시간 동안의 저장 부하의 변화율과 관련된 기준일 수 있다.
일례로, 도 4를 참조하면, X 축은 업무 시간의 길이를 의미할 수 있고, Y 축은 업무 시간 동안의 저장 부하의 변화율의 평균을 의미할 수 있다.
여기서, 가상 머신의 워크 로드가 소정 값 이상일 때를 업무 시간이라고 정의할 수 있다.
다만, 상술한 정렬 기준에 대한 예시로 본 발명을 한정하는 것은 아니고 상기 정렬 기준은 통상의 기술자에게 자명한 수준에서 사용 목적, 사용 환경 등에 따라 다양하게 변경될 수 있다.
상기 미리 정해진 제1 분류 방법에 따라면, 상기 제어부는 상기 저장 부하 정보를 정렬 기준에 대해서 산출한 뒤에, 정렬 기준을 기준으로 한 그래프 상에 일 지점의 좌표를 산출할 수 있다.
즉, 정렬 기준으로 정렬한다는 것의 의미는 저장 부하에 대한 정렬 기준을 산출하고, 정렬 기준을 기준으로 그래프 상에서 저장 부하가 위치되는 그래프 상의 위치(좌표)를 산출한다는 것을 의미할 수 있다.
상기 제어부는 상기 정렬 기준으로 정렬된 상기 저장 부하를 기준 구분 방법을 통해 그룹 단위로 분류할 수 있다.
일례로, 기준 구분 방법은 K-평균 군집화(K-means Clustering)를 통해 상기 저장 부하 정보들을 그룹화하는 방법일 수 있다.
K-평균 군집화(K-means Clustering)는 통상의 기술자에게 자명한 것으로서, 이에 대한 자세한 설명은 생략될 수 있다.
만일, 상기 기준 구분 방법이 K-평균 군집화(K-means Clustering)로 그룹핑하는 방법이라면, 몇 개의 그룹으로 구분될지에 대해서 상기 제어부 혹은 상기 저장부에 미리 저장되어 있을 수 있다.
또는, 몇 가지의 그룹으로 구분될지에 대해서는 상기 입력부를 통해 사용자로부터 입력 받을 수도 있다.
이와 달리, 일례로 기준 구분 방법은 계층적 군집화(Hierarchical Clustering)을 통해 상기 저장 부하 정보들을 그룹화하는 방법일 수 있다.
계층적 군집화(Hierarchical Clustering)는 통상의 기술자에게 자명한 것으로서, 이에 대한 자세한 설명은 생략될 수 있다.
마찬가지로, 상기 기준 구분 방법이 계층적 군집화로 그룹핑하는 방법이라면, 몇 개의 그룹으로 구분될지에 대해서 상기 제어부 혹은 상기 저장부에 미리 저장되어 있을 수 있다.
또는, 몇 가지의 그룹으로 구분될지에 대해서는 상기 입력부를 통해 사용자로부터 입력 받을 수도 있다.
이하, 상기 기준 구분 방법을 계층적 군집화(Hierarchical Clustering)을 통해 상기 저장 부하 정보들을 그룹화하는 방법인 것으로 하여 서술을 하나, 이에 본 발명이 한정되는 것은 아니다.
도 4를 참조하면, 상기 제어부는 상기 미리 정해진 제1 분류 방법을 통해 상기 저장 부하를 정렬시킬 수 있고, 상기 미리 정해진 제2 분류 방법을 통해 상기 저장 부하를 그룹화 할 수 있다.
일례로, 미리 정해진 그룹의 개수가 3개일 경우, 상기 제어부는 상기 저장 부하를 3 개의 그룹(제1 그룹(G10), 제2 그룹(G20) 및 제3 그룹(G30))으로 분류할 수 있다.
이 때, 그룹에 포함되지 않은 저장 부하 정보가 존재될 수 도 있다.
상기 제어부는 상기 저장 부하가 소정의 기준인 정렬 기준으로 정렬될 경우, 동일한 그룹으로 분류된 상기 저장 부하들 단위로, 상기 저장 부하 정보를 기초로 상기 예측 부하를 산출할 수 있는 예측 모델을 산출할 수 있다.
일례로, 상기 제어부는 그룹 단위로 상기 저장 부하를 머신 러닝시켜, 미래의 가상 머신 워크 로드를 예측할 수 있는 예측 모델을 각 각 산출할 수 있다.
일례로, 그룹이 3 개라면 예측 모델은 3개가 산출될 수 있다.
일례로, 제1 그룹(G10)에 포함되는 저장 부하 정보를 기초로 머신 러닝하여 산출된 예측 모델을 제1 예측 모델이라고 할 수 있다.
일례로, 제2 그룹(G20)에 포함되는 저장 부하 정보를 기초로 머신 러닝하여 산출된 예측 모델을 제2 예측 모델이라고 할 수 있다.
일례로, 제3 그룹(G30)에 포함되는 저장 부하 정보를 기초로 머신 러닝하여 산출된 예측 모델을 제3 예측 모델이라고 할 수 있다.
예측 모델이 산출된 이후부터는 임의의 가상 머신의 미래의 워크 로드를 예측할 수 있다.
타겟 가상 머신은 분석 대상 가상 머신을 의미할 수 있다.
타겟 가상 머신이 선정되면, 상기 제어부는 상기 저장부에 저장되어 있는 상기 타겟 가상 머신에 의한 물리 서버의 동작과 관련된 정보를 기초로 미리 정해진 워크 로드 산출 방법으로 타겟 저장 부하 정보를 산출할 수 있다.
타겟 저장 부하는 상기 타겟 가상 머신에 의해 발생되었던 상기 물리 서버의 부하를 의미할 수 있으며, 타겟 저장 부하 정보는 타겟 저장 부하와 관련된 정보를 의미할 수 있다.
상기 제어부는 산출된 상기 타겟 부하 정보를 기초로 상기 미리 정해진 선정 방법에 의해 복 수의 예측 모델 중에서 적어도 하나의 예측 모델을 선정할 수 있다.
상기 미리 정해진 선정 방법은 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하가 상기 저장 부하의 일 그룹에 위치되는 경우, 상기 타겟 저장 부하가 위치되는 그룹으로 분류된 상기 저장 부하들을 기초로 산출된 예측 모델이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제1 선정 방법을 구비할 수 있다.
즉, 대응되는 그룹에 해당되는 저장 부하 정보를 기초로 산출된 예측 모델이 선정 모델로서 선정될 수 있다.
상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하가 일 그룹에 위치되는 경우, 선정 모델로서는 1개의 예측 모델이 선정될 수 있다.
구체적인 일례로서, 도 4를 참조하면, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하가 일 그룹에 위치(X10)되는 경우 타겟 저장 부하가 제1 그룹(G10)에 위치된다고 가정하면, 제1 예측 모델이 선정 모델로서 선정될 수 있다.
도 5는 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법 중에서 예측 모델 선정 단계를 설명하기 위한 도면이다.
상기 미리 정해진 선정 방법은 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하가 상기 저장 부하의 어느 그룹 내에도 위치되지 않는 경우, 미리 정해진 조건이 만족되는 상기 저장 부하의 그룹에 대응되는 예측 모델들이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제2 선정 방법을 더 구비할 수 있다.
본 발명의 일 실시예로서, 상기 미리 정해진 조건은 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하로부터 소정 거리 이내에 위치되는 조건일 수 있다.
반면에, 본 발명의 다른 실시예로서, 상기 미리 정해진 조건은 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하에서 상기 저장 부하의 그룹과의 거리 중 가장 짧은 거리인 기준 거리를 기준으로 기준 범위 내에 위치되는 조건일 수 있다.
이에 대해 구체적으로 설명하자면, 도 5를 참조하면, 상기 저장 부하들이 미리 정해진 분류 방법으로 분류되는 경우, 제1 그룹(G10), 제2 그룹(G20) 및 제3 그룹(G30)으로 분류되었다고 가정할 수 있다.
여기서, 상기 제어부에 의해 타겟 저장 부하가 상기 정렬 기준으로 정렬될 수 있다.
일례로, 상기 타겟 저장 부하의 위치(X10)와 제1 그룹(G10)의 길이가 '1'일 수 있고, 상기 타겟 저장 부하의 위치(X10)와 제2 그룹(G20)의 길이가 '1.5'일 수 있고, 상기 타겟 저장 부하(X10)의 위치와 제3 그룹(G30)의 길이가 '2'일 수 있다.
본 발명의 일 실시예에 따른 미리 정해진 정해진 조건을 따를 경우 타겟 저장 부하로부터 소정 거리 이내(일례로, 1.7)에 위치되는 그룹인 제1 그룹(G10)과 제2 그룹(G20)에 대응되는 제1 예측 모델과 제2 예측 모델이 선정 모델로 선정될 수 있다.
이와 다르게, 본 발명의 다른 실시예에 따른 미리 정해진 조건을 따를 경우 타겟 저장 부하에서 저장 부하의 그룹과의 거리 중 가장 짧은 거리인 기준 거리(해당 예시에서는 '1')를 기준으로 기준 범위(일례로 '0.7') 내에 위치되는 그룹인 제1 그룹(G10)과 제2 그룹(G20)에 대응되는 제1 예측 모델과 제2 예측 모델이 선정 모델로 선정될 수 있다.
상술한 예시에서는 타겟 저장 부하와 그룹 간의 거리를 타겟 저장 부하의 위치와 그룹 내의 중앙과의 사이 거리로 하여 설명하였다.
다만, 이에 본 발명을 한정하는 것은 아니고 타겟 저장 부하와 그룹 간의 거리를 산출하는 방법은 변경될 수 있으며, 개체와 그룹 간의 거리를 산출하는 방법에 대해서는 통상의 기술자에게 자명한 것으로서, 이에 대한 자세한 설명은 생략될 수 있다.
상기 제어부는 미리 정해진 산출 방법에 의해 선정 모델과 타겟 저장 부하 정보를 기초로 타겟 예측 부하와 관련된 타겟 예측 부하 정보를 산출할 수 있다.
여기서, 상기 미리 정해진 산출 방법은 상기 선정 모델이 단수 혹은 복수 인지에 따라 다른 방법으로 상기 타겟 예측 부하 정보를 산출하는 방법일 수 있다.
구체적으로, 상기 미리 정해진 산출 방법은 상기 선정 모델이 단수일 경우, 상기 선정 모델에 상기 타겟 저장 부하 정보를 입력하여 상기 타겟 예측 부하 정보가 산출되는 방법일 수 있다.
또한, 상기 미리 정해진 산출 방법은, 상기 선정 모델이 복수 일 경우, 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하와 상기 선정 모델과 대응되는 상기 저장 부하의 그룹들의 이격 거리들의 비율을 근거로 하여 산출되는 가중치가 고려되어, 상기 타겟 예측 부하 정보가 산출되는 방법일 수 있다.
구체적으로 설명하자면, 상기 선정 모델이 복수일 경우, 타겟 저장 부하 정보는 각 각의 선정 모델에 입력될 수 있다.
상기 제어부는 타겟 저장 부하 정보가 선정 모델에 입력되는 경우 결과값으로서, 복 수의 타겟 예비 부하와 관련된 복수의 타겟 예비 부하 정보를 산출할 수 있다.
타겟 예비 부하는 타겟 저장 부하 정보가 선정 모델 중 하나의 예측 모델에 입력되어 산출되는 타겟 가상 머신의 예측되는 물리 서버의 부하를 의미할 수 있다.
또한, 상기 제어부는 상기 타겟 저장 부하와 선정 모델들 간의 거리들을 기초로 가중치를 산출할 수 있다.
상기 제어부는 상기 가중치를 기초로 상기 타겟 예비 부하가 병합하여 상기 타겟 예측 부하 정보를 산출할 수 있다.
타겟 저장 부하와 선정 모델의 거리가 멀수록 가중치가 작아질 수 있다.
타겟 저장 부하와 선정 모델의 거리가 짧을수록 가중치가 커질 수 있다.
구체적인 예시로서, 도 4를 참조하면, 제1 예측 모델만이 선정 모델로서 선정되는 경우, 상기 미리 정해진 산출 방법에 따르면, 상기 타겟 저장 부하 정보가 상기 제1 예측 모델에만 입력되어 타겟 예측 부하 정보가 산출될 수 있다.
다른 예시로서, 도 5를 참조하면, 제1 예측 모델과 제2 예측 모델이 선정 모델로서 선정되는 경우, 상기 미리 정해진 산출 방법에 따르면, 상기 타겟 저장 부하 정보는 제1 예측 모델과 제2 예측 모델 각 각에 입력되어 타겟 예비 부하와 관련된 타겟 예비 부하 정보가 산출될 수 있다.
일례로, 상기 타겟 저장 부하 정보가 상기 제1 예측 모델에 입력되어 상기 제1 예측 모델과 관련된 타겟 예비 부하인 제1 타겟 예비 부하와 연관된 제1 타겟 예비 부하 정보가 산출될 수 있다.
일례로, 상기 타겟 저장 부하 정보가 상기 제2 예측 모델에 입력되어 상기 제2 예측 모델과 관련된 타겟 예비 부하인 제2 타겟 예비 부하와 연관된 제2 타겟 예비 부하 정보가 산출될 수 있다.
상기 제어부는 상기 제1 타겟 예비 부하 정보와 상기 제2 타겟 예비 부하 정보를 기초로 상기 제1 타겟 예비 부하와 제2 타겟 예비 부하를 병합할 수 있다.
이때, 병합하는 방법으로는 부스팅(Boosting) 또는 배깅(Bagging)을 활용할 수 있다.
이는, 통상의 기술자에게 자명한 기술로서, 이에 대한 자세한 설명은 생략될 수 있다.
상기 타겟 저장 부하의 위치를 기준으로 제2 그룹보다 제1 그룹이 더 가까이에 있기 때문에, 제1 타겟 예비 부하 정보가 제2 타겟 예비 부하 정보 보다 더 가중치가 높게 병합될 수 있다.
도 6은 본 발명의 일 실시예에 따른 가상 머신 예측 워크 로드 산출 방법 중에서 타겟 예측 부하 정보 산출 단계를 설명하기 위한 도면이다.
구체적인 일례로서, 제1 타겟 예비 부하(P10)와 제2 타겟 예비 부하(P20)가 도 6에 도시된 그래프처럼 산출될 수 있다.
상기 타겟 저장 부하의 위치를 기준으로 제2 그룹보다 제1 그룹이 더 가까이에 있기 때문에, 제1 타겟 예비 부하(P10)와 제2 타겟 예비 부하(P20)를 병합할 경우, 타겟 예측 부하(A10)는 제1 타겟 예비 부하(P10) 쪽으로 더 치우치게 산출될 수 있다.
이와 같이, 가까이에 있는 그룹에서 비롯되는 타겟 예비 부하를 더 가중치를 두기 때문에, 예측도를 더욱 상승시킬 수 있다.
상기 미리 정해진 산출 방법은 소정 기간 동안의 상기 타겟 예측 부하 정보를 산출하는 방법을 더 포함할 수 있다.
상기 미리 정해진 산출 방법은 기간 단위로 가상 머신의 워크 로드를 산출할 수 있다.
이로 인해, 미래의 워크 로드를 용이하게 예측하여 추후에 데이터 센터를 어떻게 관리할지에 대한 해법을 손쉽게 발견할 수 있다.
상기 제어부는 상기 물리 서버에 있는 모든 가상 머신에 대해서 타겟 예측 부하 정보를 산출할 수 있다.
물리 서버가 과부화되는 것을 방지하고 물리 서버가 효율적으로 운영될 수 있도록, 사용자는 가상 머신의 미래의 워크 로드를 기초로 가상 머신들을 마이그레이션 시킬 수 있다.
타겟 가상 머신은 상술한 물리 서버 상의 하나의 가상 머신일 수도 있고, 별도로 분석하고 싶어하는 외부의 가상 머신일 수 있다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
10 : 예측 장치 11 : 제어부
12 : 저장부 13 : 수신부

Claims (11)

  1. 예측 장치에 의해 구현되며, 물리 서버 상에 설치된 가상 머신에 의해 부과될 것으로 예측되는 물리 서버의 부하인 예측 부하가 산출되는 방법인 가상 머신 예측 워크 로드 산출 방법에 있어서,
    상기 물리 서버에 설치된 상기 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 저장 부하와 관련된 정보인 저장 부하 정보가 수집되는 단계;
    복수의 가상 머신에 대한 상기 저장 부하들이 미리 정해진 분류 방법에 의해 분류되는 단계;
    동일한 그룹으로 분류된 상기 저장 부하들 단위로 상기 예측 부하를 산출할 수 있는 예측 모델이 형성되는 단계;
    분석 대상 가상 머신인 타겟 가상 머신에 의해 발생될 것으로 예측되는 상기 물리 서버의 부하인 타겟 예측 부하에 대한 예측도를 상승시키기 위하여, 미리 정해진 선정 방법에 의해 복수의 예측 모델 중에서 적어도 하나의 예측 모델이 선정되는 단계; 및
    상기 타겟 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 타겟 저장 부하와 관련된 정보인 타겟 저장 부하 정보와 선정된 예측 모델인 선정 모델을 기초로 미리 정해진 산출 방법에 의해 상기 타겟 예측 부하와 관련된 정보인 타겟 예측 부하 정보가 산출되는 단계;를 포함하고,
    상기 미리 정해진 분류 방법은,
    상기 저장 부하들을 소정의 기준인 정렬 기준으로 정렬한 후, 소정의 방법인 기준 구분 방법을 통해 상기 저장부하들을 그룹화하는 방법이고,
    상기 미리 정해진 선정 방법은,
    상기 타겟 저장 부하가 상기 저장 부하의 일 그룹에 위치 되는 경우, 상기 타겟 저장 부하가 위치되는 그룹으로 분류된 상기 저장 부하들을 기초로 산출된 예측 모델이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제1 선정 방법을 구비하고,
    상기 타겟 저장 부하가 상기 저장 부하의 어느 그룹 내에도 위치되지 않는 경우, 상기 타겟 저장 부하를 기준으로 판단되는 미리 정해진 조건이 만족되는 상기 저장 부하의 그룹에 대응되는 예측 모델들이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제2 선정 방법을 구비하는,
    가상 머신 예측 워크 로드 산출 방법.
  2. 제1항에 있어서,
    상기 미리 정해진 조건은,
    상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하로부터 소정 거리 이내에 위치되는 조건인,
    가상 머신 예측 워크 로드 산출 방법.
  3. 제1항에 있어서,
    상기 미리 정해진 조건은,
    상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하에서 상기 저장 부하의 그룹과의 거리 중 가장 짧은 거리인 기준 거리를 기준으로 기준 범위 내에 위치되는 조건인,
    가상 머신 예측 워크 로드 산출 방법.
  4. 제1항에 있어서,
    상기 기준 구분 방법은,
    K-평균 군집화(K-means Clustering) 또는 계측정 군집화(Hierarchical Clustering)을 이용하는 방법인,
    가상 머신 예측 워크 로드 산출 방법.
  5. 제1항에 있어서,
    상기 미리 정해진 산출 방법은,
    상기 선정 모델이 단수 혹은 복수 인지에 따라 다른 방법으로 상기 타겟 예측 부하 정보를 산출하는 방법인,
    가상 머신 예측 워크 로드 산출 방법.
  6. 제5항에 있어서,
    상기 미리 정해진 산출 방법은,
    상기 선정 모델이 단수일 경우, 상기 선정 모델에 상기 타겟 저장 부하 정보를 입력하여 상기 타겟 예측 부하 정보가 산출되는 방법인,
    가상 머신 예측 워크 로드 산출 방법.
  7. 제5항에 있어서,
    상기 미리 정해진 산출 방법은,
    상기 선정 모델이 복수 일 경우, 복수의 상기 선정 모델 모두에 상기 타겟 저장 부하 정보가 입력되어 산출되는 결과 값인 복 수의 타겟 예비 부하와 관련된 복수의 타겟 예비 부하 정보에 상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때, 상기 타겟 저장 부하와 상기 선정 모델과 대응되는 상기 저장 부하의 그룹들의 이격 거리들의 비율을 근거로 하여 산출되는 가중치가 고려되어, 상기 타겟 예측 부하 정보가 산출되는 방법인,
    가상 머신 예측 워크 로드 산출 방법.
  8. 가상 머신 예측 워크 로드 산출 방법을 구현하는 예측 장치에 있어서,
    상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 정보를 연산 처리하는 제어부;
    상기 가상 머신 예측 워크 로드 산출 방법이 구현되는데 필요한 정보가 저장되는 저장부;
    소정의 정보를 송신하는 송신부; 및
    소정의 정보를 수신하여 상기 제어부, 상기 저장부 또는 상기 송신부로 전달하는 수신부;를 포함하고,
    상기 가상 머신 예측 워크 로드 산출 방법은,
    물리 서버에 설치된 상기 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 저장 부하와 관련된 정보인 저장 부하 정보가 수집되는 단계;
    복수의 가상 머신에 대한 상기 저장 부하들이 미리 정해진 분류 방법에 의해 분류되는 단계;
    상기 저장 부하가 소정의 기준인 정렬 기준으로 정렬될 경우, 동일한 그룹으로 분류된 상기 저장 부하들 단위로 예측 부하를 산출할 수 있는 예측 모델이 형성되는 단계;
    분석 대상 가상 머신인 타겟 가상 머신에 의해 발생될 것으로 예측되는 상기 물리 서버의 부하인 타겟 예측 부하에 대한 예측도를 상승시키기 위하여, 미리 정해진 선정 방법에 의해 복수의 예측 모델 중에서 적어도 하나의 예측 모델이 선정되는 단계; 및
    상기 타겟 가상 머신에 의해 발생되었던 상기 물리 서버의 부하인 타겟 저장 부하와 관련된 정보인 타겟 저장 부하 정보와 선정된 예측 모델인 선정 모델을 기초로 미리 정해진 산출 방법에 의해 상기 타겟 예측 부하와 관련된 정보인 타겟 예측 부하 정보가 산출되는 단계;를 포함하고,
    상기 미리 정해진 선정 방법은,
    상기 타겟 저장 부하가 상기 저장 부하의 일 그룹에 위치 되는 경우, 상기 타겟 저장 부하가 위치되는 그룹으로 분류된 상기 저장 부하들을 기초로 산출된 예측 모델이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제1 선정 방법을 구비하고,
    상기 타겟 저장 부하가 상기 저장 부하의 어느 그룹 내에도 위치되지 않는 경우, 상기 타겟 저장 부하를 기준으로 판단되는 미리 정해진 조건이 만족되는 상기 저장 부하의 그룹에 대응되는 예측 모델들이 상기 선정 모델로서 선정되는 방법인 미리 정해진 제2 선정 방법을 구비하는,
    예측 장치.
  9. 제8항에 있어서,
    상기 미리 정해진 조건은,
    상기 타겟 저장 부하가 상기 정렬 기준으로 정렬될 때 상기 타겟 저장 부하로부터 소정 거리 이내에 위치되는 조건인,
    예측 장치.
  10. 제8항에 있어서,
    상기 미리 정해진 분류 방법은,
    상기 저장 부하를 소정의 기준인 정렬 기준으로 정렬하는 미리 정해진 제1 분류 방법 및 상기 정렬 기준에 의해 정렬된 저장 부하를 소정의 방법인 기준 구분 방법을 통해 분류하는 미리 정해진 제2 분류 방법을 구비하고,
    상기 기준 구분 방법은,
    K-평균 군집화(K-means Clustering) 또는 계측정 군집화(Hierarchical Clustering)을 이용하는 방법인,
    예측 장치.
  11. 제8항에 있어서,
    상기 미리 정해진 산출 방법은,
    상기 선정 모델이 단수 혹은 복수 인지에 따라 다른 방법으로 상기 타겟 예측 부하 정보를 산출하는 방법인,
    예측 장치.


KR1020200053253A 2019-09-05 2020-05-04 복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법 KR102347375B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200053253A KR102347375B1 (ko) 2019-09-05 2020-05-04 복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190110079A KR102109088B1 (ko) 2019-09-05 2019-09-05 가상 머신 예측 워크 로드 산출 방법 및 이를 구현하는 예측 장치
KR1020200053253A KR102347375B1 (ko) 2019-09-05 2020-05-04 복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190110079A Division KR102109088B1 (ko) 2019-07-31 2019-09-05 가상 머신 예측 워크 로드 산출 방법 및 이를 구현하는 예측 장치

Publications (2)

Publication Number Publication Date
KR20210029073A KR20210029073A (ko) 2021-03-15
KR102347375B1 true KR102347375B1 (ko) 2022-01-05

Family

ID=79348659

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200053253A KR102347375B1 (ko) 2019-09-05 2020-05-04 복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법

Country Status (1)

Country Link
KR (1) KR102347375B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102469718B1 (ko) * 2021-10-29 2022-11-22 오케스트로 주식회사 이상 징후 모니터링 기능이 탑재된 가상 머신 배치 시스템 및 가상 머신 배치 방법
KR102557631B1 (ko) * 2022-12-27 2023-07-21 오케스트로 주식회사 자원을 고려한 모니터링 장치 및 이를 포함하는 클라우드 통합운영 시스템
KR102607459B1 (ko) * 2023-03-31 2023-11-29 오케스트로 주식회사 서버 가동효율의 제고를 위한 서버 모니터링 장치 및 이를 포함하는 멀티 클라우드 통합운영 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244181A (ja) 2009-04-02 2010-10-28 Nec Corp 仮想マシン管理システム,仮想マシン配置設定方法及びそのプログラム
JP2016057898A (ja) 2014-09-10 2016-04-21 富士通株式会社 負荷分散管理装置、制御方法およびプログラム
JP5983728B2 (ja) 2012-03-08 2016-09-06 日本電気株式会社 仮想マシン管理装置及び仮想マシン管理方法
KR101886317B1 (ko) 2017-04-28 2018-08-08 울산과학기술원 가상 머신 배치 선택 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101977726B1 (ko) * 2015-11-17 2019-05-14 한국전자통신연구원 가상 데스크탑 서비스 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244181A (ja) 2009-04-02 2010-10-28 Nec Corp 仮想マシン管理システム,仮想マシン配置設定方法及びそのプログラム
JP5983728B2 (ja) 2012-03-08 2016-09-06 日本電気株式会社 仮想マシン管理装置及び仮想マシン管理方法
JP2016057898A (ja) 2014-09-10 2016-04-21 富士通株式会社 負荷分散管理装置、制御方法およびプログラム
KR101886317B1 (ko) 2017-04-28 2018-08-08 울산과학기술원 가상 머신 배치 선택 장치 및 방법

Also Published As

Publication number Publication date
KR20210029073A (ko) 2021-03-15

Similar Documents

Publication Publication Date Title
KR102109088B1 (ko) 가상 머신 예측 워크 로드 산출 방법 및 이를 구현하는 예측 장치
KR102347375B1 (ko) 복수의 예측 모델을 기초로 가상 머신 워크 로드 예측 방법
Askarizade Haghighi et al. An energy-efficient dynamic resource management approach based on clustering and meta-heuristic algorithms in cloud computing IaaS platforms: Energy efficient dynamic cloud resource management
Farahnakian et al. Energy-aware VM consolidation in cloud data centers using utilization prediction model
US20210216355A1 (en) Minimizing impact of migrating virtual services
Ismaeel et al. Proactive dynamic virtual-machine consolidation for energy conservation in cloud data centres
US9684542B2 (en) Smart cloud workload balancer
US20220083389A1 (en) Ai inference hardware resource scheduling
US9967326B2 (en) Information handling system application decentralized workload management
JP6241300B2 (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
KR20230035016A (ko) 고성능 ssd들을 사용하여 롱 테일 레이턴시를 감소시키기 위한 랙-레벨의 스케줄링
CN108667859A (zh) 一种实现资源调度的方法及装置
KR102135208B1 (ko) 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
US20230229486A1 (en) Virtual machine workload prediction method, virtual machine management method having the same and virtual machine management system implementing the same
CN111782147A (zh) 用于集群扩缩容的方法和装置
Shaw et al. A predictive anti-correlated virtual machine placement algorithm for green cloud computing
US11354163B2 (en) Virtual machine placement method and virtual machine placement device implementing the same
CN106104527B (zh) 流式查询资源控制
US10002173B1 (en) System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment
KR102135209B1 (ko) 가상 머신 배치 모의 실험 방법 및 이를 구현하는 가상 머신 배치 모의 실험 장치
US12028269B2 (en) Method for optimal resource selection based on available GPU resource analysis in large-scale container platform
Swagatika et al. Markov chain model and PSO technique for dynamic heuristic resource scheduling for system level optimization of cloud resources
KR102316749B1 (ko) 가상 머신 워크로드 예측 방법, 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102126434B1 (ko) 딥 러닝을 활용한 워크 로드 예측을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102347371B1 (ko) 딥러닝을 이용한 가상 머신 배치 시뮬레이션 방법 및 이를 실행하는 가상 머신 배치 모의 실험 장치

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