KR101924467B1 - System and method of resource allocation scheme for cpu and block i/o performance guarantee of virtual machine - Google Patents

System and method of resource allocation scheme for cpu and block i/o performance guarantee of virtual machine Download PDF

Info

Publication number
KR101924467B1
KR101924467B1 KR1020170111836A KR20170111836A KR101924467B1 KR 101924467 B1 KR101924467 B1 KR 101924467B1 KR 1020170111836 A KR1020170111836 A KR 1020170111836A KR 20170111836 A KR20170111836 A KR 20170111836A KR 101924467 B1 KR101924467 B1 KR 101924467B1
Authority
KR
South Korea
Prior art keywords
sla
group
cpu
satisfaction
virtual machine
Prior art date
Application number
KR1020170111836A
Other languages
Korean (ko)
Inventor
유혁
고현석
이우진
이경운
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020170111836A priority Critical patent/KR101924467B1/en
Application granted granted Critical
Publication of KR101924467B1 publication Critical patent/KR101924467B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

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

Abstract

The present invention relates to a virtual technology and, more specifically, to a resource management scheduler in a virtual system, in which a resource allocation system according to one embodiment can comprise a statistics collector for collecting performance information of a virtual machine including input/output operations per second (IOPS), I/O bandwidth and latency and CPU utilization, an SLA manager which calculates a service level agreement (SLA) satisfaction required by each virtual machine based on performance information of the collected virtual machines, and a differential distribution processing unit for controlling the differential distribution of the CPU resource and the block I/O resource to each of the virtual machines based on the calculated SLA satisfaction.

Description

가상 머신의 CPU 및 블록 I/O 작업에 성능 보장을 위한 자원 할당 시스템 및 방법{SYSTEM AND METHOD OF RESOURCE ALLOCATION SCHEME FOR CPU AND BLOCK I/O PERFORMANCE GUARANTEE OF VIRTUAL MACHINE}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a resource allocation system and method for guaranteeing performance in CPU and block I / O operations of a virtual machine,

본 발명은 가상화 기술에 관한 것으로서, 보다 상세하게는 가상화 시스템에서의 자원 관리 스케줄러에 대한 것이다.The present invention relates to virtualization technology, and more particularly, to a resource management scheduler in a virtualization system.

KVM(Kernel-based Virtual Machine)은 호스트 운영체제인 리눅스를 하이퍼바이저로 사용하는 가상화 플랫폼이다. 가상화 환경을 호스트 운영체제인 리눅스의 커널 모듈을 통해 구성하며, I/O 장치의 가상화를 위해 오픈 소스 기반의 머신 에뮬레이터인 QEMU를 사용한다. 가상 머신에게 반가상화(Para-virtualization) I/O 장치를 제공하여 가상화를 위한 에뮬레이션에 의한 오버헤드를 줄일 수 있다. 가상 머신을 단일 프로세스의 형태로 구성하며, 가상 머신에게 제공하는 가상 CPU(vCPU)나 가상 I/O 장치 등을 스레드의 형태로 구성한다. 따라서 가상 머신에게 제공하는 가상 장치들을 스케줄링하는 방식에 따라 가상 머신의 성능이 결정된다.Kernel-based virtual machine (KVM) is a virtualization platform that uses Linux, the host operating system, as a hypervisor. The virtualization environment is configured through the kernel module of Linux, the host operating system, and QEMU, an open source based machine emulator, is used for virtualizing I / O devices. By providing a virtual machine with a para-virtualization I / O device, you can reduce the overhead of emulation for virtualization. A virtual machine is configured in the form of a single process, and a virtual CPU (vCPU) or a virtual I / O device provided to the virtual machine is configured in the form of a thread. Therefore, the performance of the virtual machine is determined according to a method of scheduling the virtual devices to be provided to the virtual machine.

CFS(Complete Fair Scheduler)는 리눅스에서 기본적으로 사용되고 있는 CPU 스케줄러이다. 리눅스를 호스트 운영체제로 사용하는 가상화 플랫폼인 KVM에서는 가상 머신에게 제공하는 vCPU나 가상 I/O 장치를 스케줄링하기 위해 사용한다. CFS의 기본 정책은 모든 프로세스에게 공평한 자원을 할당하는 방식이다. 하지만, 컨트롤 그룹(Cgroup)을 활용하여 프로세스 별 가중치를 설정할 경우 자원 할당을 차등화할 수 있다. 또한, 프로세스가 일정 주기에 CPU를 점유할 수 있는 시간을 설정하여 절대적인 CPU 점유율을 결정할 수 있다. 이를 통해 하나의 프로세스가 CPU를 독점하는 것을 방지할 수 있다.The Complete Fair Scheduler (CFS) is a CPU scheduler that is used by default in Linux. KVM, a virtualization platform that uses Linux as the host operating system, is used to schedule vCPUs or virtual I / O devices to provide to virtual machines. The basic policy of CFS is to allocate fair resources to all processes. However, resource allocation can be differentiated when a process-specific weight is set using a control group (Cgroup). In addition, an absolute CPU occupancy rate can be determined by setting a time period during which a process can occupy the CPU in a predetermined cycle. This prevents a process from monopolizing the CPU.

가상화(virtualization) 기술은 물리 머신의 자원을 다수의 가상 머신이 공유할 수 있도록 하여 물리 머신의 자원 활용률을 높일 수 있는 환경을 제공하는 기술로, 사용자에게 플랫폼이나 서비스를 제공할 수 있는 클라우드의 기반 기술이다.Virtualization technology is a technology that provides an environment that can increase resource utilization of physical machines by allowing many virtual machines to share resources of physical machines. It is a technology that provides the platform Technology.

사용자에게 서비스를 제공하는 클라우드의 특성상 사용자의 요구 성능 보장은 클라우드의 중요한 요소이다. 따라서, 클라우드 제공자와 사용자는 SLA(Service Level Agreement)라는 형태로 서비스 품질 보장과 이의 위반 시 보상에 대한 계약을 맺는다.Because of the nature of the cloud that provides the service to the user, ensuring the performance required by the user is an important element of the cloud. Therefore, cloud providers and users enter into a service level agreement (SLA) and contracts for compensation in case of violation.

하지만, 가상화 기술의 특성인 자원 공유로 인해 가상 머신 간 자원 경쟁이 발생하고, 이로 인한 성능 간섭이 발생할 수 있다. 성능 간섭은 클라우드와 같은 환경에서 사용자의 요구 성능 보장을 어렵게 하는 주된 요인으로 이를 해결하기 위해서는 각 가상 머신의 요구 성능을 만족하기 위한 자원을 효율적으로 할당해야 한다. 하지만, 가상화 환경에서는 I/O 처리를 위해 하이퍼바이저에서 에뮬레이션 과정이 필요하고 에뮬레이션에는 CPU 자원이 필요하다. 따라서 I/O 작업을 보장하기 위해서는 I/O 자원뿐만 아니라 CPU 자원도 함께 고려되어야 한다. 따라서, 서로 다른 작업이 수행되는 가상화 환경에서 각 작업의 요구 성능을 보장하기 위해서는 다양한 자원에 대한 복합적인 고려가 필요하다.However, resource sharing, which is a characteristic of virtualization technology, may cause resource competition between virtual machines, which may result in performance interference. Performance interference is a major factor that makes it difficult to guarantee the performance required by users in an environment like a cloud. In order to solve this problem, it is necessary to efficiently allocate resources to satisfy the required performance of each virtual machine. However, in a virtualized environment, the hypervisor requires an emulation process for I / O processing and emulation requires CPU resources. Therefore, I / O resources as well as CPU resources must be considered to ensure I / O operations. Therefore, in a virtualization environment in which different tasks are performed, it is necessary to consider various resources in order to guarantee the required performance of each task.

한국등록특허 제1070431호 "가상화 기반 물리 시스템 및 그 자원 관리 방법"Korean Patent No. 1070431 "Virtualization-based physical system and its resource management method" 한국등록특허 제1277273호 "자원 관리 시스템을 이용한 단말 장치간 자원 할당 방법 및 이를 위한 자원 관리 서버"Korean Patent No. 1277273 "Resource allocation method between terminal devices using resource management system and resource management server therefor"

본 발명은 KVM 기반 가상화 환경에서 CPU 및 블록 I/O 자원을 복합적으로 고려하여, CPU 작업을 수행하는 가상 머신과 블록 I/O 작업을 수행하는 가상 머신의 각 성능 요구 사항을 보장하는 것을 목적으로 한다.The present invention aims at ensuring each performance requirement of a virtual machine performing a CPU operation and a virtual machine performing a block I / O operation by considering a CPU and a block I / O resource in a KVM-based virtualization environment do.

본 발명은 하이퍼바이저에 가상 머신의 블록 I/O나 CPU에 대한 요구 성능을 설정하고, CPU 및 블록 I/O 자원을 동일한 기준을 가지고 분배하여 가상 머신의 요구 성능을 달성하는 것을 목적으로 한다.An object of the present invention is to set a required performance of a block I / O or a CPU of a virtual machine in a hypervisor and to distribute the CPU and block I / O resources with the same standard to achieve required performance of a virtual machine.

본 발명은 피드백 제어를 통해 가상 머신에게 CPU 및 블록 I/O 자원을 차등 분배하기 때문에 다양한 요구 사항과 상황에 대해 가상 머신의 요구 성능을 만족시키는 것을 목적으로 한다.The present invention aims at satisfying required performance of a virtual machine for various requirements and situations because it distributes a CPU and a block I / O resource differentially to a virtual machine through feedback control.

본 발명의 일 실시 예에 따른 자원 할당 시스템은 IOPS, I/O 대역폭, 지연 시간 및 CPU 사용률을 포함하는 가상 머신의 성능 정보를 수집하는 통계 수집기, 상기 수집된 가상 머신의 성능 정보에 기초하여, 각 가상 머신이 요구하는 SLA(Service Level Agreement) 만족도를 산출하는 SLA 매니저, 및 상기 산출된 SLA 만족도를 기준으로 상기 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어하는 차등 분배 처리부를 포함할 수 있다.A resource allocation system according to an embodiment of the present invention includes a statistics collector for collecting performance information of a virtual machine including IOPS, I / O bandwidth, delay time, and CPU utilization rate, An SLA manager for calculating a SLA (Service Level Agreement) satisfaction required by each virtual machine, and a differential distribution processor for controlling to distribute the CPU resources and the block I / O resources to the respective virtual machines based on the calculated SLA satisfaction . ≪ / RTI >

본 발명의 일 실시 예에 따른 자원 할당 방법은 통계 수집기에서, IOPS, I/O 대역폭, 지연 시간 및 CPU 사용률을 포함하는 가상 머신의 성능 정보를 수집하는 단계, SLA 매니저에서, 상기 수집된 가상 머신의 성능 정보에 기초하여, 각 가상 머신이 요구하는 SLA(Service Level Agreement) 만족도를 산출하는 단계 및 차등 분배 처리부에서, 상기 산출된 SLA 만족도를 기준으로 상기 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어하는 단계를 포함할 수 있다.The resource allocation method according to an exemplary embodiment of the present invention includes collecting performance information of a virtual machine including IOPS, I / O bandwidth, delay time, and CPU utilization rate in a statistic collector. In the SLA manager, Calculating SLA (Service Level Agreement) satisfaction required by each virtual machine based on the performance information of the virtual machine, and calculating a CPU resource and a block I / O to each of the virtual machines based on the calculated SLA satisfaction, And controlling to distribute the resources differentially.

본 발명에 따르면, KVM 기반 가상화 환경에서 CPU 및 블록 I/O 자원을 복합적으로 고려하여, CPU 작업을 수행하는 가상 머신과 블록 I/O 작업을 수행하는 가상 머신의 각 성능 요구 사항을 보장할 수 있다.According to the present invention, in consideration of a combination of CPU and block I / O resources in a KVM-based virtualization environment, each performance requirement of a virtual machine performing a CPU operation and a virtual machine performing a block I / O operation can be guaranteed have.

또한, 하이퍼바이저에 가상 머신의 블록 I/O나 CPU에 대한 요구 성능을 설정하고, CPU 및 블록 I/O 자원을 동일한 기준을 가지고 분배하여 가상 머신의 요구 성능을 달성할 수 있다.In addition, the performance requirements of the virtual machine can be achieved by setting the block I / O of the virtual machine and the performance requirements of the CPU to the hypervisor, and distributing the CPU and the block I / O resources with the same reference.

또한, 피드백 제어를 통해 가상 머신에게 CPU 및 블록 I/O 자원을 차등 분배하기 때문에 다양한 요구 사항과 상황에 대해 가상 머신의 요구 성능을 만족시킬 수 있다.In addition, since the CPU and block I / O resources are differentially distributed to the virtual machine through the feedback control, the required performance of the virtual machine can be satisfied for various requirements and situations.

도 1은 본 발명의 일 실시 예에 따른 자원 할당 시스템의 기능 블록도이다.
도 2는 도 1에 도시된 자원 할당 시스템을 보다 구체적으로 설명하는 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 자원 할당 방법을 설명하기 위한 흐름도이다.
도 4는 시간별로 CPU SLA 및 I/O SLA에 대한 SLA 만족도를 나타내는 도면이다.
도 5는 GoS 프레임워크 사용시 SLA 만족도를 나타내는 도면이다.
1 is a functional block diagram of a resource allocation system according to an embodiment of the present invention.
2 is a block diagram illustrating the resource allocation system shown in FIG. 1 in more detail.
3 is a flowchart illustrating a resource allocation method according to an embodiment of the present invention.
4 is a diagram showing SLA satisfaction with respect to CPU SLA and I / O SLA by time.
FIG. 5 is a diagram showing SLA satisfaction when the GoS framework is used. FIG.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are only for the purpose of illustrating embodiments of the inventive concept, But may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시 예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

이하, 실시 예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명의 권리 범위가 이러한 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of rights of the present invention is not limited or limited by these embodiments. In addition, the same reference numerals shown in the drawings denote the same members.

도 1은 본 발명의 일 실시 예에 따른 자원 할당 시스템의 기능 블록도이다.1 is a functional block diagram of a resource allocation system according to an embodiment of the present invention.

가상화 기술은 물리 머신 위에 존재하는 각 가상 머신에게 독립된 공간을 보장한다. 이때, 하이퍼바이저는 가상 머신에게 가상의 CPU인 vCPU를 가상 머신에게 제공하고, 가상 머신은 vCPU 프로세스 안에서 가상 머신의 프로세스를 수행한다.Virtualization guarantees independent space for each virtual machine on the physical machine. At this time, the hypervisor provides the virtual machine with a vCPU, which is a virtual CPU, to the virtual machine, and the virtual machine executes the process of the virtual machine within the vCPU process.

또한, 가상 머신에서 발생한 I/O 요청은 하이퍼바이저에서 I/O 에뮬레이션을 통해 실제 장치에 전달된다. I/O 에뮬레이션은 가상 머신에게 제공한 가상 I/O 장치의 동작을 실제 장치가 아닌 소프트웨어로 구현한 형태이다. 따라서 I/O 에뮬레이션은 소프트웨어이며 이를 동작시키기 위해서는 CPU 자원을 필요로 한다. 따라서 I/O 작업의 성능을 보장을 위해서는 CPU 자원 할당에 대한 부분도 고려할 필요성이 있다.In addition, I / O requests originating from the virtual machine are delivered to the real device through I / O emulation in the hypervisor. I / O emulation is the implementation of the virtual I / O devices provided to the virtual machine by software rather than the actual device. Thus, I / O emulation is software and requires CPU resources to operate. Therefore, there is a need to consider the CPU resource allocation in order to guarantee the performance of the I / O operation.

자원 할당 장치, 자원 할당 서버 등으로 명명될 수도 있는 자원 할당 시스템(100)은 KVM 기반 가상화 환경에서 CPU 및 블록 I/O 자원을 복합적으로 고려하여, CPU 작업을 수행하는 가상 머신과 블록 I/O 작업을 수행하는 가상 머신의 각 성능 요구 사항을 보장할 수 있다.The resource allocation system 100, which may be referred to as a resource allocation device, a resource allocation server, and the like, takes a complex consideration of CPU and block I / O resources in a KVM-based virtualization environment, You can ensure each performance requirement of the virtual machine performing the work.

이를 위해, 자원 할당 시스템(100)은 통계 수집기(110), SLA 매니저(120), 및 차등 분배 처리부(130)를 포함할 수 있다.To this end, the resource allocation system 100 may include a statistics collector 110, an SLA manager 120, and a differential distribution processing unit 130.

통계 수집기(110)는 IOPS(input/output operations per second), I/O 대역폭 및 지연 시간과 CPU 사용률을 포함하는 가상 머신의 성능 정보를 수집할 수 있다.The statistics collector 110 may collect performance information of the virtual machine including input / output operations per second (IOPS), I / O bandwidth, and latency and CPU utilization.

다음으로, SLA 매니저(120)는 수집된 가상 머신의 성능 정보에 기초하여, 각 가상 머신이 요구하는 SLA(Service Level Agreement) 만족도를 산출할 수 있다. 예컨대, SLA 매니저(120)는 SLA 값, SLA 만족도, 가상 머신이 사용하는 자원 사용률, 가상 머신의 성능 정보를 관리할 수 있다. 또한, SLA 매니저(120)는 SLA 값 설정 및 SLA 만족도를 확인할 수 있는 API를 제공할 수도 있다.Next, the SLA manager 120 can calculate the SLA (Service Level Agreement) satisfaction required by each virtual machine based on the collected performance information of the virtual machine. For example, the SLA manager 120 can manage the SLA value, the SLA satisfaction, the resource usage rate used by the virtual machine, and the performance information of the virtual machine. In addition, the SLA manager 120 may provide an API for setting the SLA value and confirming the SLA satisfaction.

차등 분배 처리부(130)는 산출된 SLA 만족도를 기준으로 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어할 수 있다. 일 실시 예에 따른 차등 분배 처리부(130)는 산출된 SLA 만족도를 CPU 스케줄러 또는 I/O 스케줄러로 전달하여, 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어할 수 있다.The differential distribution processor 130 may control to distribute the CPU resource and the block I / O resource to each virtual machine on the basis of the calculated SLA satisfaction. The differential distribution processor 130 according to an embodiment may deliver the calculated SLA satisfaction to the CPU scheduler or the I / O scheduler so as to control the distribution of the CPU resources and the block I / O resources to each virtual machine.

보다 구체적으로, CPU 스케줄러는 리눅스의 CFS(Complete Fair Scheduler)가 제공하는 기능을 활용하여 자원 차등 분배를 수행할 수 있다.More specifically, the CPU scheduler can perform the resource differential distribution by utilizing the functions provided by the Linux Complete Fair Scheduler (CFS).

또한, 일 실시 예에 따른 CPU 스케줄러는, 자원 차등 분배 기능을 수행하되, 물리 머신에서 동작하는 가상 머신들을 복수의 그룹으로 나누고, 상기 나눈 그룹들을 SLA 만족도에서 오차 값을 기준으로 SLA 불만족 그룹, SLA 과포화 그룹, SLA 만족 그룹으로 분류하며, 상기 분류된 각 그룹별 Quota의 값을 계산하고, 상기 계산된 각 그룹별 Quota의 값을 고려하여 자원 차등 분배를 수행할 수 있다. Quota 값은 각 그룹이 사용할 수 있는 CPU 시간을 나타내며, Quota 값 조절을 통해 CPU 자원 차등 분배를 수행한다.In addition, the CPU scheduler according to an embodiment performs a resource differential distribution function, and divides virtual machines operating in the physical machine into a plurality of groups. The SLA unsatisfied group, the SLA A supersaturated group, and an SLA satisfying group, and calculates a quota value of each classified group, and performs resource differentiation distribution considering the calculated quota value of each group. The quota value represents the CPU time available to each group, and performs a CPU resource differential distribution by adjusting the quota value.

일 실시 예에 따른 CPU 스케줄러는, SLA 불만족 그룹에 있는 가상 머신들의 SLA 만족도가 100%에 도달하기 위해 필요한 Quota 값을 피드백 제어를 통해 계산할 수 있다.The CPU scheduler according to an embodiment can calculate a quota value required for reaching 100% of SLA satisfaction of virtual machines in an SLA unsatisfied group through feedback control.

또한, CPU 스케줄러는 [수학식 1]을 활용하여, Quota의 피드백 제어를 수행할 수 있다.Also, the CPU scheduler can perform feedback control of the quota using Equation (1).

[수학식 1][Equation 1]

Figure 112017085120761-pat00001
Figure 112017085120761-pat00001

또한, 일 실시 예에 따른 CPU 스케줄러는, SLA 과포화 그룹에 속한 가상 머신들이 SLA 불만족 그룹의 가상 머신에게 양도할 수 있는 Quota 값을 계산할 수도 있고, SLA 과포화 그룹의 각 가상 머신이 현재의 SLA 만족도에서 100%에 도달하기 위해 줄여야 하는 Quota의 값을 비례식으로 계산할 수 있다.In addition, the CPU scheduler according to an exemplary embodiment may calculate a quota value that can be transferred to virtual machines of the SLA unsatisfied group by virtual machines belonging to the SLA supersaturated group, and may determine that each virtual machine in the SLA superset group You can calculate the value of the quota to decrease proportionally to reach 100%.

한편, 일 실시 예에 따른 CPU 스케줄러는, SLA 불만족 그룹과 상기 과포화 그룹의 각 가상 머신에 대해 계산한 값을 그룹 별로 합하여 두 값을 비교하고, 비교 결과 중 작은 값을 불만족 그룹과 과포화 그룹 간의 Quota 교환을 위한 값으로 선택할 수도 있다.Meanwhile, the CPU scheduler according to the embodiment compares values calculated for the SLA unsatisfied group and each of the virtual machines of the supersaturated group by groups, compares the two values, and assigns a smaller value among the comparison results to the quota It is also possible to select the value for exchange.

일 실시 예에 따른 CPU 스케줄러는, SLA 불만족 그룹에서의 Quota의 값을 그룹에 속한 가상 머신들의 SLA 만족도 비율에 따라 분배하고, 과포화 그룹에서는 SLA 만족도 비율에 따라 줄일 수 있다.The CPU scheduler according to an exemplary embodiment may divide the value of Quota in the SLA unsatisfied group according to the SLA satisfaction rate of the virtual machines belonging to the group and decrease according to the SLA satisfaction ratio in the supersaturation group.

한편, I/O 스케줄러는, Opportunistic I/O Scheduler(OIOS) 기법을 SLA 만족도에 따라 피드백 제어하도록 수정할 수 있다. 또한, I/O 스케줄러는 가상 머신이 블록 I/O 장치에게 I/O 요청을 전달할 수 있는 시간을 나타내는 DAT(Differentially Allowed Time) 값을 피드백 제어하여 가상 머신의 요구 성능을 만족하도록 스케줄링할 수 있다.On the other hand, the I / O scheduler can modify the Opportunistic I / O Scheduler (OIOS) technique to feedback control according to SLA satisfaction. In addition, the I / O scheduler may schedule a DAT (Differentially Allowed Time) value indicating a time when a virtual machine can transmit an I / O request to a block I / O device so as to satisfy the required performance of the virtual machine .

도 2는 도 1에 도시된 자원 할당 시스템을 보다 구체적으로 설명하는 블록도이다.2 is a block diagram illustrating the resource allocation system shown in FIG. 1 in more detail.

자원 할당 시스템(200)은 제안한 가상 머신에서 실행 중인 CPU 또는 블록 I/O 작업의 요구 성능을 보장하기 위한 CPU 및 블록 I/O 자원의 통합 자원 할당 기법의 구조를 포함한다.The resource allocation system 200 includes a structure of an integrated resource allocation scheme of a CPU and a block I / O resource to guarantee the required performance of a CPU or a block I / O task running in the proposed virtual machine.

SLA 매니저(SLA manager, 220)는 사용자의 성능 요구 사항인 SLA 값과 SLA 만족도, 가상 머신이 사용하는 자원 사용률과 가상 머신의 성능 정보를 관리한다. 또한, 시스템 관리자에게 SLA 값 설정 및 SLA 만족도를 확인할 수 있는 API를 제공하며 관리자가 프레임 워크를 제어할 수 있도록 한다.The SLA manager (220) manages the performance requirements of the user, SLA value and SLA satisfaction, resource utilization rate used by the virtual machine, and performance information of the virtual machine. It also provides system administrators with APIs for setting SLA values and checking SLA satisfaction, and allowing the administrator to control the framework.

일 예로, SLA 값은 CPU 및 블록 I/O와 관련된 값을 설정할 수 있으며, CPU SLA는 가상 머신의 vCPU 수와 별개로 가상 머신이 항상 점유하기를 원하는 CPU의 수를 설정할 수 있다.For example, the SLA value can be set to a value related to the CPU and block I / O, and the CPU SLA can set the number of CPUs that the virtual machine always wants to occupy independently of the number of virtual machines' vCPUs.

I/O SLA는 가상 머신이 요구하는 블록 I/O 대역폭을 값으로 설정한다. 그리고 가상 머신의 성능 정보 및 자원 사용률을 기반으로 SLA 만족도를 계산하고 그 값을 각 자원 스케줄러로 전달하여 SLA 만족도를 기준으로 CPU 및 블록 I/O 자원을 가상 머신에게 분배하도록 한다.The I / O SLA sets the block I / O bandwidth required by the virtual machine to a value. Then, the SLA satisfaction is calculated based on the performance information and the resource utilization rate of the virtual machine, and the value is transferred to each resource scheduler so that the CPU and the block I / O resources are distributed to the virtual machines based on the SLA satisfaction.

또한, SLA 만족도를 계산하기 위해 필요한 정보는 통계 수집기(Statistic collector, 210)가 수집할 수 있다. 통계 수집기(210)는 가상 머신의 블록 I/O 성능 정보인 IOPS, I/O 대역폭 및 지연 시간과 CPU 사용률을 수집할 수 있다.In addition, the information necessary for calculating the SLA satisfaction can be collected by the statistic collector 210. The statistics collector 210 may collect IOPS, I / O bandwidth, latency, and CPU usage information of the virtual machine's block I / O performance information.

CPU 스케줄러(230) 및 I/O 스케줄러(240)는 CPU와 블록 I/O 자원 분배 스케줄러를 나타낸다. 각 자원 스케줄러는 SLA 매니저(220)에게 전달받은 SLA 만족도를 기준으로 해당 만족도가 100%에 도달하거나 그 이상이 될 수 있도록 가상 머신에게 자원을 차등 분배한다.The CPU scheduler 230 and the I / O scheduler 240 represent a CPU and a block I / O resource allocation scheduler. Each resource scheduler distributes the resources to the virtual machine in such a way that the satisfaction degree reaches or exceeds 100% based on the SLA satisfaction received from the SLA manager 220.

CPU 스케줄러(230)로는 리눅스의 기본 스케줄러인 CFS를 기반으로 CFS가 제공하는 기능을 활용하여 자원 차등 분배를 가능하게 하는 컴포넌트가 존재한다. 해당 컴포넌트는 CFS가 제공하는 Quota 기능을 사용할 수 있다.As the CPU scheduler 230, there is a component that enables resource differential distribution by utilizing the functions provided by CFS based on CFS, which is a basic scheduler of Linux. The component can use the quota function provided by CFS.

Quota는 일정한 주기(period)에 물리 CPU를 점유할 수 있는 시간을 나타내는 값으로, CPU에 대한 실제 사용 시간 값을 설정할 수 있도록 하는 기능이다.Quota is a value indicating the time to occupy the physical CPU in a certain period, and is a function that allows setting of the actual usage time value for the CPU.

본 발명은 해당 컴포넌트를 CPU 자원 차등 분배 컴포넌트라고 정의하고 해당 컴포넌트는 피드백 제어 기능을 통해 Quota 값을 조절한다. 즉, SLA 매니저(220)로부터 전달받은 SLA 만족도가 100%를 넘기 위해 필요한 Quota의 양을 피드백 제어한다.The present invention defines a corresponding component as a CPU resource differential distribution component, and the component adjusts a quota value through a feedback control function. That is, feedback control is performed on the amount of the quota required for the satisfaction of the SLA received from the SLA manager 220 to exceed 100%.

I/O 스케줄러(240)는 기존에 있던 OIOS(Opportunistic I/O Scheduler) 기법을 SLA 만족도에 따라 피드백 제어하도록 수정하였다. OIOS는 가상 머신이 블록 I/O 장치에게 I/O 요청을 전달할 수 있는 시간을 나타내는 DAT(Differentially Allowed Time) 값을 피드백 제어하여 가상 머신의 요구 성능을 만족하는 기법이다.The I / O scheduler 240 modifies the existing opportunistic I / O scheduler (OIOS) technique to feedback control according to SLA satisfaction. OIOS is a technique that satisfies the required performance of a virtual machine by feedback control of a DAT (Differentially Allowed Time) value indicating a time for a virtual machine to transmit an I / O request to a block I / O device.

CPU 자원 차등 분배 컴포넌트의 세부적인 동작은 물리 머신에서 동작하는 가상 머신들을 세 그룹으로 나눌 수 있다.The detailed operation of the CPU resource differential distribution component can divide the virtual machines operating in the physical machine into three groups.

구체적으로, SLA 만족도 100%에서 1%의 오차 값을 기준으로 SLA 만족도가 99% 미만인 그룹은 SLA 불만족 그룹, 101% 초과인 그룹은 SLA 과포화 그룹, 99~101%인 그룹은 SLA 만족 그룹으로 분류할 수 있다. 그리고 SLA 불만족 그룹에 있는 가상 머신들의 SLA 만족도가 100%에 도달하기 위해 필요한 Quota 값을 피드백 제어를 통해 계산한다.Specifically, the group with less than 99% SLA satisfaction is classified as an SLA unsatisfactory group, the group with more than 101% SLA supersaturation group, and the group with 99 ~ 101% SLA satisfaction group can do. And, the feedback control is used to calculate the quota value required for the SLA satisfaction of the virtual machines in the SLA unsatisfied group to reach 100%.

피드백 제어 방식은 이전 피드백 주기에 측정되었던 Quota 증가량과 SLA 만족도 증가량의 비율을 기반으로 현재 상태에서 SLA 만족도 100%에 도달하기 위해 필요한 Quota 값을 계산한다.The feedback control method calculates a quota value required to reach 100% SLA satisfaction in the current state based on the ratio of increase in quota and increase in SLA satisfaction measured in the previous feedback period.

또한, SLA 과포화 그룹에 속한 가상 머신들이 SLA 불만족 그룹의 가상 머신에게 양도할 수 있는 Quota 값을 계산할 수 있다. 즉, SLA 과포화 그룹의 각 가상 머신은 현재의 SLA 만족도에서 100%에 도달하기 위해 줄여야 하는 Quota의 값을 비례식으로 계산한다.In addition, the virtual machines in the SLA supersaturation group can calculate quota values that can be transferred to the virtual machines in the SLA dissatisfied group. That is, each virtual machine in the SLA supersaturated group computes the quota of the quota to be reduced to reach 100% of the current SLA satisfaction.

이렇게 SLA 불만족 그룹과 과포화 그룹의 각 가상 머신에 대해 계산한 값을 그룹 별로 합하여 두 값을 비교한다. 그 중 작은 값을 불만족 그룹과 과포화 그룹 간의 Quota 교환을 위한 값으로 선택한다. 그리고 불만족 그룹에서는 해당 값을 그룹에 속한 가상 머신들의 SLA 만족도 비율에 따라 분배하고, 과포화 그룹에서는 SLA 만족도 비율에 따라 줄일 수 있다. 이렇게 하여 SLA 불만족 그룹의 가상 머신이 SLA 만족 그룹에 들어갈 수 있도록 하며, SLA 과포화 그룹의 가상 머신이 SLA 불만족 그룹으로 이동하지 않도록 한다.The values calculated for each virtual machine in the SLA-unsatisfied group and the supersaturated group are grouped by group and compared. The smaller value is selected as the value for the quota exchange between the unsatisfied group and the supersaturated group. In the unsatisfied group, the value is distributed according to the SLA satisfaction ratio of the virtual machines belonging to the group, and in the supersaturation group, it can be reduced according to the SLA satisfaction ratio. This allows the virtual machine of the SLA dissatisfied group to enter the SLA satisfaction group and prevents the virtual machine of the SLA superset group from moving to the SLA dissatisfied group.

위와 같은 방식을 통해 본 발명은 블록 I/O 작업이 CPU 및 블록 I/O 자원에 대한 의존성이 존재함을 고려하여, SLA 만족도를 기준으로 CPU 자원과 블록 I/O 자원을 가상 머신에게 차등 분배하는 방식으로 각 가상 머신이 요구하는 CPU나 블록 I/O 성능을 만족하도록 한다.In the above-described manner, the present invention considers that a block I / O task has a dependence on a CPU and a block I / O resource, and allocates CPU resources and block I / O resources to a virtual machine based on SLA satisfaction To satisfy the CPU or block I / O performance required by each virtual machine.

도 3은 본 발명의 일 실시 예에 따른 자원 할당 방법을 설명하기 위한 흐름도이다. 상기 자원 할당 방법은 도 1 또는 도 2에 도시된 자원 할당 시스템에서 수행될 수 있다.3 is a flowchart illustrating a resource allocation method according to an embodiment of the present invention. The resource allocation method may be performed in the resource allocation system shown in FIG. 1 or FIG.

일 실시 예에 따른 자원 할당 방법은 가상 머신의 성능 정보를 수집할 수 있다(단계 301).A resource allocation method according to an exemplary embodiment may collect performance information of a virtual machine (step 301).

일 예로, 자원 할당 방법은 IOPS, I/O 대역폭 및 지연 시간과 CPU 사용률을 포함하는 가상 머신의 성능 정보를 수집할 수 있다.For example, the resource allocation method may collect performance information of a virtual machine including IOPS, I / O bandwidth, and latency and CPU utilization.

다음으로, 자원 할당 방법은 각 가상 머신이 요구하는 SLA(Service Level Agreement) 만족도를 산출할 수 있다(단계 302). 예컨대, 수집된 가상 머신의 성능 정보에 기초하여, 각 가상 머신이 요구하는 SLA 만족도를 산출할 수 있다.Next, the resource allocation method can calculate SLA (Service Level Agreement) satisfaction required by each virtual machine (step 302). For example, based on the collected performance information of the virtual machine, the SLA satisfaction required by each virtual machine can be calculated.

또한, 자원 할당 방법은 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어할 수 있다(단계 303). 예컨대, 자원 할당 방법은 산출된 SLA 만족도를 기준으로 상기 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어할 수 있다.In addition, the resource allocation method can control to distribute the CPU resource and the block I / O resources to each virtual machine in a differential manner (step 303). For example, the resource allocation method can control to distribute the CPU resource and the block I / O resource to each of the virtual machines based on the calculated SLA satisfaction.

일 실시 예에 따른 자원 할당 방법은 차등 분배하도록 제어하기 위해, 산출된 SLA 만족도를 CPU 스케줄러 또는 I/O 스케줄러로 전달하여, 상기 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어할 수 있다.In order to control the resource allocation method according to an exemplary embodiment to distribute the calculated SLA satisfaction to the CPU scheduler or the I / O scheduler to control the differential allocation, control is performed so that the CPU resource and the block I / O resources are differentially distributed to the respective virtual machines can do.

또한, 자원 할당 방법은 차등 분배하도록 제어하기 위해, CPU 스케줄러에서 리눅스의 CFS(Complete Fair Scheduler)가 제공하는 기능을 활용하여 자원 차등 분배를 기능을 수행하도록 제어할 수 있다.Also, in order to control the resource allocation method to control the distribution to be different, the CPU scheduler can control the function of the resource differential distribution by utilizing the function provided by the Linux Complete Fair Scheduler (CFS).

자원 할당 방법은 차등 분배하도록 제어하기 위해, 물리 머신에서 동작하는 가상 머신들을 복수의 그룹으로 나누고, 나눈 그룹들을 SLA 만족도에서 오차 값을 기준으로 SLA 불만족 그룹, SLA 과포화 그룹, SLA 만족 그룹으로 분류할 수 있다. 뿐만 아니라, 분류된 각 그룹별 Quota의 값을 계산하고, 상기 계산된 각 그룹별 Quota의 값을 고려하여 상기 자원 차등 분배를 수행할 수 있다.In order to control the allocation of resources to be differentiated, the virtual machines operating in the physical machine are divided into a plurality of groups, and the divided groups are classified into SLA unsatisfied group, SLA supersaturation group, and SLA satisfaction group based on the error value in SLA satisfaction . In addition, the value of quota for each classified group may be calculated, and the resource differentiation may be performed in consideration of the calculated quota value of each group.

상기 자원 차등 분배를 수행하는 단계는, SLA 불만족 그룹에 있는 가상 머신들의 SLA 만족도가 100%에 도달하기 위해 필요한 Quota 값을 피드백 제어를 통해 계산할 수 있다. 또한, SLA 과포화 그룹에 속한 가상 머신들이 SLA 불만족 그룹의 가상 머신에게 양도할 수 있는 Quota 값을 계산하되, 상기 SLA 과포화 그룹의 각 가상 머신이 현재의 SLA 만족도에서 100%에 도달하기 위해 줄여야 하는 Quota의 값을 비례식으로 계산할 수 있다. 또한, SLA 불만족 그룹과 상기 과포화 그룹의 각 가상 머신에 대해 계산한 값을 그룹 별로 합하여 두 값을 비교하고, 상기 비교 결과 중 작은 값을 불만족 그룹과 과포화 그룹 간의 Quota 교환을 위한 값으로 선택하고, Quota의 값을 그룹에 속한 가상 머신들의 SLA 만족도 비율에 따라 분배할 수도 있다.In the step of performing the resource differential distribution, a quota value required for the SLAs satisfying the SLAs of the virtual machines in the SLA unsatisfied group to reach 100% may be calculated through the feedback control. In addition, a quota value that the virtual machines belonging to the SLA supersaturation group can transfer to the virtual machine of the SLA dissatisfied group is calculated, and a quota which each virtual machine of the SLA supersaturation group needs to reduce to reach 100% Can be calculated proportionally. Also, a value calculated for the SLA unsatisfied group and each of the virtual machines of the supersaturated group is added to each other by a group, and the two values are compared. A smaller value among the comparison results is selected as a value for quota exchange between the unsatisfied group and the supersaturated group, The value of the quota may be distributed according to the SLA satisfaction rate of the virtual machines belonging to the group.

도 4는 시간별로 CPU SLA 및 I/O SLA에 대한 SLA 만족도를 나타내는 도면이다.4 is a diagram showing SLA satisfaction with respect to CPU SLA and I / O SLA by time.

도 4의 그래프(400)를 살펴보면, CPU SLA에 의한 가상머신1(VM1)은 시간이 지날수록 SLA 만족도가 100% 이상에서 100%로 수렴하고, I/O SLA에 의한 가상머신2(VM2)는 시간이 지날수록 SLA 만족도가 100% 이하에서 100%로 수렴하는 형태를 보인다. 본 발명에 따른 자원 할당 시스템은 도 4의 그래프(400)에서 보여지는 패턴에 유사해 지도록 산출된 SLA 만족도를 기준으로 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어할 수 있다.Referring to the graph 400 of FIG. 4, the SLA satisfaction converges from 100% to 100% over time, and the virtual machine 2 (VM2) by the I / O SLA converges to 100% The SLA satisfaction converges from 100% to 100% over time. The resource allocation system according to the present invention can control to distribute CPU resources and block I / O resources to each virtual machine based on the SLA satisfaction calculated so as to be similar to the pattern shown in the graph 400 of FIG. 4 .

도 5는 GoS 프레임워크 사용시 SLA 만족도를 나타내는 도면이다.FIG. 5 is a diagram showing SLA satisfaction when the GoS framework is used. FIG.

먼저, 가상머신1(VM1)은 CPU의 Random write 4K의 Job Type을 갖고, 100MB/s의 SLA Goal을 갖는다. 가상머신2(VM2)는 Random read 4K의 Job Type을 갖고, 200MB/s의 SLA Goal을 갖는다. 가상머신3(VM3)은 CPU의 Job Type을 갖고, Guarantee 2 cores의 SLA Goal을 갖는다.First, the virtual machine 1 (VM1) has a random write 4K Job Type of the CPU and has an SLA Goal of 100 MB / s. Virtual Machine 2 (VM2) has a Random Read 4K Job Type and has an SLA Goal of 200MB / s. The virtual machine 3 (VM3) has the Job Type of the CPU and has SLA Goal of Guarantee 2 cores.

이때, 도 5의 그래프(510)를 살펴보면, GoS 프레임워크를 사용하지 않을 때의 패턴으로서, 가상머신3(VM3)의 SLA 만족도가 400%를 상회하는데 반해, 가상머신1(VM1) 및 가상머신2(VM2)의 SLA 만족도는 100% 내외로 유지될 수 있다.5, the SLA satisfaction of the virtual machine 3 (VM3) exceeds 400% as a pattern when the GoS framework is not used, whereas the virtual machine 1 (VM1) and the virtual machine 2 (VM2) SLA satisfaction can be maintained at around 100%.

반면, 도 5의 그래프(520)를 살펴보면, GoS 프레임워크를 사용할 때의 패턴으로서, 가상머신3(VM3)의 SLA 만족도, 가상머신1(VM1)의 SLA 만족도, 및 가상머신2(VM2)의 SLA 만족도가 모두 100% 내외로 수렴하여 유지될 수 있다.5, the SLA satisfaction of the virtual machine 3 (VM3), the SLA satisfaction of the virtual machine 1 (VM1), and the SLA satisfaction of the virtual machine 3 (VM2) SLA satisfaction can be maintained to converge to around 100%.

결국, 본 발명을 이용하면 KVM 기반 가상화 환경에서 CPU 및 블록 I/O 자원을 복합적으로 고려하여, CPU 작업을 수행하는 가상 머신과 블록 I/O 작업을 수행하는 가상 머신의 각 성능 요구 사항을 보장할 수 있다.As a result, by using the present invention, in consideration of CPU and block I / O resources in a KVM-based virtualization environment, each performance requirement of a virtual machine performing a CPU operation and a virtual machine performing a block I / O operation is guaranteed can do.

또한, 하이퍼바이저에 가상 머신의 블록 I/O나 CPU에 대한 요구 성능을 설정하고, CPU 및 블록 I/O 자원을 동일한 기준을 가지고 분배하여 가상 머신의 요구 성능을 달성할 수 있다.In addition, the performance requirements of the virtual machine can be achieved by setting the block I / O of the virtual machine and the performance requirements of the CPU to the hypervisor, and distributing the CPU and the block I / O resources with the same reference.

뿐만 아니라, 본 발명을 이용하면 피드백 제어를 통해 가상 머신에게 CPU 및 블록 I/O 자원을 차등 분배하기 때문에 다양한 요구 사항과 상황에 대해 가상 머신의 요구 성능을 만족시킬 수 있다.In addition, by using the present invention, since the CPU and the block I / O resources are differentially distributed to the virtual machine through the feedback control, the required performance of the virtual machine can be satisfied for various requirements and situations.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치 및 구성요소는, 예컨대 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) unit, a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시 예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments and equivalents to the claims are within the scope of the following claims.

100, 200 : 자원 할당 시스템
110, 210 : 통계 수집기
120, 220 : SLA 매니저
130 : 차등 분배 처리부
230 : CPU 스케줄러
240 : I/O 스케줄러
100, 200: resource allocation system
110, 210: Statistics Collector
120, 220: SLA manager
130: Differential distribution processor
230: CPU scheduler
240: I / O scheduler

Claims (18)

IOPS(input/output operations per second), I/O 대역폭, 지연 시간 및 CPU 사용률을 포함하는 가상 머신의 성능 정보를 수집하는 통계 수집기;
상기 수집된 가상 머신의 성능 정보에 기초하여, 각 가상 머신이 요구하는 SLA(Service Level Agreement) 만족도를 산출하는 SLA 매니저; 및
상기 산출된 SLA 만족도를 기준으로 상기 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어하는 차등 분배 처리부를 포함하고,
상기 차등 분배 처리부는 상기 산출된 SLA 만족도를 CPU 스케줄러 또는 I/O 스케줄러로 전달하여, 상기 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어하고,
상기 CPU 스케줄러는 자원 차등 분배 기능을 수행하되,
물리 머신에서 동작하는 가상 머신들을 복수의 그룹으로 나누고, 상기 나눈 그룹들을 SLA 만족도에서 오차 값을 기준으로 SLA 불만족 그룹, SLA 과포화 그룹 및 SLA 만족 그룹으로 분류하며, 상기 분류된 각 그룹별 Quota의 값을 계산하고, 상기 계산된 각 그룹별 Quota의 값을 고려하여 자원 차등 분배를 수행하는,
자원 할당 시스템.
A statistics collector for collecting performance information of the virtual machine including input / output operations per second (IOPS), I / O bandwidth, latency and CPU utilization;
An SLA manager for calculating SLA (Service Level Agreement) satisfaction required by each virtual machine based on performance information of the collected virtual machines; And
And a differential distribution processor for controlling to distribute the CPU resources and the block I / O resources to the respective virtual machines based on the calculated SLA satisfaction,
The differential distribution processor transfers the computed SLA satisfaction to a CPU scheduler or an I / O scheduler to control the virtual machines to distribute CPU resources and block I / O resources differentially,
Wherein the CPU scheduler performs a resource differential distribution function,
Dividing the virtual machines operating in the physical machine into a plurality of groups and classifying the divided groups into an SLA unsatisfied group, an SLA supersaturation group, and an SLA satisfaction group based on an error value in the SLA satisfaction, And performing a resource differential distribution in consideration of the calculated values of the quota for each group,
Resource allocation system.
제1항에 있어서,
상기 SLA 매니저는 SLA 값, SLA 만족도, 가상 머신이 사용하는 자원 사용률 및 가상 머신의 성능 정보를 관리하는,
자원 할당 시스템.
The method according to claim 1,
The SLA manager manages SLA value, SLA satisfaction, resource utilization rate used by the virtual machine, and performance information of the virtual machine.
Resource allocation system.
제1항에 있어서,
상기 SLA 매니저는 SLA 값 설정 및 SLA 만족도를 확인할 수 있는 API를 제공하는,
자원 할당 시스템.
The method according to claim 1,
Wherein the SLA manager provides an API for determining an SLA value and an SLA satisfaction,
Resource allocation system.
삭제delete 제1항에 있어서,
상기 CPU 스케줄러는 리눅스의 CFS(Complete Fair Scheduler)가 제공하는 기능을 활용하여 자원 차등 분배를 수행하는,
자원 할당 시스템.
The method according to claim 1,
The CPU scheduler performs resource differential distribution by utilizing functions provided by CFS (Complete Fair Scheduler) of Linux,
Resource allocation system.
삭제delete 제1항에 있어서,
상기 CPU 스케줄러는 상기 SLA 불만족 그룹에 있는 가상 머신들의 SLA 만족도가 100%에 도달하기 위해 필요한 Quota 값을 피드백 제어를 통해 계산하는,
자원 할당 시스템.
The method according to claim 1,
Wherein the CPU scheduler calculates a quota value required for reaching 100% of SLA satisfaction of virtual machines in the SLA unsatisfied group through feedback control,
Resource allocation system.
제1항에 있어서,
상기 CPU 스케줄러는 상기 SLA 과포화 그룹에 속한 가상 머신들이 SLA 불만족 그룹의 가상 머신에게 양도할 수 있는 Quota 값을 계산하는,
자원 할당 시스템.
The method according to claim 1,
Wherein the CPU scheduler calculates a quota value that the virtual machines belonging to the SLA superset group can assign to the virtual machine of the SLA dissatisfied group,
Resource allocation system.
제8항에 있어서,
상기 CPU 스케줄러는 상기 SLA 과포화 그룹의 각 가상 머신이 현재의 SLA 만족도에서 100%에 도달하기 위해 줄여야 하는 Quota의 값을 비례식으로 계산하는,
자원 할당 시스템.
9. The method of claim 8,
Wherein the CPU scheduler calculates a quota value of each virtual machine of the SLA superset group to reduce to reach 100% of the current SLA satisfaction,
Resource allocation system.
제8항에 있어서,
상기 CPU 스케줄러는 상기 SLA 불만족 그룹과 상기 과포화 그룹의 각 가상 머신에 대해 계산한 값을 그룹 별로 합하여 두 값을 비교하고, 상기 비교 결과 중 작은 값을 불만족 그룹과 과포화 그룹 간의 Quota 교환을 위한 값으로 선택하는,
자원 할당 시스템.
9. The method of claim 8,
The CPU scheduler compares values calculated for the SLA dissatisfied group and each of the virtual machines of the supersaturation group by groups and compares the two values, and a smaller value among the comparison results is a value for quota exchange between the unsatisfied group and the supersetting group Choosing,
Resource allocation system.
제10항에 있어서,
상기 CPU 스케줄러는 상기 SLA 불만족 그룹에서의 Quota의 값을 그룹에 속한 가상 머신들의 SLA 만족도 비율에 따라 분배하고, 과포화 그룹에서는 SLA 만족도 비율에 따라 줄이는,
자원 할당 시스템.
11. The method of claim 10,
Wherein the CPU scheduler distributes the value of Quota in the SLA unsatisfied group according to the SLA satisfaction rate of the virtual machines belonging to the group and decreases according to the SLA satisfaction rate in the supersaturation group,
Resource allocation system.
제1항에 있어서,
상기 I/O 스케줄러는 OIOS(Opportunistic I/O Scheduler) 기법을 SLA 만족도에 따라 피드백 제어하도록 수정하는,
자원 할당 시스템.
The method according to claim 1,
Wherein the I / O scheduler modifies an opportunistic I / O scheduler (OIOS) scheme to feedback control according to SLA satisfaction,
Resource allocation system.
제12항에 있어서,
상기 I/O 스케줄러는 가상 머신이 블록 I/O 장치에게 I/O 요청을 전달할 수 있는 시간을 나타내는 DAT(Differentially Allowed Time) 값을 피드백 제어하여 상기 가상 머신의 요구 성능을 만족하도록 스케줄링 하는,
자원 할당 시스템.
13. The method of claim 12,
Wherein the I / O scheduler performs feedback control of a DAT (Differentially Allowed Time) value indicating a time when a virtual machine can deliver an I / O request to a block I / O device to satisfy a required performance of the virtual machine,
Resource allocation system.
통계 수집기에서, IOPS(input/output operations per second), I/O 대역폭, 지연 시간 및 CPU 사용률을 포함하는 가상 머신의 성능 정보를 수집하는 단계;
SLA 매니저에서, 상기 수집된 가상 머신의 성능 정보에 기초하여, 각 가상 머신이 요구하는 SLA(Service Level Agreement) 만족도를 산출하는 단계; 및
차등 분배 처리부에서, 상기 산출된 SLA 만족도를 기준으로 상기 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어하는 단계를 포함하고,
상기 차등 분배하도록 제어하는 단계는 상기 산출된 SLA 만족도를 CPU 스케줄러 또는 I/O 스케줄러로 전달하여, 상기 각 가상 머신에게 CPU 자원과 블록 I/O 자원을 차등 분배하도록 제어하는 단계를 포함하고,
상기 차등 분배하도록 제어하는 단계는,
물리 머신에서 동작하는 가상 머신들을 복수의 그룹으로 나누는 단계;
상기 나눈 그룹들을 SLA 만족도에서 오차 값을 기준으로 SLA 불만족 그룹, SLA 과포화 그룹 및 SLA 만족 그룹으로 분류하는 단계; 및
상기 분류된 각 그룹별 Quota의 값을 계산하고, 상기 계산된 각 그룹별 Quota의 값을 고려하여 자원의 차등 분배를 수행하는 단계를 포함하는,
자원 할당 방법.
Collecting performance information of a virtual machine, including input / output operations per second (IOPS), I / O bandwidth, latency and CPU utilization, in a statistics collector;
Calculating SLA (Service Level Agreement) satisfaction required by each virtual machine based on performance information of the collected virtual machines in an SLA manager; And
And controlling the differential distribution processor to distribute the CPU resources and the block I / O resources differentially to the respective virtual machines based on the calculated SLA satisfaction,
Wherein the step of controlling to perform the differential distribution includes transferring the calculated SLA satisfaction to a CPU scheduler or an I / O scheduler, and controlling to distribute the CPU resource and block I / O resources to each of the virtual machines,
The step of controlling the differential distribution includes:
Dividing virtual machines operating in a physical machine into a plurality of groups;
Classifying the divided groups into an SLA unsatisfied group, an SLA supersaturation group, and an SLA satisfaction group based on an error value in SLA satisfaction; And
Calculating a quota value of each classified group and performing a differential distribution of resources by taking into account the calculated value of the quota for each group;
Resource allocation method.
삭제delete 제14항에 있어서,
상기 차등 분배하도록 제어하는 단계는 상기 CPU 스케줄러에서 리눅스의 CFS(Complete Fair Scheduler)가 제공하는 기능을 활용하여 자원 차등 분배 기능을 수행하도록 제어하는 단계를 포함하는,
자원 할당 방법.
15. The method of claim 14,
Wherein the step of controlling the differential distribution includes controlling the CPU scheduler to perform a resource differential distribution function by utilizing a function provided by the Complete Fair Scheduler (CFS) of Linux.
Resource allocation method.
삭제delete 제14항에 있어서,
상기 자원의 차등 분배를 수행하는 단계는,
상기 SLA 불만족 그룹에 있는 가상 머신들의 SLA 만족도가 100%에 도달하기 위해 필요한 Quota 값을 피드백 제어를 통해 계산하고,
상기 SLA 과포화 그룹에 속한 가상 머신들이 SLA 불만족 그룹의 가상 머신에게 양도할 수 있는 Quota 값을 계산하되, 상기 SLA 과포화 그룹의 각 가상 머신이 현재의 SLA 만족도에서 100%에 도달하기 위해 줄여야 하는 Quota의 값을 비례식으로 계산하며,
상기 SLA 불만족 그룹과 상기 과포화 그룹의 각 가상 머신에 대해 계산한 값을 그룹 별로 합하여 두 값을 비교하고, 상기 비교 결과 중 작은 값을 불만족 그룹과 과포화 그룹 간의 Quota 교환을 위한 값으로 선택하고,
상기 선택된 Quota의 값을 그룹에 속한 가상 머신들의 SLA 만족도 비율에 따라 분배하는 단계를 포함하는,
자원 할당 방법.
15. The method of claim 14,
Wherein performing the differential distribution of resources comprises:
Calculating a quota value required for the SLA satisfaction of the virtual machines in the SLA unsatisfied group to reach 100% through feedback control;
A quota value that the virtual machines belonging to the SLA oversaturated group can transfer to the virtual machine of the SLA unsatisfied group is calculated and the quota value of each virtual machine in the SLA superset group is reduced to reach 100% The value is calculated proportionally,
A value calculated for each SLA unsatisfied group and each of the virtual machines in the supersaturated group is added to each group to compare two values, and a smaller value among the comparison results is selected as a value for quota exchange between the unsatisfied group and the supersaturated group,
And distributing the value of the selected Quota according to the SLA satisfaction rate of the virtual machines belonging to the group.
Resource allocation method.
KR1020170111836A 2017-09-01 2017-09-01 System and method of resource allocation scheme for cpu and block i/o performance guarantee of virtual machine KR101924467B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170111836A KR101924467B1 (en) 2017-09-01 2017-09-01 System and method of resource allocation scheme for cpu and block i/o performance guarantee of virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170111836A KR101924467B1 (en) 2017-09-01 2017-09-01 System and method of resource allocation scheme for cpu and block i/o performance guarantee of virtual machine

Publications (1)

Publication Number Publication Date
KR101924467B1 true KR101924467B1 (en) 2018-12-03

Family

ID=64743221

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170111836A KR101924467B1 (en) 2017-09-01 2017-09-01 System and method of resource allocation scheme for cpu and block i/o performance guarantee of virtual machine

Country Status (1)

Country Link
KR (1) KR101924467B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102116858B1 (en) * 2019-09-06 2020-05-29 한국과학기술정보연구원 Scheduling apparatus, and control method thereof
KR20200129397A (en) * 2019-05-08 2020-11-18 고려대학교 산학협력단 Method for controlling performance in virtualized environment and information processing device for the same
CN112699458A (en) * 2020-12-28 2021-04-23 东风汽车集团有限公司 Calculation method and device for calculation power of vehicle-mounted domain controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141908A (en) * 2011-04-25 2011-07-21 Nec Corp System usage rate managing device and system usage rate managing method and program used for the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141908A (en) * 2011-04-25 2011-07-21 Nec Corp System usage rate managing device and system usage rate managing method and program used for the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
고현석 외 2명. '가상화 환경에서 네트워크 I/O 성능 간섭 해결을 위한 피드백 제어 CPU 스케줄링 기법 분석'. 한국정보과학회 2016년 동계학술대회 논문집, 2016.12., pp.1334-1336.
김영현 외 2명. '클라우드 환경에서 SLA를 만족시키기 위한 CPU-I/O 혼합 스케줄러 연구'. 한국정보과학회 2014 한국컴퓨터종합학술대회 논문집, 2014.06., pp.1376-1378.*

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200129397A (en) * 2019-05-08 2020-11-18 고려대학교 산학협력단 Method for controlling performance in virtualized environment and information processing device for the same
KR102203204B1 (en) 2019-05-08 2021-01-13 고려대학교 산학협력단 Method for controlling performance in virtualized environment and information processing device for the same
KR102116858B1 (en) * 2019-09-06 2020-05-29 한국과학기술정보연구원 Scheduling apparatus, and control method thereof
CN112699458A (en) * 2020-12-28 2021-04-23 东风汽车集团有限公司 Calculation method and device for calculation power of vehicle-mounted domain controller
CN112699458B (en) * 2020-12-28 2023-03-03 东风汽车集团有限公司 Calculation method and device for vehicular domain controller

Similar Documents

Publication Publication Date Title
TWI591542B (en) Cloud compute node,method and system,and computer readable medium
US8028286B2 (en) Methods and apparatus for scheduling threads on multicore processors under fair distribution of cache and other shared resources of the processors
US10205771B2 (en) System and method for deploying an application in a computer system
Wang et al. Multi-resource fair sharing for datacenter jobs with placement constraints
US9183061B2 (en) Preserving, from resource management adjustment, portions of an overcommitted resource managed by a hypervisor
AU2013206117A1 (en) Hierarchical allocation of network bandwidth for quality of service
JP6072084B2 (en) Virtual computer system and data transfer control method for virtual computer system
KR101924467B1 (en) System and method of resource allocation scheme for cpu and block i/o performance guarantee of virtual machine
US10860352B2 (en) Host system and method for managing data consumption rate in a virtual data processing environment
US9037758B1 (en) Dynamic virtual machine (VM) input-output per second (IOPS) control based on application IO profiling and VM IO usage trend analysis
Suo et al. Preserving i/o prioritization in virtualized oses
JP2012133630A (en) Storage resource control system, storage resource control program and storage resource control method
US10691495B2 (en) Virtual processor allocation with execution guarantee
KR102640232B1 (en) Method and apparatus for allocating resources in virtual environment
US11036555B2 (en) Virtual processor allocation with execution guarantee
US20140245300A1 (en) Dynamically Balanced Credit for Virtual Functions in Single Root Input/Output Virtualization
Wu et al. iShare: Balancing I/O performance isolation and disk I/O efficiency in virtualized environments
Ekane et al. FlexVF: Adaptive network device services in a virtualized environment
US7630860B1 (en) Controlling process group execution elapsed time through component performance control
Kleineweber et al. QoS-aware storage virtualization for cloud file systems
US10572286B2 (en) Memory access optimization in a processor complex
Silva et al. VM performance isolation to support QoS in cloud
Zhang et al. Towards reliable (and efficient) job executions in a practical geo-distributed data analytics system
Shirinbab et al. Performance implications of over-allocation of virtual cpus
KR101743028B1 (en) Apparatus and method of dynamic resource allocation algorithm for service differentiation in virtualized environments

Legal Events

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