KR20180096310A - 성능 제어 방법 및 이를 위한 장치 - Google Patents

성능 제어 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20180096310A
KR20180096310A KR1020170022853A KR20170022853A KR20180096310A KR 20180096310 A KR20180096310 A KR 20180096310A KR 1020170022853 A KR1020170022853 A KR 1020170022853A KR 20170022853 A KR20170022853 A KR 20170022853A KR 20180096310 A KR20180096310 A KR 20180096310A
Authority
KR
South Korea
Prior art keywords
performance
control policy
control
policy
vertical
Prior art date
Application number
KR1020170022853A
Other languages
English (en)
Other versions
KR101896497B1 (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
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020170022853A priority Critical patent/KR101896497B1/ko
Publication of KR20180096310A publication Critical patent/KR20180096310A/ko
Application granted granted Critical
Publication of KR101896497B1 publication Critical patent/KR101896497B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • H04L67/32

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 성능 제어 방법 및 이를 위한 장치에 관한 것으로서, 사용자의 서비스 요청에 따른 서비스 처리를 수행하는 서비스 제공 서버의 성능을 모니터링하고, 이전 시점의 자원 관리 이력을 고려하여 현재 시점에 적합한 성능 제어 정책을 선택함으로써 스케일 업/다운/아웃/인의 4가지 방식에 따라 보다 유연하게 성능 제어를 수행할 수 있도록 한다.

Description

성능 제어 방법 및 이를 위한 장치 {METHOD AND APPRATUS FOR PERFORMANCE CONTROL}
본 발명은 가상화(Virtualization) 기술을 기반으로 운용되는 서버 시스템의 성능 제어 방법 및 장치에 관한 것으로서, 더욱 상세하게는 응용 프로그램의 실행을 지원하는 가상화 노드의 서비스 처리량, 자원 활용율과 같은 성능을 모니터링하여 모니터링 결과에 따라 가상화 노드에 할당되는 자원을 조절하는 수직적 제어 정책 혹은 가상화 노드의 수를 조절하는 수평적 제어 정책을 선택적으로 적용함으로써 동적으로 성능 제어를 수행할 수 있는 가상화 환경에서의 성능 제어 방법 및 이를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
다수의 사용자 단말로부터의 서비스 요청에 따라, 서비스 처리를 수행하기 위한 클러스터 시스템에서는 자원이 다수의 사용자에 의해 공유되기 때문에 자원 활용이 시스템의 성능에 중요한 영향을 미친다.
최근에 각광 받고 있는 클라우드 컴퓨팅 역시 다수의 사용자가 클라우드 서버에 동시 접속하는 경우 응용 프로그램에 할당된 자원이 부족하게 되어 시스템이 불안정해지는 경우가 있다.
이러한 자원 활용의 문제점을 극복하여 사용자에게 좀 더 안정적인 서비스 환경을 제공하기 위한 방안으로 가상화 기술이 있다.
가상화 기술은 하나의 물리적인 장비를 논리적으로 여러 개의 장비처럼 사용하는 것을 의미한다.
기존에 주로 사용되던 가상화 기술은 가상 머신(Virtual Machine) 기반 가상화로, 하나의 물리적인 서버 내에 운영체제, 즉 호스트(host) OS를 설치하고, 자원을 분할하여 여러 개의 논리적 가상 머신을 생성한 후 게스트(guest) OS를 설치하고, 응용 프로그램(application)을 구동하여, 구동되는 응용 프로그램들이 하나의 물리적 자원, 예를 들면 CPU, 메모리 등의 하드웨어 자원을 공유하는 것이다.
최근에는 컨테이너(Container)를 이용한 소프트웨어 가상화 또는 OS 레벨 가상화로 불리는 가상화 기법이 대두되고 있다. 컨테이너를 이용한 가상화 기술은 호스트 OS 내부를 물리적 자원을 관리하는 커널 공간과 사용자 프로세스, 즉 응용 프로그램을 실행하는 사용자 공간으로 구분하고, 사용자 공간을 여러 개로 나누어 각각의 사용자 프로세스에서 사용되는 하드웨어 자원을 할당하고 공유하는 기술을 의미한다. 컨테이너 기반 환경은 기존의 가상 머신 환경에 비해 구조적으로 게스트 OS가 없기 때문에, 용량이 매우 가볍고 자원 활용율이 더 높다는 장점이 있다.
이러한 가상화 환경에서는 가상 머신이나 컨테이너와 같은 가상화 노드를 기반으로 자원을 할당함으로써 부하에 따른 성능을 제어하는 오토 스케일링(Auto-Scaling) 기술을 활용하고 있다.
오토 스케일링에는 가상 머신이나 컨테이너와 같은 가상화 노드의 부하 상태를 모니터링하여, 가상화 노드와 같은 서비스 수행 개체를 복제하여 추가하거나 삭제하여 축소하는 스케일 아웃/인(Scale OUT/IN)에 의한 수평적 제어 정책과 처리 성능에 영향을 미치는 자원을 추가하거나 회수하는 스케일 업/다운 (Scale UP/DOWN)에 의한 수직적 제어 정책이 있다. 즉, 시스템 전체의 자원 효율성을 높이기 위해 필요한 만큼 자원을 할당하는 방식을 크게 두 종류로 구분하여 적용하고 있었다.
이 때, 수평적 제어 정책으로 성능을 확대/축소할지 또는 수직적 제어 정책으로 성능을 확대/축소할지는 사전에 응용 프로그램의 성격을 미리 파악하여 둘 중에 유리한 방식으로 적용되고 있었다. 즉, 시스템 관리자에 의해 미리 설정된 성능 제어 정책에 따라 운영되는 방식이었다. 일례로, 대부분의 클라우드 시스템에서는 수평적 제어 정책이 선호되고 있으며, NFV(Network Functions Virtualization) 시스템에서는 수직적 제어 정책에 의하는 경우가 있다.
이와 같이 종래에는 특정 시점에 어떠한 정책이 시스템 운영에 유리할지를 고려하지 않고, 단순히 부하 상태만을 모니터링하여 둘 중에 한 가지 성능 제어 정책을 적용하여 오토 스케일링을 수행하였기에 최적의 상태로 시스템이 운영되지 못하는 문제가 있었다.
한국등록특허 제10-1613513호 2016년 04월 12일 등록 (명칭: 네트워크 대역폭 및 CPU 이용률을 고려한 가상머신 배치 방법 및 시스템)
이에, 본 발명은 종래의 문제점을 해결하고자, 수직 또는 수평적 제어 정책 중 하나의 방식으로 고정되어 운영되던 방식을 탈피하여, 가상화 노드를 모니터하여, 그 상태에 따라서 가변적으로 수직 또는 수평적 제어 정책을 선택하여 적용할 수 있는 성능 제어 방법 및 이를 위한 장치를 제공하고자 한다.
특히, 본 발명은 자원 활용에 대한 이력을 저장하여 관리함으로써, 이전 단계에서 내려진 결정이 실제 성능 향상에 기여한 바를 고려하여 현재 시점에 적합한 성능 제어 정책을 선택함으로써 최적으로 시스템 성능을 확대/축소할 수 있는 성능 제어 방법 및 이를 위한 장치를 제공하는 데 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 성능 제어 방법은, 성능 제어 장치가, 가상화 노드의 자원 활용율에 따라 성능 확대 또는 성능 축소를 포함하는 성능 제어 필요 여부를 판단하는 단계; 및 성능 제어가 필요한 것으로 판단되면, 이전에 적용된 성능 제어 정책을 고려하여, 수직적 제어 정책 및 수평적 제어 정책 중 하나의 성능 제어 정책을 선택하는 단계를 포함할 수 있다.
또한, 상기 판단하는 단계 이전에, 상기 서비스 제공 서버의 가상화 노드 별로 서비스 처리량 및 자원 활용율을 모니터링하는 단계를 더 포함할 수 있다.
상기 판단하는 단계는, 해당 가상화 노드의 자원 활용율이 기 설정된 제1 임계값 이상인 경우, 성능 확대가 필요한 것으로 판단하고, 상기 자원 활용율이 기 설정된 제2 임계값 미만인 경우, 성능 축소가 필요한 것으로 판단한다.
또한, 상기 성능 제어 정책을 선택하는 단계는, 상기 판단하는 단계에서 성능 확대가 필요한 것으로 판단된 경우, 이전 성능 제어 정책의 적용에 따른 수직적 제어 정책 및 수평적 제어 정책의 기여도를 나타내는 성능 제어 지표를 산출하고, 상기 성능 제어 지표에 따라서 상기 수직적 제어 정책 및 수평적 제어 정책 중 하나를 선택할 수 있다.
아울러, 상기 성능 제어 정책을 선택하는 단계는, 수직적 제어 정책의 기여도를 나타내는 수직 제어 지표 및 수평적 제어 정책의 기여도를 나타내는 수평 제어 지표를 포함하는 상기 성능 제어 지표를 설정하는 단계; 이전 제어 정책을 확인하고, 이전 제어 정책에 따라서, 수직 제어 지표 또는 수평 제어 지표 중 어느 하나를 갱신하는 단계; 및 수직 제어 지표와 수평 제어 지표의 크기를 비교하여, 수직 제어 지표가 수평 제어 지표보다 크거나 같은 경우 수직적 제어 정책을 선택하고, 그렇지 않은 경우에 수평적 제어 정책을 선택하는 단계를 포함할 수 있다.
상기 성능 제어 지표는 상기 이전 성능 제어 정책에 따라 변화된 서비스 처리량과 이전에 투입된 처리 단위 당 서비스 처리량을 고려하여 산출할 수 있다.
한편, 상기 성능 제어 정책을 선택하는 단계는, 상기 판단하는 단계에서 성능 축소가 필요한 것으로 판단된 경우, 이전 성능 제어 정책과 동일한 성능 제어 정책을 선택할 수 있다.
또한, 상기 선택된 성능 제어 정책에 따라, 상기 가상화 노드의 성능을 제어하는 단계를 더 포함할 수 있으며, 상기 제어하는 단계는, 상기 판단하는 단계에서 성능 확대가 필요한 것으로 판단된 것으로서, 수직적 제어 정책이 선택된 경우, 상기 가상화 노드에 자원을 추가하고, 수평적 제어 정책이 선택된 경우, 새로운 가상화 노드를 생성하고, 상기 판단하는 단계에서 성능 축소가 필요한 것으로 판단된 것으로서, 수직적 제어 정책이 선택된 경우, 상기 가상화 노드에 추가된 자원을 회수하고, 수평적 제어 정책이 선택된 경우 상기 가상화 노드를 삭제할 수 있다.
추가로, 본 발명은 상술한 바와 같은 방법을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
또한, 본 발명은 상술한 바와 같은 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 성능 제어 장치는 가상화 노드의 자원 활용율에 따라 성능 확대 또는 성능 축소를 포함하는 성능 제어 필요 여부를 판단하고, 이전 적용된 성능 제어 정책을 고려하여, 수직적 제어 정책 및 수평적 제어 정책 중 하나의 성능 제어 정책을 선택하는 제어부; 및 상기 제어부에 의해 선택되는 성능 제어 정책 이력을 저장하는 저장부를 포함할 수 있다.
또한, 상기 가상화 노드의 서비스 처리량 및 자원 활용율을 모니터링하는 모니터링부; 상기 제어부에 의해 수직적 제어 정책이 선택되면, 가상화 노드에 자원을 추가하거나 회수하는 수직 조절부; 상기 제어부에 의해 수평적 제어 정책이 선택되면, 가상화 노드를 생성하거나 삭제하는 수평 조절부; 및 상기 서비스 요청에 따른 작업 부하를 상기 서비스 제공 서버의 분배 정책에 따라 상기 수직 조절부 및 수평 조절부에 의해 성능 확대 혹은 축소된 가상화 노드들에 분배하는 부하 분배부를 더 포함할 수 있다.
아울러, 상기 제어부는, 수직적 제어 정책의 기여도를 나타내는 수직 제어 지표 및 수평적 제어 정책의 기여도를 나타내는 수평 제어 지표를 포함하는 성능 제어 지표를 설정하고, 상기 가상화 노드의 성능 확대가 필요한 것으로 판단되면, 이전 성능 제어 정책에 따라서 수직 제어 지표 또는 수평 제어 지표 중 어느 하나를 갱신한 후, 상기 수직 제어 지표 및 수평 제어 지표의 크기 비교에 기반하여 수직적 제어 정책 및 수평적 제어 정책 중 하나를 선택할 수 있다.
또한, 상기 제어부는, 상기 가상화 노드의 성능 축소가 필요한 것으로 판단하면, 이전 성능 제어 정책과 동일한 성능 제어 정책을 선택할 수 있다.
본 발명의 성능 제어 방법 및 이를 위한 장치에 의하면, 관리자에 의해 미리 설정되어 수직 또는 수평 중 어느 하나의 고정적인 성능 제어 정책으로 적용되던 오토 스케일링을 시스템의 실제 서비스 처리량 등을 고려하여 시스템의 상황에 맞추어 수직적 성능 제어 혹은 수평적 성능 제어를 가변적으로 적용할 수 있으므로, 시스템 자원을 효율성을 높여 보다 유연하게 시스템 성능을 관리할 수 있다.
또한, 본 발명의 성능 제어 방법 및 이를 위한 장치에 의하면, 성능 제어 지표를 도입하고, 시스템의 상황 및 이전 제어 이력에 따라서 성능 제어 지표를 산출하고, 이를 기반으로 수직적 제어 혹은 수평적 제어 정책을 선택하도록 함으로써, 기존의 성능 제어 시스템에도 쉽게 구현이 가능하다는 장점이 있다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 성능 제어가 이루어지는 전체 서비스 시스템을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 컨테이너 기반 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.
도 3은 본 발명의 다른 실시 예에 따른 가상머신 기반 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.
도 4는 본 발명의 실시 예에 따른 성능 제어를 위한 성능 제어 장치의 주요 구성을 도시한 블록도이다.
도 5 내지 도 7은 본 발명의 실시 예에 따른 성능 제어 상태를 설명하기 위한 예시도이다.
도 8 내지 도 10은 본 발명의 실시 예에 따른 성능 제어 방법을 설명하기 위한 흐름도이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다"등의 용어는 명세서상에서 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제, 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법 및 이를 위한 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 성능 제어 장치가 적용되는 서비스 시스템을 설명하기 위한 예시도이다.
도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 성능 제어가 이루어지는 전체 시스템은, 서비스 제공 서버(300), 사용자 단말(200) 및 서비스 제공 서버(300)의 성능을 제어하는 본 발명의 성능 제어 장치(100)로 구성된다.
서비스 제공 서버(300)는 가상화 기술을 기반으로 구현되며, 사용자 단말(200)의 서비스 요청에 따라 해당하는 응용 프로그램(APP, application)을 구동하고 이에 따른 처리 결과를 사용자 단말(200)로 전달하게 된다.
이때, 어느 하나의 응용 프로그램을 이용하고자 하는 사용자 단말(200)의 수가 증가하게 되면, 서비스 제공 서버(300)는 한정된 자원을 기반으로 사용자 단말(200)의 서비스 요청을 보다 효율적으로 처리할 수 있어야 한다.
이를 위해, 본 발명의 성능 제어 장치(100)는 서비스 제공 서버(300) 응용 프로그램 상태를 지속적으로 모니터링 하고 그에 따른 결과를 기초로 응용 프로그램에 할당되는 자원을 제어함으로써, 응용 프로그램의 서비스 처리량을 고려한 성능 제어 정책을 선택하여 보다 효율적으로 시스템 자원을 사용할 수 있게 된다.
종래에는 수직적 제어 정책 또는 수평적 제어 정책 중 어느 하나를 고정적으로 적용하였으나, 본 발명에 따르면, 도 1에 도시된 바와 같이, 동일 응용 프로그램을 새롭게 추가하여 사용자 단말(200)의 서비스 요청을 분산시켜 처리하는 수평적 제어 정책 또는 응용 프로그램에 할당되는 자원의 크기를 증가시키는 수직적 제어 정책을 유연하게 선택하여 사용자 단말(200)의 서비스 요청을 처리할 수 있다.
이러한 본 발명의 서비스 제공 서버(300)은 클라우드 방식으로 동작을 수행할 수 있으나, 클라우드 방식에만 한정되는 것은 아니다. 아울러, 본 발명의 서비스 제공 서버(300)은 가상화 기술 기반으로 응용 프로그램을 구동할 수 있다.
이러한 본 발명의 서비스 제공 서버(300)은 가상 머신 기반 가상화 환경과 컨테이너 기반 가상화 환경으로 구분될 수 있다.
먼저, 도 2 및 도 3을 참조하여, 컨테이너 기반 가상화 환경 및 가상 머신 기반 가상화 환경에 대해 설명하도록 한다.
도 2는 본 발명의 일 실시 예에 따른 컨테이너 기반 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.
본 발명의 컨테이너 기반 가상화 환경을 지원하는 서비스 제공 서버(310)은 하드웨어(10), 운영체제(OS, operating system, 20) 및 복수의 컨테이너(30)를 포함할 수 있다. OS(20) 및 하드웨어(10)는 실제 물리적인 서버를 의미하며, 하드웨어(10)는 실제 물리적인 하드웨어 자원을 의미한다.
각각의 컨테이너(30)는 복수의 응용 프로그램(APP)을 구동할 수 있도록 필요한 각종 프로그램, 소스 코드 등과 라이브러리(Bins/Libs) 등을 묶은 이미지를 포함하는 공간으로, 도 3에서 설명할 가상 머신과는 달리 응용 프로그램의 구동은 OS(20)에서 실질적으로 이뤄지게 된다. 한편, 각 컨테이너(30)가 구동하는 응용 프로그램은 그 종류와 수에 따라 차이가 있을 수 있다.
이러한 컨테이너 기반 가상화 환경은 OS 레벨의 가상화로, 응용 프로그램의 실행 환경을 가상화하는 것인데, 구체적으로, 물리적 자원을 관리하는 커널 공간과 응용 프로그램을 실행하는 사용자 공간으로 구분하고, 사용자 공간을 여러 개의 컨테이너(30)로 나누어 각 컨테이너(30)에서 사용되는 하드웨어 자원을 할당하고 공유한다. 가상 환경이 커널에서 공유되므로 새로운 커널을 시작할 필요가 없어 속도가 빠르고 경량화된 가상화 기술이라 할 수 있다.
컨테이너 기반 가상화 환경을 지원하는 서비스 제공 서버(310)에 있어서, 특정 컨테이너(30)의 어느 하나의 응용 프로그램에 사용자 단말(200)의 서비스 요청이 몰릴 경우, 종래에는 기 설정된 성능 제어 정책에 따라 어느 하나의 방식으로 성능 제어가 이루어졌다.
그러나, 본 발명에서는 서비스 처리량을 고려하여 서비스 요청이 몰리는 특정 컨테이너(30)에 추가적인 하드웨어 자원을 더 할당하거나 또는 컨테이너(30)를 새롭게 추가하여 상황에 맞는 방식으로 성능 제어 정책을 선택하여 유연하게 부하를 관리하고자 한다.
아울러, 본 발명의 가상화 환경에서의 성능 제어 방법은 가상 머신 기반 가상화 환경에서도 적용될 수 있다.
도 3은 본 발명의 다른 실시 예에 따른 가상 머신 기반 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.
도 3을 참조하면, 본 발명의 가상 머신 기반 가상화 환경을 지원하는 서비스 제공 서버(320)는 하드웨어(10), 호스트 OS(40), 하이퍼바이저(45) 및 복수의 가상 머신(50)을 포함하여 구현될 수 있다. 여기서 호스트 OS(40) 및 하드웨어(10)를 묶어 호스트 머신이라 칭한다. 호스트 머신은 가상의 하드웨어가 생성되는 실제 물리적인 서버를 의미하며, 호스트 OS(40)는 상기 호스트 머신에서 구동되는 OS를 의미하며, 하드웨어(10)는 호스트 머신의 실제 물리적인 하드웨어 자원을 의미한다.
각 가상 머신(50)은 게스트 OS를 포함할 수 있으며, 이때의 게스트 OS는 서로 다른 종류의 OS로 구현될 수 있다. 또한, 각 가상 머신(50)은 상기 게스트 OS를 기반으로 복수의 응용 프로그램(APP)를 구동할 수 있으며, 이때의 각 가상 머신(50)이 보유하고 있는 응용 프로그램은 그 종류와 수에 따라 차이가 있을 수 있다.
이러한 가상 머신 기반 가상화 환경은 호스트 OS(40) 운용 환경, 즉 호스트 머신의 하드웨어(10)를 가상화하는 것이며, 가상 머신 기반 가상화 환경은 하이퍼바이저(45)를 포함할 수 있다. 하이퍼바이저(45)는 다수의 가상 머신(50)을 생성하고 관리하는 역할을 수행하는 것으로, 하나의 호스트 머신에서 동시에 다수의 게스트 OS를 구동시킬 수 있는 가상화 플랫폼을 의미한다. 가상 머신 기반 가상화 환경을 지원하는 컴퓨팅 시스템(320)에 있어서, 특정 가상 머신(50) 내의 응용 프로그램에 사용자 단말(200)의 서비스 요청이 몰릴 경우, 서비스 처리량을 고려하여 서비스 요청이 몰리는 특정 가상 머신(50)에 추가적인 하드웨어 자원을 더 할당하거나 또는 가상 머신(50)를 새롭게 추가하여 상황에 맞는 방식으로 성능 제어 정책을 선택하여 유연하게 부하를 관리하고자 한다.
상술한 바와 같이, 본 발명의 성능 제어 방법은 컨테이너 기반 가상화 환경이나 가상 머신 기반 가상화 환경에 적용될 수 있다.
또한, 본 발명에서 가상화 기술을 기반으로 구현되는 컨테이너 또는 가상 머신은 가상화 노드로 지칭될 수 있으며, 이는 응용 프로그램의 실행을 지원하는 서비스 처리 개체를 의미할 수 있다.
이하에서는 설명의 편의를 위해 컨테이너 기반 가상화 환경을 예로 들어 설명하도록 하나, 이에 반드시 한정되는 것은 아님에 유의해야 한다.
또한, 설명의 편의를 위해 서비스 제공 서버(310)는 하나의 특정 서비스를 처리하는 것으로 가정하여 설명하나, 이에 반드시 한정되는 것은 아니며, 가상화 노드가 각기 다른 서비스를 수행할 수도 있음에 유의해야 한다.
도 4는 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어를 위한 성능 제어 장치의 주요 구성을 도시한 블록도이다.
본 발명의 실시 예에 다른 성능 제어 장치(100)는 제어부(110), 모니터링부(120), 저장부(130), 부하 분배부(140), 수직 조절부(150) 및 수평 조절부(160)를 포함하여 구성될 수 있다.
성능 제어 장치(100)는 서비스 제공 서버(310)를 모니터링하여 효율적인 자원 관리를 통해 서비스 제공 서버(310)의 성능을 제어하기 위한 것으로, 서비스 제공 서버(310)의 내부에, 예를 들면 도 2의 OS(20) 내에 일 모듈 형태로 탑재될 수 있다.
아울러, 자원은 CPU, 메모리 등 컨테이너(30)에서 응용 프로그램을 구동하기 위해 필요한 각종 하드웨어 자원들이 주로 해당될 것이나, 소프트웨어 자원을 의미할 수도 있다.
모니터링부(120)는 서비스 제공 서버(310)의 성능을 모니터링하기 위한 구성으로, 특히 상기 서비스 제공 서버(310)의 성능을 응용 프로그램을 실행하는 가상화 노드 별 성능을 모니터링하는 역할을 수행한다. 이를 위해 본 발명에 따른 모니터링부(120)는 응용 프로그램 단위로 성능을 모니터링할 수 있고, 응용 프로그램의 실행을 지원하는 가상화 노드 단위로 성능을 모니터링할 수도 있다.
모니터링되는 성능은 서비스 제공 서버(310)에서의 자원의 활용율, 서비스 처리량, 유휴 자원 상태 등을 의미할 수 있다.
제어부(110)는 가상화 노드의 자원 활용율에 따라 성능 조정 여부, 즉 성능 확대 또는 성능 축소 필요 여부를 판단한다. 상기 자원 활용율은 모니터링부(120)로부터 수집된다.
예를 들어, 서비스 요청이 점차 증가함에 따라서 자원 활용율이 기 설정된 최대 임계치(제1 임계값) 이상이면, 최초 할당된 자원으로 실행되는 응용 프로그램이 과부하 상태에 이른 것으로 판단하여 성능 확대가 필요한 것으로 판단한다. 자원 활용율이 기 설정된 최소 임계치(제2 임계값) 미만이면 불필요하게 많은 자원이 할당되어 있는 것이므로, 성능 축소가 필요한 것으로 판단한다.
임계값은 해당 자원이 처리할 수 있는 성능의 최대/최소 한계를 의미하는 것으로, 자원에 따라 활용율의 임계값은 동일할 수도 있고, 상이할 수도 있다.
예를 들어, 자원이 CPU 자원을 의미하고, 제1 임계값이 CPU 자원 활용율 80%로 설정되었다고 할 때, 모니터링부(120)가 지속적으로 모니터링하는 상황에서, 특정 컨테이너가 최초 할당된 CPU 자원의 80% 이상을 사용하는 시점이 되면, 제어부(110)는 해당 컨테이너가 성능 확대가 필요한 것으로 판단한다. 이와 유사하게, 제2 임계값이 CPU 자원 활용율 20%로 설정되었다고 할 때, 특정 컨테이너가 최초 할당된 CPU 자원의 20% 미만을 사용하고 있다면, 불필요한 자원이 할당되어 있는 것이므로, 성능 축소가 필요한 것으로 판단한다.
먼저, 성능 확대가 필요한 것으로 판단된 경우에 있어서, 제어 과정을 설명한다.
제어부(110)는 특정 컨테이너에 성능 확대가 필요한 것으로 판단되면, 수직적 제어 정책을 선택하여 스케일 업(Scale UP)을 수행하도록 할 것인지, 수평적 제어 정책을 선택하여 스케일 아웃(Sclae OUT)을 수행하도록 할 것인지를 성능 확대가 필요하다고 판단된 그 시점의 상황에 적합하게 선택해야 한다.
본 발명은 고정된 성능 제어 정책이 아닌 상황에 따라 유동적으로 수직적 또는 수평적 제어 정책을 선택할 수 있도록 설계되는바, 이를 위해 성능 제어 지표를 도입한다.
본 발명에 있어서, 성능 제어 지표는 이전에 선택된 성능 제어 정책이 현재 시점에 미치는 기여도를 수치화한 지표를 의미하며, 수직 제어 지표(α)와 수평 제어 지표(β)로 이루어진다. 성능 제어 지표는 이전 성능 제어 정책에 따라 변화된 서비스 처리량과, 이전에 투입된 처리 단위 당 서비스 처리량을 고려하여 갱신하며, 이전 시점에 투입된 자원 또는 가상화 노드 중 어느 하나와 상기 이전 시점과 현재 시점의 서비스 처리량의 변화 정도를 고려하여 갱신하되, 이전 성능 제어 정책이 수직적 제어 정책이었다면, 수직 제어 지표(α)를 갱신하고, 이전 성능 제어 정책이 수평적 제어 정책이었다면, 수평 제어 지표(β)를 갱신한다. 여기서, 투입된 처리 단위란 성능 제어 정책에 따라서 조정되는 서비스 처리 단위를 의미하는 것으로서, 각 가상화 노드에 투입된 자원의 수 혹은 가상화 노드 혹은 응용 프로그램과 같은 서비스 처리 개체의 수로 정의될 수 있다.
갱신 계산식은 다음의 수학식 1과 같이 표현될 수 있다.
Figure pat00001
여기서, curr은 현재 서비스 처리량을, prev는 이전 시점에서 성능 제어 정책이 선택될 당시의 서비스 처리량을, resc는 이전 시점에 투입되었던 투입된 자원의 수 혹은 가상화 노드와 같은 서비스 처리 개채의 수를 의미한다. 즉, (curr-prev)는 이전 시점에 선택된 성능 제어 정책에 따른 서비스 처리량의 변화이고, (prev/resc)는 이전에 투입된 처리 단위 당 서비스 처리량을 의미한다. 성능 제어 지표는 절대값을 의미하므로, 음수는 될 수 없다.
예를 들면, 이전에 성능 제어 정책이 선택될 당시 시점에 서비스 제공 서버(310)에 가상화 노드 수가 5개(resc)였고, 서비스 처리량이 100(prev)이었던 상태에서, 수평적 제어 정책 선택에 따라 스케일 아웃을 하여 현재 제어가 필요한 시점에 가상화 노드 수가 6개, 서비스 처리량은 110(curr)이라고 가정하자. 이전 시점에 수평적 제어 정책을 선택하였으므로, 수평 제어 지표를 갱신하며, 수평 제어 지표 β는 (110-100)/(100/5)의 계산에 따라 0.5가 된다. 제어부(110)는 이전 상태의 수직 제어 지표와 현재 갱신된 수평 제어 지표의 크기를 비교하여, α≥β 인 경우 수직 제어 정책을 선택하여 수직 조절부(150)를 제어하고, α<β인 경우 수평 제어 정책을 선택하여 수평 조절부(160)를 제어하도록 한다.
α, β의 값 자체는 제어 정책을 선택하는 데 있어서 중요하지 않으며, 오직 절대적인 크기만을 비교하여 제어 정책을 선택한다. 따라서, 상기 α, β의 초기 값은 임의로 설정될 수 있으며, 다만 해당 서비스 제공 서버(310)에 최초로 적용하고자 설정된 성능 제어 정책에 따라서 α, β 중 어느 것을 크게 할 지가 결정될 수 있다.
아울러, 다음 판단 시 사용할 수 있도록, 갱신된 성능 제어 지표, 선택된 성능 제어 정책을 저장부(130)에 저장하며, 모니터링된 서비스 처리량 또한 저장부(130)에 저장하도록 한다.
전술한 바와 같이, 설명의 편의를 위해, 서비스 제공 서버(310)에서 처리하는 서비스가 하나인 것으로 가정한 것이며, 만약 일반적인 시스템에서, 노드 별로 처리하는 서비스가 다른 경우에는, 서비스 별로 α, β의 쌍이 존재할 수 있다.
성능 축소가 필요한 것으로 판단된 경우의 제어 과정은 성능 확대의 경우보다 간단하게 이루어 질 수 있다.
지속적인 모니터링 결과에 따라, 오히려 서비스 요청이 줄어들어 성능 축소가 필요하다고 판단되면, 성능 제어 지표를 갱신할 필요는 없으며, 이전 시점의 성능 확대를 위한 제어 정책이, 즉 가장 최근의 성능 확대 제어 정책이 수직적 제어 정책이었던 경우에는, 동일하게 수직적 제어 정책을 선택하여 수직 조절부(150)를 제어하도록 하고, 가장 최근의 성능 확대 제어 정책이 수평적 제어 정책이었던 경우에는 수평적 제어 정책을 선택하여 수평 조절부(160)를 제어하도록 한다.
한편, 서비스 제공 서버(310) 상에서 최초로 성능 제어가 필요하다고 판단된 시점에는 이전에 선택된 성능 제어 정책이 없으므로, 수직 제어 지표 또는 수평 제어 지표를 갱신할 수가 없다. 따라서 최초의 성능 제어 시점에는 시스템 관리자에 의해 초기 값으로 설정해둔 수직 제어 지표 및 수평 제어 지표의 크기 비교만을 이용하여 현재 시점에 적합한 성능 제어 정책을 선택하도록 할 수 있다.
요컨대, 서비스 제공 서버(310)은 성능 제어 지표에 따라 수직 조절부(150) 또는 수평 조절부(160)를 조절하여 스케일 업/다운/아웃/인(UP/DOWN/OUT/IN)의 수직 또는 수평적 성능 제어를 모두 수행할 수가 있는데, 초기 성능 제어 지표를 어떻게 설정하느냐에 따라 서비스 제공 서버(310)을 기존의 고정적인 방식으로도 이용할 수가 있다.
예를 들어, 성능 제어 지표의 초기 값으로, α=1, β=0.99 라고 설정하게 되면, 서비스 제공 서버(310)은 수직적 확장 제어 정책을 우선 따르면서, 모니터링 결과에 따라 4가지의 성능 확대/축소를 할 수 있다. α=0.99, β=1 로 설정하게 되면, 서비스 제공 서버(310)은 수평적 확장 제어 정책을 우선 따르게 된다. 만약, α=0, β=1로 설정하게 되면, 서비스 제공 서버(310)은 수평적 제어 정책만을 수행하게 된다. 왜냐하면, 자원 또는 노드가 추가되면 시스템의 성능은 변화 정도가 미미하더라도 성능의 변화량은 0보다는 클 수 밖에 없기 때문에 β가 α보다 항상 크기 때문이다. 따라서, α와 β는 반드시 양의 실수로 설정되어야 한다.
이처럼, 본 발명에 따른 성능 제어 장치(100)는 성능 제어 지표를 초기에 어떻게 설정해두냐에 따라서, 서비스 제공 서버(310)을 수직적 제어 정책 전용 시스템으로 동작하도록 할 수도 있고, 수평적 제어 정책 전용 시스템으로 동작하도록 할 수도 있으며, 수평/수직의 성능 제어를 모두 수행할 수 있는 시스템으로 동작하도록 할 수도 있는 것이다.
저장부(130)는 성능 제어 장치(100)의 구동에 필요한 프로그램을 저장할 수 있고, 성능 확대 또는 축소의 성능 제어 여부가 필요한지 판단하는 기준점인 임계값을 저장하고 있으며, 초기 성능 제어 지표 값도 저장하고 있다.
상술한 바와 같이, 서비스 제공 서버(310) 상에서 최초로 성능 제어가 필요하다고 판단된 시점에는 이전에 선택된 성능 제어 정책이 없으므로, 수직 제어 지표 또는 수평 제어 지표를 갱신할 수가 없기 때문에 최초의 성능 제어 시점에는 시스템 관리자에 의해 미리 설정해둔 수직 제어 지표 및 수평 제어 지표의 크기 비교만을 이용하여 현재 시점에 적합한 성능 제어 정책을 선택할 수 있도록 성능 제어 지표의 초기 값을 저장하고 있다.
한편, 전술한 바와 같이, 서비스 제공 서버(310)에서 처리하는 서비스가 다수인 경우에는, 처리하는 서비스 별로 성능 제어 지표의 초기 값을 달리 설정할 수 있다.
또한, 저장부(130)는 성능 제어 지표 갱신에 이용할 수 있도록 모니터링 되는 서비스 처리량과 갱신된 성능 제어 지표, 성능 제어 정책 이력을 더 저장할 수 있다.
이전 시점의 서비스 처리량, 성능 제어 지표, 제어 쟁책이 현재 시점의 제어 정책을 판단하는 데에 이용되는 방식이므로, 상기의 값들은 스택(stack)을 이용하여 관리되도록 할 수 있다.
스택은 후입선출(FILO, First IN Last OUT) 방식의 자료 구조로, 가장 최근에 입력된 것이 가장 먼저 나오게 되므로, 현재 성능 제어가 필요하다고 판단된 시점에 스택의 TOP에 바로 이전 시점의 서비스 처리량, 갱신된 성능 제어 지표, 선택된 성능 제어 정책이 저장되어 있는 구조가 된다. 따라서, 용이하게 이전 시점의 자료들을 파악할 수가 있어 자원과 관련된 이력 관리를 수월하게 할 수 있게 된다.
수직 조절부(150)는 제어부(110)에서 수직적 제어 정책이 선택된 경우, 제어부의 제어에 따라서, 스케일 업/다운을 수행한다. 즉, 스케일 업에 의해 컨테이너에 자원을 추가하거나 스케일 다운에 의해 추가되었던 자원을 회수한다.
수평 조절부(160)는 제어부(110)에서 수평적 제어 정책이 선택된 경우, 제어부의 제어에 따라서, 스케일 아웃/인을 수행한다. 즉, 스케일 아웃에 의해 새로운 컨테이너(30)를 생성함으로써 특정 컨테이너에 몰린 서비스 요청을 분산시키거나, 스케일 인에 의해 생성된 컨테이너를 삭제한다.
부하 분배부(140)는 사용자 단말(200)의 서비스 요청을 서비스 제공 서버(310)의 다수의 컨테이너(30)에 분배해 주는 역할을 수행한다. 이는 서비스 제공 서버(310)의 분배 정책에 따라 수행될 수 있다.
또한, 제어부(110)의 판단에 따라, 성능 제어가 필요한 것으로 판단되어 수직 조절부(150) 또는 수평 조절부(160)에 의해 자원 혹은 컨테이너가 조절된 경우에는, 조절된 자원에 맞게 서비스 요청에 따른 작업 부하를 분산시킨다.
도 5 내지 도 7은 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.
먼저, 도 5와 같이 하드웨어(10)와 컨테이너 1(31), 컨테이너 2(32)의 복수 개의 컨테이너가 있으며, 각 컨테이너에는 서비스 제공 서버(310)의 하드웨어 자원이 할당되어 있다.
도면에서는 설명의 편의를 위해 컨테이너 1(31), 컨테이너2(32)만을 도시하였으나, 컨테이너의 개수는 이에 한정되는 것은 아니고, 하드웨어 자원을 자원 1, 자원 2와 같이 셀 수 있는 개념으로 도시하였으나, 이에 한정되는 것은 아니며, 자원이 CPU 자원일 경우에는 CPU의 수를 의미할 수도 있고, 메모리일 경우에는 메모리에서 차지하는 용량을 의미할 수도 있으며, 또한 자원은 하드웨어 자원에 한정되지 않고, 소프트웨어 자원이 될 수도 있다.
도 5와 같이 컨테이너 1(31)에는 자원 1이 할당되어 있고, 컨테이너 2(32)에는 자원 3이 할당되어 있으며, 성능 제어 장치(100)는 이러한 서비스 제공 서버(310)을 모니터링하여 임계값과의 비교를 통해 성능 제어가 필요한 시점을 판단하게 된다.
특정 시점에 서비스 요청이 몰리면서, 컨테이너 1(31)의 자원 활용율이 기 설정된 제1 임계값 이상이 되었다고 가정하면, 성능 제어 장치(100)는 성능 확대가 필요한 것으로 판단하게 된다.
성능 확대가 필요한 경우에는, 성능 제어 지표를 갱신하여, 적합한 성능 제어 정책을 선택하게 되는데, 본 발명의 성능 제어 장치(100)는 이전 시점의 선택의 결과가 현재 시점에 미치는 영향을 고려하여 제어 정책을 결정하는 바, 성능 제어 장치(100)의 저장부(130)에서 관리되는 자원 이력에 대한 스택으로부터 서비스 처리량과 이전 시점에 추가된 자원 혹은 컨테이너를 읽어와 성능 제어 지표를 갱신하게 된다.
전술한 바와 같이, 이전 시점에 선택된 제어 정책이 수직적 제어 정책인 경우에는 수직 제어 지표 α를 갱신하고, 그렇지 않은 경우에는 수평 제어 지표 β를 갱신한다.
성능 제어 지표의 비교를 통해서, 현재 시점에 적합한 성능 제어 정책을 선택하는데, 수직적 제어 정책을 선택하는 경우에는 도 6과 같은 결과가 되고, 수평적 제어 정책을 선택하는 경우에는 도 7과 같이 변경될 수 있다.
즉, 수직 제어 지표가 수평 제어 지표보다 크거나 같아서 수직적 제어 정책이 선택된 경우, 도 6과 같이 수직 조절부(150)를 통해 컨테이너 1(31)에 자원 2가 추가로 할당되도록 한다. 더하여, 부하 분배부(140)는 서비스 제공 서버(310)의 분배 정책에 적합하게, 자원이 추가된 컨테이너 1(31)과 다른 컨테이너 2(32)에 작업 부하를 분산시켜 사용자 단말(200)의 서비스 요청이 처리되도록 할 수 있다.
한편, 수평 제어 지표가 수직 제어 지표보다 커서 수평적 제어 정책이 선택된 경우에는 도 7과 같이 새로운 컨테이너인 컨테이너 3(33)을 생성함으로써 작업 부하를 분배한다. 이 때, 부하 분배부(140)는 기존에 컨테이너 1(31)로 분배되던 작업 부하를 새로 생성된 컨테이너 3(33)으로 분산시킬 수 있다.
본 발명의 성능 제어 장치(100)는 모니터링 결과, 성능의 확대가 필요한 컨테이너가 여러 개인 상황에서 유휴 자원이 부족할 경우에는 컨테이너 간의 우선순위를 고려하여 유휴 자원을 먼저 할당 하도록 제어할 수도 있다.
이와 같이 본 발명에 따른 성능 제어 장치(100)는 가상화 처리 개체인 컨테이너의 성능에 따라 자원을 추가하거나 컨테이너를 생성함으로써 또는 그 반대로 자원을 회수하거나 컨테이너를 삭제함으로써 유연하게 성능 제어를 수행할 수 있다.
아울러, 본 발명의 성능 제어 장치(100)는 컨테이너과 같은 가상화 노드 단위로 성능을 모니터링하는 것으로 설명하였으나, 응용 프로그램(APP) 각각의 성능을 모니터링하고 응용 프로그램 단위로 각각 자원을 관리하여 성능을 제어할 수도 있다.
이상으로 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법을 지원하는 장치인 성능 제어 장치(100)의 주요 구성 및 동작 방법에 대해 설명하였다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법에 대해 설명하도록 한다.
도 8 내지 도 10은 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 성능 제어 장치(100)가 응용 프로그램의 실행을 위한 가상화 노드를 모니터링하며(S401), 모니터링 결과에 따라 자원 활용율을 기 설정된 제1 임계값과 비교하여(S403), 제1 임계값 이상인 경우 성능 확대가 필요한 것으로 판단한다(S405). 지속적으로 모니터링을 수행하여(S407), 자원 활용율이 제2 임계값보다 작아지는 시점이 오면(S409), 성능 축소가 필요한 것으로 판단한다(S411).
성능 확대의 제어 과정을 도 9를 참조하여 설명하면, 먼저 성능 확대를 위해서 유휴 자원이 존재하는지를 고려한다(S501). 유휴 자원이 존재하지 않는다면, 성능 제어 장치(100)는 유휴 자원이 발생될 때까지 대기하면서, 지속적으로 모니터링을 수행할 수 있다.
유휴 자원이 존재하는 경우에는, 이전의 성능 제어 정책을 고려하는데(S503), 성능 제어 장치(100)의 저장부(130)에 의해 관리되는 성능 제어 정책 이력 스택에서 이전 시점의 성능 제어 정책을 읽어와서 성능 제어 정책을 결정할 수 있다.
이전 성능 제어 정책이 수직적 제어 정책이었다면, 수직 제어 지표 α를 갱신하고(S505), 수평적 제어 정책이었다면, 수평 제어 지표 β를 갱신하며(S507), α와 β의 비교를 수행하여(S509), α가 β보다 크거나 같은 경우에는 수직 제어 정책을 선택하고(S511), 그렇지 않은 경우에는 수평 제어 정책을 선택한다(S515). 한편, 성능 확대가 필요하다고 판단된 최초의 시점이어서 저장된 이전 정책이 없는 경우에는 갱신할 제어 지표가 없으므로 바로 S509 단계를 수행한다.
다음 시점의 성능 제어를 위하여, 갱신된 성능 제어 지표와 선택된 제어 정책, 현재 시점의 모니터링된 서비스 처리량 등은 저장부(130)에 저장한다.
수직 제어 정책이 선택되면, 수직 조절부(150)를 제어하여 Scale UP 수행에 의해 해당 가상화 노드에 자원이 추가되도록 하고(S513), 수평 제어 정책이 선택되면, 수평 조절부(160)를 제어하여 Scale OUT 수행에 의해 가상화 노드를 추가로 신설하여 부하가 발생된 가상화 노드의 부하를 분산시킬 수 있도록 한다(S517).
성능 축소의 제어 과정을 도 10을 참조하여 설명하면, 먼저 이전 정책을 고려하는데(S601), 이전 시점에 수직 제어 정책에 따라 Scale UP을 수행하여 자원이 추가된 경우에는 역으로 추가된 자원이 회수될 수 있도록 수직 제어 정책을 선택하여 수직 조절부(150)의 제어를 통해 Scale DOWN을 수행한다(S603, 605).
반면에, 이전 시점에 수평 제어 정책에 따라 Scale OUT을 수행하여 가상화 노드가 신설된 경우에는 역으로 신설된 가상화 노드가 삭제될 수 있도록 수평 제어 정책을 선택하여 수평 조절부(160)의 제어를 통해 Scale IN을 수행한다(S607, S609).
이상으로 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법에 대해 설명하였다.
여기서, 흐름도의 각 단계는 컴퓨터 프로그램 명령어에 의해 수행될 수 있음을 이해하여야 한다. 이들 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 명령어들이 흐름도 구성(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 또한, 이들 컴퓨터 프로그램 명령어들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능한 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능한 기록매체에 저장된 명령어들은 흐름도 구성(들)에서 설명된 기능을 수행하는 명령어 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
여기서, 컴퓨터 이용 가능 또는 판독 가능한 기록매체는 예컨대, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 컴퓨터 프로그램 명령어들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 명령어들은 흐름도 구성(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다.
본 발명은 가상화 환경에서의 성능 제어 방법에 관한 것으로, 응용 프로그램 실행을 위한 가상화 노드의 성능을 모니터링하여, 모니터링 결과에 따라, 현재 시점에 적합한 제어 정책을 선택하여, 스케일 업/다운/아웃/인의 4가지 방식에 따라 보다 유연하게 성능 제어를 수행할 수 있으며, 이를 통해 본 발명은 가상화 환경 기반의 서비스 산업의 발전에 이바지 할 수 있다.
아울러, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 성능 제어 장치 110: 제어부
120: 모니터링부 130: 저장부
140: 부하 분배부 150: 수직 조절부
160: 수평 조절부 200: 사용자 단말
300, 310, 320: 서비스 제공 서버

Claims (16)

  1. 하나 이상의 가상화 노드를 통해 사용자 단말의 서비스 요청을 처리하는 서비스 제공 서버의 성능을 제어하는 성능 제어 방법에 있어서, 성능 제어 장치가,
    가상화 노드의 자원 활용율에 따라 성능 확대 또는 성능 축소를 포함하는 성능 제어 필요 여부를 판단하는 단계; 및
    성능 제어가 필요한 것으로 판단되면, 이전에 적용된 성능 제어 정책을 고려하여, 수직적 제어 정책 및 수평적 제어 정책 중 하나의 성능 제어 정책을 선택하는 단계;
    를 포함하는 것을 특징으로 하는 성능 제어 방법.
  2. 제1항에 있어서, 상기 판단하는 단계 이전에,
    상기 서비스 제공 서버의 가상화 노드 별로 서비스 처리량 및 자원 활용율을 모니터링하는 단계;
    를 더 포함하는 것을 특징으로 하는 성능 제어 방법.
  3. 제1항에 있어서, 상기 판단하는 단계는,
    해당 가상화 노드의 자원 활용율이 기 설정된 제1 임계값 이상인 경우, 성능 확대가 필요한 것으로 판단하고, 상기 자원 활용율이 기 설정된 제2 임계값 미만인 경우, 성능 축소가 필요한 것으로 판단하는 것을 특징으로 하는 성능 제어 방법.
  4. 제1항에 있어서, 상기 성능 제어 정책을 선택하는 단계는,
    상기 판단하는 단계에서 성능 확대가 필요한 것으로 판단된 경우,
    이전 성능 제어 정책의 적용에 따른 수직적 제어 정책 및 수평적 제어 정책의 기여도를 나타내는 성능 제어 지표를 산출하고, 상기 성능 제어 지표에 따라서 상기 수직적 제어 정책 및 수평적 제어 정책 중 하나를 선택하는 것을 특징으로 하는 성능 제어 방법.
  5. 제4항에 있어서, 상기 성능 제어 정책을 선택하는 단계는,
    수직적 제어 정책의 기여도를 나타내는 수직 제어 지표 및 수평적 제어 정책의 기여도를 나타내는 수평 제어 지표를 포함하는 상기 성능 제어 지표를 설정하는 단계;
    이전 제어 정책을 확인하고, 이전 제어 정책에 따라서, 수직 제어 지표 또는 수평 제어 지표 중 어느 하나를 갱신하는 단계; 및
    수직 제어 지표와 수평 제어 지표의 크기를 비교하여, 수직 제어 지표가 수평 제어 지표보다 크거나 같은 경우 수직적 제어 정책을 선택하고, 그렇지 않은 경우에 수평적 제어 정책을 선택하는 단계;
    를 포함하는 것을 특징으로 하는 성능 제어 방법.
  6. 제4항에 있어서,
    상기 성능 제어 지표는 상기 이전 성능 제어 정책에 따라 변화된 서비스 처리량과 이전에 투입된 처리 단위 당 서비스 처리량을 고려하여 산출하는 것을 특징으로 하는 성능 제어 방법.
  7. 제1항에 있어서,
    상기 성능 제어 정책을 선택하는 단계는,
    상기 판단하는 단계에서 성능 축소가 필요한 것으로 판단된 경우, 이전 성능 제어 정책과 동일한 성능 제어 정책을 선택하는 것을 특징으로 하는 성능 제어 방법.
  8. 제1항에 있어서,
    상기 선택된 성능 제어 정책에 따라, 상기 가상화 노드의 성능을 제어하는 단계를 더 포함하는 것을 특징으로 하는 성능 제어 방법.
  9. 제8항에 있어서, 상기 제어하는 단계는,
    상기 판단하는 단계에서 성능 확대가 필요한 것으로 판단된 것으로서, 수직적 제어 정책이 선택된 경우, 상기 가상화 노드에 자원을 추가하고, 수평적 제어 정책이 선택된 경우, 새로운 가상화 노드를 생성하고,
    상기 판단하는 단계에서 성능 축소가 필요한 것으로 판단된 것으로서, 수직적 제어 정책이 선택된 경우, 상기 가상화 노드에 추가된 자원을 회수하고, 수평적 제어 정책이 선택된 경우 상기 가상화 노드를 삭제하는 것을 특징으로 하는 성능 제어 방법.
  10. 제1항 내지 제9항 중 어느 하나의 항에 기재된 방법을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  11. 제1항 내지 제9항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  12. 하나 이상의 가상화 노드를 통해 사용자 단말의 서비스 요청을 처리하는 서비스 제공 서버의 성능을 제어하는 성능 제어 장치에 있어서,
    가상화 노드의 자원 활용율에 따라 성능 확대 또는 성능 축소를 포함하는 성능 제어 필요 여부를 판단하고, 이전 적용된 성능 제어 정책을 고려하여, 수직적 제어 정책 및 수평적 제어 정책 중 하나의 성능 제어 정책을 선택하는 제어부; 및
    상기 제어부에 의해 선택되는 성능 제어 정책 이력을 저장하는 저장부;
    를 포함하는 것을 특징으로 하는 가상화 환경에서의 성능 제어 장치.
  13. 제12항에 있어서,
    상기 가상화 노드의 서비스 처리량 및 자원 활용율을 모니터링하는 모니터링부;
    를 더 포함하는 것을 특징으로 하는 성능 제어 장치.
  14. 제12항에 있어서,
    상기 제어부에 의해 수직적 제어 정책이 선택되면, 가상화 노드에 자원을 추가하거나 회수하는 수직 조절부;
    상기 제어부에 의해 수평적 제어 정책이 선택되면, 가상화 노드를 생성하거나 삭제하는 수평 조절부; 및
    상기 서비스 요청에 따른 작업 부하를 상기 서비스 제공 서버의 분배 정책에 따라 상기 수직 조절부 및 수평 조절부에 의해 성능 확대 혹은 축소된 가상화 노드들에 분배하는 부하 분배부;
    를 더 포함하는 것을 특징으로 하는 성능 제어 장치.
  15. 제12항에 있어서,
    상기 제어부는,
    수직적 제어 정책의 기여도를 나타내는 수직 제어 지표 및 수평적 제어 정책의 기여도를 나타내는 수평 제어 지표를 포함하는 성능 제어 지표를 설정하고, 상기 가상화 노드의 성능 확대가 필요한 것으로 판단되면, 이전 성능 제어 정책에 따라서 수직 제어 지표 또는 수평 제어 지표 중 어느 하나를 갱신한 후, 상기 수직 제어 지표 및 수평 제어 지표의 크기 비교에 기반하여 수직적 제어 정책 및 수평적 제어 정책 중 하나를 선택하는 것을 특징으로 하는 성능 제어 장치.
  16. 제12항에 있어서,
    상기 제어부는,
    상기 가상화 노드의 성능 축소가 필요한 것으로 판단하면, 이전 성능 제어 정책과 동일한 성능 제어 정책을 선택하는 것을 특징으로 하는 성능 제어 장치.
KR1020170022853A 2017-02-21 2017-02-21 성능 제어 방법 및 이를 위한 장치 KR101896497B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170022853A KR101896497B1 (ko) 2017-02-21 2017-02-21 성능 제어 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170022853A KR101896497B1 (ko) 2017-02-21 2017-02-21 성능 제어 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20180096310A true KR20180096310A (ko) 2018-08-29
KR101896497B1 KR101896497B1 (ko) 2018-09-07

Family

ID=63434915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170022853A KR101896497B1 (ko) 2017-02-21 2017-02-21 성능 제어 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR101896497B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210058471A (ko) * 2019-11-14 2021-05-24 에스피테크놀러지 주식회사 클라우드 시스템 및 그 제어방법
KR20220084895A (ko) * 2020-12-14 2022-06-21 한국전자기술연구원 온디바이스 기반 데이터 분석 시스템 및 방법
WO2022139150A1 (ko) * 2020-12-24 2022-06-30 (주)비디오몬스터 클라우드 기반 동영상 분산 렌더링 시스템 및 이의 오토 스케일링 방법
CN114745278A (zh) * 2022-04-11 2022-07-12 中和农信项目管理有限公司 一种业务***扩缩容的方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120063662A (ko) * 2010-12-08 2012-06-18 텔코웨어 주식회사 로드 밸런서 및 이를 이용한 부하 분산 관리 방법
KR20160025926A (ko) * 2014-08-28 2016-03-09 한국전자통신연구원 가상 응용서버들로 부하를 분산하는 장치 및 방법
KR101613513B1 (ko) 2014-12-29 2016-04-19 서강대학교산학협력단 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120063662A (ko) * 2010-12-08 2012-06-18 텔코웨어 주식회사 로드 밸런서 및 이를 이용한 부하 분산 관리 방법
KR20160025926A (ko) * 2014-08-28 2016-03-09 한국전자통신연구원 가상 응용서버들로 부하를 분산하는 장치 및 방법
KR101613513B1 (ko) 2014-12-29 2016-04-19 서강대학교산학협력단 네트워크 대역폭 및 cpu 이용률을 고려한 가상머신 배치 방법 및 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210058471A (ko) * 2019-11-14 2021-05-24 에스피테크놀러지 주식회사 클라우드 시스템 및 그 제어방법
KR20220084895A (ko) * 2020-12-14 2022-06-21 한국전자기술연구원 온디바이스 기반 데이터 분석 시스템 및 방법
WO2022131404A1 (ko) * 2020-12-14 2022-06-23 한국전자기술연구원 온디바이스 기반 데이터 분석 시스템 및 방법
WO2022139150A1 (ko) * 2020-12-24 2022-06-30 (주)비디오몬스터 클라우드 기반 동영상 분산 렌더링 시스템 및 이의 오토 스케일링 방법
CN114745278A (zh) * 2022-04-11 2022-07-12 中和农信项目管理有限公司 一种业务***扩缩容的方法、装置、电子设备和存储介质
CN114745278B (zh) * 2022-04-11 2024-05-24 中和农信农业集团有限公司 一种业务***扩缩容的方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
KR101896497B1 (ko) 2018-09-07

Similar Documents

Publication Publication Date Title
CN108984264B (zh) 虚拟gpu的实现方法、装置及***
US10659318B2 (en) Methods and apparatus related to management of unit-based virtual resources within a data center environment
EP3335119B1 (en) Multi-priority service instance allocation within cloud computing platforms
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
KR101896497B1 (ko) 성능 제어 방법 및 이를 위한 장치
EP3281359B1 (en) Application driven and adaptive unified resource management for data centers with multi-resource schedulable unit (mrsu)
US9619378B2 (en) Dynamically optimizing memory allocation across virtual machines
US9569244B2 (en) Implementing dynamic adjustment of I/O bandwidth for virtual machines using a single root I/O virtualization (SRIOV) adapter
US20160117186A1 (en) Dynamic scaling of management infrastructure in virtual environments
US8332611B2 (en) Method and system for managing memory
JP2004062911A (ja) コンピュータ資源の割り当てを管理するシステム
US9183061B2 (en) Preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor
US7689801B2 (en) Method for distributing hypervisor memory requirements across logical partitions
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
US20200183722A1 (en) Systems and methods for selecting virtual machines to be migrated
JP6679146B2 (ja) 電力管理のための論理的にパーティション化された環境のイベント駆動型再最適化
CN117480494A (zh) 改进虚拟计算环境中资源分配的协调容器调度
KR20180045347A (ko) 가상화 환경에서의 자원 관리 방법 및 이를 지원하는 장치
KR20100074920A (ko) 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
US20190391851A1 (en) System and method for managing memory in virtual machines
Seth et al. Dynamic threshold-based dynamic resource allocation using multiple VM migration for cloud computing systems
WO2024148864A1 (zh) 虚拟机内存的调整方法和装置、非易失性可读存储介质及电子装置
CN111104203B (zh) 虚拟机分散调度方法、装置以及电子设备、存储介质
US11586475B2 (en) Application aware resource allocation for deep learning job scheduling
KR102231357B1 (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
GRNT Written decision to grant