KR102129389B1 - 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치 - Google Patents

클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치 Download PDF

Info

Publication number
KR102129389B1
KR102129389B1 KR1020180166301A KR20180166301A KR102129389B1 KR 102129389 B1 KR102129389 B1 KR 102129389B1 KR 1020180166301 A KR1020180166301 A KR 1020180166301A KR 20180166301 A KR20180166301 A KR 20180166301A KR 102129389 B1 KR102129389 B1 KR 102129389B1
Authority
KR
South Korea
Prior art keywords
virtual machine
evaluation score
machine
particles
evaluation
Prior art date
Application number
KR1020180166301A
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 KR1020180166301A priority Critical patent/KR102129389B1/ko
Application granted granted Critical
Publication of KR102129389B1 publication Critical patent/KR102129389B1/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/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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법이 제공된다. 상기 방법은 가상머신 배치 장치에 의해 수행되고, 상기 방법은, 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 리스트를 생성하는 리스트 생성 과정: 상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하는 가중치 계산 과정; 상기 가중치에 따라 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행하는 목적 함수 평가 과정; 및 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하는 타겟머신 선정 과정을 포함하여, 클라우드 환경을 통해 데이터 센터 자원을 가상머신 배치 방식을 통해 언제 어디서나 관리할 수 있다.

Description

클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치{Method and Apparatus for VM placement based on multi-objective in cloud computing environment}
본 발명은 다목적 가상머신 배치 방법 및 장치에 관한 것이다. 보다 상세하게는, 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법, 장치 및 시스템에 관한 것이다.
최근 클라우드 서비스의 고객 수요는 세계적으로 증가하는 추세이다. 클라우드 서비스 공급자들은 증가하는 고객 수요에 대응하기 위하여, 여러 지역에 데이터 센터를 구축하여 시스템의 규모를 확장시키고 있다. 클라우드는 통합된 자원을 이용하기 때문에 적절한 부하분산을 이용하면 전체 시스템의 성능 및 안정성을 향상 시킬 수 있다. 하지만 지역적으로 분산된 데이터센터 들을 운영하는 클라우드 환경에서는 자원 부하는 응답속도에 많은 영향을 끼치게 된다.
자원 관리를 위해 가상 머신(Virtual Machine, VM)들을 어떤 물리 머신 (Physical Machine, PM)에 구동시킬지 결정하는 것 이 중요하다. 가상머신을 배치를 할 때 전력을 고려하는 경우, QoS를 고려하는 경우 SLA를 고려하는 경우등 다양한 목적이 존재하게 되다. 전력 기반 접근 방식의 경우 가상 머신들을 구동하기 위한 물리 머신의 개수를 최소화하는 반면, QoS기반 방식의 경우, SLA의 보장 측면에서 가장 효과적인 방법이나 자원 사용의 비효율성이 높아 물리 머신 관리 비용이 증가할 수 있다. 이와 관련하여 상호 간에 Trade-off 가 발생하게 되어 다수 목적이나 사용자의 요구에 맞게 가상배치가 어려워진다는 문제점이있다.
이에 따라, 본 발명과 같이 가상머신을 배치할 때 다목적 배치 시스템 및 방법을 통해 사용자 요청에 따른 배치시 사용자의 만족도를 높이고 QoS를 향상시키는 것이 필요하다.
하지만, 기존의 연구들은 전체 가상머신 시간을 줄이고 있었으나 여전히 오버헤드가 발생하고 전체 마이그레이션 시간은 여전히 느리다. 네트워크 지연시간이나 CPU 작업을 동시에 하면서 네트워크 입출력을 할 경우, CPU 사용량이 많아질수록 오버헤드에 따른 지연 시간이 있었다. 성능을 예측하고 배치 효율을 향상시켜 오버헤드를 개선하고자 한다.
또한 서비스 대기시간도 고려되지 않아 전체적으로 시스템의 부하가 큰 상황에서는 응용 프로그램의 성능을 정확하게 예측하지 못하고 있으며 동적으로 자원을 할당하지 못한다는 문제점도 가지고 있다. 따라서, 가상머신의 CPU, 메모리, 네트워크 자원요구를 서비스에 적합하게 동적으로 할당하는 연구가 필요하다.
이와 관련하여, 물리 머신은 할당된 가상머신 들의 시간에 따라 요구되는 자원을 충분히 보유하지 못하면 성능이 저하되는 Hotspot 문제가 발생하기 때문이다.
따라서, 본 발명의 목적은 가상머신 배치 방식을 활용하여 성능을 최적화하고 끊김 없는 서비스 제공을 받을 수 있도록 하는 가상머신 할당 방법 및 장치를 제공하는 것이다.
또한, 본 발명의 목적은 가상머신 할당이 필요한 시점에 수행하려는 워크로드의 특성을 파악하여 워크로드를 가장 효율적으로 수행할 수 있도록 가상머신을 성능을 보장하고자 하는 것이다.
또한, 본 발명의 목적은 다목적 배치를 위해 모니터링을 통해 상태를 파악하고 최적의 가상머신을 선택하여 사용자의 요구에 따라 사용자의 만족도를 높이고 QoS도 보장하고자 하는 것이다.
상기와 같은 과제를 해결하기 위한 본 발명에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법이 제공된다. 상기 방법은 가상머신 배치 장치에 의해 수행되고, 상기 방법은, 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 리스트를 생성하는 리스트 생성 과정: 상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하는 가중치 계산 과정; 상기 가중치에 따라 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행하는 목적 함수 평가 과정; 및 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하는 타겟머신 선정 과정을 포함하여, 클라우드 환경을 통해 데이터 센터 자원을 가상머신 배치 방식을 통해 언제 어디서나 관리할 수 있다.
일 실시 예에서, 상기 목적 함수 평가 과정 이후, 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단하는 평가 점수 비교 과정을 더 포함할 수 있다. 상기 평가 점수 비교과정에서, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가 과정 이하 단계를 반복할 수 있다.
일 실시 예에서, 상기 타겟머신 선정 과정 이후, 상기 목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단하는 제한조건 판단 과정을 더 포함할 수 있다. 이때, 상기 제한 조건을 만족하면, 상기 해당 가상 머신을 해당 호스트의 타겟 머신으로 선정할 수 있다.
일 실시 예에서, 상기 해당 가상 머신과 탐색 가능한 다른 이웃 가상머신 전부에 대해 상기 제한 조건을 만족하지 않으면, 상기 리스트 생성 과정 이하 단계를 반복할 수 있다. 이때, 상기 해당 가상 머신과 상기 다른 이웃 가상머신 중 적어도 하나가 상기 제한 조건을 만족하면, 상기 제한 조건을 만족하는 가상 머신을 상기 해당 호스트의 타겟 머신으로 선정할 수 있다.
일 실시 예에서, 상기 리스트 생성 과정에서, n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성하고, 각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성할 수 있다. 또한, 상기 목적 함수 평가 과정과 상기 타겟머신 선정 과정에서, 상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다. 이때, 상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관될 수 있다.
일 실시 예에서, 상기 목적 함수 평가 과정과 상기 타겟머신 선정 과정에서,
Figure 112018128510987-pat00001
에 의해 상기 각 파티클의 이동 방향과 속도를 결정하여 상기 PSO를 수행할 수 있다. 이때,
Figure 112018128510987-pat00002
는 시각 t+1에서의 j번째 파티클의 속도이고,
Figure 112018128510987-pat00003
는 시각 t에서의 가중치이고,
Figure 112018128510987-pat00004
는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이고, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수일 수 있다.
일 실시 예에서, 상기 타겟머신 선정 과정에서 최종적으로 생성된 gbest는 상기 각 파티클이 최적의 위치 정보에 따라 배치됨에 따라, 상기 복수의 가상머신(VM) 및 물리머신(PM)이 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키면서 최적으로 배치될 수 있다.
본 발명의 다른 측면에 다른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법은, 가상머신(VM)을 배치하기 위한 서비스 요청에 따른 초기화 작업을 수행하는 초기화 과정: 상기 가상머신(VM) 배치를 위한 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행하는 목적 함수 평가 과정; 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단하는 평가 점수 비교 과정; 및 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하는 타겟머신 선정 과정을 포함한다. 이때, 상기 타겟머신 선정 과정에서, 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 n개의 파티클(particle) 중 최적의 가상머신 배치 적합도를 고려하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다.
일 실시 예에서, 상기 초기화 과정 이후, 상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하는 가중치 계산 과정을 더 포함할 수 있다. 이때, 상기 가상머신(VM) 배치를 위한 다목적 함수는 상기 계산된 가중치(weight)에 따라
Figure 112018128510987-pat00005
를 만족하도록, 상기 다목적 함수
Figure 112018128510987-pat00006
를 N개의 목적함수에 대한 조건을 만족하도록 최적화할 수 있다. 이때, Ri,j는 i번째 VM (또는 PM)이 j번째 PM (또는 VM)에 할당됨에 따른 리소스를 나타낼 수 있다.
일 실시 예에서, 상기 타겟머신 선정 과정 이후, 상기 목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단하는 제한조건 판단 과정을 더 포함할 수 있다. 이때, 상기 제한조건 판단 과정에서, 상기 리소스 낭비와 전력 소비에 관한 제한조건에 따라,
Figure 112018128510987-pat00007
Figure 112018128510987-pat00008
Figure 112018128510987-pat00009
를 만족하여 상기 리소스 낭비 및 상기 전력 소비가 최소가 되도록할 수 있다. 이때, W는 리소스 낭비(resource waste)를 나타내고, P는 소비 전력을 나타낼 수 있다.
일 실시 예에서, 상기 평가 점수 비교과정에서, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가 과정 이하 단계를 반복할 수 있다. 한편, 상기 해당 가상 머신과 탐색 가능한 다른 이웃 가상머신 전부에 대해 상기 제한 조건을 만족하지 않으면, 상기 초기화 과정 이하 단계를 반복할 수 있다. 이때, 상기 해당 가상 머신과 상기 다른 이웃 가상머신 중 적어도 하나가 상기 제한 조건을 만족하면, 상기 제한 조건을 만족하는 가상 머신을 상기 해당 호스트의 타겟 머신으로 선정할 수 있다.
일 실시 예에서, 상기 초기화 과정에서, n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성하고, 각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성할 수 있다. 또한, 상기 목적 함수 평가 과정 및 상기 타겟머신 선정 과정에서, 상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다. 이때, 상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관될 수 있다.
일 실시 예에서, 상기 목적 함수 평가 과정과 상기 타겟머신 선정 과정에서,
Figure 112018128510987-pat00010
에 의해 상기 각 파티클의 이동 방향과 속도를 결정하여 상기 PSO를 수행할 수 있다. 이때,
Figure 112018128510987-pat00011
는 시각 t+1에서의 j번째 파티클의 속도이고,
Figure 112018128510987-pat00012
는 시각 t에서의 가중치이고,
Figure 112018128510987-pat00013
는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이고, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수일 수 있다.
본 발명의 또 다른 측면에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 장치가 제공된다. 상기 장치는, 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집하는 모니터링부; 및 상기 모니터링된 리소스 상태와 전력 상태에 따라 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하고, 상기 가중치에 따라 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행하는 VM 최적화부를 포함한다. 또한, 상기 장치는 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하는 VM 배치 제어부를 더 포함할 수 있다.
일 실시 예에서, 상기 VM 최적화부는, 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단할 수 있다. 이때, 상기 평가 점수 비교 결과, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가 수행을 반복할 수 있다.
일 실시 예에서, 상기 VM 최적화부는, n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성하고, 각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성할 수 있다. 또한, 상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다. 이때, 상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관될 수 있다.
일 실시 예에서, 본 발명에 따른 상기 VM 최적화부는,
Figure 112018128510987-pat00014
에 의해 상기 각 파티클의 이동 방향과 속도를 결정하여 상기 PSO를 수행할 수 있다. 이때,
Figure 112018128510987-pat00015
는 시각 t+1에서의 j번째 파티클의 속도이고,
Figure 112018128510987-pat00016
는 시각 t에서의 가중치이고,
Figure 112018128510987-pat00017
는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이고, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수일 수 있다.
본 발명의 또 다른 측면에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 시스템이 제공된다. 상기 시스템은, 복수의 물리머신(PM); 및 상기 복수의 물리머신(PM)에 재구성 가능하게 연결되어 배치되는, 복수의 가상머신(VM)을 포함한다. 또한, 상기 시스템은, 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집하고, 상기 가상머신(VM) 배치를 위한 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행하는 가상머신(VM) 배치 장치를 더 포함할 수 있다. 이때, 상기 가상머신(VM) 배치 장치는, 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단하고, 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정할 수 있다. 또한, 상기 타겟머신 선정과 관련하여 상기 가상머신(VM) 배치 장치는, 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 n개의 파티클(particle) 중 최적의 가상머신 배치 적합도를 고려하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다.
일 실시 예에서, 상기 가상머신(VM) 배치 장치는, 상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하고, 상기 가상머신(VM) 배치를 위한 다목적 함수는 상기 계산된 가중치(weight)에 따라
Figure 112018128510987-pat00018
를 만족하도록, 상기 다목적 함수
Figure 112018128510987-pat00019
를 N개의 목적함수에 대한 조건을 만족하도록 최적화할 수 있다. 이때,M Ri,j는 i번째 VM (또는 PM)이 j번째 PM (또는 VM)에 할당됨에 따른 리소스를 나타낸다.
일 실시 예에서, 상기 가상머신(VM) 배치 장치는, 상기 목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단할 수 있다. 이때, 상기 제한조건 판단을 통해, 상기 리소스 낭비와 전력 소비에 관한 제한조건에 따라,
Figure 112018128510987-pat00020
Figure 112018128510987-pat00021
Figure 112018128510987-pat00022
를 만족하여 상기 리소스 낭비 및 상기 전력 소비가 최소가 되도록 할 수 있다. 이때, W는 리소스 낭비(resource waste)를 나타내고, P는 소비 전력을 나타낸다.
일 실시 예에서, 상기 가상머신(VM) 배치 장치는, 상기 평가 점수 비교 결과, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가를 반복할 수 있다. 이때, 상기 가상머신(VM) 배치 장치는, 상기 평가 점수 비교 결과, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가를 반복할 수 있다. 한편, 상기 가상머신(VM) 배치 장치는, 상기 평가 점수 비교 결과, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가를 반복할 수 있다.
적용 분야와 관련하여, 본 발명의 적어도 일 실시예에 따르면, 클라우드 환경을 통해 데이터 센터 자원을 가상머신 배치 방식을 통해 언제 어디서나 관리할 수 있다는 장점이 있다.
기대효과와 관련하여, 본 발명의 적어도 일 실시예에 따르면, 클라우드 환경에서 사용자의 요구사항에 따라 만족도를 향상 시키고 QoS를 보장할 수 있다는 장점이 있다.
기술의 사업화 전망과 관련하여, 본 발명의 적어도 일 실시예에 따르면, 클라우드 환경에서의 가상머신 배치 활용하여 자원을 효율적으로 활용하고 성능을 향상시킬 수 있다. 또한, 분산 클라우드 환경에서의 서비스를 보장하여 사용자의 만족도를 비용까지 고려하여 절감할 수 있다는 장점이 있다.
도 1은 본 발명에 따른 다목적 가상머신 배치와 관련하여, PSO를 위한 파티클과 파티클 차원 및 PSO 수행 결과를 나타낸다.
도 2는 본 발명에 따른 다목적 가상머신 배치 방법의 흐름도를 나타낸다.
도 3은 본 발명에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 장치 및 시스템의 상세 구성을 나타낸다.
도 4는 본 발명에 따른 가상머신 배치를 위한 가상머신 배치 장치의 상세 구성을 나타낸다.
도 5는 본 발명에 따른 가상머신 배치에서 호스트 수 증가에 따른 자원 낭비를 비교한 것이다.
도 6은 본 발명에 따른 가상머신 배치에서 호스트 수 증가에 따른 에너지 소비량을 비교한 것이다.
상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.
제1, 제2등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 모듈, 블록 및 부는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
이하에서는, 본 발명에 따른 다목적 가상머신 배치 방법 및 장치에 관한 것이다. 보다 상세하게는, 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법, 장치 및 시스템에 대해 살펴보기로 한다.
본 발명과 관련하여, 클라우드 서비스를 제공하는 클라우드 서비스 제공자(Cloud Service Provider, CSP)들에게 가장 중요한 이슈(issue) 중 하나는 데이터 센터 내 자원관리이다. 자원관리는 클라우드 서비스 제공자(CSP)의 이익에 직접적으로 영향을 주는 부분이기 때문이다. 또한, 에너지 관리 및 성능 보장은 데이터 센터 내 자원관리에서의 두번째 주요 이슈이다.
클라우드 환경에서 자원관리 방법 중 하나인, 가상머신 배치는 가상머신 (VM) 할당이 필요한 시점에 수행하려는 서비스(워크로드)의 특성을 파악하여 서비스(워크로드)를 가장 효율적으로 수행 시킬 수 있도록 가상머신을 물리적 자원에 위치시킨다. 이때 성능 보장, 자원관리 에너지 관리 등 다양한 측면에서 많은 연구들이 가용성(availability) 뿐만 아니라 처리량(throughput) 및 응답 시간(response time) 등의 다양한 요소들이 고려되어야 한다.
반면에, 기존 기술들은 하나 또는 두 가지 목적만 고려할 뿐 다수 목적을 고려하고 있지 않다. 다목적 시스템은 다수의 목적을 만족시켜 클라우드 사용자의 만족뿐만 아니라 QoS를 높여 줄 수 있다. 예를 전력 기반 접근 방식의 경우 가상 머신들을 구동하기 위한 물리 머신의 개수를 최소로 하기 때문에 클라우드에서의 물리 머신 관리 비용이 최소가 되지만, 이는 가상 머신 간의 resource contention 등으로 인한 가상 머신에서의 성능 감소를 유발할 수 있다. QoS기반 방식의 경우, SLA 보장 측면에서 가장 효과적인 방법이나 자원 사용의 비효율성이 높아 물리 머신 관리 비용이 증가할 수 있다. 따라서, 가상 머신 배치에서 다목적간의 Trade-off 까지 만족 시켜줄 것으로 보인다.
이에 따라, 본 발명에 따르면, 클라우드 환경에서 자원관리 방법 중 하나인, 가상머신 배치는 가상머신 (VM) 할당이 필요한 시점에 수행하려는 서비스(워크로드)의 특성을 파악하여 서비스(워크로드)를 가장 효율적으로 수행 시킬 수 있도록 가상머신을 물리적 자원에 위치시킨다. 이때, 다목적(Multi-objective) 가상머신 배치 실시하여 목적별 사용자 요구에 따라 가상머신 배치를 실시하여 자원 관리 뿐만 아니라 사용자의 만족도 까지 높이는 것이 목적이다.
이에 따라, 전술한 바와 같이, 본 발명의 목적은 가상머신 배치 방식을 활용하여 성능을 최적화하고 끊김 없는 서비스 제공을 받을 수 있도록 하는 가상머신 할당 방법 및 장치를 제공하는 것이다. 또한, 본 발명의 목적은 가상머신 할당이 필요한 시점에 수행하려는 워크로드의 특성을 파악하여 워크로드를 가장 효율적으로 수행할 수 있도록 가상머신을 성능을 보장하고자 하는 것이다. 또한, 본 발명의 목적은 다목적 배치를 위해 모니터링을 통해 상태를 파악하고 최적의 가상머신을 선택하여 사용자의 요구에 따라 사용자의 만족도를 높이고 QoS도 보장하고자 하는 것이다.
한편, 전술한 본 발명의 목적에 따른 구체적인 해결방안을 다음과 같다. 이와 관련하여, 본 발명에서는 가상머신 배치 시 타겟머신을 선택 문제를 해결하기 위해서, 목적함수에 기반하여 PSO(Particle Swarm Optimization) 최적화 알고리즘을 사용하였다.
구체적으로, 본 발명에 따르면, 가상머신 배치시 다목적을 위해서 다음과 같은 표 1과 같은 정의를 이용하여 아래의 수학식 1 내지 4의 조건을 만족해야 한다. 리소스 낭비와 에너지 소비가 최소화 되는 것을 목적으로 하는 것은 시나리오로 선택할 수 있다. 한편, VM 리소스는 PM리소스보다 작거나 같은 것을 제약조건으로 두었다.
변수 설명
W Resource Wastage (%)
R Resource
P Power(KW)
Figure 112018128510987-pat00023
Figure 112018128510987-pat00024
Figure 112018128510987-pat00025
Figure 112018128510987-pat00026
[수학식 1]
Figure 112018128510987-pat00027
[수학식 2]
Figure 112018128510987-pat00028
[수학식 3]
Figure 112018128510987-pat00029
[수학식 4]
Figure 112018128510987-pat00030
수학식 1을 참조하면, 다목적 함수를 제약조건 하에서 최적화, 즉 리소스 낭비와 전력 소비량을 최소로 하기 위해서, 리소스 낭비와 전력 소비량과 연관된 두 개의 서로 독립적인 함수 f1(x)와 f2(x)를 획득할 수 있다. 따라서, 본 발명에서는 리소스 낭비와 전력 소비량과 관련된 F(x)를 최소화하기 위해, 리소스 낭비와 전력 소비량과 연관된 두 개의 서로 독립적인 함수 f1(x)와 f2(x)를 최소화할 수 잇다. 이에 따라, 복수의 종속 변수를 갖는 최적화 함수의 해를 각각의 독립 변수를 갖는 최적화 함수의 문제로 변환함에 따라 연산량을 감소시킬 수 있다는 장점이 있다. 이와 같이 감소된 연산량에 따라 제약조건 함에서 다목적 함수를 고려하여 가상머신 배치를 거의 실시간으로 수행할 수 있다는 장점이 있다.
한편, 이와 같은 본 발명에 따른 가상머신(VM) 배치와 관련하여, PSO (Particle Swarm Optimization)를 위한 파티클과 파티클 차원 및 결과에 대해 살펴보면 다음과 같다. 이와 관련하여, 도 1은 본 발명에 따른 다목적 가상머신 배치와 관련하여, PSO를 위한 파티클과 파티클 차원 및 PSO 수행 결과를 나타낸다.
도 1을 참조하면, 각 파티클은 각각의 호스트에 해당할 수 있다. 구체적으로, n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관될 수 있다. 이에 따라, HOST 1 내지 HOST 4는 각각 하나 이상의 가상머신(VM)을 포함하도록 구성될 수 있다. 이에 따라, 결과(Result)로 호스트 넘버가 출력될 수있다. 도 1에서는 파티클이 각 호스트에 대응되는 것으로 표시되었으나, 응용에 따라 n개의 파티클 각각은 복수의 가상머신(VM) 및 물리머신(PM)의 다양한 형태 또는 이들의 조합으로 이루어질 수 있다.
한편, 전술한 제약조건을 만족하는 본 발명에 따른 다목적 가상머신 배치 방법 및 장치의 상세한 동작과 구성에 대해 살펴보면 다음과 같다. 이와 관련하여, 도 2는 본 발명에 따른 다목적 가상머신 배치 방법의 흐름도를 나타낸다.
도 2를 참조하면, 가상머신 배치 방법은 리스트 생성 과정(S110), 가중치 계산 과정(S120), 목적 함수 평가 과정(S130), 평가 점수 비교 과정(140), 타겟머신 선정 과정(S150) 및 제한조건 판단 과정(S160)을 포함한다. 한편, 전술된 과정은 나열된 순서에 한정되는 것이 아니라, 응용에 따라 일부를 생략하거나 일부 과정의 순서를 변경할 수 있다. 예를 들어, 평가 점수 비교 과정(140) 이후에 제한조건 판단 과정(S160)을 일부 수행하고 타겟머신 선정 과정(S150)을 수행할 수 있다.
한편, 본 발명의 일 실시 예에 따른 가상머신 배치 방법은 리스트 생성 과정(S110), 가중치 계산 과정(S120), 목적 함수 평가 과정(S130) 및 타겟머신 선정 과정(S150)을 포함하도록 구성 가능하다. 이때, 일부 다른 과정들이 포함되도록 더 구성 가능하다.
리스트 생성 과정(S110)에서, 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 리스트를 생성할 수 있다. 이때, 상기 리스트는 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집하여 생성될 수 있다. 한편, 리스트 생성 과정(S110)에서, 목적에 따라 사용자 (단말)의 VM 배치 요청에 따라, VM 및 PM이 포함된 배치 구조에서 VM 및 PM을 랜덤한 형태의 그룹으로 분류할 수 있다.
구체적으로, 리스트 생성 과정(S110) 및 이후의 과정에서, n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성한다. 이 초기 particle들을 pbest로 설정하고 이들이 초기 swarm을 구성한다. 각 particle의 velocity를 [-vmax, vmax] 내에서 랜덤하게 생성한다. 초기 particle중 최적의 적합도를 갖는 particle을 gbest로 선정한다.
이때, 파티클(particle)이라고 불리는 각 개체는 지금까지 자신이 경험한 가장 좋은 해 그리고, 이웃한 개체들이 경험한 것 중 가장 좋은 해의 두 가지 정보를 이용하여 현재 위치에서 자신의 이동방향을 결정한다. 이에 따라, 다음 단계에서 해당 파티클의 위치가 결정된다. 이와 같은 위치의 결정은 최적화 문제에 대한 해로 1:1 매핑되어 개체의 이동은 해 공간에서의 탐색과정을 의미한다.
한편, 상기 리스트 생성 과정(S110)은 초기화 과정(S110)으로 지칭될 수 있다. 이때, 초기화 과정(S110)에서 가상머신(VM)을 배치하기 위한 서비스 요청에 따른 초기화 작업을 수행할 수 있다. 구체적으로, 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집할 수 있다.
가중치 계산 과정(S120)에서, 상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산할 수 있다. 이와 관련하여, Inertia weight & velocity updating (관성 가중치 & 속도 갱신)이 이루어질 수 있다. 따라서, 수학식 5와 같은 형태로 가중치 값이 계산될 수 있다. 이때, er은 반복횟수를 나타낸다.
[수학식 5]
Figure 112018128510987-pat00031
여기서, ωmax와 ωmin은 각각 가중치의 최대값 및 최소값일 수 있다. 따라서, 시각 t에서의 가중치 ω(t)는 현재 시각 t와 ωmax와 ωmin와 반복 횟수(er)에 의해 결정될 수 있다. 하지만, 이에 한정되는 것은 아니고, 응용에 따라 자유롭게 변경 가능하다.
한편, 목적 함수 평가 과정(S130)에서, 상기 가중치에 따라 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행할 수 있다.
한편, 목적 함수 평가 과정(S130) 이후 평가 점수 비교 과정(140)에서, 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단할 수 있다. 이때, 평가 점수 비교 과정(140)에서, 새로운 particle들의 적합도(다목적 함수에 의해)를 계산한다. 새로운 particle들에 의한 pbest가 이전 pbest와 비교되며 pbest를 재설정할 수 있다. 또한, 새로운 particle들에 의한 gbest를 재설정할수 있다.
구체적으로, 새로운 particle들의 적합도(가중치)를 다목적 함수에 의해 계산한다. 따라서, 이전 pbest (최적해,PM 타겟)와 비교되며, 이에 따라 pbest를 재설정할 수 있다. 또한, 새로운 particle들을 이용하여 gbest (VM 타겟머신)를 재설정할 수 있다. 한편, 평가 점수 비교 과정(140)에서는, 목적 함수에 따라 선택되는 값이 달라질 수 있다.
한편, 평가 점수 비교 과정(140)에서, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가 과정(S130) 이하 단계를 반복할 수 있다.
한편, 타겟머신 선정 과정(S150)에서, 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정할 수 있다.
한편, 타겟머신 선정 과정(S150) 이후, 상기 목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단하는 제한조건 판단 과정(S160)을 더 포함할 수 있다. 이때, 상기 제한 조건을 만족하면, 상기 해당 가상 머신을 해당 호스트의 타겟 머신으로 선정할 수 있다. 한편, 상기 제한 조건이 만족되어 상기 해당 가상 머신을 해당 호스트의 타겟 머신으로 선정됨에 따라 가상머신 배치 방법의 수행이 종료될 수 있다. 따라서, 상기 제한 조건을 종료 조건 (Stopping criteria)라고 지칭할 수 있고, 상기 종료 조건을 만족하면 탐색과정을 종료하고, 그렇지 않으면 리스트 생성 과정(S110) (또는 초기화 과정(S110))부터 반복할 수 있다.
구체적으로, 상기 해당 가상 머신과 탐색 가능한 다른 이웃 가상머신 전부에 대해 상기 제한 조건을 만족하지 않으면, 상기 리스트 생성 과정(S110) 이하 단계를 반복할 수 있다. 반면에, 상기 해당 가상 머신과 상기 다른 이웃 가상머신 중 적어도 하나가 상기 제한 조건을 만족하면, 상기 제한 조건을 만족하는 가상 머신을 상기 해당 호스트의 타겟 머신으로 선정할 수 있다.
한편, 전술한 바와 같이 파티클(particle)이라고 불리는 각 개체는 지금까지 자신이 경험한 가장 좋은 해 그리고, 이웃한 개체들이 경험한 것 중 가장 좋은 해의 두 가지 정보를 이용하여 현재 위치에서 자신의 이동방향을 결정한다. 이에 따라, 다음 단계에서 해당 파티클의 위치가 결정된다. 이와 같은 위치의 결정은 최적화 문제에 대한 해로 1:1 매핑되어 개체의 이동은 해 공간에서의 탐색과정을 의미한다.
이에 따라, 상기 리스트 생성 과정(S110)에서, n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성할 수 있다. 또한, 각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성할 수 있다.
한편, 상기 목적 함수 평가 과정(S130)과 상기 타겟머신 선정 과정(S150)에서, 상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다. 이때, 상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관될 수 있다.
한편, 평가 점수 비교 과정(140)에서, 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단할 수 있다. 이때, 평가 점수 비교 과정(140)에서, 새로운 particle들의 적합도(다목적 함수에 의해)를 계산한다. 새로운 particle들에 의한 pbest가 이전 pbest와 비교되며 pbest를 재설정할 수 있다. 또한, 새로운 particle들에 의한 gbest를 재설정할수 있다.
구체적으로, 새로운 particle들의 적합도(가중치)를 다목적 함수에 의해 계산한다. 따라서, 이전 pbest (최적해,PM 타겟)와 비교되며, 이에 따라 pbest를 재설정할 수 있다. 또한, 새로운 particle들을 이용하여 gbest (VM 타겟머신)를 재설정할 수 있다. 한편, 평가 점수 비교 과정(140)에서는, 목적 함수에 따라 선택되는 값이 달라질 수 있다.
따라서, pbest의 재설정에 의해 해당 가상머신(VM)에 대한 타겟 물리머신(PM)이 재설정될 수 있다. 또한, gbest의 재설정에 의해 해당 물리머신(PM)에 대한 타겟 가상머신(PM)이 재설정될 수 있다.
한편, 상기 목적 함수 평가 과정(S130)과 상기 타겟머신 선정 과정(S150)에서, 아래의 수학식 6에 의해 각 파티클의 이동 방향과 속도를 결정하여 PSO를 수행할 수 있다.
[수학식 6]
Figure 112018128510987-pat00032
여기서,
Figure 112018128510987-pat00033
는 시각 t+1에서의 j번째 파티클의 속도이고,
Figure 112018128510987-pat00034
는 시각 t에서의 가중치이고,
Figure 112018128510987-pat00035
는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이다. 한편, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수일 수 있다.
한편, 타겟머신 선정 과정(S150)에서 최종적으로 생성된 gbest는 상기 각 파티클이 최적의 위치 정보에 따라 배치됨에 따라, 상기 복수의 가상머신(VM) 및 물리머신(PM)이 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키면서 최적으로 배치될 수 있다.
한편, 본 발명의 다른 실시 예에 따른 가상머신 배치 방법은 초기화 과정(S110), 목적 함수 평가 과정(S130), 평가 점수 비교 과정(140) 및 타겟머신 선정 과정(S150)을 포함하도록 구성 가능하다. 이때, 일부 다른 과정들이 포함되도록 더 구성 가능하다. 한편, 전술된 가상머신 배치 방법에서 설명된 내용들이 이하의 설명에도 적용될 수 있다.
먼저, 초기화 과정(S110)에서, 가상머신(VM)을 배치하기 위한 서비스 요청에 따른 초기화 작업을 수행할 수 있다. 전술한 바와 같이, 이때, 상기 초기화 작업은 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집하여 수행될 수 있다. 한편, 초기화 과정(S110)에서, 목적에 따라 사용자 (단말)의 VM 배치 요청에 따라, VM 및 PM이 포함된 배치 구조에서 VM 및 PM을 랜덤한 형태의 그룹으로 분류할 수 있다.
목적 함수 평가 과정(S130)에서, 상기 가상머신(VM) 배치를 위한 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행할 수 있다. 또한, 평가 점수 비교 과정(140)에서, 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단할 수 있다.
한편, 타겟머신 선정 과정(S150)에서, 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정할 수 있다. 이때, 타겟머신 선정 과정(S150)에서, 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 n개의 파티클(particle) 중 최적의 가상머신 배치 적합도를 고려하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다.
한편, 초기화 과정(S110) 이후, 상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하는 가중치 계산 과정(S120)을 더 포함할 수 있다. 이에 따라, 상기 가상머신(VM) 배치를 위한 다목적 함수는 상기 계산된 가중치(weight)에 따라 수학식 1을 만족하도록, 상기 다목적 함수
Figure 112018128510987-pat00036
를 N개의 목적함수에 대한 조건을 만족하도록 최적화할 수 있다. 이때, Ri,j는 i번째 VM (또는 PM)이 j번째 PM (또는 VM)에 할당됨에 따른 리소스를 나타낸다.
한편, 타겟머신 선정 과정(S150) 이후, 상기 목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단하는 제한조건 판단 과정(S160)을 더 포함할 수 있다. 상기 제한조건 판단 과정(S160)에서, 상기 리소스 낭비와 전력 소비에 관한 제한조건에 따라,
Figure 112018128510987-pat00037
Figure 112018128510987-pat00038
Figure 112018128510987-pat00039
를 만족하여 상기 리소스 낭비 및 상기 전력 소비가 최소가 되도록 할 수 있다. 이때, W는 리소스 낭비(resource waste)를 나타내고, P는 소비 전력을 나타낸다.
한편, 상기 평가 점수 비교과정(S140)에서, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가 과정(S130) 이하 단계를 반복할 수 있다.
반면에, 상기 해당 가상 머신과 탐색 가능한 다른 이웃 가상머신 전부에 대해 상기 제한 조건을 만족하지 않으면, 상기 초기화 과정(S110) 이하 단계를 반복할 수 있다.
한편, 상기 해당 가상 머신과 상기 다른 이웃 가상머신 중 적어도 하나가 상기 제한 조건을 만족하면, 상기 제한 조건을 만족하는 가상 머신을 상기 해당 호스트의 타겟 머신으로 선정할 수 있다.
한편, 상기 초기화 과정(S110)에서, n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성할 수 있다. 이때, 각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성할 수 있다.
반면에, 상기 목적 함수 평가 과정(S130) 및 상기 타겟머신 선정 과정(S150)에서, 상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다. 이때, 상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관될 수 있다.
한편, 상기 목적 함수 평가 과정(S130) 및 상기 타겟머신 선정 과정(S150)에서, 수학식 6에 의해 상기 각 파티클의 이동 방향과 속도를 결정하여 상기 PSO를 수행할 수 있다. 이때,
Figure 112018128510987-pat00040
는 시각 t+1에서의 j번째 파티클의 속도이고,
Figure 112018128510987-pat00041
는 시각 t에서의 가중치이고,
Figure 112018128510987-pat00042
는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이고, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수일 수 있다.
이상에서는, 본 발명에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법에 대해 살펴보았다. 상기 방법은 가상머신 배치 장치에 의해 수행 가능하다. 한편, 이하에서는, 본 발명의 다른 측면에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 장치 및 시스템에 대해 살펴보기로 한다.
이와 관련하여, 도 2는 본 발명에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 장치 및 시스템의 상세 구성을 나타낸다.
도 2를 참조하면, 가상머신 배치 시스템은 복수의 물리머신(PM, 100) 및 복수의 물리머신(PM, 100)에 재구성 가능하게 연결되어 배치되는, 복수의 가상머신(VM, 200)을 포함한다. 또한, 복수의 물리머신(PM, 100) 및 복수의 가상머신(VM, 200) 간의 배치를 제어하는 가상머신(VM) 배치 장치(300)을 더 포함할 수 있다.
이에 따라, 가상머신(VM) 배치 장치(300)는 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집하고, 상기 가상머신(VM) 배치를 위한 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행할 수 있다.
또한, 가상머신(VM) 배치 장치(300)는 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단하고, 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정할 수 있다. 또한, 상기 타겟머신 선정과 관련하여 상기 가상머신(VM) 배치 장치는, 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 n개의 파티클(particle) 중 최적의 가상머신 배치 적합도를 고려하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다.
또한, 가상머신(VM) 배치 장치(300)는 상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산할 수 있다. 이때, 상기 가상머신(VM) 배치를 위한 다목적 함수는 상기 계산된 가중치(weight)에 따라 수학식 1을 만족하도록, 상기 다목적 함수
Figure 112018128510987-pat00043
를 N개의 목적함수에 대한 조건을 만족하도록 최적화할 수 있다. 이때, Ri,j는 i번째 VM (또는 PM)이 j번째 PM (또는 VM)에 할당됨에 따른 리소스를 나타낸다.
또한, 가상머신(VM) 배치 장치(300)는 상기 목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단할 수 있다. 이때, 상기 제한조건 판단을 통해, 상기 리소스 낭비와 전력 소비에 관한 제한조건에 따라,
Figure 112018128510987-pat00044
Figure 112018128510987-pat00045
Figure 112018128510987-pat00046
를 만족하여 상기 리소스 낭비 및 상기 전력 소비가 최소가 되도록 제어할 수 있다. 이때, W는 리소스 낭비(resource waste)를 나타내고, P는 소비 전력을 나타낸다.
또한, 가상머신(VM) 배치 장치(300)는 상기 평가 점수 비교 결과, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가를 반복할 수 있다. 이때, 상기 해당 가상 머신과 탐색 가능한 다른 이웃 가상머신 전부에 대해 상기 제한 조건을 만족하지 않으면, 상기 리소스 상태와 전력 상태 수집 동작을 반복할 수 있다. 한편, 상기 해당 가상 머신과 상기 다른 이웃 가상머신 중 적어도 하나가 상기 제한 조건을 만족하면, 상기 제한 조건을 만족하는 가상 머신을 상기 해당 호스트의 타겟 머신으로 선정할 수 있다.
한편, 본 발명의 또 다른 측면에 따른 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 장치가 제공된다. 이와 관련하여, 도 3을 참조하면, 다목적 가상머신 배치 장치는 모니터링부(310), VM 최적화부(320) 및 VM 배치 제어부(330)를 포함하도록 구성된다.
한편, 도 4는 본 발명에 따른 가상머신 배치를 위한 가상머신 배치 장치의 상세 구성을 나타낸다. 도 3 및 도 4를 참조하면, 다목적 가상머신 배치 장치는 모니터링부(310), VM 최적화부(320) 및 VM 배치 제어부(330)를 포함하도록 구성된다.
모니터링부(310)는 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집하고 모니터링할 수 있다. 구체적으로, CPU와 메모리에서의 자원 이용 정보와 소비 전력에 관한 정보를 수집 및 모니터링 할 수 있다. 따라서, 모니터링부(310)는 모니터링 및 상태 정보를 수집 (monitoring & state collection)한다.
한편, VM 최적화부(320)는 상기 모니터링된 리소스 상태와 전력 상태에 따라 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산할 수 있다. 또한, 상기 가중치에 따라 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행할 수 있다. 이에 따라, VM 배치 제어부(330)는 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하고 해당 물리머신(PM)에 배치할 수 있다.
따라서, 도 4에 도시된 바와 같이, VM 최적화부(320)는 사용자 요청에 따른 서비스 분류(service classification)을 수행한다. 또한, PSO 모듈을 통해 분류된 서비스에 대해 다목적 함수에 기반하여 호스트 개체에 대한 PSO 최적화 과정을 수행한다. 또한, 결정(Decision) 모듈을 통해 가상머신(VM)의 최적 배치와 관련된 결정을 할 수 있다.
또한, VM 배치 제어부(330)는 타켓 머신 선택(Target Machine Selection)d를 수행하고, 이에 따라 타겟 머신 배치(placement)를 수행한다.
한편, VM 최적화부(320)는 상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단할 수 있다. 이에 따라, 상기 평가 점수 비교 결과, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가 수행을 반복할 수 있다.
한편, VM 최적화부(320)는 n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성하고, 각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성할 수 있다. 또한, 상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행할 수 있다. 이때, 상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관될 수 있다.
한편, VM 최적화부(320)는 수학식 6에 의해 각 파티클의 이동 방향과 속도를 결정하여 PSO를 수행할 수 있다. 이때,
Figure 112018128510987-pat00047
는 시각 t+1에서의 j번째 파티클의 속도이고,
Figure 112018128510987-pat00048
는 시각 t에서의 가중치이고,
Figure 112018128510987-pat00049
는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이다. 한편, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수일 수 있다.
한편, 본 발명에 따른 가상 머신 배치 장치의 각 구성에서의 주요 특징에 대해 살펴보면 다음과 같다.
모니터링부(310): 가상머신, 물리머신 의 리소스 및 전력 상태를 수집한다.
VM 최적화부(320): 사용자 요청에 따라 목적에 따라 서비스를 분류하고 PSO 모듈에서 선정된 리스트에서 target machine을 결정하게 한다.
VM 배치 제어부(330): 리스트 중에서 target machine을 선정하고 placement를 실시하게 된다.
한편, 아래의 표 2는 본 발명에 따른 다목적 함수 기반 가상머신 배치 시스템을 시뮬레이션하기 위한 환경을 나타낸다.
Spec
CloudSim Version 3.0.3
Storage 1GB
RAM 128GB
Imagesize 2500MB
Hypervisor Xen
한편, 도 5 및 도 6은 본 발명에 따른 가상머신 배치에서 목적 함수에 따른 평가 결과이다. 구체적으로, 도 5는 본 발명에 따른 가상머신 배치에서 호스트 수 증가에 따른 자원 낭비를 비교한 것이다. 또한, 도 6은 본 발명에 따른 가상머신 배치에서 호스트 수 증가에 따른 에너지 소비량을 비교한 것이다.
도 5 및 도 6을 참조하면, 본 발명에 따른 다목적 가상머신 배치 방법의 제안(proposed)에 의한 리소스 낭비 수준은 다른 방식들에 의한 리소스 낭비 수준보다 훨씬 낮음을 알 수 있다. 특히, 호스트 수가 250개 이하인 경우 유전자 알고리즘(GA) 에 비해서도 리소스 낭비 수준이 상당히 낮음을 알 수 있다. 한편, 에너지 소비량(전력 소비량) 관점에서 본 발명에서 제안한 방식은 유전자 알고리즘(GA) 알고리즘과 거의 유사함을 알 수 있다. 따라서, 본 발명에 따른 다목적 가상머신 배치 방법은 다른 방식보다 리소스 효율 측면에서 상당히 효율적인 방식이다.
이상에서는, 본 발명에 따른 다목적 가상머신 배치 방법 및 장치에 관한 것이다. 보다 상세하게는, 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법, 장치 및 시스템에 대해 살펴보았다.
이러한 본 발명의 기술적 구성과 특징에 따른 본 발명의 기술적 효과에 대해 살펴보면 다음과 같다.
적용 분야와 관련하여, 본 발명의 적어도 일 실시예에 따르면, 클라우드 환경을 통해 데이터 센터 자원을 가상머신 배치 방식을 통해 언제 어디서나 관리할 수 있다는 장점이 있다.
기대효과와 관련하여, 본 발명의 적어도 일 실시예에 따르면, 클라우드 환경에서 사용자의 요구사항에 따라 만족도를 향상 시키고 QoS를 보장할 수 있다는 장점이 있다.
기술의 사업화 전망과 관련하여, 본 발명의 적어도 일 실시예에 따르면, 클라우드 환경에서의 가상머신 배치 활용하여 자원을 효율적으로 활용하고 성능을 향상시킬 수 있다. 또한, 분산 클라우드 환경에서의 서비스를 보장하여 사용자의 만족도를 비용까지 고려하여 절감할 수 있다는 장점이 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들에 대한 설계 및 파라미터 최적화는 별도의 소프트웨어 모듈로도 구현될 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.

Claims (21)

  1. 가상머신 배치 장치에 의해 수행되는 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법에 있어서,
    가상머신(VM)을 배치하기 위한 서비스 요청에 따라 리스트를 생성하는 리스트 생성 과정:
    상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하는 가중치 계산 과정;
    상기 가중치에 따라 다목적 함수를 이용하여 상기 서비스 요청의 목적에 대한 평가를 수행하는 목적 함수 평가 과정; 및
    해당 가상머신(VM)의 목적 함수 평가 점수가 초기 선정된 VM의 목적 함수 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하는 타겟머신 선정 과정을 포함하고,
    상기 리스트 생성 과정에서,
    n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성하고,
    각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성하고,
    상기 목적 함수 평가 과정과 상기 타겟머신 선정 과정에서,
    상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행하고,
    상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관되는 것을 특징으로 하는, 가상머신 배치 방법.
  2. 제1 항에 있어서,
    상기 목적 함수 평가 과정 이후,
    상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단하는 평가 점수 비교 과정을 더 포함하고,
    상기 평가 점수 비교과정에서, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가 과정 이하 단계를 반복하는 것을 특징으로 하는, 가상머신 배치 방법.
  3. 제1 항에 있어서,
    상기 타겟머신 선정 과정 이후,
    상기 목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단하는 제한조건 판단 과정을 더 포함하고,
    상기 제한 조건을 만족하면, 상기 해당 가상 머신을 해당 호스트의 타겟 머신으로 선정하는 것을 특징으로 하는, 가상머신 배치 방법.
  4. 제3 항에 있어서,
    상기 해당 가상 머신과 탐색 가능한 다른 이웃 가상머신 전부에 대해 상기 제한 조건을 만족하지 않으면, 상기 리스트 생성 과정 이하 단계를 반복하고,
    상기 해당 가상 머신과 상기 다른 이웃 가상머신 중 적어도 하나가 상기 제한 조건을 만족하면, 상기 제한 조건을 만족하는 가상 머신을 상기 해당 호스트의 타겟 머신으로 선정하는 것을 특징으로 하는, 가상머신 배치 방법.
  5. 삭제
  6. 제1 항에 있어서,
    상기 목적 함수 평가 과정과 상기 타겟머신 선정 과정에서,
    Figure 112020027194100-pat00078
    에 의해 상기 각 파티클의 이동 방향과 속도를 결정하여 상기 PSO를 수행하고,
    Figure 112020027194100-pat00079
    는 시각 t+1에서의 j번째 파티클의 속도이고,
    Figure 112020027194100-pat00080
    는 시각 t에서의 가중치이고,
    Figure 112020027194100-pat00081
    는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이고, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수인, 가상머신 배치 방법.
  7. 제1 항에 있어서,
    상기 타겟머신 선정 과정에서 최종적으로 생성된 gbest는 상기 각 파티클이 최적의 위치 정보에 따라 배치됨에 따라, 상기 복수의 가상머신(VM) 및 물리머신(PM)이 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키면서 최적으로 배치되는 것을 특징으로 하는, 가상머신 배치 방법.
  8. 가상머신 배치 장치에 의해 수행되는 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법에 있어서,
    가상머신(VM)을 배치하기 위한 서비스 요청에 따른 초기화 작업을 수행하는 초기화 과정:
    상기 가상머신(VM) 배치를 위한 다목적 함수를 이용하여 상기 서비스 요청의 목적에 대한 평가를 수행하는 목적 함수 평가 과정;
    해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단하는 평가 점수 비교 과정; 및
    해당 가상머신(VM)의 목적 함수 평가 점수가 초기 선정된 VM의 목적 함수 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하는 타겟머신 선정 과정을 포함하고,
    상기 타겟머신 선정 과정에서, 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 n개의 파티클(particle) 중 최적의 가상머신 배치 적합도를 고려하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행하는, 가상머신 배치 방법.
  9. 제8 항에 있어서,
    상기 초기화 과정 이후,
    생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하는 가중치 계산 과정을 더 포함하고,
    상기 가상머신(VM) 배치를 위한 다목적 함수는 상기 계산된 가중치(weight)에 따라
    Figure 112020027194100-pat00082
    를 만족하도록, 상기 다목적 함수
    Figure 112020027194100-pat00083
    를 N개의 목적함수에 대한 조건을 만족하도록 최적화하고,
    Ri,j는 i번째 VM (또는 PM)이 j번째 PM (또는 VM)에 할당됨에 따른 리소스를 나타내는, 가상머신 배치 방법.
  10. 제8 항에 있어서,
    상기 타겟머신 선정 과정 이후,
    상기 목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단하는 제한조건 판단 과정을 더 포함하고,
    상기 제한조건 판단 과정에서, 상기 리소스 낭비와 전력 소비에 관한 제한조건에 따라,
    Figure 112018128510987-pat00056
    Figure 112018128510987-pat00057
    Figure 112018128510987-pat00058
    를 만족하여 상기 리소스 낭비 및 상기 전력 소비가 최소가 되도록 하고,
    W는 리소스 낭비(resource waste)를 나타내고, P는 소비 전력을 나타내는, 가상머신 배치 방법.
  11. 제10 항에 있어서,
    상기 평가 점수 비교과정에서, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 상기 목적함수 평가 과정 이하 단계를 반복하고,
    상기 해당 가상 머신과 탐색 가능한 다른 이웃 가상머신 전부에 대해 상기 제한 조건을 만족하지 않으면, 상기 초기화 과정 이하 단계를 반복하고,
    상기 해당 가상 머신과 상기 다른 이웃 가상머신 중 적어도 하나가 상기 제한 조건을 만족하면, 상기 제한 조건을 만족하는 가상 머신을 해당 호스트의 타겟 머신으로 선정하는 것을 특징으로 하는, 가상머신 배치 방법.
  12. 제11 항에 있어서,
    상기 초기화 과정에서,
    n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성하고,
    각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성하고,
    상기 목적 함수 평가 과정 및 상기 타겟머신 선정 과정에서,
    상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행하고,
    상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관되는 것을 특징으로 하는, 가상머신 배치 방법.
  13. 제12 항에 있어서,
    상기 목적 함수 평가 과정과 상기 타겟머신 선정 과정에서,
    Figure 112018128510987-pat00059
    에 의해 상기 각 파티클의 이동 방향과 속도를 결정하여 상기 PSO를 수행하고,
    Figure 112018128510987-pat00060
    는 시각 t+1에서의 j번째 파티클의 속도이고,
    Figure 112018128510987-pat00061
    는 시각 t에서의 가중치이고,
    Figure 112018128510987-pat00062
    는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이고, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수인, 가상머신 배치 방법.
  14. 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 장치에 있어서,
    가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집하는 모니터링부;
    상기 모니터링된 리소스 상태와 전력 상태에 따라 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하고,
    상기 가중치에 따라 다목적 함수를 이용하여 상기 서비스 요청의 목적에 대한 평가를 수행하는 VM 최적화부; 및
    해당 가상머신(VM)의 서비스 요청 목적에 대한 평가 점수가 초기 선정된 VM의 서비스 요청 목적에 대한 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하는 VM 배치 제어부를 포함하고,
    상기 VM 최적화부는,
    n개의 파티클(particle)을 탐색 공간 내에서 랜덤하게 생성하여 초기 파티클을 pbest로 설정하여 초기 군집(swarm)을 구성하고,
    각 파티클의 속도(velocity)를 [-vmax vmax] 내에서 랜덤하게 생성하고,
    상기 초기 파티클 중 최적의 적합도를 갖는 파티클을 gbest로 선정하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행하고,
    상기 n개의 파티클은 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 호스트와 연관되는 것을 특징으로 하는, 가상머신 배치 장치.
  15. 제14 항에 있어서,
    상기 VM 최적화부는,
    상기 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단하고,
    상기 평가 점수 비교 결과, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 평가 수행을 반복하는 것을 특징으로 하는, 가상머신 배치 장치.
  16. 삭제
  17. 제14 항에 있어서,
    상기 VM 최적화부는,
    Figure 112020027194100-pat00084
    에 의해 상기 각 파티클의 이동 방향과 속도를 결정하여 상기 PSO를 수행하고,
    Figure 112020027194100-pat00085
    는 시각 t+1에서의 j번째 파티클의 속도이고,
    Figure 112020027194100-pat00086
    는 시각 t에서의 가중치이고,
    Figure 112020027194100-pat00087
    는 VM이 PM에 할당되었는지 여부를 나타내는 인덱스이고, j와 k는 각각 상기 복수의 가상머신(VM) 및 물리머신(PM)와 연관된 인덱스이고, r1 및 r2는 파티클 간 거리와 연관되고, c1 및 c2는 상기 거리를 속도 정보로 변환 위한 비례 상수인, 가상머신 배치 장치.
  18. 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 시스템에 있어서,
    복수의 물리머신(PM);
    상기 복수의 물리머신(PM)에 재구성 가능하게 연결되어 배치되는, 복수의 가상머신(VM); 및
    가상머신(VM)을 배치하기 위한 서비스 요청에 따라 상기 가상머신(VM) 및 물리머신(PM)에 관한 리소스 상태와 전력 상태를 수집하고, 상기 가상머신(VM) 배치를 위한 다목적 함수를 이용하여 상기 서비스 요청의 목적에 대한 평가를 수행하는 가상머신(VM) 배치 장치를 포함하고,
    상기 가상머신(VM) 배치 장치는,
    해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높은지 여부를 판단하고,
    해당 가상머신(VM)의 서비스 요청 목적에 대한 평가 점수가 초기 선정된 VM의 서비스 요청 목적에 대한 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하고,
    상기 타겟머신 선정과 관련하여 상기 가상머신(VM) 배치 장치는, 복수의 가상머신(VM) 및 물리머신(PM)과 연관된 n개의 파티클(particle) 중 최적의 가상머신 배치 적합도를 고려하여 파티클 군집 최적화(PSO: Particle Swarm Optimization)를 수행하는, 가상머신 배치 시스템.
  19. 제18 항에 있어서,
    상기 가상머신(VM) 배치 장치는,
    생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하고,
    상기 가상머신(VM) 배치를 위한 다목적 함수는 상기 계산된 가중치(weight)에 따라
    Figure 112020501716714-pat00067
    를 만족하도록, 상기 다목적 함수
    Figure 112020501716714-pat00068
    를 N개의 목적함수에 대한 조건을 만족하도록 최적화하고,
    Ri,j는 i번째 VM (또는 PM)이 j번째 PM (또는 VM)에 할당됨에 따른 리소스를 나타내는, 가상머신 배치 시스템.
  20. 제18 항에 있어서,
    상기 가상머신(VM) 배치 장치는,
    상기 다목적 함수에 따른 상기 목적에 대한 평가 결과, 리소스(resource) 낭비와 전력(power) 소비에 관한 제한조건을 만족시키는 여부를 판단하고,
    상기 제한조건 판단을 통해, 상기 리소스 낭비와 전력 소비에 관한 제한조건에 따라,
    Figure 112020027194100-pat00088
    Figure 112020027194100-pat00089
    Figure 112020027194100-pat00090
    를 만족하여 상기 리소스 낭비 및 상기 전력 소비가 최소가 되도록 하고,
    W는 리소스 낭비(resource waste)를 나타내고, P는 소비 전력을 나타내는, 가상머신 배치 시스템.
  21. 제20 항에 있어서,
    상기 가상머신(VM) 배치 장치는,
    상기 평가 점수 비교 결과, 상기 해당 가상머신(VM)의 평가 점수가 상기 초기 선정된 VM의 평가 점수보다 높지 않으면, 다른 이웃 가상머신을 탐색하면서 평가를 반복하고,
    상기 해당 가상 머신과 탐색 가능한 다른 이웃 가상머신 전부에 대해 상기 제한 조건을 만족하지 않으면, 상기 리소스 상태와 전력 상태 수집 동작을 반복하고,
    상기 해당 가상 머신과 상기 다른 이웃 가상머신 중 적어도 하나가 상기 제한 조건을 만족하면, 상기 제한 조건을 만족하는 가상 머신을 해당 호스트의 타겟 머신으로 선정하는 것을 특징으로 하는, 가상머신 배치 시스템.
KR1020180166301A 2018-12-20 2018-12-20 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치 KR102129389B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180166301A KR102129389B1 (ko) 2018-12-20 2018-12-20 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180166301A KR102129389B1 (ko) 2018-12-20 2018-12-20 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102129389B1 true KR102129389B1 (ko) 2020-07-08

Family

ID=71601068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180166301A KR102129389B1 (ko) 2018-12-20 2018-12-20 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102129389B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094149A (zh) * 2021-03-12 2021-07-09 西安交通大学 一种数据中心虚拟机放置方法、系统、介质及设备
CN113138838A (zh) * 2021-05-07 2021-07-20 桂林电子科技大学 一种基于人工蜂群算法的虚拟机放置方法
KR102557617B1 (ko) * 2022-12-27 2023-07-21 오케스트로 주식회사 가상머신 배치 평가 장치 및 이를 포함하는 서버 운영 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101557747B1 (ko) * 2014-02-05 2015-10-19 순천향대학교 산학협력단 클라우드에서 다중 자원의 효율적인 활용을 위한 가상머신 할당 시스템 및 방법
KR20160070636A (ko) * 2014-12-10 2016-06-20 경희대학교 산학협력단 분산 클라우드 환경에서의 마이그레이션 제어 장치 및 이를 이용한 마이그레이션 제어 방법
KR101654395B1 (ko) * 2009-04-08 2016-09-05 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 최적화된 가상 머신 마이그레이션 메커니즘

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101654395B1 (ko) * 2009-04-08 2016-09-05 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 최적화된 가상 머신 마이그레이션 메커니즘
KR101557747B1 (ko) * 2014-02-05 2015-10-19 순천향대학교 산학협력단 클라우드에서 다중 자원의 효율적인 활용을 위한 가상머신 할당 시스템 및 방법
KR20160070636A (ko) * 2014-12-10 2016-06-20 경희대학교 산학협력단 분산 클라우드 환경에서의 마이그레이션 제어 장치 및 이를 이용한 마이그레이션 제어 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Braiki 외 1명. Multi-Objective Virtual Machine Placement Algorithm Based on Particle Swarm Optimization'. 14th International Wireless Communications & Mobile Computing Conference, 2018.06., pp.279-284. *
Son 외 2명. 'Multi-objective Optimization Method for Resource Scaling in Cloud Computing', 12th International Conference on Ubiquitous Information Management and Communication, 2018.01., pp.1-6. *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113094149A (zh) * 2021-03-12 2021-07-09 西安交通大学 一种数据中心虚拟机放置方法、系统、介质及设备
CN113094149B (zh) * 2021-03-12 2024-01-12 西安交通大学 一种数据中心虚拟机放置方法、系统、介质及设备
CN113138838A (zh) * 2021-05-07 2021-07-20 桂林电子科技大学 一种基于人工蜂群算法的虚拟机放置方法
CN113138838B (zh) * 2021-05-07 2024-03-29 桂林电子科技大学 一种基于人工蜂群算法的虚拟机放置方法
KR102557617B1 (ko) * 2022-12-27 2023-07-21 오케스트로 주식회사 가상머신 배치 평가 장치 및 이를 포함하는 서버 운영 시스템

Similar Documents

Publication Publication Date Title
Wu et al. Energy and migration cost-aware dynamic virtual machine consolidation in heterogeneous cloud datacenters
Li et al. Energy-efficient migration and consolidation algorithm of virtual machines in data centers for cloud computing
Sayadnavard et al. A reliable energy-aware approach for dynamic virtual machine consolidation in cloud data centers
CN102724277B (zh) 虚拟机热迁移和部署的方法、服务器及集群系统
CN103729248B (zh) 一种基于缓存感知的确定待迁移任务的方法和装置
KR102129389B1 (ko) 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법 및 장치
Zhang et al. An adaptive multi-objective evolutionary algorithm for constrained workflow scheduling in clouds
Rajabzadeh et al. Energy-aware framework with Markov chain-based parallel simulated annealing algorithm for dynamic management of virtual machines in cloud data centers
JP4458412B2 (ja) パラメータ調整装置
Cao et al. Energy efficient allocation of virtual machines in cloud computing environments based on demand forecast
CN102591443A (zh) 一种虚拟化集群整合方法、装置及系统
Shi et al. Multi-objective container consolidation in cloud data centers
Rajabzadeh et al. New comprehensive model based on virtual clusters and absorbing Markov chains for energy-efficient virtual machine management in cloud computing
Su et al. Research on virtual machine placement in the cloud based on improved simulated annealing algorithm
Barthwal et al. Virtual Machines Placement Using Predicted Utilization of Physical Machine in Cloud Datacenter
Naik et al. Developing a cloud computing data center virtual machine consolidation based on multi-objective hybrid fruit-fly cuckoo search algorithm
Nadalizadeh et al. GreenPacker: renewable-and fragmentation-aware VM placement for geographically distributed green data centers
Sun et al. An energy efficient and runtime-aware framework for distributed stream computing systems
CN108563489A (zh) 一种数据中心综合管理系统的虚拟机迁移方法及系统
Kollu et al. Eagle Strategy with Cauchy Mutation Particle Swarm Optimization for Energy Management in Cloud Computing.
Singh An Optimal Resource Provisioning Scheme Using QoS in Cloud Computing Based Upon the Dynamic Clustering and Self-Adaptive Hybrid Optimization Algorithm.
Shang et al. spotDNN: Provisioning Spot Instances for Predictable Distributed DNN Training in the Cloud
Qiu et al. Multi-objective virtual machine consolidation
Jaradat Replica selection algorithm in data grids: the best-fit approach
Braiki et al. Data center resource provisioning using particle swarm optimization and cuckoo search: A performance comparison

Legal Events

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