KR101896497B1 - Method and appratus for performance control - Google Patents

Method and appratus for performance control Download PDF

Info

Publication number
KR101896497B1
KR101896497B1 KR1020170022853A KR20170022853A KR101896497B1 KR 101896497 B1 KR101896497 B1 KR 101896497B1 KR 1020170022853 A KR1020170022853 A KR 1020170022853A KR 20170022853 A KR20170022853 A KR 20170022853A KR 101896497 B1 KR101896497 B1 KR 101896497B1
Authority
KR
South Korea
Prior art keywords
performance
control policy
control
vertical
policy
Prior art date
Application number
KR1020170022853A
Other languages
Korean (ko)
Other versions
KR20180096310A (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 KR1020170022853A priority Critical patent/KR101896497B1/en
Publication of KR20180096310A publication Critical patent/KR20180096310A/en
Application granted granted Critical
Publication of KR101896497B1 publication Critical patent/KR101896497B1/en

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

Abstract

본 발명은 성능 제어 방법 및 이를 위한 장치에 관한 것으로서, 사용자의 서비스 요청에 따른 서비스 처리를 수행하는 서비스 제공 서버의 성능을 모니터링하고, 이전 시점의 자원 관리 이력을 고려하여 현재 시점에 적합한 성능 제어 정책을 선택함으로써 스케일 업/다운/아웃/인의 4가지 방식에 따라 보다 유연하게 성능 제어를 수행할 수 있도록 한다.The present invention relates to a performance control method and apparatus therefor, which monitors the performance of a service providing server that performs service processing according to a service request of a user and monitors a performance control policy So that performance control can be performed more flexibly according to the four methods of scale up / down / out / in.

Description

성능 제어 방법 및 이를 위한 장치 {METHOD AND APPRATUS FOR PERFORMANCE CONTROL}[0001] METHOD AND APPRATUS FOR PERFORMANCE CONTROL [0002]

본 발명은 가상화(Virtualization) 기술을 기반으로 운용되는 서버 시스템의 성능 제어 방법 및 장치에 관한 것으로서, 더욱 상세하게는 응용 프로그램의 실행을 지원하는 가상화 노드의 서비스 처리량, 자원 활용율과 같은 성능을 모니터링하여 모니터링 결과에 따라 가상화 노드에 할당되는 자원을 조절하는 수직적 제어 정책 혹은 가상화 노드의 수를 조절하는 수평적 제어 정책을 선택적으로 적용함으로써 동적으로 성능 제어를 수행할 수 있는 가상화 환경에서의 성능 제어 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to a method and apparatus for controlling performance of a server system operating on a virtualization technology, and more particularly, to monitoring performance of a virtualization node supporting execution of an application program, such as service throughput and resource utilization rate A performance control method in a virtual environment in which performance control can be dynamically performed by selectively applying a vertical control policy for adjusting resources allocated to a virtualization node or a horizontal control policy for controlling the number of virtualization nodes according to a monitoring result, And a device for this.

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

다수의 사용자 단말로부터의 서비스 요청에 따라, 서비스 처리를 수행하기 위한 클러스터 시스템에서는 자원이 다수의 사용자에 의해 공유되기 때문에 자원 활용이 시스템의 성능에 중요한 영향을 미친다. In a cluster system for performing service processing according to a service request from a plurality of user terminals, resource utilization has an important influence on the performance of the system because resources are shared by a plurality of users.

최근에 각광 받고 있는 클라우드 컴퓨팅 역시 다수의 사용자가 클라우드 서버에 동시 접속하는 경우 응용 프로그램에 할당된 자원이 부족하게 되어 시스템이 불안정해지는 경우가 있다. Cloud computing, which has been popular in recent years, may also become unstable due to insufficient resources allocated to application programs when a large number of users access the cloud server at the same time.

이러한 자원 활용의 문제점을 극복하여 사용자에게 좀 더 안정적인 서비스 환경을 제공하기 위한 방안으로 가상화 기술이 있다. Virtualization technology is a way to overcome the problems of resource utilization and provide a more stable service environment for users.

가상화 기술은 하나의 물리적인 장비를 논리적으로 여러 개의 장비처럼 사용하는 것을 의미한다. Virtualization technology means using one physical device logically as multiple devices.

기존에 주로 사용되던 가상화 기술은 가상 머신(Virtual Machine) 기반 가상화로, 하나의 물리적인 서버 내에 운영체제, 즉 호스트(host) OS를 설치하고, 자원을 분할하여 여러 개의 논리적 가상 머신을 생성한 후 게스트(guest) OS를 설치하고, 응용 프로그램(application)을 구동하여, 구동되는 응용 프로그램들이 하나의 물리적 자원, 예를 들면 CPU, 메모리 등의 하드웨어 자원을 공유하는 것이다. Virtualization technology, which was mainly used in the past, is a virtual machine-based virtualization. It installs an operating system (host OS) within a single physical server, creates multiple logical virtual machines by dividing resources, (guest) OS, and the application programs are driven so that the running application programs share hardware resources such as one physical resource, for example, a CPU and a memory.

최근에는 컨테이너(Container)를 이용한 소프트웨어 가상화 또는 OS 레벨 가상화로 불리는 가상화 기법이 대두되고 있다. 컨테이너를 이용한 가상화 기술은 호스트 OS 내부를 물리적 자원을 관리하는 커널 공간과 사용자 프로세스, 즉 응용 프로그램을 실행하는 사용자 공간으로 구분하고, 사용자 공간을 여러 개로 나누어 각각의 사용자 프로세스에서 사용되는 하드웨어 자원을 할당하고 공유하는 기술을 의미한다. 컨테이너 기반 환경은 기존의 가상 머신 환경에 비해 구조적으로 게스트 OS가 없기 때문에, 용량이 매우 가볍고 자원 활용율이 더 높다는 장점이 있다. Recently, virtualization techniques called software virtualization using OS (Container) or OS level virtualization are emerging. Container-based virtualization technology divides the host OS into a kernel space for managing physical resources and a user space for executing a user process, that is, an application program, and allocates hardware resources used in each user process And sharing technology. Container-based environment is advantageous in that capacity is very light and resource utilization ratio is higher because there is no structured guest OS compared to existing virtual machine environment.

이러한 가상화 환경에서는 가상 머신이나 컨테이너와 같은 가상화 노드를 기반으로 자원을 할당함으로써 부하에 따른 성능을 제어하는 오토 스케일링(Auto-Scaling) 기술을 활용하고 있다. In this virtualization environment, we utilize the auto-scaling technology that controls performance based on load by allocating resources based on virtualization nodes such as virtual machines or containers.

오토 스케일링에는 가상 머신이나 컨테이너와 같은 가상화 노드의 부하 상태를 모니터링하여, 가상화 노드와 같은 서비스 수행 개체를 복제하여 추가하거나 삭제하여 축소하는 스케일 아웃/인(Scale OUT/IN)에 의한 수평적 제어 정책과 처리 성능에 영향을 미치는 자원을 추가하거나 회수하는 스케일 업/다운 (Scale UP/DOWN)에 의한 수직적 제어 정책이 있다. 즉, 시스템 전체의 자원 효율성을 높이기 위해 필요한 만큼 자원을 할당하는 방식을 크게 두 종류로 구분하여 적용하고 있었다. Auto-scaling monitors the load status of virtualization nodes such as virtual machines and containers, and controls the horizontal control policy by scaling out / in (Scale OUT / IN) And a vertical control policy by scale up / down (Scale UP / DOWN) to add or retrieve resources that affect processing performance. In other words, the method of allocating resources as much as necessary to increase the resource efficiency of the entire system has been divided into two types.

이 때, 수평적 제어 정책으로 성능을 확대/축소할지 또는 수직적 제어 정책으로 성능을 확대/축소할지는 사전에 응용 프로그램의 성격을 미리 파악하여 둘 중에 유리한 방식으로 적용되고 있었다. 즉, 시스템 관리자에 의해 미리 설정된 성능 제어 정책에 따라 운영되는 방식이었다. 일례로, 대부분의 클라우드 시스템에서는 수평적 제어 정책이 선호되고 있으며, NFV(Network Functions Virtualization) 시스템에서는 수직적 제어 정책에 의하는 경우가 있다. At this time, whether the performance is expanded or decreased by the horizontal control policy or whether the performance is expanded or decreased by the vertical control policy has been preliminarily grasped in advance of the nature of the application program and applied in a favorable manner. That is, it was operated according to the performance control policy preset by the system administrator. For example, horizontal control policies are preferred in most cloud systems, and vertical control policies in network function virtualization (NFV) systems.

이와 같이 종래에는 특정 시점에 어떠한 정책이 시스템 운영에 유리할지를 고려하지 않고, 단순히 부하 상태만을 모니터링하여 둘 중에 한 가지 성능 제어 정책을 적용하여 오토 스케일링을 수행하였기에 최적의 상태로 시스템이 운영되지 못하는 문제가 있었다.In this way, conventionally, without considering the policy which will be favorable for the system operation at a specific time, only the load condition is monitored, and one of the performance control policies is applied to perform the auto-scaling so that the system can not be operated in the optimum state .

한국등록특허 제10-1613513호 2016년 04월 12일 등록 (명칭: 네트워크 대역폭 및 CPU 이용률을 고려한 가상머신 배치 방법 및 시스템)Korean Registered Patent No. 10-1613513 Registered on Apr. 12, 2016 (Name: Virtual Machine Placement Method and System Considering Network Bandwidth and CPU Utilization)

이에, 본 발명은 종래의 문제점을 해결하고자, 수직 또는 수평적 제어 정책 중 하나의 방식으로 고정되어 운영되던 방식을 탈피하여, 가상화 노드를 모니터하여, 그 상태에 따라서 가변적으로 수직 또는 수평적 제어 정책을 선택하여 적용할 수 있는 성능 제어 방법 및 이를 위한 장치를 제공하고자 한다. Accordingly, in order to solve the problems of the related art, the present invention is to solve a conventional problem by separating a method that is fixed and operated in one of vertical and horizontal control policies, monitors a virtualization node, and variably controls a vertical or horizontal control policy And to provide a device for the performance control method.

특히, 본 발명은 자원 활용에 대한 이력을 저장하여 관리함으로써, 이전 단계에서 내려진 결정이 실제 성능 향상에 기여한 바를 고려하여 현재 시점에 적합한 성능 제어 정책을 선택함으로써 최적으로 시스템 성능을 확대/축소할 수 있는 성능 제어 방법 및 이를 위한 장치를 제공하는 데 목적이 있다. Particularly, the present invention stores and manages the history of resource utilization, so that it is possible to maximize / reduce the system performance optimally by selecting a performance control policy suitable for the current time, considering that the decision made in the previous step contributes to the actual performance improvement And a device for the same.

그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다. However, the object of the present invention is not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood from the following description.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 성능 제어 방법은, 성능 제어 장치가, 가상화 노드의 자원 활용율에 따라 성능 확대 또는 성능 축소를 포함하는 성능 제어 필요 여부를 판단하는 단계; 및 성능 제어가 필요한 것으로 판단되면, 이전에 적용된 성능 제어 정책을 고려하여, 수직적 제어 정책 및 수평적 제어 정책 중 하나의 성능 제어 정책을 선택하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a performance control method including: determining whether performance control including performance enhancement or performance reduction is required according to resource utilization rate of a virtualization node; And selecting a performance control policy from among the vertical control policy and the horizontal control policy in consideration of the performance control policy previously applied when it is determined that performance control is required.

또한, 상기 판단하는 단계 이전에, 상기 서비스 제공 서버의 가상화 노드 별로 서비스 처리량 및 자원 활용율을 모니터링하는 단계를 더 포함할 수 있다. The method may further include monitoring a service throughput and a resource utilization rate for each virtualization node of the service providing server before the determining step.

상기 판단하는 단계는, 해당 가상화 노드의 자원 활용율이 기 설정된 제1 임계값 이상인 경우, 성능 확대가 필요한 것으로 판단하고, 상기 자원 활용율이 기 설정된 제2 임계값 미만인 경우, 성능 축소가 필요한 것으로 판단한다.The determining step determines that performance enhancement is necessary when the resource utilization rate of the virtualization node is greater than or equal to a predetermined first threshold value and determines that performance reduction is necessary when the resource utilization rate is less than a predetermined second threshold value .

또한, 상기 성능 제어 정책을 선택하는 단계는, 상기 판단하는 단계에서 성능 확대가 필요한 것으로 판단된 경우, 이전 성능 제어 정책의 적용에 따른 수직적 제어 정책 및 수평적 제어 정책의 기여도를 나타내는 성능 제어 지표를 산출하고, 상기 성능 제어 지표에 따라서 상기 수직적 제어 정책 및 수평적 제어 정책 중 하나를 선택할 수 있다.In addition, the step of selecting the performance control policy may include a performance control index indicating a contribution of the vertical control policy and the horizontal control policy according to application of the previous performance control policy, And select one of the vertical control policy and the horizontal control policy according to the performance control index.

아울러, 상기 성능 제어 정책을 선택하는 단계는, 수직적 제어 정책의 기여도를 나타내는 수직 제어 지표 및 수평적 제어 정책의 기여도를 나타내는 수평 제어 지표를 포함하는 상기 성능 제어 지표를 설정하는 단계; 이전 제어 정책을 확인하고, 이전 제어 정책에 따라서, 수직 제어 지표 또는 수평 제어 지표 중 어느 하나를 갱신하는 단계; 및 수직 제어 지표와 수평 제어 지표의 크기를 비교하여, 수직 제어 지표가 수평 제어 지표보다 크거나 같은 경우 수직적 제어 정책을 선택하고, 그렇지 않은 경우에 수평적 제어 정책을 선택하는 단계를 포함할 수 있다.In addition, the step of selecting the performance control policy may include: setting the performance control index including a vertical control index indicating a contribution of the vertical control policy and a horizontal control index indicating a contribution of the horizontal control policy; Checking a previous control policy and updating either the vertical control index or the horizontal control index according to the previous control policy; And comparing the magnitude of the vertical control index and the horizontal control index to select a vertical control policy if the vertical control index is greater than or equal to the horizontal control index and selecting a horizontal control policy if not .

상기 성능 제어 지표는 상기 이전 성능 제어 정책에 따라 변화된 서비스 처리량과 이전에 투입된 처리 단위 당 서비스 처리량을 고려하여 산출할 수 있다.The performance control indicator may be calculated in consideration of the service throughput changed according to the previous performance control policy and the service throughput per previously entered processing unit.

한편, 상기 성능 제어 정책을 선택하는 단계는, 상기 판단하는 단계에서 성능 축소가 필요한 것으로 판단된 경우, 이전 성능 제어 정책과 동일한 성능 제어 정책을 선택할 수 있다. The selecting of the performance control policy may select the same performance control policy as the previous performance control policy if it is determined that the performance reduction is required in the determining step.

또한, 상기 선택된 성능 제어 정책에 따라, 상기 가상화 노드의 성능을 제어하는 단계를 더 포함할 수 있으며, 상기 제어하는 단계는, 상기 판단하는 단계에서 성능 확대가 필요한 것으로 판단된 것으로서, 수직적 제어 정책이 선택된 경우, 상기 가상화 노드에 자원을 추가하고, 수평적 제어 정책이 선택된 경우, 새로운 가상화 노드를 생성하고, 상기 판단하는 단계에서 성능 축소가 필요한 것으로 판단된 것으로서, 수직적 제어 정책이 선택된 경우, 상기 가상화 노드에 추가된 자원을 회수하고, 수평적 제어 정책이 선택된 경우 상기 가상화 노드를 삭제할 수 있다.The virtual node may further include a step of controlling the performance of the virtual node in accordance with the selected performance control policy, and the controlling step may include determining that a performance enhancement is required in the determining step, If a virtual control node is selected, a new virtual node is created if a horizontal control policy is selected. If the vertical control policy is selected, it is determined that performance reduction is required in the determining step. Reclaim resources added to the node, and delete the virtualization node if the horizontal control policy is selected.

추가로, 본 발명은 상술한 바와 같은 방법을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.Furthermore, the present invention can provide a computer-readable recording medium on which a program for executing the above-described method is recorded.

또한, 본 발명은 상술한 바와 같은 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.Further, the present invention can provide a computer program stored in a computer-readable recording medium which is implemented to carry out the method as described above.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 성능 제어 장치는 가상화 노드의 자원 활용율에 따라 성능 확대 또는 성능 축소를 포함하는 성능 제어 필요 여부를 판단하고, 이전 적용된 성능 제어 정책을 고려하여, 수직적 제어 정책 및 수평적 제어 정책 중 하나의 성능 제어 정책을 선택하는 제어부; 및 상기 제어부에 의해 선택되는 성능 제어 정책 이력을 저장하는 저장부를 포함할 수 있다.In order to achieve the above object, a performance control apparatus according to an embodiment of the present invention determines whether performance control including performance enhancement or reduction of performance is required according to a resource utilization rate of a virtualization node, A controller for selecting one of a vertical control policy and a horizontal control policy; And a storage unit for storing a performance control policy history selected by the control unit.

또한, 상기 가상화 노드의 서비스 처리량 및 자원 활용율을 모니터링하는 모니터링부; 상기 제어부에 의해 수직적 제어 정책이 선택되면, 가상화 노드에 자원을 추가하거나 회수하는 수직 조절부; 상기 제어부에 의해 수평적 제어 정책이 선택되면, 가상화 노드를 생성하거나 삭제하는 수평 조절부; 및 상기 서비스 요청에 따른 작업 부하를 상기 서비스 제공 서버의 분배 정책에 따라 상기 수직 조절부 및 수평 조절부에 의해 성능 확대 혹은 축소된 가상화 노드들에 분배하는 부하 분배부를 더 포함할 수 있다.A monitoring unit for monitoring service throughput and resource utilization rate of the virtualization node; A vertical adjustment unit for adding or retrieving resources to the virtualization node when the control unit selects the vertical control policy; A horizontal adjustment unit for creating or deleting a virtual node when the horizontal control policy is selected by the controller; And a load distribution unit for distributing the workload according to the service request to the virtual nodes expanded or reduced in performance by the vertical adjustment unit and the horizontal adjustment unit according to the distribution policy of the service providing server.

아울러, 상기 제어부는, 수직적 제어 정책의 기여도를 나타내는 수직 제어 지표 및 수평적 제어 정책의 기여도를 나타내는 수평 제어 지표를 포함하는 성능 제어 지표를 설정하고, 상기 가상화 노드의 성능 확대가 필요한 것으로 판단되면, 이전 성능 제어 정책에 따라서 수직 제어 지표 또는 수평 제어 지표 중 어느 하나를 갱신한 후, 상기 수직 제어 지표 및 수평 제어 지표의 크기 비교에 기반하여 수직적 제어 정책 및 수평적 제어 정책 중 하나를 선택할 수 있다. The control unit may set a performance control index including a vertical control index indicating a contribution of a vertical control policy and a horizontal control index indicating a contribution of a horizontal control policy. If it is determined that the performance enhancement of the virtualization node is necessary, After either the vertical control index or the horizontal control index is updated according to the previous performance control policy, one of the vertical control policy and the horizontal control policy may be selected based on the size comparison of the vertical control index and the horizontal control index.

또한, 상기 제어부는, 상기 가상화 노드의 성능 축소가 필요한 것으로 판단하면, 이전 성능 제어 정책과 동일한 성능 제어 정책을 선택할 수 있다. The controller may select the same performance control policy as the previous performance control policy if it is determined that performance degradation of the virtual node is necessary.

본 발명의 성능 제어 방법 및 이를 위한 장치에 의하면, 관리자에 의해 미리 설정되어 수직 또는 수평 중 어느 하나의 고정적인 성능 제어 정책으로 적용되던 오토 스케일링을 시스템의 실제 서비스 처리량 등을 고려하여 시스템의 상황에 맞추어 수직적 성능 제어 혹은 수평적 성능 제어를 가변적으로 적용할 수 있으므로, 시스템 자원을 효율성을 높여 보다 유연하게 시스템 성능을 관리할 수 있다. According to the performance control method and apparatus of the present invention, autoscaling, which is preset by a manager and applied to a fixed performance control policy such as vertical or horizontal, is performed in consideration of the actual service throughput of the system, Since the vertical performance control or the horizontal performance control can be variably applied, the system resources can be more efficiently managed and the system performance can be more flexibly managed.

또한, 본 발명의 성능 제어 방법 및 이를 위한 장치에 의하면, 성능 제어 지표를 도입하고, 시스템의 상황 및 이전 제어 이력에 따라서 성능 제어 지표를 산출하고, 이를 기반으로 수직적 제어 혹은 수평적 제어 정책을 선택하도록 함으로써, 기존의 성능 제어 시스템에도 쉽게 구현이 가능하다는 장점이 있다. According to the performance control method and apparatus of the present invention, a performance control index is introduced, a performance control index is calculated according to a system status and a previous control history, and a vertical control or a horizontal control policy is selected So that it can be easily implemented in an existing performance control system.

아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다. In addition, various effects other than the above-described effects can be directly or implicitly disclosed in the detailed description according to the embodiment of the present invention to be described later.

도 1은 본 발명의 실시 예에 따른 성능 제어가 이루어지는 전체 서비스 시스템을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 컨테이너 기반 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.
도 3은 본 발명의 다른 실시 예에 따른 가상머신 기반 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.
도 4는 본 발명의 실시 예에 따른 성능 제어를 위한 성능 제어 장치의 주요 구성을 도시한 블록도이다.
도 5 내지 도 7은 본 발명의 실시 예에 따른 성능 제어 상태를 설명하기 위한 예시도이다.
도 8 내지 도 10은 본 발명의 실시 예에 따른 성능 제어 방법을 설명하기 위한 흐름도이다.
1 is an exemplary diagram illustrating an overall service system in which performance control according to an embodiment of the present invention is performed.
FIG. 2 is an exemplary diagram for explaining a performance control method in a container-based virtualization environment according to an embodiment of the present invention.
3 is an exemplary diagram for explaining a performance control method in a virtual machine-based virtualization environment according to another embodiment of the present invention.
4 is a block diagram illustrating a main configuration of a performance control apparatus for performance control according to an embodiment of the present invention.
5 to 7 are exemplary diagrams for explaining a performance control state according to an embodiment of the present invention.
8 to 10 are flowcharts for explaining a performance control method according to an embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the nature and advantages of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings, in which:

다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. The terms and words used in the present specification and claims should not be construed to be limited to ordinary or dictionary meanings and the inventor is not limited to the concept of terminology for describing his or her invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention.

따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.

또한, 제1, 제2등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. are used to describe various elements, and are used only for the purpose of distinguishing one element from another, Not used. For example, without departing from the scope of the present invention, the second component may be referred to as a first component, and similarly, the first component may also be referred to as a second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when referring to an element as being "connected" or "connected" to another element, it means that it can be connected or connected logically or physically. In other words, it is to be understood that although an element may be directly connected or connected to another element, there may be other elements in between, or indirectly connected or connected.

또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다"등의 용어는 명세서상에서 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is also to be understood that the terms such as " comprises "or" having ", as used herein, are intended to specify the presence of stated features, integers, And does not preclude the presence or addition of other features, numbers, steps, elements, components, or combinations thereof.

이제, 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법 및 이를 위한 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Now, a performance control method and an apparatus therefor according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 실시 예에 따른 성능 제어 장치가 적용되는 서비스 시스템을 설명하기 위한 예시도이다. 1 is an exemplary diagram illustrating a service system to which a performance control apparatus according to an embodiment of the present invention is applied.

도 1에 도시된 바와 같이, 본 발명의 실시 예에 따른 성능 제어가 이루어지는 전체 시스템은, 서비스 제공 서버(300), 사용자 단말(200) 및 서비스 제공 서버(300)의 성능을 제어하는 본 발명의 성능 제어 장치(100)로 구성된다. 1, the overall system for performing performance control according to an exemplary embodiment of the present invention includes a service providing server 300, a user terminal 200, and a service providing server 300, And a performance control device 100.

서비스 제공 서버(300)는 가상화 기술을 기반으로 구현되며, 사용자 단말(200)의 서비스 요청에 따라 해당하는 응용 프로그램(APP, application)을 구동하고 이에 따른 처리 결과를 사용자 단말(200)로 전달하게 된다. The service providing server 300 is implemented on the basis of virtualization technology and drives a corresponding application program (APP, application) according to a service request of the user terminal 200 and transmits the processing result to the user terminal 200 do.

이때, 어느 하나의 응용 프로그램을 이용하고자 하는 사용자 단말(200)의 수가 증가하게 되면, 서비스 제공 서버(300)는 한정된 자원을 기반으로 사용자 단말(200)의 서비스 요청을 보다 효율적으로 처리할 수 있어야 한다.At this time, if the number of the user terminals 200 to use one application program increases, the service providing server 300 can process the service request of the user terminal 200 more efficiently based on the limited resources do.

이를 위해, 본 발명의 성능 제어 장치(100)는 서비스 제공 서버(300) 응용 프로그램 상태를 지속적으로 모니터링 하고 그에 따른 결과를 기초로 응용 프로그램에 할당되는 자원을 제어함으로써, 응용 프로그램의 서비스 처리량을 고려한 성능 제어 정책을 선택하여 보다 효율적으로 시스템 자원을 사용할 수 있게 된다. To this end, the performance control apparatus 100 of the present invention continuously monitors the application program state of the service providing server 300 and controls resources allocated to the application program based on the result of the monitoring, By selecting a performance control policy, system resources can be used more efficiently.

종래에는 수직적 제어 정책 또는 수평적 제어 정책 중 어느 하나를 고정적으로 적용하였으나, 본 발명에 따르면, 도 1에 도시된 바와 같이, 동일 응용 프로그램을 새롭게 추가하여 사용자 단말(200)의 서비스 요청을 분산시켜 처리하는 수평적 제어 정책 또는 응용 프로그램에 할당되는 자원의 크기를 증가시키는 수직적 제어 정책을 유연하게 선택하여 사용자 단말(200)의 서비스 요청을 처리할 수 있다. In the related art, any one of the vertical control policy and the horizontal control policy is fixedly applied. However, according to the present invention, as shown in FIG. 1, a service request of the user terminal 200 is distributed by newly adding the same application program The service request of the user terminal 200 can be processed flexibly by selecting a horizontal control policy for processing or a vertical control policy for increasing the size of a resource allocated to an application program.

이러한 본 발명의 서비스 제공 서버(300)은 클라우드 방식으로 동작을 수행할 수 있으나, 클라우드 방식에만 한정되는 것은 아니다. 아울러, 본 발명의 서비스 제공 서버(300)은 가상화 기술 기반으로 응용 프로그램을 구동할 수 있다. The service providing server 300 of the present invention can perform an operation in a cloud manner, but is not limited to a cloud type. In addition, the service providing server 300 of the present invention can drive an application program based on virtualization technology.

이러한 본 발명의 서비스 제공 서버(300)은 가상 머신 기반 가상화 환경과 컨테이너 기반 가상화 환경으로 구분될 수 있다. The service providing server 300 of the present invention can be divided into a virtual machine-based virtualization environment and a container-based virtualization environment.

먼저, 도 2 및 도 3을 참조하여, 컨테이너 기반 가상화 환경 및 가상 머신 기반 가상화 환경에 대해 설명하도록 한다. First, with reference to FIG. 2 and FIG. 3, a container-based virtualization environment and a virtual machine-based virtualization environment will be described.

도 2는 본 발명의 일 실시 예에 따른 컨테이너 기반 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.FIG. 2 is an exemplary diagram for explaining a performance control method in a container-based virtualization environment according to an embodiment of the present invention.

본 발명의 컨테이너 기반 가상화 환경을 지원하는 서비스 제공 서버(310)은 하드웨어(10), 운영체제(OS, operating system, 20) 및 복수의 컨테이너(30)를 포함할 수 있다. OS(20) 및 하드웨어(10)는 실제 물리적인 서버를 의미하며, 하드웨어(10)는 실제 물리적인 하드웨어 자원을 의미한다.The service providing server 310 supporting the container-based virtualization environment of the present invention may include a hardware 10, an operating system (OS) 20, and a plurality of containers 30. The OS 20 and the hardware 10 refer to actual physical servers, and the hardware 10 refers to actual physical hardware resources.

각각의 컨테이너(30)는 복수의 응용 프로그램(APP)을 구동할 수 있도록 필요한 각종 프로그램, 소스 코드 등과 라이브러리(Bins/Libs) 등을 묶은 이미지를 포함하는 공간으로, 도 3에서 설명할 가상 머신과는 달리 응용 프로그램의 구동은 OS(20)에서 실질적으로 이뤄지게 된다. 한편, 각 컨테이너(30)가 구동하는 응용 프로그램은 그 종류와 수에 따라 차이가 있을 수 있다. Each of the containers 30 is a space including an image bundling various programs, source codes, and the like required to drive a plurality of application programs (APP) and libraries (Bins / Libs) The application program is actually executed in the OS 20. [ On the other hand, the application program driven by each container 30 may differ depending on the type and number of application programs.

이러한 컨테이너 기반 가상화 환경은 OS 레벨의 가상화로, 응용 프로그램의 실행 환경을 가상화하는 것인데, 구체적으로, 물리적 자원을 관리하는 커널 공간과 응용 프로그램을 실행하는 사용자 공간으로 구분하고, 사용자 공간을 여러 개의 컨테이너(30)로 나누어 각 컨테이너(30)에서 사용되는 하드웨어 자원을 할당하고 공유한다. 가상 환경이 커널에서 공유되므로 새로운 커널을 시작할 필요가 없어 속도가 빠르고 경량화된 가상화 기술이라 할 수 있다. These container-based virtualization environments are OS level virtualization that virtualizes the execution environment of an application. Specifically, it divides the kernel space that manages the physical resources and the user space that runs the application, (30), and allocates and shares hardware resources used in each of the containers (30). Because the virtual environment is shared by the kernel, there is no need to start a new kernel, which is a fast and lightweight virtualization technology.

컨테이너 기반 가상화 환경을 지원하는 서비스 제공 서버(310)에 있어서, 특정 컨테이너(30)의 어느 하나의 응용 프로그램에 사용자 단말(200)의 서비스 요청이 몰릴 경우, 종래에는 기 설정된 성능 제어 정책에 따라 어느 하나의 방식으로 성능 제어가 이루어졌다.In a service providing server 310 supporting a container-based virtualization environment, when a service request of the user terminal 200 is transmitted to an application program of a specific container 30, conventionally, Performance control was done in one way.

그러나, 본 발명에서는 서비스 처리량을 고려하여 서비스 요청이 몰리는 특정 컨테이너(30)에 추가적인 하드웨어 자원을 더 할당하거나 또는 컨테이너(30)를 새롭게 추가하여 상황에 맞는 방식으로 성능 제어 정책을 선택하여 유연하게 부하를 관리하고자 한다. However, according to the present invention, additional hardware resources may be further allocated to a specific container 30 to which a service request is directed in consideration of service throughput, or a container 30 may be newly added to select a performance control policy in a situation- .

아울러, 본 발명의 가상화 환경에서의 성능 제어 방법은 가상 머신 기반 가상화 환경에서도 적용될 수 있다. In addition, the performance control method in the virtualization environment of the present invention can be applied to a virtual machine-based virtualization environment.

도 3은 본 발명의 다른 실시 예에 따른 가상 머신 기반 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다.3 is an exemplary diagram for explaining a performance control method in a virtual machine-based virtualization environment according to another embodiment of the present invention.

도 3을 참조하면, 본 발명의 가상 머신 기반 가상화 환경을 지원하는 서비스 제공 서버(320)는 하드웨어(10), 호스트 OS(40), 하이퍼바이저(45) 및 복수의 가상 머신(50)을 포함하여 구현될 수 있다. 여기서 호스트 OS(40) 및 하드웨어(10)를 묶어 호스트 머신이라 칭한다. 호스트 머신은 가상의 하드웨어가 생성되는 실제 물리적인 서버를 의미하며, 호스트 OS(40)는 상기 호스트 머신에서 구동되는 OS를 의미하며, 하드웨어(10)는 호스트 머신의 실제 물리적인 하드웨어 자원을 의미한다.3, the service providing server 320 supporting the virtual machine-based virtualization environment of the present invention includes a hardware 10, a host OS 40, a hypervisor 45, and a plurality of virtual machines 50 . Here, the host OS 40 and the hardware 10 are collectively referred to as a host machine. The host machine means an actual physical server in which virtual hardware is created, the host OS 40 means an OS running on the host machine, and the hardware 10 means actual physical hardware resources of the host machine .

각 가상 머신(50)은 게스트 OS를 포함할 수 있으며, 이때의 게스트 OS는 서로 다른 종류의 OS로 구현될 수 있다. 또한, 각 가상 머신(50)은 상기 게스트 OS를 기반으로 복수의 응용 프로그램(APP)를 구동할 수 있으며, 이때의 각 가상 머신(50)이 보유하고 있는 응용 프로그램은 그 종류와 수에 따라 차이가 있을 수 있다. Each virtual machine 50 may include a guest OS, and the guest OS at this time may be implemented by a different kind of OS. In addition, each virtual machine 50 can drive a plurality of application programs (APP) based on the guest OS, and the application programs held by the respective virtual machines 50 at this time are different according to their types and numbers .

이러한 가상 머신 기반 가상화 환경은 호스트 OS(40) 운용 환경, 즉 호스트 머신의 하드웨어(10)를 가상화하는 것이며, 가상 머신 기반 가상화 환경은 하이퍼바이저(45)를 포함할 수 있다. 하이퍼바이저(45)는 다수의 가상 머신(50)을 생성하고 관리하는 역할을 수행하는 것으로, 하나의 호스트 머신에서 동시에 다수의 게스트 OS를 구동시킬 수 있는 가상화 플랫폼을 의미한다. 가상 머신 기반 가상화 환경을 지원하는 컴퓨팅 시스템(320)에 있어서, 특정 가상 머신(50) 내의 응용 프로그램에 사용자 단말(200)의 서비스 요청이 몰릴 경우, 서비스 처리량을 고려하여 서비스 요청이 몰리는 특정 가상 머신(50)에 추가적인 하드웨어 자원을 더 할당하거나 또는 가상 머신(50)를 새롭게 추가하여 상황에 맞는 방식으로 성능 제어 정책을 선택하여 유연하게 부하를 관리하고자 한다. This virtual machine-based virtualization environment is to virtualize the host OS 40 operating environment, i.e., the host machine's hardware 10, and the virtual machine-based virtualization environment may include the hypervisor 45. The hypervisor 45 plays a role of creating and managing a plurality of virtual machines 50 and means a virtualization platform capable of running a plurality of guest OSs simultaneously on one host machine. In a computing system 320 supporting a virtual machine-based virtualization environment, when a service request of the user terminal 200 is transmitted to an application program in a specific virtual machine 50, a specific virtual machine To allocate additional hardware resources to the virtual machine 50 or to newly add a virtual machine 50 to select a performance control policy in a context-sensitive manner to flexibly manage the load.

상술한 바와 같이, 본 발명의 성능 제어 방법은 컨테이너 기반 가상화 환경이나 가상 머신 기반 가상화 환경에 적용될 수 있다. As described above, the performance control method of the present invention can be applied to a container-based virtualization environment or a virtual machine-based virtualization environment.

또한, 본 발명에서 가상화 기술을 기반으로 구현되는 컨테이너 또는 가상 머신은 가상화 노드로 지칭될 수 있으며, 이는 응용 프로그램의 실행을 지원하는 서비스 처리 개체를 의미할 수 있다. Also, in the present invention, a container or a virtual machine implemented on the basis of virtualization technology may be referred to as a virtualization node, which may mean a service processing entity supporting execution of an application program.

이하에서는 설명의 편의를 위해 컨테이너 기반 가상화 환경을 예로 들어 설명하도록 하나, 이에 반드시 한정되는 것은 아님에 유의해야 한다. Hereinafter, for convenience of description, a container-based virtualization environment will be described as an example, but it should be noted that the present invention is not limited thereto.

또한, 설명의 편의를 위해 서비스 제공 서버(310)는 하나의 특정 서비스를 처리하는 것으로 가정하여 설명하나, 이에 반드시 한정되는 것은 아니며, 가상화 노드가 각기 다른 서비스를 수행할 수도 있음에 유의해야 한다. For convenience of description, it is assumed that the service providing server 310 processes one specific service. However, the present invention is not limited to this, and it should be noted that the virtualization node may perform different services.

도 4는 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어를 위한 성능 제어 장치의 주요 구성을 도시한 블록도이다. 4 is a block diagram illustrating a main configuration of a performance control apparatus for performance control in a virtualization environment according to an embodiment of the present invention.

본 발명의 실시 예에 다른 성능 제어 장치(100)는 제어부(110), 모니터링부(120), 저장부(130), 부하 분배부(140), 수직 조절부(150) 및 수평 조절부(160)를 포함하여 구성될 수 있다. The performance control apparatus 100 according to the embodiment of the present invention includes a control unit 110, a monitoring unit 120, a storage unit 130, a load distribution unit 140, a vertical control unit 150, and a horizontal control unit 160 ). ≪ / RTI >

성능 제어 장치(100)는 서비스 제공 서버(310)를 모니터링하여 효율적인 자원 관리를 통해 서비스 제공 서버(310)의 성능을 제어하기 위한 것으로, 서비스 제공 서버(310)의 내부에, 예를 들면 도 2의 OS(20) 내에 일 모듈 형태로 탑재될 수 있다. The performance control apparatus 100 is for controlling the performance of the service providing server 310 through efficient resource management by monitoring the service providing server 310. In the service providing server 310, In the OS 20 of FIG.

아울러, 자원은 CPU, 메모리 등 컨테이너(30)에서 응용 프로그램을 구동하기 위해 필요한 각종 하드웨어 자원들이 주로 해당될 것이나, 소프트웨어 자원을 의미할 수도 있다. In addition, the resources may be various hardware resources required to drive an application program in the container 30 such as a CPU and a memory, or software resources.

모니터링부(120)는 서비스 제공 서버(310)의 성능을 모니터링하기 위한 구성으로, 특히 상기 서비스 제공 서버(310)의 성능을 응용 프로그램을 실행하는 가상화 노드 별 성능을 모니터링하는 역할을 수행한다. 이를 위해 본 발명에 따른 모니터링부(120)는 응용 프로그램 단위로 성능을 모니터링할 수 있고, 응용 프로그램의 실행을 지원하는 가상화 노드 단위로 성능을 모니터링할 수도 있다.The monitoring unit 120 is for monitoring the performance of the service providing server 310. Particularly, the monitoring unit 120 monitors the performance of the service providing server 310 for each virtualization node that executes the application program. For this, the monitoring unit 120 according to the present invention can monitor the performance in units of application programs and monitor the performance in units of virtual nodes that support execution of application programs.

모니터링되는 성능은 서비스 제공 서버(310)에서의 자원의 활용율, 서비스 처리량, 유휴 자원 상태 등을 의미할 수 있다. The monitored performance may mean resource utilization rate, service throughput, idle resource status, etc. in the service providing server 310.

제어부(110)는 가상화 노드의 자원 활용율에 따라 성능 조정 여부, 즉 성능 확대 또는 성능 축소 필요 여부를 판단한다. 상기 자원 활용율은 모니터링부(120)로부터 수집된다. The controller 110 determines whether the performance is adjusted, that is, whether performance increases or performance reduction is required, according to the resource utilization rate of the virtualization node. The resource utilization rate is collected from the monitoring unit 120.

예를 들어, 서비스 요청이 점차 증가함에 따라서 자원 활용율이 기 설정된 최대 임계치(제1 임계값) 이상이면, 최초 할당된 자원으로 실행되는 응용 프로그램이 과부하 상태에 이른 것으로 판단하여 성능 확대가 필요한 것으로 판단한다. 자원 활용율이 기 설정된 최소 임계치(제2 임계값) 미만이면 불필요하게 많은 자원이 할당되어 있는 것이므로, 성능 축소가 필요한 것으로 판단한다. For example, if the resource utilization rate is equal to or greater than a predetermined maximum threshold value (first threshold value) as the service request gradually increases, it is determined that the application program executed with the initially allocated resource has reached the overload state, do. If the resource utilization rate is less than the predetermined minimum threshold value (second threshold value), unnecessary resources are allocated unnecessarily, and it is judged that the performance reduction is necessary.

임계값은 해당 자원이 처리할 수 있는 성능의 최대/최소 한계를 의미하는 것으로, 자원에 따라 활용율의 임계값은 동일할 수도 있고, 상이할 수도 있다. The threshold value means the maximum / minimum limit of the performance that the resource can handle. Depending on the resource, the threshold value of the utilization ratio may be the same or may be different.

예를 들어, 자원이 CPU 자원을 의미하고, 제1 임계값이 CPU 자원 활용율 80%로 설정되었다고 할 때, 모니터링부(120)가 지속적으로 모니터링하는 상황에서, 특정 컨테이너가 최초 할당된 CPU 자원의 80% 이상을 사용하는 시점이 되면, 제어부(110)는 해당 컨테이너가 성능 확대가 필요한 것으로 판단한다. 이와 유사하게, 제2 임계값이 CPU 자원 활용율 20%로 설정되었다고 할 때, 특정 컨테이너가 최초 할당된 CPU 자원의 20% 미만을 사용하고 있다면, 불필요한 자원이 할당되어 있는 것이므로, 성능 축소가 필요한 것으로 판단한다. For example, when the resource means the CPU resource and the first threshold value is set to 80% of the CPU resource utilization rate, in a situation where the monitoring unit 120 continuously monitors, When it is time to use 80% or more, the controller 110 determines that the container needs to be expanded in performance. Similarly, if the second threshold is set to 20% CPU resource utilization, if a particular container is using less than 20% of the initially allocated CPU resources, unnecessary resources are allocated and performance reduction is required .

먼저, 성능 확대가 필요한 것으로 판단된 경우에 있어서, 제어 과정을 설명한다. First, in the case where it is determined that the performance enhancement is necessary, the control process will be described.

제어부(110)는 특정 컨테이너에 성능 확대가 필요한 것으로 판단되면, 수직적 제어 정책을 선택하여 스케일 업(Scale UP)을 수행하도록 할 것인지, 수평적 제어 정책을 선택하여 스케일 아웃(Sclae OUT)을 수행하도록 할 것인지를 성능 확대가 필요하다고 판단된 그 시점의 상황에 적합하게 선택해야 한다. If it is determined that performance expansion is required for a specific container, the control unit 110 may select a vertical control policy to perform a scale up or a horizontal control policy to perform a scaling out Should be chosen appropriately for the situation at that point where it is determined that performance enhancement is necessary.

본 발명은 고정된 성능 제어 정책이 아닌 상황에 따라 유동적으로 수직적 또는 수평적 제어 정책을 선택할 수 있도록 설계되는바, 이를 위해 성능 제어 지표를 도입한다. The present invention is designed to select a vertical or horizontal control policy flexibly according to a situation rather than a fixed performance control policy, and a performance control index is introduced for this purpose.

본 발명에 있어서, 성능 제어 지표는 이전에 선택된 성능 제어 정책이 현재 시점에 미치는 기여도를 수치화한 지표를 의미하며, 수직 제어 지표(α)와 수평 제어 지표(β)로 이루어진다. 성능 제어 지표는 이전 성능 제어 정책에 따라 변화된 서비스 처리량과, 이전에 투입된 처리 단위 당 서비스 처리량을 고려하여 갱신하며, 이전 시점에 투입된 자원 또는 가상화 노드 중 어느 하나와 상기 이전 시점과 현재 시점의 서비스 처리량의 변화 정도를 고려하여 갱신하되, 이전 성능 제어 정책이 수직적 제어 정책이었다면, 수직 제어 지표(α)를 갱신하고, 이전 성능 제어 정책이 수평적 제어 정책이었다면, 수평 제어 지표(β)를 갱신한다. 여기서, 투입된 처리 단위란 성능 제어 정책에 따라서 조정되는 서비스 처리 단위를 의미하는 것으로서, 각 가상화 노드에 투입된 자원의 수 혹은 가상화 노드 혹은 응용 프로그램과 같은 서비스 처리 개체의 수로 정의될 수 있다. In the present invention, the performance control index is an index obtained by quantifying the contribution of the previously selected performance control policy to the current time point, and is made up of the vertical control index alpha and the horizontal control index beta. The performance control index is updated in consideration of the service throughput changed according to the previous performance control policy and the service throughput per previously processed processing unit. The service control unit updates the service throughput of either the resource or the virtual node, Updating the vertical control index α if the previous performance control policy was a vertical control policy and updating the horizontal control index β if the previous performance control policy was a horizontal control policy. Herein, the input processing unit means a service processing unit adjusted according to the performance control policy, and can be defined as the number of resources input to each virtualization node or the number of service processing objects such as a virtualization node or an application program.

갱신 계산식은 다음의 수학식 1과 같이 표현될 수 있다. The update calculation equation can be expressed by the following equation (1).

Figure 112017017809052-pat00001
Figure 112017017809052-pat00001

여기서, curr은 현재 서비스 처리량을, prev는 이전 시점에서 성능 제어 정책이 선택될 당시의 서비스 처리량을, resc는 이전 시점에 투입되었던 투입된 자원의 수 혹은 가상화 노드와 같은 서비스 처리 개채의 수를 의미한다. 즉, (curr-prev)는 이전 시점에 선택된 성능 제어 정책에 따른 서비스 처리량의 변화이고, (prev/resc)는 이전에 투입된 처리 단위 당 서비스 처리량을 의미한다. 성능 제어 지표는 절대값을 의미하므로, 음수는 될 수 없다. Here, curr represents the current service throughput, prev represents the service throughput at the time when the performance control policy is selected at the previous time, and resc represents the number of the input resources or virtual service nodes such as the virtual node . That is, (curr-prev) is the change in service throughput according to the performance control policy selected at the previous time point, and (prev / resc) means the service throughput per previously processed processing unit. The performance control index means an absolute value, so it can not be negative.

예를 들면, 이전에 성능 제어 정책이 선택될 당시 시점에 서비스 제공 서버(310)에 가상화 노드 수가 5개(resc)였고, 서비스 처리량이 100(prev)이었던 상태에서, 수평적 제어 정책 선택에 따라 스케일 아웃을 하여 현재 제어가 필요한 시점에 가상화 노드 수가 6개, 서비스 처리량은 110(curr)이라고 가정하자. 이전 시점에 수평적 제어 정책을 선택하였으므로, 수평 제어 지표를 갱신하며, 수평 제어 지표 β는 (110-100)/(100/5)의 계산에 따라 0.5가 된다. 제어부(110)는 이전 상태의 수직 제어 지표와 현재 갱신된 수평 제어 지표의 크기를 비교하여, α≥β 인 경우 수직 제어 정책을 선택하여 수직 조절부(150)를 제어하고, α<β인 경우 수평 제어 정책을 선택하여 수평 조절부(160)를 제어하도록 한다. For example, in the state where the number of virtualization nodes is 5 (resc) and the service throughput is 100 (prev) in the service providing server 310 at the time when the performance control policy was previously selected, Suppose that the number of virtual nodes is 6 and the service throughput is 110 (curr) at the point where the current control is required by scaling out. Since the horizontal control policy was selected at the previous point, the horizontal control index is updated, and the horizontal control index β becomes 0.5 according to the calculation of (110-100) / (100/5). The control unit 110 compares the vertical control index of the previous state with the size of the currently updated horizontal control index, and controls the vertical control unit 150 by selecting the vertical control policy when? And controls the horizontal adjustment unit 160 by selecting a horizontal control policy.

α, β의 값 자체는 제어 정책을 선택하는 데 있어서 중요하지 않으며, 오직 절대적인 크기만을 비교하여 제어 정책을 선택한다. 따라서, 상기 α, β의 초기 값은 임의로 설정될 수 있으며, 다만 해당 서비스 제공 서버(310)에 최초로 적용하고자 설정된 성능 제어 정책에 따라서 α, β 중 어느 것을 크게 할 지가 결정될 수 있다. The values of α and β themselves are not important in selecting the control policy, and only the absolute magnitudes are compared to select the control policy. Therefore, the initial values of? And? May be set arbitrarily, but it may be determined which of? And? Is to be increased according to the performance control policy set to be applied to the service providing server 310 for the first time.

아울러, 다음 판단 시 사용할 수 있도록, 갱신된 성능 제어 지표, 선택된 성능 제어 정책을 저장부(130)에 저장하며, 모니터링된 서비스 처리량 또한 저장부(130)에 저장하도록 한다. In addition, the updated performance control index and the selected performance control policy are stored in the storage unit 130, and the monitored service throughput is stored in the storage unit 130 so that the updated performance control index and the selected performance control policy can be used in the next determination.

전술한 바와 같이, 설명의 편의를 위해, 서비스 제공 서버(310)에서 처리하는 서비스가 하나인 것으로 가정한 것이며, 만약 일반적인 시스템에서, 노드 별로 처리하는 서비스가 다른 경우에는, 서비스 별로 α, β의 쌍이 존재할 수 있다. As described above, for convenience of explanation, it is assumed that there is one service to be processed by the service providing server 310. If the service to be processed is different for each node in a general system, Pairs can exist.

성능 축소가 필요한 것으로 판단된 경우의 제어 과정은 성능 확대의 경우보다 간단하게 이루어 질 수 있다. The control process when it is judged that the performance reduction is necessary can be made simpler than the case of the performance expansion.

지속적인 모니터링 결과에 따라, 오히려 서비스 요청이 줄어들어 성능 축소가 필요하다고 판단되면, 성능 제어 지표를 갱신할 필요는 없으며, 이전 시점의 성능 확대를 위한 제어 정책이, 즉 가장 최근의 성능 확대 제어 정책이 수직적 제어 정책이었던 경우에는, 동일하게 수직적 제어 정책을 선택하여 수직 조절부(150)를 제어하도록 하고, 가장 최근의 성능 확대 제어 정책이 수평적 제어 정책이었던 경우에는 수평적 제어 정책을 선택하여 수평 조절부(160)를 제어하도록 한다. It is not necessary to update the performance control index if it is determined that the reduction of performance is required due to the decrease of the service request according to the result of the continuous monitoring. The control policy for expanding the performance at the previous time, that is, If the policy is the control policy, the vertical control unit 150 selects the vertical control policy to control the vertical control unit 150. If the latest performance control policy is the horizontal control policy, the horizontal control policy is selected, (160).

한편, 서비스 제공 서버(310) 상에서 최초로 성능 제어가 필요하다고 판단된 시점에는 이전에 선택된 성능 제어 정책이 없으므로, 수직 제어 지표 또는 수평 제어 지표를 갱신할 수가 없다. 따라서 최초의 성능 제어 시점에는 시스템 관리자에 의해 초기 값으로 설정해둔 수직 제어 지표 및 수평 제어 지표의 크기 비교만을 이용하여 현재 시점에 적합한 성능 제어 정책을 선택하도록 할 수 있다.On the other hand, when it is determined that the performance control is required for the first time on the service providing server 310, there is no previously selected performance control policy, and thus the vertical control index or the horizontal control index can not be updated. Therefore, at the first performance control time, it is possible to select a performance control policy suitable for the current time using only the size comparison between the vertical control index and the horizontal control index set as the initial values by the system administrator.

요컨대, 서비스 제공 서버(310)은 성능 제어 지표에 따라 수직 조절부(150) 또는 수평 조절부(160)를 조절하여 스케일 업/다운/아웃/인(UP/DOWN/OUT/IN)의 수직 또는 수평적 성능 제어를 모두 수행할 수가 있는데, 초기 성능 제어 지표를 어떻게 설정하느냐에 따라 서비스 제공 서버(310)을 기존의 고정적인 방식으로도 이용할 수가 있다.In other words, the service providing server 310 adjusts the vertical adjustment unit 150 or the horizontal adjustment unit 160 according to the performance control index to adjust the vertical or vertical scale of the scale up / down / out / The service providing server 310 can be used in a fixed manner according to how the initial performance control index is set.

예를 들어, 성능 제어 지표의 초기 값으로, α=1, β=0.99 라고 설정하게 되면, 서비스 제공 서버(310)은 수직적 확장 제어 정책을 우선 따르면서, 모니터링 결과에 따라 4가지의 성능 확대/축소를 할 수 있다. α=0.99, β=1 로 설정하게 되면, 서비스 제공 서버(310)은 수평적 확장 제어 정책을 우선 따르게 된다. 만약, α=0, β=1로 설정하게 되면, 서비스 제공 서버(310)은 수평적 제어 정책만을 수행하게 된다. 왜냐하면, 자원 또는 노드가 추가되면 시스템의 성능은 변화 정도가 미미하더라도 성능의 변화량은 0보다는 클 수 밖에 없기 때문에 β가 α보다 항상 크기 때문이다. 따라서, α와 β는 반드시 양의 실수로 설정되어야 한다. For example, if? = 1 and? = 0.99 are set as the initial values of the performance control indexes, the service providing server 310 takes priority of the vertical expansion control policies and performs four performance enlargement / reduction . When? = 0.99 and? = 1, the service providing server 310 follows the horizontal expansion control policy first. If? = 0 and? = 1 are set, the service providing server 310 performs only the horizontal control policy. This is because, when a resource or a node is added, β is always larger than α because the change in performance is not necessarily zero even if the performance of the system is small. Therefore, α and β must be set to positive real numbers.

이처럼, 본 발명에 따른 성능 제어 장치(100)는 성능 제어 지표를 초기에 어떻게 설정해두냐에 따라서, 서비스 제공 서버(310)을 수직적 제어 정책 전용 시스템으로 동작하도록 할 수도 있고, 수평적 제어 정책 전용 시스템으로 동작하도록 할 수도 있으며, 수평/수직의 성능 제어를 모두 수행할 수 있는 시스템으로 동작하도록 할 수도 있는 것이다. In this way, the performance control apparatus 100 according to the present invention can operate the service providing server 310 as a system dedicated to the vertical control policy, Or may operate as a system capable of performing both horizontal and vertical performance control.

저장부(130)는 성능 제어 장치(100)의 구동에 필요한 프로그램을 저장할 수 있고, 성능 확대 또는 축소의 성능 제어 여부가 필요한지 판단하는 기준점인 임계값을 저장하고 있으며, 초기 성능 제어 지표 값도 저장하고 있다. The storage unit 130 stores a program necessary for driving the performance control apparatus 100 and stores a threshold value which is a reference point for determining whether performance enhancement or reduction performance should be controlled or not. .

상술한 바와 같이, 서비스 제공 서버(310) 상에서 최초로 성능 제어가 필요하다고 판단된 시점에는 이전에 선택된 성능 제어 정책이 없으므로, 수직 제어 지표 또는 수평 제어 지표를 갱신할 수가 없기 때문에 최초의 성능 제어 시점에는 시스템 관리자에 의해 미리 설정해둔 수직 제어 지표 및 수평 제어 지표의 크기 비교만을 이용하여 현재 시점에 적합한 성능 제어 정책을 선택할 수 있도록 성능 제어 지표의 초기 값을 저장하고 있다. As described above, since it is not possible to update the vertical control index or the horizontal control index because there is no previously selected performance control policy at the time when it is determined that performance control is required for the first time on the service providing server 310, The initial value of the performance control index is stored so that the performance control policy suitable for the current time can be selected using only the size comparison between the vertical control index and the horizontal control index preset by the system administrator.

한편, 전술한 바와 같이, 서비스 제공 서버(310)에서 처리하는 서비스가 다수인 경우에는, 처리하는 서비스 별로 성능 제어 지표의 초기 값을 달리 설정할 수 있다.Meanwhile, as described above, when there are a plurality of services to be processed by the service providing server 310, the initial values of the performance control indexes can be set differently for each service to be processed.

또한, 저장부(130)는 성능 제어 지표 갱신에 이용할 수 있도록 모니터링 되는 서비스 처리량과 갱신된 성능 제어 지표, 성능 제어 정책 이력을 더 저장할 수 있다. In addition, the storage unit 130 may further store the monitored service throughput, the updated performance control index, and the performance control policy history for use in performance control index update.

이전 시점의 서비스 처리량, 성능 제어 지표, 제어 쟁책이 현재 시점의 제어 정책을 판단하는 데에 이용되는 방식이므로, 상기의 값들은 스택(stack)을 이용하여 관리되도록 할 수 있다. Since the service throughput, the performance control index, and the control solution at the previous time are used to determine the current control policy, the above values may be managed using a stack.

스택은 후입선출(FILO, First IN Last OUT) 방식의 자료 구조로, 가장 최근에 입력된 것이 가장 먼저 나오게 되므로, 현재 성능 제어가 필요하다고 판단된 시점에 스택의 TOP에 바로 이전 시점의 서비스 처리량, 갱신된 성능 제어 지표, 선택된 성능 제어 정책이 저장되어 있는 구조가 된다. 따라서, 용이하게 이전 시점의 자료들을 파악할 수가 있어 자원과 관련된 이력 관리를 수월하게 할 수 있게 된다. The stack is a data structure of FILO (First IN Last OUT) method. Since the latest input is the first to be inputted, when the current performance control is determined to be necessary, the service throughput, The updated performance control indicator, and the selected performance control policy are stored. Therefore, it is possible to easily grasp the data at the previous time point, thereby facilitating the management of the history related to the resource.

수직 조절부(150)는 제어부(110)에서 수직적 제어 정책이 선택된 경우, 제어부의 제어에 따라서, 스케일 업/다운을 수행한다. 즉, 스케일 업에 의해 컨테이너에 자원을 추가하거나 스케일 다운에 의해 추가되었던 자원을 회수한다. When the vertical control policy is selected in the control unit 110, the vertical adjustment unit 150 scales up / down according to the control of the control unit. That is, it adds resources to the container by scaling up or reclaims resources that were added by scaling down.

수평 조절부(160)는 제어부(110)에서 수평적 제어 정책이 선택된 경우, 제어부의 제어에 따라서, 스케일 아웃/인을 수행한다. 즉, 스케일 아웃에 의해 새로운 컨테이너(30)를 생성함으로써 특정 컨테이너에 몰린 서비스 요청을 분산시키거나, 스케일 인에 의해 생성된 컨테이너를 삭제한다.When the horizontal control policy is selected in the control unit 110, the horizontal adjustment unit 160 performs a scale-out / in according to the control of the control unit. That is, by creating a new container 30 by scale-out, the service request poured in the specific container is distributed or the container created by scale in is deleted.

부하 분배부(140)는 사용자 단말(200)의 서비스 요청을 서비스 제공 서버(310)의 다수의 컨테이너(30)에 분배해 주는 역할을 수행한다. 이는 서비스 제공 서버(310)의 분배 정책에 따라 수행될 수 있다. The load distribution unit 140 distributes a service request of the user terminal 200 to a plurality of containers 30 of the service provision server 310. This may be performed according to the distribution policy of the service providing server 310. [

또한, 제어부(110)의 판단에 따라, 성능 제어가 필요한 것으로 판단되어 수직 조절부(150) 또는 수평 조절부(160)에 의해 자원 혹은 컨테이너가 조절된 경우에는, 조절된 자원에 맞게 서비스 요청에 따른 작업 부하를 분산시킨다. When it is determined that the performance control is required according to the determination of the controller 110 and the resource or the container is adjusted by the vertical adjustment unit 150 or the horizontal adjustment unit 160, Thereby distributing the work load.

도 5 내지 도 7은 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법을 설명하기 위한 예시도이다. 5 to 7 are diagrams for explaining a performance control method in a virtualization environment according to an embodiment of the present invention.

먼저, 도 5와 같이 하드웨어(10)와 컨테이너 1(31), 컨테이너 2(32)의 복수 개의 컨테이너가 있으며, 각 컨테이너에는 서비스 제공 서버(310)의 하드웨어 자원이 할당되어 있다. 5, there are a plurality of containers of the hardware 10, the container 1 31 and the container 2 32. Hardware resources of the service providing server 310 are allocated to each container.

도면에서는 설명의 편의를 위해 컨테이너 1(31), 컨테이너2(32)만을 도시하였으나, 컨테이너의 개수는 이에 한정되는 것은 아니고, 하드웨어 자원을 자원 1, 자원 2와 같이 셀 수 있는 개념으로 도시하였으나, 이에 한정되는 것은 아니며, 자원이 CPU 자원일 경우에는 CPU의 수를 의미할 수도 있고, 메모리일 경우에는 메모리에서 차지하는 용량을 의미할 수도 있으며, 또한 자원은 하드웨어 자원에 한정되지 않고, 소프트웨어 자원이 될 수도 있다. Although only the container 1 31 and the container 2 32 are shown in the figure for convenience of description, the number of containers is not limited to this, and hardware resources can be counted as resources 1 and 2, The present invention is not limited to this. It may mean the number of CPUs when the resource is a CPU resource, the capacity occupied by the memory when the resource is a memory, and the resource is not limited to hardware resources. It is possible.

도 5와 같이 컨테이너 1(31)에는 자원 1이 할당되어 있고, 컨테이너 2(32)에는 자원 3이 할당되어 있으며, 성능 제어 장치(100)는 이러한 서비스 제공 서버(310)을 모니터링하여 임계값과의 비교를 통해 성능 제어가 필요한 시점을 판단하게 된다.The resource 1 is allocated to the container 1 31 and the resource 3 is allocated to the container 2 32. The performance control apparatus 100 monitors the service providing server 310 to calculate a threshold value The time required for performance control is determined.

특정 시점에 서비스 요청이 몰리면서, 컨테이너 1(31)의 자원 활용율이 기 설정된 제1 임계값 이상이 되었다고 가정하면, 성능 제어 장치(100)는 성능 확대가 필요한 것으로 판단하게 된다. Assuming that a service request is collected at a specific point in time and that the resource utilization rate of the first container 31 is equal to or greater than a predetermined first threshold value, the performance control apparatus 100 determines that performance expansion is necessary.

성능 확대가 필요한 경우에는, 성능 제어 지표를 갱신하여, 적합한 성능 제어 정책을 선택하게 되는데, 본 발명의 성능 제어 장치(100)는 이전 시점의 선택의 결과가 현재 시점에 미치는 영향을 고려하여 제어 정책을 결정하는 바, 성능 제어 장치(100)의 저장부(130)에서 관리되는 자원 이력에 대한 스택으로부터 서비스 처리량과 이전 시점에 추가된 자원 혹은 컨테이너를 읽어와 성능 제어 지표를 갱신하게 된다. If performance enhancement is required, the performance control index is updated to select an appropriate performance control policy. The performance control apparatus 100 of the present invention determines the performance policy based on the control policy And updates the performance control index by reading the service throughput and the resource or container added at the previous time from the stack of the resource history managed by the storage unit 130 of the performance control apparatus 100. [

전술한 바와 같이, 이전 시점에 선택된 제어 정책이 수직적 제어 정책인 경우에는 수직 제어 지표 α를 갱신하고, 그렇지 않은 경우에는 수평 제어 지표 β를 갱신한다. As described above, when the control policy selected at the previous time is a vertical control policy, the vertical control index? Is updated, and if not, the horizontal control index? Is updated.

성능 제어 지표의 비교를 통해서, 현재 시점에 적합한 성능 제어 정책을 선택하는데, 수직적 제어 정책을 선택하는 경우에는 도 6과 같은 결과가 되고, 수평적 제어 정책을 선택하는 경우에는 도 7과 같이 변경될 수 있다. A performance control policy suitable for the present time is selected through comparison of the performance control indexes. In the case of selecting a vertical control policy, the result is as shown in FIG. 6. In the case of selecting a horizontal control policy, .

즉, 수직 제어 지표가 수평 제어 지표보다 크거나 같아서 수직적 제어 정책이 선택된 경우, 도 6과 같이 수직 조절부(150)를 통해 컨테이너 1(31)에 자원 2가 추가로 할당되도록 한다. 더하여, 부하 분배부(140)는 서비스 제공 서버(310)의 분배 정책에 적합하게, 자원이 추가된 컨테이너 1(31)과 다른 컨테이너 2(32)에 작업 부하를 분산시켜 사용자 단말(200)의 서비스 요청이 처리되도록 할 수 있다. That is, when the vertical control index is equal to or greater than the horizontal control index and the vertical control policy is selected, resource 2 is additionally allocated to the container 1 (31) through the vertical control unit 150 as shown in FIG. In addition, the load distribution unit 140 distributes the workload to the container 2 (32) different from the container 1 (31) to which the resource is added in accordance with the distribution policy of the service providing server (310) The service request can be processed.

한편, 수평 제어 지표가 수직 제어 지표보다 커서 수평적 제어 정책이 선택된 경우에는 도 7과 같이 새로운 컨테이너인 컨테이너 3(33)을 생성함으로써 작업 부하를 분배한다. 이 때, 부하 분배부(140)는 기존에 컨테이너 1(31)로 분배되던 작업 부하를 새로 생성된 컨테이너 3(33)으로 분산시킬 수 있다. On the other hand, when the horizontal control index is larger than the vertical control index and the horizontal control policy is selected, the work load is distributed by creating the container 3 (33), which is a new container as shown in FIG. At this time, the load distribution unit 140 can distribute the workload that has been distributed to the container 1 31 to the newly created container 3 (33).

본 발명의 성능 제어 장치(100)는 모니터링 결과, 성능의 확대가 필요한 컨테이너가 여러 개인 상황에서 유휴 자원이 부족할 경우에는 컨테이너 간의 우선순위를 고려하여 유휴 자원을 먼저 할당 하도록 제어할 수도 있다. The performance control apparatus 100 of the present invention may control the allocation of idle resources in consideration of the priority among the containers when there are a plurality of containers requiring expansion of performance as a result of the monitoring.

이와 같이 본 발명에 따른 성능 제어 장치(100)는 가상화 처리 개체인 컨테이너의 성능에 따라 자원을 추가하거나 컨테이너를 생성함으로써 또는 그 반대로 자원을 회수하거나 컨테이너를 삭제함으로써 유연하게 성능 제어를 수행할 수 있다. As described above, the performance control apparatus 100 according to the present invention can flexibly perform performance control by adding resources, creating containers, or vice versa depending on the performance of a container that is a virtualization processing entity, or reclaiming resources or deleting containers .

아울러, 본 발명의 성능 제어 장치(100)는 컨테이너과 같은 가상화 노드 단위로 성능을 모니터링하는 것으로 설명하였으나, 응용 프로그램(APP) 각각의 성능을 모니터링하고 응용 프로그램 단위로 각각 자원을 관리하여 성능을 제어할 수도 있다. In addition, although the performance control apparatus 100 of the present invention has been described as monitoring performance on a per virtual node basis such as a container, performance of each application program (APP) is monitored and resources are managed in units of application programs It is possible.

이상으로 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법을 지원하는 장치인 성능 제어 장치(100)의 주요 구성 및 동작 방법에 대해 설명하였다. The main configuration and operation method of the performance control apparatus 100 that supports the performance control method in the virtualization environment according to the embodiment of the present invention has been described above.

비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Although the present specification and drawings describe exemplary device configurations, the functional operations and subject matter implementations described herein may be embodied in other types of digital electronic circuitry, or alternatively, of the structures disclosed herein and their structural equivalents May be embodied in computer software, firmware, or hardware, including, or in combination with, one or more of the foregoing. Implementations of the subject matter described herein may be embodied in one or more computer program products, i. E. One for computer program instructions encoded on a program storage medium of the type for &lt; RTI ID = 0.0 & And can be implemented as a module as described above. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects the machine readable propagation type signal, or a combination of one or more of the foregoing.

이하, 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법에 대해 설명하도록 한다.Hereinafter, a performance control method in a virtualization environment according to an embodiment of the present invention will be described.

도 8 내지 도 10은 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법을 설명하기 위한 흐름도이다.8 to 10 are flowcharts for explaining a performance control method in a virtualization environment according to an embodiment of the present invention.

도 8을 참조하면, 성능 제어 장치(100)가 응용 프로그램의 실행을 위한 가상화 노드를 모니터링하며(S401), 모니터링 결과에 따라 자원 활용율을 기 설정된 제1 임계값과 비교하여(S403), 제1 임계값 이상인 경우 성능 확대가 필요한 것으로 판단한다(S405). 지속적으로 모니터링을 수행하여(S407), 자원 활용율이 제2 임계값보다 작아지는 시점이 오면(S409), 성능 축소가 필요한 것으로 판단한다(S411).Referring to FIG. 8, the performance control apparatus 100 monitors a virtualization node for executing an application program (S401), compares the resource utilization rate with a predetermined first threshold value according to a monitoring result (S403) If it exceeds the threshold value, it is determined that performance expansion is necessary (S405). (S407). When the resource utilization rate becomes smaller than the second threshold value (S409), it is determined that performance reduction is required (S411).

성능 확대의 제어 과정을 도 9를 참조하여 설명하면, 먼저 성능 확대를 위해서 유휴 자원이 존재하는지를 고려한다(S501). 유휴 자원이 존재하지 않는다면, 성능 제어 장치(100)는 유휴 자원이 발생될 때까지 대기하면서, 지속적으로 모니터링을 수행할 수 있다.Referring to FIG. 9, the process of controlling the performance expansion will be described. First, it is considered whether idle resources are present for performance enhancement (S501). If there is no idle resource, the performance control apparatus 100 can continuously perform monitoring while waiting for idle resources to be generated.

유휴 자원이 존재하는 경우에는, 이전의 성능 제어 정책을 고려하는데(S503), 성능 제어 장치(100)의 저장부(130)에 의해 관리되는 성능 제어 정책 이력 스택에서 이전 시점의 성능 제어 정책을 읽어와서 성능 제어 정책을 결정할 수 있다.If the idle resource exists, the previous performance control policy is considered (S503), and the performance control policy of the previous time is read in the performance control policy history stack managed by the storage unit 130 of the performance control apparatus 100 To determine performance control policies.

이전 성능 제어 정책이 수직적 제어 정책이었다면, 수직 제어 지표 α를 갱신하고(S505), 수평적 제어 정책이었다면, 수평 제어 지표 β를 갱신하며(S507), α와 β의 비교를 수행하여(S509), α가 β보다 크거나 같은 경우에는 수직 제어 정책을 선택하고(S511), 그렇지 않은 경우에는 수평 제어 정책을 선택한다(S515). 한편, 성능 확대가 필요하다고 판단된 최초의 시점이어서 저장된 이전 정책이 없는 경우에는 갱신할 제어 지표가 없으므로 바로 S509 단계를 수행한다.If the previous performance control policy was a vertical control policy, the vertical control index alpha is updated (S505). If the previous performance control policy was a horizontal control policy, the horizontal control index beta is updated (S507) If? is greater than or equal to?, the vertical control policy is selected (S511). Otherwise, the horizontal control policy is selected (S515). On the other hand, if there is no previous policy stored since the first time it is determined that the performance expansion is necessary, step S509 is performed because there is no control index to be updated.

다음 시점의 성능 제어를 위하여, 갱신된 성능 제어 지표와 선택된 제어 정책, 현재 시점의 모니터링된 서비스 처리량 등은 저장부(130)에 저장한다.For the performance control at the next time point, the updated performance control indicator, the selected control policy, the monitored service throughput at the current time, and the like are stored in the storage unit 130.

수직 제어 정책이 선택되면, 수직 조절부(150)를 제어하여 Scale UP 수행에 의해 해당 가상화 노드에 자원이 추가되도록 하고(S513), 수평 제어 정책이 선택되면, 수평 조절부(160)를 제어하여 Scale OUT 수행에 의해 가상화 노드를 추가로 신설하여 부하가 발생된 가상화 노드의 부하를 분산시킬 수 있도록 한다(S517). When the vertical control policy is selected, the vertical control unit 150 is controlled so that resources are added to the virtualization node by Scale UP (S513). When the horizontal control policy is selected, the horizontal control unit 160 is controlled Scale OUT operation is performed to newly allocate a virtualization node to distribute the load of the loaded virtualization node (S517).

성능 축소의 제어 과정을 도 10을 참조하여 설명하면, 먼저 이전 정책을 고려하는데(S601), 이전 시점에 수직 제어 정책에 따라 Scale UP을 수행하여 자원이 추가된 경우에는 역으로 추가된 자원이 회수될 수 있도록 수직 제어 정책을 선택하여 수직 조절부(150)의 제어를 통해 Scale DOWN을 수행한다(S603, 605). 10, the previous policy is considered first (S601). In the case where a resource is added by performing a scale UP according to a vertical control policy at a previous time point, The vertical control unit 150 selects the vertical control policy so as to perform the scale down by controlling the vertical control unit 150 (S603, 605).

반면에, 이전 시점에 수평 제어 정책에 따라 Scale OUT을 수행하여 가상화 노드가 신설된 경우에는 역으로 신설된 가상화 노드가 삭제될 수 있도록 수평 제어 정책을 선택하여 수평 조절부(160)의 제어를 통해 Scale IN을 수행한다(S607, S609).On the other hand, if the virtualization node is newly installed by performing Scale OUT according to the horizontal control policy at the previous time point, the horizontal control policy is selected so that the newly created virtualization node can be deleted, Scale IN is performed (S607, S609).

이상으로 본 발명의 실시 예에 따른 가상화 환경에서의 성능 제어 방법에 대해 설명하였다. The performance control method in the virtualization environment according to the embodiment of the present invention has been described above.

여기서, 흐름도의 각 단계는 컴퓨터 프로그램 명령어에 의해 수행될 수 있음을 이해하여야 한다. 이들 컴퓨터 프로그램 명령어들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 명령어들이 흐름도 구성(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 또한, 이들 컴퓨터 프로그램 명령어들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능한 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능한 기록매체에 저장된 명령어들은 흐름도 구성(들)에서 설명된 기능을 수행하는 명령어 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.It should be understood that each step of the flowchart may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, so that those instructions, which are executed through a processor of a computer or other programmable data processing apparatus, Thereby creating means for performing functions. These computer program instructions may also be stored on a computer usable or computer readable recording medium capable of directing a computer or other programmable data processing apparatus to implement a function in a particular manner, It is also possible for the instructions stored in the readable recording medium to produce an article of manufacture containing instruction means for performing the functions described in the flowchart (s).

여기서, 컴퓨터 이용 가능 또는 판독 가능한 기록매체는 예컨대, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Here, the computer-usable or readable recording medium may be, for example, a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a CD-ROM (Compact Disk Read Only Memory), a DVD A magneto-optical medium such as a floppy disk, a magneto-optical medium such as a floppy disk and a magneto-optical medium such as a floppy disk, a ROM, a read only memory, a random access memory, (Erasable Programmable ROM), and EEPROM (Electrically Erasable Programmable ROM). The processor and memory may be supplemented by, or incorporated in, special purpose logic circuits. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such a hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

또한, 컴퓨터 프로그램 명령어들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 명령어들은 흐름도 구성(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.It is also possible that computer program instructions may be loaded onto a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible for the instructions to perform possible data processing equipment to provide steps for executing the functions described in the flow diagram construction (s).

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While the specification contains a number of specific implementation details, it should be understood that they are not to be construed as limitations on the scope of any invention or claim, but rather on the description of features that may be specific to a particular embodiment of a particular invention Should be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments, either individually or in any suitable subcombination. Further, although the features may operate in a particular combination and may be initially described as so claimed, one or more features from the claimed combination may in some cases be excluded from the combination, Or a variant of a subcombination.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although the operations are depicted in the drawings in a particular order, it should be understood that such operations must be performed in that particular order or sequential order shown to achieve the desired result, or that all illustrated operations should be performed. In certain cases, multitasking and parallel processing may be advantageous. Also, the separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems will generally be integrated together into a single software product or packaged into multiple software products It should be understood.

본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 본 명세서와 도면에 개시된 본 발명의 실시 예들은 이해를 돕기 위해 특정 예를 제시한 것에 지나지 않으며, 본 발명의 범위를 한정하고자 하는 것은 아니다. The description sets forth the best mode of the invention, and is provided to illustrate the invention and to enable those skilled in the art to make and use the invention. The embodiments of the present invention described in the present specification and drawings are merely given specific examples for the purpose of understanding and are not intended to limit the scope of the present invention.

본 발명은 가상화 환경에서의 성능 제어 방법에 관한 것으로, 응용 프로그램 실행을 위한 가상화 노드의 성능을 모니터링하여, 모니터링 결과에 따라, 현재 시점에 적합한 제어 정책을 선택하여, 스케일 업/다운/아웃/인의 4가지 방식에 따라 보다 유연하게 성능 제어를 수행할 수 있으며, 이를 통해 본 발명은 가상화 환경 기반의 서비스 산업의 발전에 이바지 할 수 있다. The present invention relates to a performance control method in a virtualized environment, in which performance of a virtualization node for executing an application program is monitored, and a control policy suitable for the current time is selected according to a monitoring result to control a scale up / down / The performance control can be more flexibly performed according to the four methods, and the present invention can contribute to the development of the service industry based on the virtual environment.

아울러, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.In addition, the present invention has a possibility of commercial use or business, and is industrially applicable because it is practically possible to carry out clearly.

100: 성능 제어 장치 110: 제어부
120: 모니터링부 130: 저장부
140: 부하 분배부 150: 수직 조절부
160: 수평 조절부 200: 사용자 단말
300, 310, 320: 서비스 제공 서버
100: performance control device 110:
120: monitoring unit 130:
140: load distributor 150: vertical regulator
160: horizontal adjustment unit 200: user terminal
300, 310, and 320: a service providing server

Claims (16)

하나 이상의 가상화 노드를 통해 사용자 단말의 서비스 요청을 처리하는 서비스 제공 서버의 성능을 제어하는 성능 제어 방법에 있어서, 성능 제어 장치가,
가상화 노드의 처리 성능에 영향을 미치지는 자원을 추가하거나 회수하는 수직적 제어 정책의 기여도를 나타내는 수직 제어 지표 및 상기 가상화 노드의 처리 성능에 영향을 미치지는 자원을 추가하거나 회수하는 수평적 제어 정책의 기여도를 나타내는 수평 제어 지표를 포함하는 성능 제어 지표를 설정하는 단계;
가상화 노드의 자원 활용율에 따라 성능 확대 또는 성능 축소를 포함하는 성능 제어 필요 여부를 판단하는 단계;
성능 제어가 필요한 것으로 판단되면, 이전 성능 제어 정책의 적용에 따라서 상기 수직 제어 지표 또는 수평 제어 지표를 갱신하는 단계; 및
상기 수직 제어 지표와 수평 제어 지표를 비교하여 그 비교 결과에 따라서, 수직적 제어 정책 및 수평적 제어 정책 중 하나의 성능 제어 정책을 선택하는 단계;
를 포함하는 것을 특징으로 하는 성능 제어 방법.
A performance control method for controlling performance of a service providing server that processes a service request of a user terminal through one or more virtualization nodes,
A vertical control indicator indicating the contribution of the vertical control policy to add or retrieve resources that affect the processing performance of the virtualization node and the contribution of the horizontal control policy to add or retrieve resources that affect the processing performance of the virtualization node Setting a performance control indicator including a horizontal control indicator that indicates a performance indicator;
Determining whether performance control including performance enhancement or performance reduction is required according to resource utilization rate of the virtualization node;
Updating the vertical control index or the horizontal control index according to application of the previous performance control policy, if it is determined that performance control is required; And
Comparing the vertical control index with a horizontal control index and selecting one of a vertical control policy and a horizontal control policy according to the comparison result;
&Lt; / RTI &gt;
제1항에 있어서, 상기 판단하는 단계 이전에,
상기 서비스 제공 서버의 가상화 노드 별로 서비스 처리량 및 자원 활용율을 모니터링하는 단계;
를 더 포함하는 것을 특징으로 하는 성능 제어 방법.
The method according to claim 1,
Monitoring service throughput and resource utilization rate for each virtualization node of the service providing server;
Lt; RTI ID = 0.0 &gt; 1, &lt; / RTI &gt;
제1항에 있어서, 상기 판단하는 단계는,
해당 가상화 노드의 자원 활용율이 기 설정된 제1 임계값 이상인 경우, 성능 확대가 필요한 것으로 판단하고, 상기 자원 활용율이 기 설정된 제2 임계값 미만인 경우, 성능 축소가 필요한 것으로 판단하는 것을 특징으로 하는 성능 제어 방법.
2. The method according to claim 1,
And determines that performance reduction is necessary when the resource utilization rate of the virtualization node is greater than or equal to a predetermined first threshold value and determines that performance reduction is necessary when the resource utilization rate is less than a predetermined second threshold value Way.
제1항에 있어서, 상기 성능 제어 정책을 선택하는 단계는,
상기 판단하는 단계에서 성능 확대가 필요한 것으로 판단된 경우에 상기 수직 제어 지표와 수평 제어 지표를 비교하여 그 비교 결과에 따라서 수직적 제어 정책 또는 수평적 제어 정책을 선택하는 것을 특징으로 하는 성능 제어 방법.
2. The method of claim 1, wherein selecting the performance control policy comprises:
Wherein the vertical control index and the horizontal control index are compared with each other when it is determined that the performance enhancement is needed, and the vertical control policy or the horizontal control policy is selected according to the comparison result.
제4항에 있어서, 상기 성능 제어 정책을 선택하는 단계는,

상기 수직 제어 지표가 수평 제어 지표보다 크거나 같은 경우, 수직적 제어 정책을 선택하고, 그렇지 않은 경우에 수평적 제어 정책을 선택하는 것을 특징으로 하는 성능 제어 방법.
5. The method of claim 4, wherein selecting the performance control policy comprises:

Selecting a vertical control policy if the vertical control index is greater than or equal to a horizontal control index, and selecting a horizontal control policy if not.
제1항에 있어서, 상기 갱신하는 단계는
상기 이전 성능 제어 정책에 따라 변화된 서비스 처리량과 이전에 투입된 처리 단위 당 서비스 처리량을 고려하여 상기 수평 제어 지표 및 수직 제어 지표를 산출하는 것을 특징으로 하는 성능 제어 방법.
2. The method of claim 1, wherein the updating comprises:
Wherein the horizontal control index and the vertical control index are calculated in consideration of a service throughput changed according to the previous performance control policy and a service throughput per previously input processing unit.
제1항에 있어서,
상기 성능 제어 정책을 선택하는 단계는,
상기 판단하는 단계에서 성능 축소가 필요한 것으로 판단된 경우, 이전 성능 제어 정책과 동일한 성능 제어 정책을 선택하는 것을 특징으로 하는 성능 제어 방법.
The method according to claim 1,
Wherein selecting the performance control policy comprises:
And selecting the same performance control policy as the previous performance control policy if it is determined in the determining step that performance reduction is necessary.
제1항에 있어서,
상기 선택된 성능 제어 정책에 따라, 상기 가상화 노드의 성능을 제어하는 단계를 더 포함하는 것을 특징으로 하는 성능 제어 방법.
The method according to claim 1,
Further comprising controlling performance of the virtualization node according to the selected performance control policy.
제8항에 있어서, 상기 제어하는 단계는,
상기 판단하는 단계에서 성능 확대가 필요한 것으로 판단된 것으로서, 수직적 제어 정책이 선택된 경우, 상기 가상화 노드에 자원을 추가하고, 수평적 제어 정책이 선택된 경우, 새로운 가상화 노드를 생성하고,
상기 판단하는 단계에서 성능 축소가 필요한 것으로 판단된 것으로서, 수직적 제어 정책이 선택된 경우, 상기 가상화 노드에 추가된 자원을 회수하고, 수평적 제어 정책이 선택된 경우 상기 가상화 노드를 삭제하는 것을 특징으로 하는 성능 제어 방법.
9. The method of claim 8,
Wherein when a vertical control policy is selected, resources are added to the virtualization node, and when a horizontal control policy is selected, a new virtualization node is created,
Wherein when a vertical control policy is selected, resources added to the virtualization node are recovered, and when the horizontal control policy is selected, the virtualization node is deleted. Control method.
제1항 내지 제9항 중 어느 하나의 항에 기재된 방법을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium storing a program for executing the method according to any one of claims 1 to 9. 제1항 내지 제9항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable medium embodied thereon for carrying out the method recited in any one of claims 1 to 9. 하나 이상의 가상화 노드를 통해 사용자 단말의 서비스 요청을 처리하는 서비스 제공 서버의 성능을 제어하는 성능 제어 장치에 있어서,
가상화 노드의 처리 성능에 영향을 미치지는 자원을 추가하거나 회수하는 수직적 제어 정책의 기여도를 나타내는 수직 제어 지표 및 상기 가상화 노드의 처리 성능에 영향을 미치지는 자원을 추가하거나 회수하는 수평적 제어 정책의 기여도를 나타내는 수평 제어 지표를 포함하는 성능 제어 지표를 설정하고, 가상화 노드의 자원 활용율에 따라 성능 확대 또는 성능 축소를 포함하는 성능 제어 필요 여부를 판단하여, 성능 제어가 필요한 경우, 이전 적용된 성능 제어 정책에 따라서 상기 성능 제어 지표를 갱신하고, 상기 수직 제어 지표와 수평 제어 지표를 비교하여, 비교 결과에 따라 수직적 제어 정책 및 수평적 제어 정책 중 하나의 성능 제어 정책을 선택하는 제어부; 및
상기 제어부에 의해 선택되는 성능 제어 정책 이력을 저장하는 저장부;
를 포함하는 것을 특징으로 하는 가상화 환경에서의 성능 제어 장치.
1. A performance control apparatus for controlling performance of a service providing server that processes a service request of a user terminal through one or more virtualization nodes,
A vertical control indicator indicating the contribution of the vertical control policy to add or retrieve resources that affect the processing performance of the virtualization node and the contribution of the horizontal control policy to add or retrieve resources that affect the processing performance of the virtualization node , And determines whether performance control including performance enhancement or performance reduction is required according to the resource utilization rate of the virtualization node. If performance control is required, the performance control policy including the performance control policy A controller for updating the performance control index, comparing the vertical control index with a horizontal control index, and selecting one of a vertical control policy and a horizontal control policy according to a comparison result; And
A storage unit for storing a performance control policy history selected by the control unit;
And a controller for controlling the performance in the virtual environment.
제12항에 있어서,
상기 가상화 노드의 서비스 처리량 및 자원 활용율을 모니터링하는 모니터링부;
를 더 포함하는 것을 특징으로 하는 성능 제어 장치.
13. The method of claim 12,
A monitoring unit monitoring a service throughput and a resource utilization rate of the virtualization node;
Further comprising: a memory for storing the performance control information.
제12항에 있어서,
상기 제어부에 의해 수직적 제어 정책이 선택되면, 가상화 노드에 자원을 추가하거나 회수하는 수직 조절부;
상기 제어부에 의해 수평적 제어 정책이 선택되면, 가상화 노드를 생성하거나 삭제하는 수평 조절부; 및
상기 서비스 요청에 따른 작업 부하를 상기 서비스 제공 서버의 분배 정책에 따라 상기 수직 조절부 및 수평 조절부에 의해 성능 확대 혹은 축소된 가상화 노드들에 분배하는 부하 분배부;
를 더 포함하는 것을 특징으로 하는 성능 제어 장치.
13. The method of claim 12,
A vertical adjustment unit for adding or retrieving resources to the virtualization node when the control unit selects the vertical control policy;
A horizontal adjustment unit for creating or deleting a virtual node when the horizontal control policy is selected by the controller; And
A load distribution unit for distributing the workload according to the service request to the virtual nodes expanded or reduced in performance by the vertical adjustment unit and the horizontal adjustment unit according to a distribution policy of the service providing server;
Further comprising: a memory for storing the performance control information.
제12항에 있어서,
상기 제어부는,
상기 가상화 노드의 성능 확대가 필요한 것으로 판단된 경우, 상기 수직 제어 지표 및 수평 제어 지표의 비교 결과에 따라서 수직적 제어 정책 및 수평적 제어 정책 중 하나를 선택하는 것을 특징으로 하는 성능 제어 장치.
13. The method of claim 12,
Wherein,
And selects one of a vertical control policy and a horizontal control policy according to a result of the comparison between the vertical control index and the horizontal control index when it is determined that the performance enhancement of the virtualization node is necessary.
제12항에 있어서,
상기 제어부는,
상기 가상화 노드의 성능 축소가 필요한 것으로 판단된 경우, 이전 성능 제어 정책과 동일한 성능 제어 정책을 선택하는 것을 특징으로 하는 성능 제어 장치.
13. The method of claim 12,
Wherein,
And selects the same performance control policy as the previous performance control policy if it is determined that performance degradation of the virtualization node is necessary.
KR1020170022853A 2017-02-21 2017-02-21 Method and appratus for performance control KR101896497B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170022853A KR101896497B1 (en) 2017-02-21 2017-02-21 Method and appratus for performance control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170022853A KR101896497B1 (en) 2017-02-21 2017-02-21 Method and appratus for performance control

Publications (2)

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

Family

ID=63434915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170022853A KR101896497B1 (en) 2017-02-21 2017-02-21 Method and appratus for performance control

Country Status (1)

Country Link
KR (1) KR101896497B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102284264B1 (en) * 2019-11-14 2021-08-02 에스피테크놀러지 주식회사 Cloud system and control method thereof
KR102510650B1 (en) * 2020-12-14 2023-03-20 한국전자기술연구원 System and method for analysising data based on ondevice
KR102274610B1 (en) * 2020-12-24 2021-07-07 (주)비디오몬스터 System for distributed rendering video based on cloud and method for auto scaling threrof
CN114745278A (en) * 2022-04-11 2022-07-12 中和农信项目管理有限公司 Method and device for expanding and contracting capacity of business system, electronic equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101171657B1 (en) * 2010-12-08 2012-08-09 텔코웨어 주식회사 Load balancer and method for managing load balancing using this
KR20160025926A (en) * 2014-08-28 2016-03-09 한국전자통신연구원 Apparatus and method for balancing load to virtual application server
KR101613513B1 (en) 2014-12-29 2016-04-19 서강대학교산학협력단 Virtual machine placing method and system for guarantee of network bandwidth

Also Published As

Publication number Publication date
KR20180096310A (en) 2018-08-29

Similar Documents

Publication Publication Date Title
CN108984264B (en) Virtual GPU (graphics processing Unit) implementation method, device and system
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 (en) Method and appratus for performance control
US9619378B2 (en) Dynamically optimizing memory allocation across virtual machines
EP3223491B1 (en) Method and device for mapping virtual data centre resources
US8332611B2 (en) Method and system for managing memory
US20130339956A1 (en) Computer system and optimal arrangement method of virtual machine in computer system
JP2004062911A (en) System for managing allocation of computer resource
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
US9183061B2 (en) Preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor
US20170161117A1 (en) Apparatus and method to determine a service to be scaled out based on a predicted virtual-machine load and service importance
US10630600B2 (en) Adaptive network input-output control in virtual environments
JP6679146B2 (en) Event-Driven Reoptimization of Logically Partitioned Environments for Power Management
KR20180045347A (en) Method for resource management of virtual environment
CN117480494A (en) Coordinated container scheduling for improved resource allocation in virtual computing environments
KR20100074920A (en) Apparatus and method for load balancing in multi-core system
CN115599512A (en) Scheduling jobs on a graphics processing unit
US20190391851A1 (en) System and method for managing memory in virtual machines
CN111104203B (en) Virtual machine decentralized scheduling method and device, electronic equipment and storage medium
US11586475B2 (en) Application aware resource allocation for deep learning job scheduling
KR102231357B1 (en) Single virtualization system for HPC cloud service and server software defined server scheduling method
KR102014246B1 (en) Mesos process apparatus for unified management of resource and method for the same

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