KR102381570B1 - 예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법 - Google Patents

예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법 Download PDF

Info

Publication number
KR102381570B1
KR102381570B1 KR1020210141139A KR20210141139A KR102381570B1 KR 102381570 B1 KR102381570 B1 KR 102381570B1 KR 1020210141139 A KR1020210141139 A KR 1020210141139A KR 20210141139 A KR20210141139 A KR 20210141139A KR 102381570 B1 KR102381570 B1 KR 102381570B1
Authority
KR
South Korea
Prior art keywords
physical server
virtual machine
schedule
condition
virtual
Prior art date
Application number
KR1020210141139A
Other languages
English (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 KR1020210141139A priority Critical patent/KR102381570B1/ko
Application granted granted Critical
Publication of KR102381570B1 publication Critical patent/KR102381570B1/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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

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

본 발명의 일 실시예에 따른 가상 머신 배치 시스템은, 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하기 위해서, 가상 머신에 의해 물리 서버에 부과되는 부하를 예측하는 가상 머신 배치 시스템에 있어서, 미리 정해진 워크로드 산출 방법을 이용하여 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드를 산출하는 저장하는 워크로드 산출 모듈; 상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드를 산출하는 예측 모듈; 제약 조건을 고려하여 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정을 산출하는 스케줄 모듈; 및 산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성을 검사하는 검사 모듈;을 포함하고, 상기 검사 모듈은, 상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 상기 최초 예측 가상 로드의 예측 정확성을 검사할 수 있다.

Description

예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법 {A VIRTAUL MACHINE PLACEMENT SYSTEM PROVIDNG A DEPLOYMENT SCHEDULE REFLECTING UNCERTAINTY IN FORECASTING AND A METHOD OF VIRTAUL MACHINE PLACEMENT}
본 발명은 실제 상황과 예측 간의 간극에서 발생되는 불확실성을 고려하여 가상 머신 배치를 고안하는 가상 머신 배치 시스템 및 가상 머신 배치 방법에 대한 것이다.
전 세계 전력사용량의 약 2%를 차지하는 데이터센터는 단일 건물 중 전력을 가장 많이 사용하는 고밀도 에너지 다소비 건물이지만, 안정성을 최우선시하는 보수적인 운영을 고수하여 비효율적인 운영 현황을 보이고 있다. 향후 사물인터넷, 빅 데이터, 클라우드 기술 등의 확산으로 인해 소규모의 데이터센터는 대규모의 데이터센터인 '하이퍼스케일', '메가' 데이터센터로 통합될 것으로 전망되는바, 인프라 확대에 따른 데이터센터 운영관리의 복잡성 또한 심화될 것으로 전망된다. 이에 불필요한 서버는 유휴 혹은 절전모드로 전환하고, 가용되는 서버를 최대 물리적 자원(Physical Machine, PM, 물리 서버)들을 논리적 자원(Virtual Machine, VM, 가상 머신)들로 구성하는 가상화 환경에서는 구동 중인 가상 머신을 다른 물리 서버로 이동시킬 수 있는데, 이를 라이브 마이그레이션이라고한다. 이는 효율적인 데이터센터를 관리하는데 필수적인 관리 방법이다. 다만, 마이그레이션 할 경우 데이터 손실 위험, 리소스의 많은 부분이 차지되는 등의 단점도 있다.
여기서, 기존의 연구(일본특허공보 특허 제5827594, 2015. 10. 23, 등록)들은 특정 시점을 기준으로 임의의 물리 서버에 임계 값 이상의 부하가 걸릴 경우 마이그레이션을 하여, 부하가 걸린 물리 서버의 부하를 저감시키는 방법으로 물리 서버들 간의 균형을 맞추고 있다. 하지만 이러한 방법은 문제되는 상황을 미리 예방하지 못한다는 점에서 서버가 불안정해지는 문제를 가지고 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 정확한 워크로드 예측을 통해 가상 머신을 배치하고 관리하는 가상 머신 배치 시스템 및 가상 머신 배치 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
본 발명의 일 실시예에 따른 가상 머신 배치 시스템은, 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하기 위해서, 가상 머신에 의해 물리 서버에 부과되는 부하를 예측하는 가상 머신 배치 시스템에 있어서, 미리 정해진 워크로드 산출 방법을 이용하여 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드를 산출하는 저장하는 워크로드 산출 모듈; 상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드를 산출하는 예측 모듈; 제약 조건을 고려하여 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정을 산출하는 스케줄 모듈; 및 산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성을 검사하는 검사 모듈;을 포함하고, 상기 검사 모듈은, 상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 상기 최초 예측 가상 로드의 예측 정확성을 검사할 수 있다.
또한, 상기 제약 조건은, 상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비할 수 있다.
또한, 상기 검사 모듈은, 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 스케줄 모듈이 상기 배치 일정을 재 산출하거나 상기 예측 모듈이 상기 최초 예측 가상 로드를 재 예측하도록 할 수 있다.
또한, 상기 미리 정해진 제1 검증 조건은, 상기 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반되지 않은 경우가 제1 검증값 이상일 조건일 수 있다.
또한, 상기 검사 모듈은, 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않으면서 동시에 미리 정해진 제2 검증 조건을 만족하지 않은 경우, 상기 예측 모듈이 상기 최초 예측 가상 로드를 재 예측하도록 할 수 있다.
또한, 상기 검사 모듈은, 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않으나, 미리 정해진 제2 검증 조건을 만족하는 경우, 미리 정해진 제3 검증 조건이 만족하는지 여부를 추가적으로 판단하여 미리 정해진 보정 방법에 따라 상기 최초 예측 가상 로드를 보정할 수 있다.
또한, 상기 미리 정해진 제2 검증 조건은, 상기 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반되지 않은 경우가 제2 검증값 이상 제1 검증값 미만일 조건일 수 있다.
또한, 상기 미리 정해진 제3 검증 조건은, 상기 검사 영역 중 일 영역인 제1 영역, 상기 검사 영역 중 일 영역으로서 상기 제1 영역과 이웃되는 제2 영역 및 상기 검사 영역 중 일 영역으로서 상기 제2 영역과 이웃되는 제3 영역 모두에 대해서 연속적으로 보정 조건이 만족될 조건이고, 상기 보정 조건은, 일 영역 내에서 상기 최초 예측 가상 로드보다 더 큰 임의의 워크로드가 상기 제약 조건에 위반되지 않은 경우가 상기 제1 검증값 이상이거나 혹은 일 영역 내에서 상기 최초 예측 가상 로드보다 더 작은 임의의 워크로드가 상기 제약 조건에 위반되지 않은 경우가 제1 검증값 이상일 조건일 수 있다.
또한, 상기 미리 정해진 보정 방법은, 연속적으로 상기 보정 조건을 만족하는 방향으로 상기 최초 예측 가상 로드를 보정할 수 잇다.
본 발명의 일 실시예에 따른 가상 머신 배치 방법은, 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하는 가상 머신 배치 방법에 있어서, 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크로드 산출 방법에 의해 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드가 산출되는 단계; 상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드가 산출되는 단계; 제약 조건을 고려하여 미리 정해진 배치 일전 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정이 산출되는 단계; 및 산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성이 검사되는 단계;를 포함하고, 상기 예측 정확성은, 상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 검사될 수 있다.
또한, 상기 제약 조건은, 상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비할 수 있다.
또한, 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 배치 일정이 재 산출되거나 상기 최초 예측 가상 로드가 재 예측되는 단계;를 더 포함할 수 있다.
본 발명에 따른 예측의 불확실성을 반영하여 가상 머신을 관리하는 가상 머신 배치 시스템 및 가상 머신 배치 방법은 가상 머신 배치 시스템 및 가상 머신 배치 방법은 데이터 손실을 최소화할 수 있다.
또한, 예측의 정확성을 효과적으로 증대시킬 수 있다.
또한, 리소스의 소요를 최소화할 수 있다.
또한, 데이터센터를 안정적으로 관리할 수 있다.
또한, 전력 소비량을 효과적으로 절감시킬 수 있다.
또한, 서버의 수명을 획기적으로 증대시킬 수 있다.
다만, 본 발명의 효과가 상술한 효과들로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 가상 머신 배치 시스템의 관계도
도 2는 본 발명의 일 실시예에 따른 가상 머신 배치 시스템의 구성도
도 3은 본 발명의 일 실시예에 따른 가상 머신 배치 시스템에 의해 구현되는 가상 머신 배치 방법의 순서도
도 4는 본 발명의 일 실시예에 따른 가상 머신 배치 시스템의 검사 모듈이 검사를 하는 과정에서 요구되는 검사 영역을 설명하기 위한 그래프
도 5는 본 발명의 일 실시예에 따른 가상 머신 배치 시스템의 검사 모듈이 수행하는 보정 과정을 설명하기 위한 그래프
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상 범위 내에 포함된다고 할 것이다.
또한, 각 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 가상 머신 배치 시스템의 관계도이고, 도 2는 본 발명의 일 실시예에 따른 가상 머신 배치 시스템의 구성도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시에에 따른 가상 머신 배치 시스템(10)은 물리 서버(20)와 유/무선으로 연결되어 물리 서버의 제어, 물리 서버에 가상 머신의 배치, 가상 머신 제어 등을 통한 상기 물리 서버 및 상기 가상 머신을관리할 수 있다.
또한, 관리자 컴퓨팅 장치(30)는 상기 물리 서버 및/또는 상기 가상 머신과 유/무선으로 연결되어 상기 가상 머신 배시 시스템을 관리하거나, 상기 물리 서버를 관리할 수 있다.
또한 상기 관리자 컴퓨팅 장치는 상기 물리 서버의 상태 혹은 상기 가상 머신 배치 시스템의 상태를 상시적으로 모니터링하면서 살펴볼 수 있다.
물리 서버(20)는 가상 머신이 실행될 수 있는 하드웨어 플랫폼을 의미할 수 있다.
본 발명에서 언급하는 서버는 서버의 서버 환경을 수행하기 위한 다른 구성들이 포함될 수도 있다.
서버는 임의의 형태의 장치는 모두 포함할 수 있다.
일례로, 서버는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다.
일례로, 서버는 웹 서버일 수 있다. 다만, 이에 한정하지 않고, 서버의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변경 가능하다.
다만, 이에 한정하지 않고 상기 물리 서버는 가상 머신이 실행될 수 있는 모든 수단을 포함하는 개념일 수 있다.
가상 머신 배치 시스템(10)은 일종의 컴퓨팅 장치로서 정보 처리 연산을 처리할 수 있는 장치를 의미할 수 있다.
일례로, 컴퓨팅 장치는 데스크탑 컴퓨터, 노트북, 스마트폰, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 휴대용 단말기 등이 포함되는 이동 단말기 및/또는 스마트 TV 등이 포함될 수 있다.
다만, 이이 한정하지 않고 상기 가상 머신 배치 시스템의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
관리자 컴퓨팅 장치는 관리자가 사용하는 컴퓨팅 장치를 의미하는 것으로서, 컴퓨팅 장치에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 가상 머신 배치 시스템은 가상 머신을 배치하고 정렬하는데 필요한 정보(일례로, 데이터)를 처리하는 처리부(11), 가상 머신을 배치하고 정렬하는데 필요한 정보를 저장하는 저장부(12), 가상 머신을 배치하고 정렬하는데 필요한 정보를 수신하는 수신부(13) 및 가상 머신을 배치하고 정렬하는데 필요한 정보를 송신하는 송신부(14)를 포함할 수 있다.
또한, 상기 가상 머신 배치 시스템은 외부로부터 입력되는 것들에 의해 발생되는 정보를 상기 수신부(13)로 전달하는 입력부(15) 및 후술하는 배치 일정을 표시하여 상기 배치 일정을 사용자에게 전달하는 매개체는 표시부(16)를 더 포함할 수 있다.
상기 저장부(12)는 상기 가상 머신 배치 방법이 구현되는데 필요한 정보(데이터)가 저장되어 있을 수 있다.
상기 저장부(12)에는 상기 가상 머신 배치 방법을 수행하는 프로그램이 저장되어 있을 수 있다.
일례로, 저장부(12)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있다.
일례로, 내장 메모리는 휘발성 메모리(예: DRAM, SRAM, 또는 SDRAM 등), 비휘발성 메모리(예: OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD) 중 적어도 하나를 포함할 수 있다
외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱 등을 포함할 수 있다.
다만, 이에 한정하지 않고 상기 저장부(12)는 상기 가상 머신 배치 방법이 구현되는데 필요한 정보가 저장될 수 있는 모든 요소를 포함할 수 있다.
일례로, 상기 저장부(12)는 데이터베이스일 수 있다.
수신부(13)는 물리 서버로부터 전달되는 정보를 수신할 수 있다.
상기 수신부(13)는 상기 물리 서버의 작동과 관련된 정보를 대응되는 물리 서버로부터 전달받을 수 있다.
상기 송신부(14)는 상기 물리 서버로 정보를 전달할 수 있다.
상기 송신부(14)는 상기 처리부(11)가 산출한 제어 신호를 상기 물리 서버로 전달할 수 있다.
상기 가상 머신 배치 시스템은 하나의 물리 서버에 상에서 구동되는 가상 머신을 다른 물리 서버로 마이그레이션되도록, 각 각의 물리 서버에 제어 신호를 전달할 수 있다.
일례로, 상기 입력부(15)는 키보드일 수 있다.
다만, 이에 한정하지 않고 상기 입력부(15)의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
일례로, 상기 표시부(16)는 디스플레이일 수 있다.
다만, 이에 한정하지 않고 상기 표시부(16)의 종류는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
상기 가상 머신 배치 시스템 내의 구성은 서로 유선 및/또는 무선으로 연결될 수 있다.
상기 가상 머신 배치 시스템은 각각의 상기 물리 서버와 유선 및/또는 무선으로 연결될 수 있다.
처리부(11)는 상기 저장부(12)에 저장되어 있는 정보를 기초로 상기 가상 머신 배치 방법이 구현되는데 필요한 모든 정보 처리와 같은 연산을 수행할 수 있다.
일례로, 상기 처리부(11)는 중앙처리장치(CPU)를 의미할 수 있다.
다만, 이에 한정하지 않고 상기 처리부(11)는 상기 가상 머신 배치 방법이 구현되는데 필요한 연산을 수행할 수 있는 모든 장치 혹은 부품을 포함할 수 있다.
처리부(11)는 워크로드 산출 모듈(11a), 예측 모듈(11b), 온도 예측 모듈(11c), 스케줄 모듈(11e), 마이그레이션 모듈(11f) 및 검사 모듈(11g)을 포함할 수 있다.
발명의 일 실시예에 따른 가상 머신 배치 시스템은 제1 물리 서버, 제2 물리 서버 및 제3 물리 서버를 통제하고 관리하는 것을 기준으로 설명하나, 이에 본 발명이 한정되는 것은 아니고, 상기 가상 머신 배치 시스템이 관리 및 통제하는 물리 서버의 개수는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
일례로, 물리 서버는 제1 물리 서버, 제2 물리 서버 및 제3 물리 서버로 이루어지며, 상기 제1 물리 서버 상에서는 제a 가상 머신, 제b 가상 머신 및 제c 가상 머신이 구동되고 있을 수 있으며, 상기 제2 물리 서버 상에는 제d 가상 머신 및 제e 가상 머신이 구동되고 있을 수 있으며, 상기 제3 물리 서버 상에는 제f 가상 머신 및 제g 가상 머신이 구동되고 있을 수 있다.
이하, 가상 머신 배치 시스템을 이용하여 구현되는 가상 머신 배치 방법에 대해서 자세하게 서술하도록 한다.
도 3은 본 발명의 일 실시예에 따른 가상 머신 배치 시스템에 의해 구현되는 가상 머신 배치 방법의 순서도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 가상 머신 배치 방법은, 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하는 가상 머신 배치 방법에 있어서, 상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크로드 산출 방법에 의해 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드가 산출되는 단계; 상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드가 산출되는 단계; 제약 조건을 고려하여 미리 정해진 배치 일전 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정이 산출되는 단계; 및 산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성이 검사되는 단계;를 포함할 수 있다.
또한, 상기 가상 머신 배치 방법은, 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 배치 일정이 재 산출되거나 상기 최초 예측 가상 로드가 재 예측되는 단계;를 더 포함할 수 있다.
또한, 상기 예측 정확성은, 상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 검사될 수 있다.
또한, 상기 제약 조건은 상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비할 수 있다.
또한, 상기 예측 정확성은 상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 검사될 수 있다.
상기 저장부에는 상기 제1 물리 서버의 작동 관련된 정보, 상기 제2 물리 서버의 작동과 관련된 정보 및 상기 제3 물리 서버의 작동과 관련된 정보가 저장되어 있을 수 있다.
일례로, 상기 제1 물리 서버, 상기 제2 물리 서버 및 상기 제3 물리 서버의 작동과 관련된 정보는 시계열적으로 상기 저장부에 저장되어 있을 수 있다.
이를 위해 상기 제1 물리 서버, 상기 제2 물리 서버 및 상기 제3 물리 서버로부터 각각의 작동과 관련된 정보를 상기 수신부가 전달받을 수 있다.
일례로, 작동과 관련된 정보는 물리 서버의 구성들의 가동률과 관련된 정보 일 수도 있다.
워크로드 산출 모듈은 미리 정해진 워크로드 산출 방법을 이용하여 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드를 산출할 수 있다.
가상 머신 워크로드는 가상 머신이 물리 서버 상에서 구동되는 경우, 해당 물리 서버의 리소스의 부하를 의미할 수 있다.
상기 가상 머신 워크로드는 상기 가상 머신이 상기 물리 서버 상에서 구동되는 경우 상기 물리 서버에 인가되는 부하를 의미할 수 있다.
일례로, 상기 가상 머신 워크로드는 상기 가상 머신이 상기 물리 서버에서 동작되는 것에 의해 상기 물리 서버의 중앙처리장치(CPU)에 부과되는 부하로서 산출될 수 있다.
따라서, 상기 미리 정해진 워크 로드 산출 방법은 물리 서버의 중앙처리장치에 부과되는 부하로서 상기 가상 머신 워크로드를 산출하는 방법을 포함할 수 있다.
다시 말해서, 상기 미리 정해진 워크 로드 산출 방법은 CPU의 가동 정도만을 기초로 상기 가상 머신 워크 로드 정보가 산출될 수 있다.
상기 미리 정해진 워크 로드 산출 방법 상에서는 하나의 가상 머신은 하나의 물리 서버 상에서만 실행될 수 있다고 가정할 수 있다.
일례로, 이는 하나의 가상 머신은 두 개의 물리 서버 상에서 구현될 수 없다는 것을 의미할 수 있다.
하나의 물리 서버에 인가되는 부하는 하나의 물리 서버에 배치되는 가상 머신들에 의해 발생되는 가상 머신 워크로드들의 합일 수 있다.
이는, 후술하는 예측하는데 필요한 기초 데이터를 단순화 함으로써, 후술하는 단계에서 예측의 정확도를 더욱 상승시킬 수 있다.
예측 모듈은 상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드를 산출할 수 있다.
일례로, 기준 시점은 가상 머신 워크로드가 산출되는 시점일 수 있다.
다만, 이에 한정하지 않고 상기 기준 시점은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
상기 최초 예측 가상 로드가 산출되기 위해서, 상기 미리 정해진 제1 기간 동안에 각각의 상기 가상 머신들의 워크 로드인 가상 머신 워크로드가 예측될 수 있다.
미리 정해진 제1 기간 동안의 가상 머신의 워크로드를 예측하여, 이를 기준으로 가상 머신들을 재 배치 하는 이유는, 특정 시점의 과부화를 기초로 마이그레이션을 할 경우, 마이그레이션의 횟수 증가 및 전반적인 물리 서버의 안정화를 구현할 수 없기 때문이다.
따라서, 미래의 특정 시점이 아닌 특정 기간을 기초로 가상 머신을 물리 서버 상에 배치하여, 상술한 문제점을 효과적으로 해결할 수 있다.
일례로, 미리 정해진 제1 기간은 3 개월일 수 있다.
다만, 이에 본 발명이 한정되는 것은 아니고 상기 미리 정해진 제1 기간은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
일례로, 상기 예측 모듈은 상기 저장부에 저장된 상기 가상 머신 워크로드를 기초로 다중회귀모형, ARIMA 분석 또는 Deep Learning과 같은 알고리즘을 활용하여 워크로드를 상기 미리 정해진 제1 기간 동안의 가상 머신 워크 로드 정보를 산출할 수 있다.
이를 위해, 예측 모듈에는 최초 예측 가상 로드를 산출할 수 있는 예측 모델이 저장되어 있을 수 있으며, 예측 모델은 물리 서버에 배치되는 가상 머신의 배치 일정과 이에 대응되는 과거의 가상 머신 워크로드들을 기반으로 기계학습 혹은 딥러닝을 통해 산출될 수 있다.
예측 모듈은 산출된 상기 미리 정해진 제1 기간 동안의 가상 머신 워크로드를 기초로 상기 미리 정해진 제1 기간 동안의 물리 서버의 부하를 예측할 수 있다.
이는, 통상의 기술자에게 자명한 기술로서 이에 대한 자세한 설명은 생략될 수 있다.
일례로, 최초 예측 가상 로드란 상기 가상 머신 워크로드 산출 시점에서부터 미리 정해진 제1 기간 동안 또는 임의의 시점에서부터 미리 정해진 제1 기간 동안 예측되는 가상 머신의 워크로드를 의미할 수 있다.
온도 예측 모듈은 상기 최초 예측 가상 로드를 기초로 미리 정해진 제1 기간 동안 상기 물리 서버의 온도를 예측할 수 있다.
구체적으로 설명하자면, 온도 센싱 모듈은 상기 물리 서버의 온도를 측정하는 모듈로서, 상기 물리 서버에 배치되는 온도 센서 및 상기 온도 센서로부터 제공되는 정보를 기초로 온도를 산출하는 온도 산출부를 구비할 수 있다.
온도 센서는 물리 서버 내부에 존재할 수 있고 또는 물리 서버 외면에 부착되어 물리 서버에 발생되는 온도 측정할 수 있다.
각각의 물리 서버에 복수개의 온도 센서들이 배치될 수 있으며, 하나의 물리서버에도 복수개의 온도 센서들이 배치될 수 있다.
상기 온도 산출부는 상기 온도 센서로부터 제공되는 측정 정보를 기초로 물리 서버의 온도를 산출할 수 있다.
상기 온도 예측 모듈은 가상 머신에 의해 발생되는 물리 서버의 부하와 동일한 시점에 물리 서버의 온도 값들을 기초로 기계 학습 혹은 딥러닝하여 물리 서버의 온도를 예측하는 온도 예측 모델을 산출할 수 있다.
상기 온도 예측 모델에 상기 최초 예측 가상 로드를 입력하는 경우, 미리 정해진 제1 기간 동안 상기 물리 서버의 온도를 예측할 수 있다.
스케줄 모듈은 예측되는 상기 물리 서버의 온도를 고려하여 상기 배치 일정을 산출할 수 있다.
스케줄 모듈은 제약 조건을 고려하여 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정을 산출할 수 있다.
상기 스케줄 모듈은 상기 최초 예측 가상 로드를 활용하여 상기 배치 일정을 산출할 수 있으며, 상기 예측 모듈은 필요에 따라 상기 스케줄 모듈과 함께 다시 예측 산출을 실시할 수 있다.
여기서, 상기 미리 정해진 배치 일정 산출 방법은 상기 최초 예측 가상 로드를 기초로 목적 함수 값이 최소화될 때 상기 배치 일정을 산출하는 방법일 수 있다.
목적함수는 "제1 가중치 * 제1 목적 함수 + 제2 가중치*제2 목적 함수 + 제3 가중치*제3 목적 함수 + 제4 가중치+제4 목적 함수"로 이루어질 수 있다.
상기 스케줄 모듈은 제약 조건을 고려하여 상기 미리 정해진 배치 일정 산출 방법으로 상기 배치 일정을 산출할 수 있다.
상기 제약 조건은 상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건을 구비할 수 있다.
일례로, 제2 기준은 40도일 수 있다.
다만, 이에 한정하지 않고 상기 제2 기준은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
본 발명에서 말하는 하나의 물리 서버는 복수개의 개별 서버들이 배치된 서버랙 단위를 말하는 것으로서, 지점은 하나의 개별 서버를 말하는 것일 수 있다.
상기 온도 센서는 하나의 개별 서버마다 배치될 수 있다.
제1 조건은 소정 온도 이상의 서버에는 가상 머신을 배치하지 않기 위함일 수 있다.
상기 제약 조건은 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과되도록 상기 가상 머신의 배치 일정이 산출되도록 하는 조건인 제2 조건을 더 구비할 수 있다.
일례로, 상기 미리 정해진 범위는 물리 서버의 가동률(부하가 부과되는 정도)이 10% ~ 80%일 수 있다.
다만, 이에 한정하지 않고 상기 미리 정해진 범위는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
상기 제약 조건은 가동되지 않는 상기 물리 서버가 가상 머신의 이동으로 인해 가동되고 있는 경우, 일정 시간 동안 상기 물리 서버가 다시 가동되지 않도록 하는 조건인 제3 조건을 더 구비할 수 있다.
상기 제약 조건은 상기 미리 정해진 제1 기간 동안에 가상 머신의 마이그레이션이 허용되는 조건인 제4 조건을 더 구비할 수 있다.
즉, 상기 미리 정해진 배치 산출 방법으로 배치 일정을 산출하는 경우, 상기 미리 정해진 제1 기간 동안에 물리 서버들 간의 가상 머신의 이동이 허용되도록 배치 일정이 산출될 수 있다. (제4 조건)
상기 제약 조건은 상기 미리 정해진 제1 기간 동안에 하나의 가상 머신에 대해서 마이그레이션 허용되는 횟수가 소정 기준 이하일 조건인 제5 조건을 더 구비할 수 있다.
일례로, 소정 횟수는 2회일 수 있다.
다만, 이에 한정하지 않고 상기 소정 횟수는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
이는, 가상 머신의 이동이 잦을 경우, 마이그레이션 코스트가 증가되고, 데이터 손실이 유발될 수 있기 때문이다.
상기 제약 조건은 물리 서버의 사양이 동일(homogenous 조건)하다고 가정하는 조건인 제6 조건을 더 구비할 수 있다.
가상 머신이 배치되지 않은 물리 서버는 동작이 꺼질 수 있다.
서버의 전력량은 CPU 사용량과 비례하며, 서버가 꺼져 있다면, 전력량은 0일 수 있다.
상기 제약 조건은 상기 물리 서버의 성능을 고려한 조건인 성능 조건을 더 구비할 수 있다.
상기 성능 조건은 미리 정해진 성능 지수 이하의 성능 지수를 갖는 상기 물리 서버에는 상기 가상 머신의 배치를 제외하는 조건일 수 있다.
일례로, 미리 정해진 성능 지수는 0.2일 수 있다.
다만, 이에 한정하지 않고, 상기 미리 정해진 성능 지수 값은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
물리 서버의 성능이 너무 저하되었을 경우, 가상 머신의 동작에도 영향을 미칠 수 있다. 따라서, 성능이 너무 떨어진 물리 서버에는 가상 머신을 배치하지 않는 것이 바람직할 수 있다.
물리 서버의 사용에 따른 성능 저하, 물리 서버 on/off 회수에 따른 성능 저하 및 물리 서버의 온도에 대한 성능 저하 등을 고려하여 물리 서버의 성능 지수가 산출될 수 잇다. 성능 지수 산출을 위해, 성능 지수 산출 모듈을 더 포함할 수 있다.
상기 미리 정해진 배치 산출 방법은 상기 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과될 수 있도록, 상기 의의 물리 서버의 부하가 제1 기준 이상 될 것으로 예측될 경우에는, 상기 임의의 물리 서버에 배치된 상기 가상 머신들 중 적어도 하나의 상기 가상 머신을 다른 물리 서버로 이동시키는 방법을 포함할 수 있다. (제2-1조건)
일례로, 상기 제1 기준(X10, 도 4및 도 5 참조)은 상기 물리 서버의 가동률(부하가 부과되는 정도)이 80 %인 것을 의미할 수 있다.
상기 스케줄 모듈은, 상기 물리 서버의 부하가 제1 기준이 넘지 않도록 하는 해결 방법으로, 대상 물리 서버의 워크 로드가 제1 기준이 넘을 것으로 예측되는 시점을 기준으로, 상기 대상 물리 서버에 배치되는 적어도 하나의 가상 머신을 다른 물리 서버로 이전 하는 방법을 이용하여 상기 배치 일정을 산출할 수 있다.
이로 인해, 상기 물리 서버의 워크 로드(가동률)가 제1 기준을 넘어 과잉 부하가 인가되는 것을 효과적으로 예방할 수 있다.
다만, 이에 한정하지 않고 상기 제1 기준은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
또한, 상기 미리 정해진 배치 산출 방법은 상기 임의의 물리 서버에 대해서 상기 물리 서버의 부하가 미리 정해진 범위 내에서만 부과될 수 있도록, 상기 임의의 물리 서버의 부하가 제2 기준(X20 이하 될 것으로 예측될 경우에는, 상기 임의의 물리 서버에 배치된 상기 가상 머신들 모두를 다른 물리 서버로 이동시키는 방법을 포함할 수 있다. (제2-2 조건)
일례로, 상기 제2 기준(X20)은 상기 물리 서버의 가동률(부하가 부과되는 정도)이 10 %인 것을 의미할 수 있다.
상기 스케줄 모듈은 상기 물리 서버 부하가 제2 기준 이하로 되지 않도록 하는 해결 방법으로, 대상 물리 서버의 워크 로드가 제2 기준 이하로 떨어질 것으로 예측되는 시점을 기준으로, 상기 대상 물리 서버에 배치되는 모든 가상 머신들을 다른 물리 서버로 이전하는 방법을 이용하여 상기 배치 일정을 산출할 수 있다.
이는, 물리 서버가 가동되지 않는 조건의 개시 조건을 의미할 수 있다.
다시 말하면, 상기 처리부는 상기 물리 서버 부하가 제2 기준 이하로 되지 않도록 하는 해결 방법으로, 대상 물리 서버에 배치된 가상 머신을 다른 물리 서버로 배치하여, 대상 물리 서버의 동작을 정지시킬 수 있다.
상기 미리 정해진 배치 산출 방법은 가동되지 않는 상기 물리 서버가 가동되도록 하는 상기 가상 머신의 이동으로 인해 가동 중인 상기 물리 서버가 가동되지 않는 상태로 변화되지 않도록, 상기 배치 일정 정보가 산출되는 방법을 포함할 수 있다. (제3 조건)
하나의 물리 서버를 중단 시키는 것과 동시에 다른 물리 서버의 동작을 개시하게 되면, 물리 서버를 중단 시키는 것에 대한 이익이 없으며, 서버를 가동하는데 발생되는 전력 및 시간이 더 소요되기 문제가 발생된다.
따라서, 제3 조건을 통해, 이와 같은 문제를 해결하고자 하는 것일 수 있다.
이에 대한 자세한 설명은 후술한다.
상기 스케줄 모듈은 목적 함수 값이 최소값을 가지는 배치 일정을 1개 내지 4개 산출할 수 있다.
이하, 상기 미리 정해진 배치 일정 산출 방법에 대해서 자세하게 서술하도록 한다.
상기 목적 함수는 상기 물리 서버의 온도를 고려한 함수인 제1 목적 함수를 구비할 수 있다.
상기 제1 목적함수는 상기 미리 정해진 제1 기간 동안 상기 물리 서버 상에서 제1 기준 이상의 온도를 가진 지점의 개수를 고려한 함수일 수 있다.
제1 기준은 40도일 수 있다.
다만, 이에 한정하지 않고 상기 제2 기준은 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
또한, 상기 제1 목적 함수는 상기 제1 미리 정해진 제1 기간 동안 상기 물리 서버의 온도가 소정 범위에 인접되도록 하는 것을 고려한 함수일 수 있다.
일례로, 소정 범위는 18도 내지 25도 일 수 있다.
다만, 이에 한정하지 않고 상기 소정 범위는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
상기 목적 함수는 상기 미리 정해진 제1 기간 동안 상기 물리 서버의 가동 시간과 관련된 함수인 제2 목적 함수를 더 구비할 수 있다.
즉, 상기 제2 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 제1 물리 서버의 가동 여부 및 상기 제2 물리 서버의 가동 여부와 관련된 함수일 수 있다.
제2 목적 함수가 작을수록 가동되지 않는 물리 서버의 개수 및 물리 서버의 가동되지 않는 시간이 최대로 될 수 있다.
상기 제2 목적 함수가 최소일 경우, 모든 물리 서버에 대해서 물리 서버 한대 당 가동되지 않는 시간들의 총합이 최대로 될 수 있다.
제2 목적 함수의 의미는 서버 가동 시간을 최소화 하여 물리 서버 가동에 따란 전력 손실을 최소화 하는데 의미가 있을 수 있다.
상기 목적 함수는 상기 미리 정해진 제1 기간 동안 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하의 변화량과 관련된 함수인 제3 목적 함수를 더 구비할 수 있다.
상기 목적 함수는 상기 미리 정해진 제1 기간 동안, 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하(워크 로드)의 변화량과 관련된 함수인 제3 목적 함수를 더 구비할 수 있다.
만일 물리 서버의 워크 로드의 변화율이 크다면, 짧은 시간 동안만 물리 서버의 워크 로드가 임의의 기준이 넘어, 가상 머신의 마이그레이션(이전)이 이루어질 수 있다.
이럴 경우, 앞서 상술한 가상 머신의 잦은 마이그레이션이 발생될 수 있으므로, 가상 머신의 데이터 손실의 위험성이 더욱 높아질 수 있다.
제3 목적 함수는 이를 예방하기 위한 함수일 수 있다.
상기 목적 함수는 상기 미리 정해진 제1 기간 동안 상기 최초 예측 가상 로드에 의해 산출되는 물리 서버의 부하들 간의 차이와 관려된 함수인 제4 목적 함수를 더 구비할 수 있다.
제4 목적 함수의 의미는 물리 서버를 고르게 활용하고자 함일 수 있다.
제1 가중치 내지 제4 가중치는 가상 머신 배치 시스템의 설치자가 미리 설정하여 상기 저장부에 저장할 수 있다.
상기 스케줄 모듈은 각 목적 함수들 간의 가중치를 설정하여 상기 배치 일정을 산출하고, 상기 물리 서버 상에서 제1 기준 이상의 온도를 가진 지점의 개수 혹은 상기 물리 서버들의 평균 온도가 증가함에 따라, 상기 제1 목적 함수의 가중치를 높여서 상기 배치 일정을 산출할 수 있다.
일례로, 물리 서버에 핫 스팟의 개수가 증가되거나 물리 서버들의 평균 온도가 올라갈 경우, 통상적인 가상 머신 마이그레이션으로 물리 서버의 온도 증가 문제를 해결하지 못하는 것일 수 있다. 이로 인해, 제1 가중치를 더 높일 경우, 배치 일정 산출시에 온도에 대한 요소가 더 많이 고려되어, 물리 서버의 온도 조절에 더욱 중점을 둔 배치 일정이 산출될 수 있다.
배치 일정은 제1 조건 내지 제6 조건이 만족되는 상태에서 각각의 목적 함수가 최소화될 수 있도록, 물리 서버들 상에서 가상 머신들이 어떻게 배치되는지에 대한 일정을 의미할 수 있다.
상기 표시부는 상기 처리부에서 전달되는 배치 일정들을 표시(S40)할 수 있다.
상기 처리부는 제1 배치 일정과 관련된 정보인 제1 배치 일정 정보, 상기 제2 배치 일정과 관련된 정보인 제2 배치 일정 정보, 제3 배치 일정과 관련된 정보인 제3 배치 일정 정보 및 제4 배치 일정과 관련된 정보인 제4 배치 일정 정보를 산출한 뒤에 상기 표시부에 전달할 수 있다.
상기 배치 일정은 상기 제1 목적 함수의 값이 최소인 상태를 기준으로, 상기 제2 목적 함수의 값, 상기 제3 목적 함수 및 제4 목적 함수의 값이 최소화되는 물리 서버들(일례로, 제1 물리 서버와 상기 제2 물리 서버) 상의 상기 가상 머신의 배치인 제1 배치 일정, 상기 제2 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제3 목적 함수 및 제4 목적 함수의 값이 최소화되는 물리 서버들(일례로, 제1 물리 서버와 제2 물리 서버) 상의 상기 가상 머신의 배치인 제2 배치 일정, 상기 제3 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제2 목적 함수 및 제4 목적 함수의 값이 최소화되는 물리 서버들(일례로, 제1 물리 서버와 제2 물리 서버) 상의 상기 가상 머신의 배치인 제3 배치 일정 및 상기 제4 목적 함수의 값이 최소인 상태를 기준으로, 상기 제1 목적 함수의 값, 상기 제2 목적 함수 및 제3 목적 함수의 값이 최소화되는 물리 서버들(일례로, 제1 물리 서버와 제2 물리 서버) 상의 상기 가상 머신의 배치인 제4 배치 일정을 구비할 수 있다.
검사 모듈은 산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성을 검사할 수 있다
상기 검사 모듈은 상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 상기 최초 예측 가상 로드의 예측 정확성을 검사할 수 있다.
도 4는 본 발명의 일 실시예에 따른 가상 머신 배치 시스템의 검사 모듈이 검사를 하는 과정에서 요구되는 검사 영역을 설명하기 위한 그래프이다.
도 4를 참조하면, 상기 예측 모듈에 의해 최초 예측 가상 로드(A)가 산출될 수 있다.
다만, 실제 발생되는 워크 로드는 다양한 물리 서버 혹은 가상 머신의 예측하지 못한 요인들로 인해 상기 최초 예측 가상 로드와 차이가 발생될 수 있다.
최초 예측 가상 로드와 실제로 발생되는 워크 로드가 차이나면, 배치 일정을 통해 물리 서버의 안정화 목적이 이루어지지 않을 수 있다.
따라서, 검사 모듈은 최초 예측 가상 로드를 기준으로 오버되는 워크로드 영역인 상위 영역(P10)과 마이너되는 워크로드 영역인 하위 영역(P20)으로 이루어짐 검사 영역을 설정할 수 있다.
검사 영역의 넓이는 가상 머신 배치 시스템이 설치되는 목적, 장소, 용도 등을 고려하여, 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
도 4에 도시된 최초 예측 가상 로드는 하나의 가상 머신에 대해서 예측된 워크 로드이고, 그에 대한 검사 영역일 수 있다.
예측 모듈은 모은 가상 머신에 대해서 최초 예측 가상 로드를 산출할 수 있다.
상기 검사 모듈은 상기 검사 영역 중에서 임의로 하나의 최초 예측 가상 로드를 선택할 수 있다. 이는 가상 머신 마다 진행될 수 있다. 상기 검사 모듈은 임의로 선택된 하나의 최초 예측 가상 로드를 이용하여 산출된 배치 일정으로 가상 머신을 배치하였을 때, 상술한 제한 조건에 위배되는지 점검해볼 수 있다.
상기 검사 모듈은 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 스케줄 모듈이 상기 배치 일정을 재 산출하거나 상기 예측 모듈이 상기 최초 예측 가상 로드를 재 예측할 수 있다.
상기 미리 정해진 제1 검증 조건은 상기 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반되지 않은 경우(확률 또는 퍼센트)가 제1 검증값 이상일 조건일 수 있다.
일례로, 제1 검증값은 90%일 수 있다. 다만, 이에 한정하지 않고 상기 제1 검증값의 구체적인 숫자는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
일례로, 검사 모듈이 검사 영역에서 선택하여 제약 조건의 만족하는지 여부를 총 100번 검사하였을 때, 90번 이상 제약 조건에 저촉되지 않는다면, 상기 미리 정해진 제1 검증 조건이 만족될 수 있다.
만일, 배치 일정이 복수개일 경우에는 과반수 이상의 배치 일정에 대해서 미리 정해진 제1 검증 조건이 만족될 경우에만 상기 미리 정해진 제1 조건이 만족되는 것일 수 있다.
이러한 과반수 원칙은 후술하는 미리 정해진 제2 검증 조건 및 미리 정해진 제3 검증 조건에도 동일하게 적용될 수 있으며, 이에 대한 자세한 설명은 생략될 수 있다.
상기 검사 모듈은 상기 미리 정해진 제1 검증 조건이 만족되는 경우, 상기 표시부는 산출된 배치 일정(들)을 표시할 수 있다
4 개의 목적 함수들은 각각 독립적인 함수로서 4 개의 비 지배해를 가질 수 있기 때문에, 상기 제1 배치 일정, 상기 제2 배치 일정, 상기 제3 배치 일정 및 제4 배치 일정은 서로 독립적인 해결 방법을 의미할 수 있다.
작업자는 입력부를 통해 상기 제1 배치 일정, 제2 배치 일정, 제3 배치 일정 및 제4 배치 일정 중 하나의 배치 일정을 결정하여, 결정한 배치 일정을 선택 입력할 수 있다.
상기 입력부는 선택된 배치 일정과 관련된 정보를 산출하여 해당 정보를 상기 처리부로 전달할 수 있다.
마이그레이션 모듈은 선택된 배치 일정을 기초로 가상 머신들을 물리 서버들 상에서 이동 시키면서 배치할 수 있다.
이러한 방법을 통해 상기 물리 서버의 자원이 일 물리 서버로 치우치지 않고 고르게 활용될 수 있다.
만일, 미리 정해진 제1 검증 조건이 만족되지 않는 경우, 추가적으로 상기 검사 모듈은 미리 정해진 제2 검증 조건이 만족되는지 여부를 판단할 수 있다.
상기 미리 정해진 제2 검증 조건은 상기 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반되지 않은 경우가 제2 검증값 이상 제1 검증값 미만일 조건일 수 있다.
일례로, 제2 검증값은 60%일 수 있다. 다만, 이에 한정하지 않고, 상기 제2 검증값의 구체적인 숫자는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능할 수 있다.
일례로, 검사 모듈이 검사 영역에서 선택하여 제약 조건의 만족하는지 여부를 총 100번 검사하였을 때, 60번 이상 90미만 제작 조건에 저촉되지 않는다면, 상기 미리 정해진 제2 검증 조건이 만족될 수 있다.
상기 검사 모듈은 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않으면서 동시에 미리 정해진 제2 검증 조건을 만족하지 않은 경우, 상기 예측 모듈이 상기 최초 예측 가상 로드를 재 예측하도록 할 수 있다.
즉, 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건과 미리 정해진 제2 검증 조건이 모두 만족되지 않는 경우, 상기 검사 모듈은 예측 모듈의 예측이 잘못되었다고 판단하고, 상기 예측 모듈에 워크로드는 재 예측하라고 정보를 송신할 수 있다.
상기 예측 모듈은 상기 검사 모듈이 검사 과정에서 이용되고 제약 조건에 만족하지 못한 워크로드 값들을 제외하고 최초 예측 가상 로드를 재 산출할 수 있다.
예측 모듈이 최초 예측 가상 로드를 재 산출한 뒤에 배치 일정이 재 산출되고, 검사 모듈에 의해 상술 및 후술한 과정들이 반복될 수 있다.
상기 검사 모듈은 산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않으나, 미리 정해진 제2 검증 조건을 만족하는 경우, 미리 정해진 제3 검증 조건이 만족하는지 여부를 추가적으로 판단하여 미리 정해진 보정 방법에 따라 상기 최초 예측 가상 로드를 보정할 수 있다.
상기 검사 모듈은 상기 미리 정해진 제3 검증 조건이 만족되는 경우 미리 정해진 보정 방법에 따라 상기 최초 예측 가상 로드를 보정할 수 있다.
상기 미리 정해진 제3 검증 조건은 상기 검사 영역 중 일 영역인 제1 영역, 상기 검사 영역 중 일 영역으로서 상기 제1 영역과 이웃되는 제2 영역 및 상기 검사 영역 중 일 영역으로서 상기 제2 영역과 이웃되는 제3 영역 모두에 대해서 연속적으로 보정 조건이 만족될 조건일 수 있다.
도 5는 본 발명의 일 실시예에 따른 가상 머신 배치 시스템의 검사 모듈이 수행하는 보정 과정을 설명하기 위한 그래프이다.
상기 검사 모듈은 미리 정해진 제3 검증 조건을 판단하기 위해서, 최초 예측 가상 로드를 복수개 일정 영역으로 분할할 수 있다.
상기 검사 모듈은 각각의 영역에 대해서 미리 정해진 제3 검증 조건이 만족되는지 여부를 판단할 수 있다.
일례로, 도 5(a)에 도시된 것과 같이, 각 영역을 분할할 수 있다.
일례로, 제1 영역은 'a11', 'a12'에 해당되는 영역일 수 있고, 제2 영역은 'a21', 'a22'에 해당되는 영역일 수 있고, 제3 영역은 'a31', 'a32'에 해당되는 영역일 수 있다.
상기 보정 조건은 일 영역 내에서 상기 최초 예측 가상 로드보다 더 큰 임의의 워크로드가 상기 제약 조건에 위반되지 않은 경우가 상기 제1 검증값 이상이거나 혹은 일 영역 내에서 상기 최초 예측 가상 로드보다 더 작은 임의의 워크로드가 상기 제약 조건에 위반되지 않은 경우가 제1 검증값 이상일 조건일 수 있다.
보정 조건인 제1 보정 조건 및 제2 보정 조건을 구비할 수 있다.
제1 보정 조건은 일 영역 내에서 상기 최초 예측 가상 로드보다 더 큰 임의의 워크로드가 상기 제약 조건에 위반되지 않은 경우가 상기 제1 검증값 이상일 조건일 수 있다.
제 2 보정 조건은 일 영역 내에서 상기 최초 예측 가상 로드보다 더 작은 임의의 워크로드가 상기 제약 조건에 위반되지 않은 경우가 제1 검증값 이상일 조건일 수 있다.
구체적인 일례로서, 제1 영역을 기준으로 설명하자면, 검사 모듈은 'a11'과 'a12' 영역에 대한 워크로드를 임의로 선정하여 제1 보정 조건을 만족하는지 여부를 판단할 수 있다.
여기서, 'a11'영역에서 선택된 워크로드를 가상 머신이 가지고 산출된 배치 일정을 배치되었을 때 제약 조건에 위반되지 않는 경우가 제1 검증값 이상일 경우 제1 보정 조건이 만족될 수 있다.
즉, 'a11'영역에 있는 예측된 워크로드는 신뢰한다고 판단될 수 있다.
여기서, 'a12'영역에서 선택된 워크로드를 가상 머신이 가지고 산출된 배치 일정을 배치되었을 때 제약 조건에 위반되지 않는 경우(확률, 퍼센트)가 제1 검증값 이상일 경우 제2 보정 조건이 만족될 수 있다.
즉, 'a12'영역에 있는 예측된 워크로드는 신뢰하다고 판단될 수 있다.
미리 정해진 제3 검증 조건은 미리 정해진 횟수만큼 연속된 분할영역에 대해서 동일한 보정 조건이 만족될 조건일 수 있다.
일례로, 미리 정해진 횟수는 3회일 수 있다.
다만, 이에 한정하지 않고 상기 미리 정해진 횟수는 통상의 기술자에게 자명한 수준에서 다양하게 변형 가능하다.
상기 미리 정해진 보정 방법은 연속적으로 상기 보정 조건을 만족하는 방향으로 상기 최초 예측 가상 로드를 보정할 수 있다.
제1 보정 조건이 만족되는 경우, 상기 검사 모듈은 상기 검사 영역 내에서, 상기 최초 예측 가상 로드를 오버되는 방향으로 전체적으로 상향시키는 보정을 할 수 있다.
제2 보정 조건이 만족되는 경우, 상기 검사 모듈은 상기 검사 영역 내에서 상기 최초 예측 가상 로드를 마이너되는 방향으로 전체적으로 하향시키는 보정을 할 수 있다.
일례로, 도 5(a)에서 제1 영역, 제2 영역 및 제3 영역에 대해서 제1 보정 조건이 모두 만족될 경우에, 상기 미리 정해진 제3 검증 조건이 만족될 수 있다. 이와 같을 경우, 도 5(b)를 참조하면, 검사 모듈은 상기 최초 예측 가상 로드를 검사 영역 내에서 상층 방향으로 상승시켜 보정시킬 수 있다.
여기서, 보정되는 정도, 즉 상승 혹은 하강되는 정도는 제약 조건에 위반되지 않는 정도에 따라 달라질 수 있다.
즉, 제약 조건에 위반되지 않는 퍼센트가 제1 검증값에 가까울수록 보정되는 정도가 작아질 수 있고, 제약 조건에 위반되지 않는 퍼센트가 100%(확률일 경우 '1')에 가까울수록 보정되는 정도가 커질 수 있다.
이 때, 제약 조건에 위반되지 않는 퍼센트를 산출하는 방법은 각 영역마다 산출된 값들의 평균으로 산출될 수 있다.
검사 모듈은 보정된 최초 예측 가상 로드를 상기 스케줄 모듈로 전달할 수 있다.
상기 스케줄 모듈은 보정된 최초 예측 가상 로드를 기초로 미리 정해진 배치 일정 산출 방법에 따라 일정을 재 산출할 수 있으며, 이에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 자세한 설명은 생략될 수 있다.
배치 일정이 산출된 후에 검사 모듈은 다시 예측 정확성을 검사할 수 있으며, 이에 대한 자세한 설명은 상술한 내용과 중복되는 한도에서 생략될 수 있다.
예측의 불확정성을 검사하고 보정하는 과정을 통해, 가상 머신 예측 배치의 정확성을 더욱 높일 수 있다.
첨부된 도면은 본 발명의 기술적 사상을 보다 명확하게 표현하기 위해, 본 발명의 기술적 사상과 관련성이 없거나 떨어지는 구성에 대해서는 간략하게 표현하거나 생략하였다.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.
11 : 처리부 12 : 저장부
13 : 수신부 14 : 송신부

Claims (12)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하기 위해서, 가상 머신에 의해 물리 서버에 부과되는 부하를 예측하는 가상 머신 배치 시스템에 있어서,
    미리 정해진 워크로드 산출 방법을 이용하여 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드를 산출하는 저장하는 워크로드 산출 모듈;
    상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드를 산출하는 예측 모듈;
    제약 조건을 고려하여 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정을 산출하는 스케줄 모듈; 및
    산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성을 검사하는 검사 모듈;을 포함하고,
    상기 제약 조건은,
    상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비하고,
    상기 검사 모듈은,
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 스케줄 모듈이 상기 배치 일정을 재 산출하거나 상기 예측 모듈이 상기 최초 예측 가상 로드를 재 예측하도록 하고,
    상기 미리 정해진 제1 검증 조건은,
    검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반되지 않은 경우가 제1 검증값 이상일 조건인,
    가상 머신 배치 시스템.
  5. 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하기 위해서, 가상 머신에 의해 물리 서버에 부과되는 부하를 예측하는 가상 머신 배치 시스템에 있어서,
    미리 정해진 워크로드 산출 방법을 이용하여 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드를 산출하는 저장하는 워크로드 산출 모듈;
    상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드를 산출하는 예측 모듈;
    제약 조건을 고려하여 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정을 산출하는 스케줄 모듈; 및
    산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성을 검사하는 검사 모듈;을 포함하고,
    상기 제약 조건은,
    상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비하고,
    상기 검사 모듈은,
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 스케줄 모듈이 상기 배치 일정을 재 산출하거나 상기 예측 모듈이 상기 최초 예측 가상 로드를 재 예측하도록 하고,
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않으면서 동시에 미리 정해진 제2 검증 조건을 만족하지 않은 경우, 상기 예측 모듈이 상기 최초 예측 가상 로드를 재 예측하도록 하는,
    가상 머신 배치 시스템.
  6. 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하기 위해서, 가상 머신에 의해 물리 서버에 부과되는 부하를 예측하는 가상 머신 배치 시스템에 있어서,
    미리 정해진 워크로드 산출 방법을 이용하여 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드를 산출하는 저장하는 워크로드 산출 모듈;
    상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드를 산출하는 예측 모듈;
    제약 조건을 고려하여 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정을 산출하는 스케줄 모듈; 및
    산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성을 검사하는 검사 모듈;을 포함하고,
    상기 제약 조건은,
    상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비하고,
    상기 검사 모듈은,
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 스케줄 모듈이 상기 배치 일정을 재 산출하거나 상기 예측 모듈이 상기 최초 예측 가상 로드를 재 예측하도록 하고,
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않으나, 미리 정해진 제2 검증 조건을 만족하는 경우, 미리 정해진 제3 검증 조건이 만족하는지 여부를 추가적으로 판단하여 미리 정해진 보정 방법에 따라 상기 최초 예측 가상 로드를 보정하는,
    가상 머신 배치 시스템.
  7. 제5항 및 제6항 중 어느 한 항에 있어서,
    상기 미리 정해진 제2 검증 조건은,
    검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반되지 않은 경우가 제2 검증값 이상 제1 검증값 미만일 조건인,
    가상 머신 배치 시스템.
  8. 제6항에 있어서,
    상기 미리 정해진 제3 검증 조건은,
    검사 영역 중 일 영역인 제1 영역, 검사 영역 중 일 영역으로서 상기 제1 영역과 이웃되는 제2 영역 및 검사 영역 중 일 영역으로서 상기 제2 영역과 이웃되는 제3 영역 모두에 대해서 연속적으로 보정 조건이 만족될 조건이고,
    상기 보정 조건은,
    일 영역 내에서 상기 최초 예측 가상 로드보다 더 큰 임의의 워크로드가 상기 제약 조건에 위반되지 않은 경우가 제1 검증값 이상이거나 혹은 일 영역 내에서 상기 최초 예측 가상 로드보다 더 작은 임의의 워크로드가 상기 제약 조건에 위반되지 않은 경우가 제1 검증값 이상일 조건인,
    가상 머신 배치 시스템.
  9. 제8항에 있어서,
    상기 미리 정해진 보정 방법은,
    연속적으로 상기 보정 조건을 만족하는 방향으로 상기 최초 예측 가상 로드를 보정하는,
    가상 머신 배치 시스템.
  10. 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하는 가상 머신 배치 방법에 있어서,
    상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크로드 산출 방법에 의해 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드가 산출되는 단계;
    상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드가 산출되는 단계;
    제약 조건을 고려하여 미리 정해진 배치 일전 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정이 산출되는 단계;
    산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성이 검사되는 단계; 및
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 배치 일정이 재 산출되거나 상기 최초 예측 가상 로드가 재 예측되는 단계;를 포함하고,
    상기 예측 정확성은,
    상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 검사되며,
    상기 제약 조건은,
    상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비하며,
    상기 미리 정해진 제1 검증 조건은,
    상기 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반되지 않은 경우가 제1 검증값 이상일 조건인,
    가상 머신 배치 방법.
  11. 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하는 가상 머신 배치 방법에 있어서,
    상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크로드 산출 방법에 의해 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드가 산출되는 단계;
    상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드가 산출되는 단계;
    제약 조건을 고려하여 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정이 산출되는 단계;
    산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성이 검사되는 단계;
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 배치 일정이 재 산출되거나 상기 최초 예측 가상 로드가 재 예측되는 단계; 및
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않으면서 동시에 미리 정해진 제2 검증 조건을 만족하지 않는 경우 상기 최초 예측 가상 로드가 재 예측되는 단계;를 포함하고,
    상기 예측 정확성은,
    상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 검사되며,
    상기 제약 조건은,
    상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비하는,
    가상 머신 배치 방법.
  12. 물리 서버 - 상기 물리 서버는 제1 물리 서버 및 제2 물리 서버를 구비함 -에 가상 머신을 효율적으로 배치하는 가상 머신 배치 방법에 있어서,
    상기 제1 물리 서버와 상기 제2 물리 서버의 작동과 관련된 정보를 기초로 미리 정해진 워크로드 산출 방법에 의해 상기 가상 머신이 구현되는 것에 의해 상기 물리 서버에 부과되는 부하인 가상 머신 워크로드가 산출되는 단계;
    상기 가상 머신 워크로드를 기초로 미리 정해진 제1 기간 동안 상기 가상 머신에 의해 상기 물리 서버에 부과될 것으로 예측되는 부하인 최초 예측 가상 로드가 산출되는 단계;
    제약 조건을 고려하여 미리 정해진 배치 일정 산출 방법에 의해 상기 제1 물리 서버와 상기 제2 물리 서버 상의 상기 가상 머신이 배치되는 일정인 배치 일정이 산출되는 단계;
    산출된 상기 배치 일정을 통하여 상기 최초 예측 가상 로드의 예측 정확성이 검사되는 단계;
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않은 경우, 상기 배치 일정이 재 산출되거나 상기 최초 예측 가상 로드가 재 예측되는 단계; 및
    산출된 상기 배치 일정이 미리 정해진 제1 검증 조건을 만족하지 않으나, 미리 정해진 제2 검증 조건을 만족하는 경우, 미리 정해진 제3 검증 조건이 만족하는지 여부를 추가적으로 판단하여 미리 정해진 보정 방법에 따라 상기 최초 예측 가상 로드가 보정되는 단계;를 포함하고,
    상기 예측 정확성은,
    상기 최초 예측 가상 로드를 기준으로 소정의 범위로 확장된 검사 영역 내의 임의의 워크로드가 상기 가상 머신에 의해 발생되고, 상기 가상 머신이 상기 배치 일정으로 배치된다고 가정하였을 때, 상기 제약 조건의 위반 여부를 기초로 검사되며,
    상기 제약 조건은,
    상기 물리 서버 상에서 제2 기준 이상의 온도를 가진 지점에는 가상 머신의 배치를 제외하는 조건인 제1 조건 및 상기 물리 서버의 성능을 고려한 조건인 성능 조건 중 적어도 하나를 구비하는,
    가상 머신 배치 방법.


KR1020210141139A 2021-10-21 2021-10-21 예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법 KR102381570B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210141139A KR102381570B1 (ko) 2021-10-21 2021-10-21 예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210141139A KR102381570B1 (ko) 2021-10-21 2021-10-21 예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법

Publications (1)

Publication Number Publication Date
KR102381570B1 true KR102381570B1 (ko) 2022-04-01

Family

ID=81183526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210141139A KR102381570B1 (ko) 2021-10-21 2021-10-21 예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법

Country Status (1)

Country Link
KR (1) KR102381570B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072733A (ja) * 2008-09-16 2010-04-02 Nec Corp サーバ管理装置,サーバ管理方法及びプログラム
JP2010165265A (ja) * 2009-01-17 2010-07-29 Nec Corp サーバ処理分散装置、サーバ処理分散方法及びサーバ処理分散プログラム
JP2011028408A (ja) * 2009-07-23 2011-02-10 Fujitsu Ltd 仮想マシン移動制御プログラム,仮想マシン移動制御方法および仮想マシン移動制御装置
JP2012181647A (ja) * 2011-03-01 2012-09-20 Fujitsu Ltd 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
KR102062157B1 (ko) * 2019-04-29 2020-01-03 오케스트로 주식회사 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102135208B1 (ko) * 2019-07-31 2020-07-17 오케스트로 주식회사 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072733A (ja) * 2008-09-16 2010-04-02 Nec Corp サーバ管理装置,サーバ管理方法及びプログラム
JP2010165265A (ja) * 2009-01-17 2010-07-29 Nec Corp サーバ処理分散装置、サーバ処理分散方法及びサーバ処理分散プログラム
JP2011028408A (ja) * 2009-07-23 2011-02-10 Fujitsu Ltd 仮想マシン移動制御プログラム,仮想マシン移動制御方法および仮想マシン移動制御装置
JP2012181647A (ja) * 2011-03-01 2012-09-20 Fujitsu Ltd 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
KR102062157B1 (ko) * 2019-04-29 2020-01-03 오케스트로 주식회사 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102135208B1 (ko) * 2019-07-31 2020-07-17 오케스트로 주식회사 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치

Similar Documents

Publication Publication Date Title
US10521244B2 (en) Information handling system configuration parameter history management
US8245060B2 (en) Memory object relocation for power savings
US8117613B2 (en) Optimized virtual machine migration mechanism
US20060010101A1 (en) System, method and program product for forecasting the demand on computer resources
CN107209685B (zh) 虚拟机布置
EP3649536B1 (en) Core frequency management using effective utilization for power-efficient performance
KR20140089838A (ko) 복수의 이종 코어들을 포함하는 시스템 온 칩 및 그 동작 방법
KR102470086B1 (ko) Sla 위반을 예방한 가상 머신 배치 시스템 및 가상 머신 배치 방법
KR102135208B1 (ko) 스케줄링을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
US20110145607A1 (en) Information processing apparatus and energy-consumption control method
CN108509014A (zh) 计算设备和分配功率到每个计算设备中的多个核的方法
US10423201B2 (en) Method and apparatus for demand estimation for energy management of client systems
Xue et al. Managing data center tickets: Prediction and active sizing
JP2017211928A (ja) 分散処理制御システム及び分散処理制御方法
US11354163B2 (en) Virtual machine placement method and virtual machine placement device implementing the same
JP5109799B2 (ja) 情報処理システム、負荷制御方法、および負荷制御プログラム
KR102469718B1 (ko) 이상 징후 모니터링 기능이 탑재된 가상 머신 배치 시스템 및 가상 머신 배치 방법
KR102381570B1 (ko) 예측 불확실성이 반영된 배치 스케줄을 제공하는 가상 머신 배치 시스템 및 가상 머신 배치 방법
JP4749380B2 (ja) インストール管理方法とインストール管理プログラムとインストール管理装置
US20160011962A1 (en) Allocating memory usage based on voltage regulator efficiency
KR102403625B1 (ko) 물리 서버 성능 저하를 고려하여 가상 머신 예측 관리를 구현한 가상 머신 배치 시스템 및 가상 머신 배치 방법
KR102403632B1 (ko) 핫 스팟을 고려하여 가상 머신의 예측 마이그레이션을 구현한 가상 머신 배치 시스템 및 가상 머신 배치 방법
KR102470081B1 (ko) 자원 적정화를 기반한 가상 머신 배치 시스템 및 가상 머신 배치 방법
KR102316749B1 (ko) 가상 머신 워크로드 예측 방법, 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
KR102126434B1 (ko) 딥 러닝을 활용한 워크 로드 예측을 통한 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치

Legal Events

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