KR101583129B1 - Method for bandwidth allocation in virtualizaion environment and apparatus therefor - Google Patents

Method for bandwidth allocation in virtualizaion environment and apparatus therefor Download PDF

Info

Publication number
KR101583129B1
KR101583129B1 KR1020140023440A KR20140023440A KR101583129B1 KR 101583129 B1 KR101583129 B1 KR 101583129B1 KR 1020140023440 A KR1020140023440 A KR 1020140023440A KR 20140023440 A KR20140023440 A KR 20140023440A KR 101583129 B1 KR101583129 B1 KR 101583129B1
Authority
KR
South Korea
Prior art keywords
virtual machine
bandwidth
disk
allocating
intermittency
Prior art date
Application number
KR1020140023440A
Other languages
Korean (ko)
Other versions
KR20150101763A (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 KR1020140023440A priority Critical patent/KR101583129B1/en
Publication of KR20150101763A publication Critical patent/KR20150101763A/en
Application granted granted Critical
Publication of KR101583129B1 publication Critical patent/KR101583129B1/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals

Abstract

가상화 환경에서의 대역폭 할당 방법 및 장치가 개시된다. 본 발명에 따른 가상화 환경에서 수행되는 대역폭 할당 방법으로, 가상화 환경에 포함된 복수의 가상 머신으로부터 디스크의 대역폭 사용 요청을 수신하는 단계, 수신된 디스크 대역폭의 사용 요청에 대한 간헐성을 감지하는 단계, 감지된 간헐성을 기반으로 복수의 가상 머신 중 적어도 하나의 가상 머신에 미리 설정된 시간 단위로 디스크의 대역폭을 할당하는 단계를 포함한다. 본 발명에 의하면 가상화 환경에서 가상 머신이 디스크 대역폭을 효과적으로 사용 가능하다.A method and apparatus for bandwidth allocation in a virtualized environment are disclosed. A bandwidth allocation method performed in a virtualization environment according to the present invention includes: receiving a bandwidth use request of a disk from a plurality of virtual machines included in a virtualization environment; detecting intermittency of a use request of the received disk bandwidth; And allocating the bandwidth of the disk to the at least one virtual machine among a plurality of virtual machines based on the predetermined intermittency. According to the present invention, a virtual machine can effectively use disk bandwidth in a virtualized environment.

Figure R1020140023440
Figure R1020140023440

Description

가상화 환경에서의 대역폭 할당 방법 및 장치{METHOD FOR BANDWIDTH ALLOCATION IN VIRTUALIZAION ENVIRONMENT AND APPARATUS THEREFOR}[0001] METHOD FOR BANDWIDTH ALLOCATION IN VIRTUALIZATION ENVIRONMENT AND APPARATUS THEREFOR [0002]

본 발명은 가상화 환경에서 대역폭을 할당하는 방법에 관한 것으로, 더욱 상세하게는 가상화 환경에서 가상 머신에 일정 시간 단위로 대역폭을 할당하는 방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of allocating bandwidth in a virtualized environment, and more particularly, to a method and apparatus for allocating a bandwidth to a virtual machine in a virtualized environment.

가상화(virtualization)는 자기 자신만의 운영체제를 갖고 있는 다수의 가상 머신(virtual machine)이 한 호스트(host) 컴퓨터 상에서 동작할 수 있도록 하는 기술을 의미한다. 이러한 가상화 환경에서 다수의 가상 머신은 하드 디스크(hard disk)를 저장장치로 사용한다.Virtualization refers to a technology that allows multiple virtual machines with their own operating systems to run on a single host computer. In this virtualization environment, many virtual machines use a hard disk as a storage device.

하드 디스크는 컴퓨터 시스템의 대표적인 저장장치로, 섹터(sector)를 기반으로 데이터를 저장하게 된다. 하드 디스크는 회전을 통하여 동일한 트랙(track)의 다음 섹터로 접근할 수 있으며, 서로 다른 트랙의 섹터에 접근하기 위해서는 트랙을 먼저 이동한 후 다시 회전을 통하여 순차적으로 섹터에 접근하게 된다. 이러한 구조는 가상 머신들이 하드 디스크의 파티션(partition)을 저장장치로 사용하는 가상화 환경에서 문제점을 발생 시킨다.A hard disk is a typical storage device of a computer system and stores data based on a sector. The hard disk can access to the next sector of the same track through rotation. In order to access the sectors of different tracks, the track is moved first, and then the sector is sequentially accessed through rotation. This structure causes problems in virtualized environments where virtual machines use partitions of hard disks as storage devices.

먼저, 각 가상 머신은 파티션의 섹터에 접근을 시도하기 때문에 디스크 탐색 거리가 크게 증가함으로써 불필요한 오버헤드(overhead)로 인해 성능 저하가 발생한다.First, since each virtual machine tries to access the sector of the partition, the disk search distance increases greatly, which causes performance degradation due to unnecessary overhead.

또한, 가상 머신들 간의 많은 문맥 전환(context switch)로 인한 문제점을 발생 시킨다. 가상화 소프트웨어(software)는 각 가상 머신에 자원을 균등하게 사용하도록 하기 위해 문맥 전환을 통하여 가상 머신에 자원을 할당한다. 디스크에 읽기/쓰기 요청 시 짧은 간격으로 수많은 문맥 전환을 수행하게 되며 소프트웨어 오버헤드로 인해 성능 저하가 발생하는 문제점이 있다.Also, it causes problems due to a lot of context switches between virtual machines. Virtualization software allocates resources to virtual machines through context switching to ensure that each virtual machine uses resources equally. When a disk is requested to read / write, it performs a lot of context switching in a short interval, and there is a problem that performance is deteriorated due to software overhead.

상기한 바와 같은 문제점을 극복하기 위한 본 발명의 목적은 가상화 환경에서 가상 머신에 일정 시간 단위로 대역폭을 할당하는 방법을 제공하는 것이다.An object of the present invention to overcome the above problems is to provide a method of allocating a bandwidth to a virtual machine in a virtualized environment by a predetermined time unit.

또한, 본 발명의 다른 목적은 가상화 환경에서 가상 머신에 일정 시간 단위로 대역폭을 할당하는 장치를 제공하는 것이다.It is another object of the present invention to provide an apparatus for allocating a bandwidth to a virtual machine in a virtualized environment on a predetermined time basis.

상술한 본 발명의 목적을 달성하기 위한 본 발명의 일 측면에 따른 가상화 환경에서의 대역폭 할당 방법은, 가상화 환경을 구현하는 물리 머신(physical machine)에서 수행되는 대역폭 할당 방법으로, 상기 가상화 환경에 포함된 복수의 가상 머신(virtual machine)으로부터 디스크(disk)의 대역폭 사용 요청을 수신하는 단계, 상기 디스크 대역폭의 사용 요청에 대한 간헐성(burstiness)을 감지하는 단계 및 상기 간헐성을 기반으로 상기 복수의 가상 머신 중 적어도 하나의 가상 머신에 미리 설정된 시간 단위로 상기 디스크의 대역폭을 할당하는 단계를 포함한다.According to an aspect of the present invention, there is provided a bandwidth allocation method in a virtualization environment, the bandwidth allocation method being implemented in a physical machine implementing a virtualization environment, The method comprising: receiving a bandwidth use request for a disk from a plurality of virtual machines; sensing a burstiness of a request for use of the disk bandwidth; And allocating the bandwidth of the disk to the at least one virtual machine in a predetermined time unit.

여기서, 상기 간헐성은 상기 복수의 가상 머신으로부터 수신되는 상기 디스크 대역폭 사용 요청의 지속적인 정도 또는 주기를 의미할 수 있다.Here, the intermittency may mean a continuous level or a period of the disk bandwidth use request received from the plurality of virtual machines.

여기서, 상기 디스크의 대역폭을 할당하는 단계는 상기 간헐성을 미리 설정된 임계값과 비교하는 단계, 상기 복수의 가상 머신 중 상기 임계값 보다 큰 간헐성을 가지는 적어도 하나의 가상 머신을 선택하는 단계 및 상기 임계값 보다 큰 간헐성을 가지는 적어도 하나의 가상 머신에 상기 미리 설정된 시간 단위로 상기 디스크의 최대 대역폭을 할당하는 단계를 포함할 수 있다.Wherein the step of allocating the bandwidth of the disk comprises the steps of: comparing the intermittency with a preset threshold; selecting at least one virtual machine having intermittency greater than the threshold among the plurality of virtual machines; And allocating the maximum bandwidth of the disk to the at least one virtual machine having the greater intermittency at the predetermined time unit.

여기서, 상기 최대 대역폭을 할당하는 단계는 상기 복수의 가상 머신 중 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신을 선택하는 단계 및 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신에 상기 디스크의 최소 대역폭을 할당하는 단계를 포함할 수 있다.The step of allocating the maximum bandwidth may include selecting at least one virtual machine having intermittency less than or equal to the threshold value among the plurality of virtual machines and selecting at least one virtual machine having intermittency less than or equal to the threshold value And allocating bandwidth.

여기서, 상기 디스크의 최대 대역폭을 할당하는 단계는 상기 적어도 하나의 가상 머신 중 제1 가상 머신에 미리 설정된 제1 시간 구간 동안 상기 디스크의 최대 대역폭을 할당하는 단계 및 상기 적어도 하나의 가상 머신 중 상기 제1 가상 머신을 제외한 가상 머신에 상기 제1 시간 구간 동안 상기 디스크의 최소 대역폭을 할당하는 단계를 포함할 수 있다.Wherein allocating the maximum bandwidth of the disk comprises allocating a maximum bandwidth of the disk for a first time interval preset in a first virtual machine of the at least one virtual machine, And allocating a minimum bandwidth of the disk to the virtual machine except for one virtual machine during the first time interval.

여기서, 상기 디스크의 최대 대역폭을 할당하는 단계는 상기 제1 시간 구간에 대한 상기 디스크의 대역폭을 할당한 후, 상기 적어도 하나의 가상 머신 중 제2 가상 머신에 상기 제1 시간 구간과 연속하는 제2 시간 구간 동안 상기 디스크의 최대 대역폭을 할당하는 단계 및 상기 적어도 하나의 가상 머신 중 상기 제2 가상 머신을 제외한 가상 머신에 상기 제2 시간 구간 동안 상기 디스크의 최소 대역폭을 할당하는 단계를 포함할 수 있다.The allocating of the maximum bandwidth of the disk may include allocating a bandwidth of the disk for the first time interval, and allocating a bandwidth of the disk to the second virtual machine of the at least one virtual machine, Allocating a maximum bandwidth of the disk during a time interval and allocating a minimum bandwidth of the disk during the second time interval to a virtual machine other than the second virtual machine of the at least one virtual machine .

여기서, 상기 디스크의 최대 대역폭을 할당하는 단계는 상기 적어도 하나의 가상 머신 중 상기 디스크에 접근이 가장 용이한 가상 머신을 우선적으로 선택하여 상기 미리 설정된 시간 동안 상기 디스크의 최대 대역폭을 할당할 수 있다.The allocating of the maximum bandwidth of the disk may allocate the maximum bandwidth of the disk for the predetermined time by preferentially selecting a virtual machine which is most accessible to the disk among the at least one virtual machine.

또한, 본 발명의 다른 목적을 달성하기 위한 본 발명의 일 측면에 따른 가상화 환경에서의 대역폭 할당 장치는, 상기 가상화 환경에 포함된 복수의 가상 머신(virtual machine)으로부터 디스크(disk)의 대역폭 사용 요청을 수신하고, 상기 디스크 대역폭의 사용 요청에 대한 간헐성(burstiness)을 감지하고, 상기 간헐성을 기반으로 상기 복수의 가상 머신 중 적어도 하나의 가상 머신에 미리 설정된 시간 단위로 상기 디스크의 대역폭을 할당하는 처리부 및 상기 처리부에서 처리된 정보 및 처리되는 정보를 저장하는 저장부를 포함한다.According to another aspect of the present invention, there is provided an apparatus for allocating a bandwidth in a virtualization environment, the apparatus comprising: a bandwidth utilization requesting unit for requesting bandwidth usage of a disk from a plurality of virtual machines included in the virtualization environment; A processor for detecting the burstiness of the use request of the disk bandwidth and allocating the bandwidth of the disk to the at least one virtual machine of the plurality of virtual machines based on the intermittency, And a storage unit for storing information processed in the processing unit and processed information.

여기서, 상기 간헐성은 상기 복수의 가상 머신으로부터 수신되는 상기 디스크 대역폭 사용 요청의 지속적인 정도 또는 주기를 의미할 수 있다.Here, the intermittency may mean a continuous level or a period of the disk bandwidth use request received from the plurality of virtual machines.

여기서, 상기 처리부는 상기 디스크의 대역폭을 할당하는 경우, 상기 간헐성을 미리 설정된 임계값과 비교하고, 상기 복수의 가상 머신 중 상기 임계값 보다 큰 간헐성을 가지는 적어도 하나의 가상 머신을 선택하고, 상기 임계값 보다 큰 간헐성을 가지는 적어도 하나의 가상 머신에 상기 미리 설정된 시간 단위로 상기 디스크의 최대 대역폭을 할당할 수 있다.Here, when the bandwidth of the disk is allocated, the processor compares the intermittency with a predetermined threshold value, selects at least one virtual machine having intermittency greater than the threshold among the plurality of virtual machines, The maximum bandwidth of the disk can be allocated to the at least one virtual machine having the intermittency greater than the predetermined value.

여기서, 상기 처리부는 상기 최대 대역폭을 할당하는 경우, 상기 복수의 가상 머신 중 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신을 선택하고, 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신에 상기 디스크의 최소 대역폭을 할당할 수 있다.Wherein the processing unit selects at least one virtual machine having intermittency less than or equal to the threshold value among the plurality of virtual machines when allocating the maximum bandwidth to at least one virtual machine having intermittency less than or equal to the threshold value, Of the minimum bandwidth.

여기서, 상기 처리부는 상기 디스크의 최대 대역폭을 할당하는 경우, 상기 적어도 하나의 가상 머신 중 제1 가상 머신에 미리 설정된 제1 시간 구간 동안 상기 디스크의 최대 대역폭을 할당하고, 상기 적어도 하나의 가상 머신 중 상기 제1 가상 머신을 제외한 가상 머신에 상기 제1 시간 구간 동안 상기 디스크의 최소 대역폭을 할당할 수 있다.Wherein, when the maximum bandwidth of the disk is allocated, the processor allocates a maximum bandwidth of the disk for a first time interval preset in a first virtual machine of the at least one virtual machine, The minimum bandwidth of the disk may be allocated to the virtual machine except for the first virtual machine during the first time period.

여기서, 상기 처리부는 상기 디스크의 최대 대역폭을 할당하는 경우, 상기 제1 시간 구간에 대한 상기 디스크의 대역폭을 할당한 후, 상기 적어도 하나의 가상 머신 중 제2 가상 머신에 상기 제1 시간 구간과 연속하는 제2 시간 구간 동안 상기 디스크의 최대 대역폭을 할당하고, 상기 적어도 하나의 가상 머신 중 상기 제2 가상 머신을 제외한 가상 머신에 상기 제2 시간 구간 동안 상기 디스크의 최소 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.Herein, when allocating the maximum bandwidth of the disk, the processor allocates the bandwidth of the disk for the first time interval and then allocates the bandwidth of the disk to the second virtual machine of the at least one virtual machine, Allocating a maximum bandwidth of the disk during a second time interval and allocating a minimum bandwidth of the disk to the virtual machine excluding the second virtual machine of the at least one virtual machine during the second time interval A device for allocating bandwidth in a virtualized environment.

여기서, 상기 처리부는 상기 디스크의 최대 대역폭을 할당하는 경우, 상기 적어도 하나의 가상 머신 중 상기 디스크에 접근이 가장 용이한 가상 머신을 우선적으로 선택하여 상기 미리 설정된 시간 동안 상기 디스크의 최대 대역폭을 할당할 수 있다.Herein, when allocating the maximum bandwidth of the disk, the processing unit preferentially selects a virtual machine which is most easily accessible from the at least one virtual machine, and allocates the maximum bandwidth of the disk for the preset time .

상술한 바와 같은 가상화 환경에서의 대역폭 할당 방법에 따르면, 가상화 환경에서 가상 머신의 디스크 탐색 거리를 감소시키고, 가상 머신 간의 경쟁을 최소화함으로써 디스크에서 제공하는 최대 대역폭을 효율적으로 사용할 수 있다.According to the bandwidth allocation method in the virtualization environment, it is possible to efficiently use the maximum bandwidth provided by the disk by reducing the disk search distance of the virtual machine in the virtualization environment and minimizing the competition between the virtual machines.

도 1은 일반적인 하드 디스크의 구조를 나타내는 개념도이다.
도 2는 일반적인 가상화 환경에서 가상 머신의 파티션 접근 과정을 나타내는 개념도이다.
도 3은 본 발명의 일 실시예에 따른 가상화 환경에서의 대역폭 할당 방법을 나타내는 개념도이다.
도 4는 본 발명의 일 실시예에 따른 가상화 환경에서의 대역폭 할당 방법을 나타내는 흐름도이다.
도 5는 도 4에 도시된 미리 설정된 시간 단위로 디스크의 대역폭을 할당하는 방법을 나타내는 흐름도이다.
도 6은 도 5에 도시된 간헐성과 임계값의 비교 결과를 기반으로 가상 머신을 선택하는 방법을 나타내는 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 가상화 환경에서의 대역폭 할당 장치를 나타내는 블록도이다.
1 is a conceptual diagram showing a structure of a general hard disk.
2 is a conceptual diagram illustrating a process of accessing a virtual machine in a general virtualization environment.
3 is a conceptual diagram illustrating a bandwidth allocation method in a virtualization environment according to an embodiment of the present invention.
4 is a flowchart illustrating a bandwidth allocation method in a virtualization environment according to an embodiment of the present invention.
FIG. 5 is a flowchart illustrating a method of allocating a bandwidth of a disk in a predetermined time unit shown in FIG.
FIG. 6 is a flowchart illustrating a method of selecting a virtual machine based on a comparison result of the intermittency and the threshold shown in FIG.
7 is a block diagram illustrating a bandwidth allocation apparatus in a virtualization environment according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.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.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, 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 should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, the same reference numerals will be used for the same constituent elements in the drawings, and redundant explanations for the same constituent elements will be omitted.

도 1은 일반적인 하드 디스크의 구조를 나타내는 개념도이다.1 is a conceptual diagram showing a structure of a general hard disk.

도 1을 참조하면, 하드 디스크(hard disk)(110)는 컴퓨터 시스템의 대표적인 저장장치로, 섹터(sector)(120)를 기반으로 데이터를 저장할 수 있다.Referring to FIG. 1, a hard disk 110 is a typical storage device of a computer system, and can store data based on a sector 120.

하드 디스크(110)는 회전을 통하여 동일한 트랙(track)의 다음 섹터(120)로 접근할 수 있으며, 서로 다른 트랙의 섹터(120)에 접근하기 위해서는 트랙을 먼저 이동한 후 다시 회전을 통하여 순차적으로 섹터(120)에 접근할 수 있다.The hard disk 110 can access the next sector 120 of the same track through rotation, and in order to access the sectors 120 of different tracks, the track is moved first, Sector 120. < / RTI >

이와 같은 구조는 복수의 가상 머신(virtual machine)이 하드 디스크(110)의 파티션(partition)을 저장장치로 사용하는 가상화 환경에서 문제점을 발생시킬 수 있다.Such a structure may cause a problem in a virtualization environment in which a plurality of virtual machines use a partition of the hard disk 110 as a storage device.

먼저, 각 가상 머신은 파티션의 섹터(120)에 접근을 시도하기 때문에 디스크 탐색 거리가 크게 증가함으로써 불필요한 오버헤드(overhead)로 인해 성능 저하가 발생할 수 있다.First, since each virtual machine tries to access the sector 120 of the partition, the disk search distance increases greatly, which may cause performance degradation due to unnecessary overhead.

또한, 가상 머신들 간의 많은 문맥 전환(context switch)로 인한 문제점을 발생 시킬 수 있다.
Also, it can cause problems due to a lot of context switches between virtual machines.

도 2는 일반적인 가상화 환경에서 가상 머신의 파티션 접근 과정을 나타내는 개념도이다.2 is a conceptual diagram illustrating a process of accessing a virtual machine in a general virtualization environment.

도 2를 참조하면, 가상화 소프트웨어(software)는 각 가상 머신, 예를 들어, 제1 가상 머신(211), 제2 가상 머신(212), 제3 가상 머신(213) 및 제4 가상 머신(214)에 자원을 균등하게 사용하도록 하기 위해 문맥 전환을 통하여 가상 머신에 자원을 할당할 수 있다.2, the virtualization software is stored in each of the virtual machines, for example, the first virtual machine 211, the second virtual machine 212, the third virtual machine 213, and the fourth virtual machine 214 ) To allocate resources to the virtual machine through context switching so as to use the resources equally.

디스크에 읽기/쓰기 요청 시 짧은 간격으로 수많은 문맥 전환을 수행하게 되며 소프트웨어 오버헤드(software overhead)로 인해 성능 저하가 발생하는 문제점이 있다.
When a read / write request is made to a disk, a lot of context switching is performed in a short interval, and there is a problem that performance is deteriorated due to software overhead.

도 3은 본 발명의 일 실시예에 따른 가상화 환경에서의 대역폭 할당 방법을 나타내는 개념도이다.3 is a conceptual diagram illustrating a bandwidth allocation method in a virtualization environment according to an embodiment of the present invention.

도 3을 참조하면, 가상화 환경에는 복수의 가상 머신(virtual machine)(310), 컨트롤 도메인(control domain)(320) 및 디스크(disk)(330)을 포함할 수 있다.Referring to FIG. 3, a virtualization environment may include a plurality of virtual machines 310, a control domain 320, and a disk 330.

예를 들어, 복수의 가상 머신(310)은 제1 가상 머신(311), 제2 가상 머신(312), 제3 가상 머신(313) 및 제4 가상 머신(314)를 포함할 수 있다.For example, the plurality of virtual machines 310 may include a first virtual machine 311, a second virtual machine 312, a third virtual machine 313, and a fourth virtual machine 314.

여기서, 복수의 가상 머신(310)에 포함된 각 가상 머신은 자신에게 해당하는 장치 드라이버(device driver)를 통해 디스크(330)의 대역폭 사용에 대한 요청을 할 수 있다.Here, each virtual machine included in the plurality of virtual machines 310 can request a bandwidth usage of the disk 330 through a device driver corresponding to the virtual machine.

구체적으로, 도 3에 도시된 바와 같이, 제1 가상 머신(311)은 제1 장치 드라이버(321), 제2 가상 머신(312)은 제2 장치 드라이버(322), 제3 가상 머신(313)은 제3 장치 드라이버(323), 제4 가상 머신(314)은 제4 장치 드라이버(324)를 가질 수 있다.3, the first virtual machine 311 is connected to the first device driver 321, the second virtual machine 312 is connected to the second device driver 322, the third virtual machine 313, And the fourth virtual machine 314 may have a fourth device driver 324. The fourth device driver 324 may be a third device driver.

복수의 가상 머신(310)은 각 장치 드라이버를 통해 디스크(330)의 대역폭 사용을 위한 요청을 할 수 있다.The plurality of virtual machines 310 can make a request for bandwidth use of the disk 330 through each device driver.

이후, 각 장치 드라이버는 각 가상 머신이 디스크(330)의 대역폭을 사용할 수 있도록, 입출력 대역폭 스케줄러(I/O Bandwidth Scheduler)(325)에 디스크(300)의 대역폭 사용을 요청할 수 있다.Each device driver may then request the use of the bandwidth of the disk 300 to the I / O Bandwidth Scheduler 325 so that each virtual machine can use the bandwidth of the disk 330.

이후, 입출력 대역폭 스케줄러(325)는 간헐성 감지부(burstiness detector)(326)를 통해, 각 가상 머신의 디스크(330)의 대역폭 사용을 위한 요청에 대하여 간헐성을 감지할 수 있다.Thereafter, the input / output bandwidth scheduler 325 can detect the intermittency of the request for the bandwidth use of the disk 330 of each virtual machine through the burstiness detector 326.

여기서, 간헐성은 가상 머신이 디스크(330)의 대역폭을 사용하기 위해 요청하는 신호의 지속적인 정도를 의미할 수 있다. 예를 들어, 간헐성은, 가상 머신의 요청이 지속되는 시간 또는 요청하는 주기 등을 의미할 수 있다.Here, the intermittency may mean a continuous level of the signal that the virtual machine requests to use the bandwidth of the disk 330. [ For example, intermittency may refer to a time at which a request of a virtual machine is maintained or a requesting period.

이후, 간헐성 감지부(326)는 복수의 가상 머신(310) 중 제1 가상 머신(311), 제2 가상 머신(312) 및 제3 가상 머신(313)의 디스크(330) 대역폭 사용에 대한 요청 수준이 미리 설정된 일정한 기준 이상임을 감지할 수 있다.The intermittency detection unit 326 then requests the bandwidth usage of the disks 330 of the first virtual machine 311, the second virtual machine 312 and the third virtual machine 313 among the plurality of virtual machines 310 It can be detected that the level is equal to or higher than a preset reference.

여기서, 간헐성 감지부(326)는 미리 설정된 임계값과 각 가상 머신의 디스크(330) 대역폭 사용에 대한 요청의 간헐성을 비교하여 일정한 기준 이상인지 판단할 수 있다.Here, the intermittency detecting unit 326 may compare the intermittency of the request for the use of the bandwidth of the disk 330 of each virtual machine with a predetermined threshold value to determine whether the intermittency is equal to or greater than a predetermined reference value.

미리 설정된 임계값은 각 가상 머신의 디스크(330) 사용에 대한 요청이 지속되는 시간 또는 요청되는 주기를 비교할 수 있는 값으로 설정될 수 있다.The predetermined threshold value may be set to a value at which a request for use of the disk 330 of each virtual machine is maintained or a period in which the requested period is compared.

이후, 대역폭 할당 스케줄러(bandwidth allocation scheduler)(327)는 일정한 기준 이상으로 디스크(330)의 대역폭 사용을 요청하는 것으로 감지된 제1 가상 머신(311), 제2 가상 머신(312) 및 제3 가상 머신(313)에 디스크의 대역폭을 할당할 수 있다.Thereafter, the bandwidth allocation scheduler 327 allocates the first virtual machine 311, the second virtual machine 312, and the third virtual machine 311, which are detected to request the use of the bandwidth of the disk 330 by a predetermined criterion or more, The bandwidth of the disk can be allocated to the machine 313.

반면, 대역폭 할당 스케줄러(327)는 일정한 기준 미만으로 디스크(330)의 대역폭 사용을 요청하는 것으로 감지된 제4 가상 머신(314)에는 제4 장치 드라이버(324)를 통해, 디스크(330)의 최소 대역폭을 할당할 수 있다.On the other hand, the bandwidth allocation scheduler 327 instructs the fourth virtual machine 314, which is detected to request the bandwidth use of the disk 330 less than a predetermined criterion, through the fourth device driver 324, You can allocate bandwidth.

여기서, 대역폭 할당 스케줄러(327)는 미리 설정된 시간 단위로 각 가상 머신에 디스크(330)의 대역폭을 할당할 수 있다.Here, the bandwidth allocation scheduler 327 can allocate the bandwidth of the disk 330 to each virtual machine at predetermined time intervals.

구체적으로, 대역폭 할당 스케줄러(327)는 제2 장치 드라이버(322)를 통해, 제2 가상 머신(322)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당할 수 있다.Specifically, the bandwidth allocation scheduler 327 can allocate the maximum bandwidth of the disk 330 to the second virtual machine 322 through the second device driver 322 for a preset time.

또한, 대역폭 할당 스케줄러(327)는 제2 가상 머신(322)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당하는 동안, 제1 가상 머신(311) 및 제3 가상 머신(313)에는 디스크(330)의 최소 대역폭을 할당할 수 있다.The bandwidth allocation scheduler 327 allocates the maximum bandwidth of the disk 330 to the second virtual machine 322 for a preset time while the first virtual machine 311 and the third virtual machine 313 are allocated a disk The minimum bandwidth of the mobile station 330 may be allocated.

이후, 대역폭 할당 스케줄러(327)는 미리 설정된 시간 이후, 제1 장치 드라이버(321)를 통해, 제1 가상 머신(311)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당할 수 있다.The bandwidth allocation scheduler 327 may then allocate the maximum bandwidth of the disk 330 for a preset time to the first virtual machine 311 via the first device driver 321 after a predetermined time.

또한, 대역폭 할당 스케줄러(327)는 제1 가상 머신(311)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당하는 동안, 제2 가상 머신(312) 및 제3 가상 머신(313)에는 디스크(330)의 최소 대역폭을 할당할 수 있다.The bandwidth allocation scheduler 327 allocates the maximum bandwidth of the disk 330 to the first virtual machine 311 while allocating the maximum bandwidth of the disk 330 to the second virtual machine 312 and the third virtual machine 313, The minimum bandwidth of the mobile station 330 may be allocated.

이후, 대역폭 할당 스케줄러(327)는 미리 설정된 시간 이후, 제3 장치 드라이버(323)를 통해, 제3 가상 머신(313)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당할 수 있다.The bandwidth allocation scheduler 327 may then allocate the maximum bandwidth of the disk 330 for a preset time to the third virtual machine 313 via the third device driver 323 after a predetermined time.

또한, 대역폭 할당 스케줄러(327)는 제3 가상 머신에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당하는 동안, 제1 가상 머신(311) 및 제2 가상 머신(312)에는 디스크(330)의 최소 대역폭을 할당할 수 있다.The bandwidth allocation scheduler 327 also allocates the disk 330 to the first virtual machine 311 and the second virtual machine 312 while allocating the maximum bandwidth of the disk 330 for a preset time to the third virtual machine. Of the minimum bandwidth.

여기서, 대역폭 할당 스케줄러(327)가 디스크(330)의 최대 대역폭을 할당하는 순서는 가상화 환경에서 디스크에 빠르게 접근할 수 있는 가상 머신을 우선적으로 선택할 수 있다.
Here, the order in which the bandwidth allocation scheduler 327 allocates the maximum bandwidth of the disk 330 may preferentially select a virtual machine that can quickly access the disk in a virtualized environment.

도 4는 본 발명의 일 실시예에 따른 가상화 환경에서의 대역폭 할당 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a bandwidth allocation method in a virtualization environment according to an embodiment of the present invention.

도 4를 참조하면, 가상화 환경에서의 대역폭 할당 방법은 대역폭 할당 장치에서 수행될 수 있다.Referring to FIG. 4, a bandwidth allocation method in a virtualized environment can be performed in a bandwidth allocation apparatus.

여기서, 대역폭 할당 장치는 가상화 환경을 구현하는 물리 머신(physical machine)을 의미할 수 있으며, 예를 들어 컴퓨터(computer)를 의미할 수 있다. 또한, 물리 머신은 가상화 환경을 구현하기 위해 복수의 가상 머신(virtual machine)을 포함할 수 있다.Here, the bandwidth allocation device may refer to a physical machine that implements a virtualized environment, for example, a computer. In addition, the physical machine may include a plurality of virtual machines to implement a virtualized environment.

먼저, 대역폭 할당 장치는 가상화 환경에 포함된 복수의 가상 머신으로부터 디스크의 대역폭 사용 요청을 수신할 수 있다(S100).First, the bandwidth allocation device may receive a bandwidth use request of a disk from a plurality of virtual machines included in a virtualization environment (SlOO).

여기서, 복수의 가상 머신 중 각 가상 머신은 자신의 장치 드라이버를 통해 디스크의 대역폭을 사용하기 위한 요청을 할 수 있다.Here, each virtual machine among a plurality of virtual machines can make a request to use the bandwidth of the disk through its own device driver.

이후, 대역폭 할당 장치는 수신된 디스크의 대역폭 사용 요청에 대한 간헐성을 감지할 수 있다(S200).Thereafter, the bandwidth allocation device may detect the intermittency of the bandwidth utilization request of the received disk (S200).

간헐성은 가상 머신으로부터 수신되는 디스크의 대역폭 사용에 대한 요청의 지속 시간 또는 요청의 수신 주기 등을 의미할 수 있다. 또한, 간헐성은 크기가 클수록 수신되는 요청의 지속 시간이 길거나, 요청의 수신 주기가 짧은 것을 의미할 수 있다.The intermittency may mean the duration of the request for bandwidth usage of the disk received from the virtual machine or the period of the request reception. Also, the intermittency may mean that the larger the size, the longer the duration of the received request, or the shorter the period in which the request is received.

이후, 대역폭 할당 장치는 감지된 가상 머신의 간헐성을 기반으로 복수의 가상 머신 중 적어도 하나의 가상 머신에 미리 설정된 시간 단위로 디스크의 대역폭을 할당할 수 있다(S300).In step S300, the bandwidth allocation apparatus allocates the bandwidth of the disk to the at least one virtual machine among the plurality of virtual machines based on the intermittency of the detected virtual machine.

도 5를 참조하여, 대역폭 할당 장치가 미리 설정된 시간 단위로 디스크의 대역폭을 할당하는 방법을 구체적으로 설명한다.
Referring to FIG. 5, a method of allocating a bandwidth of a disk by a predetermined time unit will be described in detail.

도 5는 도 4에 도시된 미리 설정된 시간 단위로 디스크의 대역폭을 할당하는 방법을 나타내는 흐름도이다.FIG. 5 is a flowchart illustrating a method of allocating a bandwidth of a disk in a predetermined time unit shown in FIG.

도 5를 참조하면, 대역폭 할당 장치는 감지된 간헐성을 미리 설정된 임계값과 비교할 수 있다(S310).Referring to FIG. 5, the bandwidth allocation device may compare the sensed intermittency to a preset threshold value (S310).

여기서, 미리 설정된 임계값은 가상 머신의 디스크 대역폭 사용 요청에 대한 간헐성과 비교 가능한 값으로 설정될 수 있다.Here, the preset threshold value may be set to a value comparable to the intermittency of the virtual machine's disk bandwidth use request.

예를 들어, 가상 머신의 간헐성을 시간으로 설정할 경우, 가상 머신의 디스크 대역폭 사용 요청의 지속 시간과 비교 가능한 일정한 시간 값을 임계값으로 설정할 수 있다.For example, when the intermittency of a virtual machine is set as a time, a predetermined time value that can be compared with a duration of a disk bandwidth use request of a virtual machine can be set as a threshold value.

또한, 가상 머신의 간헐성을 주기로 설정할 경우, 가상 머신의 디스크 대역폭 사용 요청의 주기와 비교 가능한 일정한 주기 값을 임계값으로 설정할 수 있다.In addition, when the intermittency of the virtual machine is set to be a period, a predetermined period value which can be compared with the period of the disk bandwidth use request of the virtual machine can be set as the threshold value.

이후, 대역폭 할당 장치는 복수의 가상 머신 중 간헐성이 미리 설정된 임계값 보다 큰 적어도 하나의 가상 머신을 선택할 수 있다(S320).Thereafter, the bandwidth allocation device may select at least one virtual machine having intermittency greater than a preset threshold value among the plurality of virtual machines (S320).

도 6을 참조하여, 대역폭 할당 장치가 간헐성이 미리 설정된 임계값 보다 큰 적어도 하나의 가상 머신을 선택하는 방법을 구체적으로 설명한다.
Referring to FIG. 6, a method of selecting at least one virtual machine whose intermittency is greater than a predetermined threshold value will be described in detail.

도 6은 도 5에 도시된 간헐성과 임계값의 비교 결과를 기반으로 가상 머신을 선택하는 방법을 나타내는 흐름도이다.FIG. 6 is a flowchart illustrating a method of selecting a virtual machine based on a comparison result of the intermittency and the threshold shown in FIG.

도 6을 참조하면, 대역폭 할당 장치는 가상 머신의 간헐성을 미리 설정된 임계값과 비교할 수 있다(S321)Referring to FIG. 6, the bandwidth allocation device may compare the intermittency of the virtual machine with a preset threshold value (S321)

여기서, 대역폭 할당 장치는 임계값을 가상 머신의 간헐성과 비교 가능한, 특정 시간 값 또는 주기로 설정할 수 있다.Here, the bandwidth allocation device can set the threshold value to a specific time value or period that can be compared with the intermittency of the virtual machine.

예를 들어, 대역폭 할당 장치는 가상 머신의 디스크 대역폭 사용 요청에 대한 간헐성을 요청의 지속 시간으로 가정할 경우, 임계값을 지속 시간을 비교할 수 있는 시간 기준값으로 설정할 수 있다.For example, if the bandwidth allocation device assumes that the intermittency of the virtual machine's disk bandwidth use request is the duration of the request, the threshold value may be set as a time reference value with which the duration can be compared.

또는, 대역폭 할당 장치는 가상 머신의 디스크 대역폭 사용 요청에 대한 간헐성을 요청의 주기로 가정할 경우, 임계값을 주기를 비교할 수 있는 특정 주기값으로 설정할 수 있다.Alternatively, if the bandwidth allocation device assumes that the intermittency of the virtual machine's disk bandwidth use request is the period of the request, the threshold value may be set to a specific period value at which the period can be compared.

대역폭 할당 장치는 가상 머신의 간헐성이 미리 설정된 임계값 보다 큰 경우, 해당 가상 머신을 디스크의 최대 대역폭을 할당할 가상 머신으로 선택할 수 있다(S322).If the intermittency of the virtual machine is greater than a preset threshold value, the bandwidth allocation apparatus may select the virtual machine as a virtual machine to which the maximum bandwidth of the disk is to be allocated (S322).

반면, 대역폭 할당 장치는 가상 머신의 간헐성이 미리 설정된 임계값 보다 작은 경우, 해당 가상 머신에 디스크의 최소 대역폭을 할당할 수 있다(S323).On the other hand, if the intermittency of the virtual machine is smaller than a predetermined threshold value, the bandwidth allocation apparatus can allocate the minimum bandwidth of the disk to the virtual machine (S323).

대역폭 할당 장치는 상기와 같은 단계 S321 및 S322를 통해 복수의 가상 머신 중 디스크의 최대 대역폭을 할당할 적어도 하나의 가상 머신을 선택할 수 있다.
The bandwidth allocation device may select at least one virtual machine to allocate the maximum bandwidth of the disk among the plurality of virtual machines through steps S321 and S322 as described above.

다시 도 5를 참조하면, 대역폭 할당 장치는 선택된 적어도 하나의 가상 머신에 미리 설정된 시간 단위로 디스크의 최대 대역폭을 할당할 수 있다(S330).Referring again to FIG. 5, the bandwidth allocation device may allocate the maximum bandwidth of the disk to the selected at least one virtual machine at preset time intervals (S330).

구체적으로, 대역폭 할당 장치는 선택된 적어도 하나의 가상 머신 중 제1 가상 머신에 미리 설정된 제1 시간 구간 동안 디스크의 최대 대역폭을 할당할 수 있다.In particular, the bandwidth allocation device may allocate the maximum bandwidth of the disk for a first time interval preset in the first virtual machine of the selected at least one virtual machine.

또한, 대역폭 할당 장치는 제1 시간 구간 동안, 적어도 하나의 가상 머신 중 제1 가상 머신을 제외한 나머지 가상 머신에 디스크의 최소 대역폭을 할당할 수 있다.In addition, the bandwidth allocation device may allocate the minimum bandwidth of the disk to the remaining virtual machines of the at least one virtual machine during the first time interval.

이후, 대역폭 할당 장치는 선택된 적어도 하나의 가상 머신 중 제2 가상 머신에 미리 설정된 제2 시간 구간 동안 디스크의 최대 대역폭을 할당할 수 있다.The bandwidth allocation device may then allocate the maximum bandwidth of the disk for a second time interval preset in the second virtual machine of the selected at least one virtual machine.

또한, 대역폭 할당 장치는 제2 시간 구간 동안, 적어도 하나의 가상 머신 중 제2 가상 머신을 제외한 나머지 가상 머신에 미리 설정된 시간 동안 디스크의 최소 대역폭을 할당할 수 있다.In addition, the bandwidth allocation device may allocate the minimum bandwidth of the disk for a preset time to the remaining virtual machines of the at least one virtual machine during the second time interval.

여기서, 대역폭 할당 장치가 적어도 하나의 가상 머신에 디스크의 대역폭을 할당하는 제1 시간 구간 및 제2 시간 구간은 시간의 흐름에 따라 연속하는 시간 구간을 의미할 수 있다.Here, the first time period and the second time period in which the bandwidth allocation device allocates the bandwidth of the disk to at least one virtual machine may mean a continuous time period according to the flow of time.

상술한 바와 같은 방법을 통해, 본 발명에 따른 대역폭 할당 장치는 미리 설정된 시간 단위로 복수의 가상 머신에 디스크의 최대 대역폭을 할당할 수 있다.
Through the above-described method, the bandwidth allocation apparatus according to the present invention can allocate the maximum bandwidth of a disk to a plurality of virtual machines in a predetermined time unit.

도 7은 본 발명의 일 실시예에 따른 가상화 환경에서의 대역폭 할당 장치를 나타내는 블록도이다.7 is a block diagram illustrating a bandwidth allocation apparatus in a virtualization environment according to an embodiment of the present invention.

도 7을 참조하면, 가상화 환경에서의 대역폭 할당 장치(400)는 도 3 내지 도6을 참조하여 설명한 대역폭 할당 방법을 수행할 수 있으며, 처리부(410) 및 저장부(420)을 포함할 수 있다.Referring to FIG. 7, the bandwidth allocation apparatus 400 in the virtualized environment may perform the bandwidth allocation method described with reference to FIGS. 3 to 6, and may include a processing unit 410 and a storage unit 420 .

대역폭 할당 장치(400)의 처리부(410)는 간헐성 감지부(burstiness detector), 대역폭 할당 스케줄러(bandwidth allocation scheduler)를 포함할 수 있다.The processing unit 410 of the bandwidth allocation apparatus 400 may include a burstiness detector and a bandwidth allocation scheduler.

처리부(410)는 간헐성 감지부를 통해, 가상화 환경에 포함된 복수의 가상 머신의 디스크 대역폭 사용 요청에 대한 간헐성을 감지할 수 있다.The processing unit 410 can sense the intermittency of the disk bandwidth use requests of the plurality of virtual machines included in the virtualization environment through the intermittent sensing unit.

처리부(410)에서 수행되는 복수의 가상 머신의 디스크 대역폭 사용 요청에 대한 간헐성을 감지하는 구체적인 방법은 도 4의 단계 S200을 참조하여 설명한 바와 동일할 수 있다.A specific method of detecting intermittency of a disk bandwidth use request of a plurality of virtual machines performed in the processing unit 410 may be the same as that described with reference to step S200 of FIG.

또한, 처리부(410)는 간헐성 감지부를 통해, 감지된 간헐성을 미리 설정된 임계값과 비교하여, 복수의 가상 머신 중 간헐성이 미리 설정된 임계값 보다 큰 적어도 하나의 선택할 수 있다.Also, the processing unit 410 may compare at least one of the plurality of virtual machines with the intermittency detected by the intermittency detecting unit to a preset threshold value, and to select at least one intermittency greater than a preset threshold value.

이후, 처리부(410)는 선택된 적어도 하나의 가상 머신에 미리 설정된 시간 단위로 디스크의 최대 대역폭을 할당할 수 있다.Then, the processing unit 410 may allocate the maximum bandwidth of the disk to the selected at least one virtual machine in a predetermined time unit.

여기서, 처리부(410)는 선택된 적어도 하나의 가상 머신 중 하나의 가상 머신에 미리 설정된 시간 동안 디스크의 최대 대역폭을 할당할 수 있고, 최대 대역폭을 할당하는 가상 머신을 제외한 나머지 가상 머신에는 디스크의 최소 대역폭을 할당할 수 있다.Here, the processing unit 410 may allocate the maximum bandwidth of the disk to the virtual machine of one of the selected at least one virtual machine for a predetermined time, and the remaining virtual machines other than the virtual machine that allocates the maximum bandwidth, . ≪ / RTI >

처리부(410)에서 수행되는 복수의 가상 머신의 디스크 대역폭 사용에 대한 간헐성을 기반으로 적어도 하나의 가상 머신을 선택하고, 디스크의 대역폭을 할당하는 구체적인 방법은 도 5의 단계 S320 및 S330을 참조하여 설명한 바와 동일할 수 있다.A specific method of selecting at least one virtual machine based on the intermittence of the disk bandwidth usage of a plurality of virtual machines performed in the processing unit 410 and allocating the bandwidth of the disk will be described with reference to steps S320 and S330 of FIG. ≪ / RTI >

여기서, 처리부(410)는 프로세서(processor) 및 메모리(memory)를 포함할 수 있다. 프로세서는 범용의 프로세서(예를 들어, CPU(Central Processing Unit)등) 또는 가상화 환경에서의 대역폭 할당 방법을 위한 전용의 프로세서를 의미할 수 있다. 메모리에는 가상화 환경에서의 대역폭 할당 방법을 위한 프로그램 코드(program code)가 저장될 수 있다. 즉, 프로세서는 메모리에 저장된 프로그램 코드를 독출할 수 있고, 독출된 프로그램 코드를 기반으로 가상화 환경에서의 대역폭 할당 방법의 각 단계를 수행할 수 있다.Here, the processing unit 410 may include a processor and a memory. A processor may refer to a general purpose processor (e.g., a Central Processing Unit (CPU)) or a dedicated processor for bandwidth allocation in a virtualized environment. The memory may store program code for a bandwidth allocation method in a virtualized environment. That is, the processor can read the program code stored in the memory, and can perform each step of the bandwidth allocation method in the virtualization environment based on the read program code.

저장부(420)는 처리부(410)에서 처리된 정보 및 처리되는 정보를 저장할 수 있다. 예를 들어, 저장부(420)는 미리 설정된 임계값, 미리 설정된 시간 단위, 가상 머신의 디스크 대역폭 사용에 대한 요청의 간헐성 등을 저장할 수 있다.
The storage unit 420 may store information processed by the processing unit 410 and processed information. For example, the storage unit 420 may store a predetermined threshold, a predetermined time unit, intermittent requests for use of the disk bandwidth of the virtual machine, and the like.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. It will be possible.

110 : 하드 디스크 120 : 섹터
310 : 복수의 가상 머신 311 : 제1 가상 머신
312 : 제2 가상 머신 313 : 제3 가상 머신
314 : 제4 가상 머신 320 : 컨트롤 도메인
321 : 제1 장치 드라이버 322 : 제2 장치 드라이버
323 : 제3 장치 드라이버 324 : 제4 장치 드라이버
325 : 입출력 대역폭 스케줄러 326 : 간헐성 감지부
327 : 대역폭 할당 스케줄러 328 : 입출력 스케줄러
329 : 요청 제한부 330 : 디스크
110: hard disk 120: sector
310: plurality of virtual machines 311: first virtual machine
312: second virtual machine 313: third virtual machine
314: fourth virtual machine 320: control domain
321: first device driver 322: second device driver
323: Third device driver 324: Fourth device driver
325 I / O bandwidth scheduler 326 Intermittent sensing unit
327: bandwidth allocation scheduler 328: input / output scheduler
329: request limiting unit 330: disk

Claims (14)

가상화 환경을 구현하는 물리 머신(physical machine)에서 수행되는 대역폭 할당 방법에 있어서,
상기 가상화 환경에 포함된 복수의 가상 머신(virtual machine)으로부터 디스크(disk)의 대역폭 사용 요청을 수신하는 단계;
상기 디스크 대역폭의 사용 요청에 대한 간헐성(burstiness)을 감지하는 단계;
상기 간헐성을 미리 설정된 임계값과 비교하는 단계; 및
상기 복수의 가상 머신 중 상기 임계값 보다 큰 간헐성을 가지는 적어도 하나의 가상 머신을 선택하고, 상기 임계값 보다 큰 간헐성을 가지는 적어도 하나의 가상 머신에 미리 설정된 시간 단위로 상기 디스크의 최대 대역폭을 할당하는 단계를 포함하는 가상화 환경에서의 대역폭 할당 방법.
A bandwidth allocation method performed by a physical machine implementing a virtualization environment,
Receiving a bandwidth use request of a disk from a plurality of virtual machines included in the virtualization environment;
Detecting burstiness of the disk bandwidth usage request;
Comparing the intermittency with a preset threshold value; And
Selecting at least one virtual machine having an intermittency greater than the threshold value among the plurality of virtual machines and allocating a maximum bandwidth of the disk to the at least one virtual machine having a intermittency greater than the threshold in units of a preset time A method for allocating bandwidth in a virtualized environment, the method comprising:
청구항 1에 있어서,
상기 간헐성은,
상기 복수의 가상 머신으로부터 수신되는 상기 디스크 대역폭 사용 요청의 지속적인 정도 또는 주기를 의미하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.
The method according to claim 1,
The above-
Wherein the disk bandwidth usage request is a persistence level or a period of the disk bandwidth use request received from the plurality of virtual machines.
삭제delete 청구항 1에 있어서,
상기 가상화 환경에서의 대역폭 할당 방법은,
상기 복수의 가상 머신 중 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신을 선택하는 단계; 및
상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신에 상기 디스크의 최소 대역폭을 할당하는 단계를 포함하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.
The method according to claim 1,
The bandwidth allocation method in the virtualization environment includes:
Selecting at least one virtual machine having intermittency below the threshold among the plurality of virtual machines; And
Allocating a minimum bandwidth of the disk to at least one virtual machine having an intermittency equal to or less than the threshold value.
청구항 1에 있어서,
상기 디스크의 최대 대역폭을 할당하는 단계는,
상기 적어도 하나의 가상 머신 중 제1 가상 머신에 미리 설정된 제1 시간 구간 동안 상기 디스크의 최대 대역폭을 할당하는 단계; 및
상기 적어도 하나의 가상 머신 중 상기 제1 가상 머신을 제외한 가상 머신에 상기 제1 시간 구간 동안 상기 디스크의 최소 대역폭을 할당하는 단계를 포함하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.
The method according to claim 1,
Wherein allocating the maximum bandwidth of the disk comprises:
Allocating a maximum bandwidth of the disk for a first time interval preset in a first virtual machine of the at least one virtual machine; And
Allocating a minimum bandwidth of the disk during the first time interval to a virtual machine other than the first virtual machine among the at least one virtual machine.
청구항 5에 있어서,
상기 디스크의 최대 대역폭을 할당하는 단계는,
상기 제1 시간 구간에 대한 상기 디스크의 대역폭을 할당한 후, 상기 적어도 하나의 가상 머신 중 제2 가상 머신에 상기 제1 시간 구간과 연속하는 제2 시간 구간 동안 상기 디스크의 최대 대역폭을 할당하는 단계; 및
상기 적어도 하나의 가상 머신 중 상기 제2 가상 머신을 제외한 가상 머신에 상기 제2 시간 구간 동안 상기 디스크의 최소 대역폭을 할당하는 단계를 포함하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.
The method of claim 5,
Wherein allocating the maximum bandwidth of the disk comprises:
Allocating a bandwidth of the disk for the first time interval and allocating a maximum bandwidth of the disk to a second virtual machine of the at least one virtual machine during a second time interval continuous with the first time interval; ; And
Allocating a minimum bandwidth of the disk during the second time interval to a virtual machine other than the second virtual machine among the at least one virtual machine.
청구항 1에 있어서,
상기 디스크의 최대 대역폭을 할당하는 단계는,
상기 적어도 하나의 가상 머신 중 상기 디스크에 접근이 가장 용이한 가상 머신을 우선적으로 선택하여 상기 미리 설정된 시간 동안 상기 디스크의 최대 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.
The method according to claim 1,
Wherein allocating the maximum bandwidth of the disk comprises:
And allocating a maximum bandwidth of the disk for the predetermined time by preferentially selecting a virtual machine that is the most accessible from among the at least one virtual machine.
가상화 환경에서 동작하는 대역폭 할당 장치로서,
상기 가상화 환경에 포함된 복수의 가상 머신(virtual machine)으로부터 디스크(disk)의 대역폭 사용 요청을 수신하고, 상기 디스크 대역폭의 사용 요청에 대한 간헐성(burstiness)을 감지하고, 상기 간헐성을 미리 설정된 임계값과 비교하고, 상기 복수의 가상 머신 중 상기 임계값 보다 큰 간헐성을 가지는 적어도 하나의 가상 머신을 선택하고, 상기 임계값 보다 큰 간헐성을 가지는 적어도 하나의 가상 머신에 미리 설정된 시간 단위로 상기 디스크의 최대 대역폭을 할당하는 처리부; 및
상기 처리부에서 처리된 정보 및 처리되는 정보를 저장하는 저장부를 포함하는 가상화 환경에서의 대역폭 할당 장치.
A bandwidth allocation device operating in a virtualized environment,
Receiving a bandwidth use request of a disk from a plurality of virtual machines included in the virtualization environment, detecting a burstiness of a use request of the disk bandwidth, and determining the intermittency as a preset threshold value Selecting at least one virtual machine having an intermittency greater than the threshold value among the plurality of virtual machines and setting a maximum value of the disk in a predetermined unit time in at least one virtual machine having intermittency greater than the threshold value A processing unit for allocating a bandwidth; And
And a storage unit for storing information processed and processed by the processing unit.
청구항 8에 있어서,
상기 간헐성은,
상기 복수의 가상 머신으로부터 수신되는 상기 디스크 대역폭 사용 요청의 지속적인 정도 또는 주기를 의미하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.
The method of claim 8,
The above-
Means a continuous level or period of the disk bandwidth use request received from the plurality of virtual machines.
삭제delete 청구항 8에 있어서,
상기 처리부는,
상기 복수의 가상 머신 중 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신을 선택하고, 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신에 상기 디스크의 최소 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.
The method of claim 8,
Wherein,
Selecting at least one virtual machine having an intermittency equal to or lower than the threshold value among the plurality of virtual machines and allocating a minimum bandwidth of the disk to at least one virtual machine having intermittency equal to or less than the threshold value Of bandwidth allocation apparatus.
청구항 8에 있어서,
상기 처리부는,
상기 디스크의 최대 대역폭을 할당하는 경우, 상기 적어도 하나의 가상 머신 중 제1 가상 머신에 미리 설정된 제1 시간 구간 동안 상기 디스크의 최대 대역폭을 할당하고, 상기 적어도 하나의 가상 머신 중 상기 제1 가상 머신을 제외한 가상 머신에 상기 제1 시간 구간 동안 상기 디스크의 최소 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.
The method of claim 8,
Wherein,
Allocating a maximum bandwidth of the disk for a first time interval preset in a first virtual machine of the at least one virtual machine when the maximum bandwidth of the disk is allocated, Wherein the minimum bandwidth of the disk is allocated to the virtual machine except for the first time interval.
청구항 12에 있어서,
상기 처리부는,
상기 디스크의 최대 대역폭을 할당하는 경우, 상기 제1 시간 구간에 대한 상기 디스크의 대역폭을 할당한 후, 상기 적어도 하나의 가상 머신 중 제2 가상 머신에 상기 제1 시간 구간과 연속하는 제2 시간 구간 동안 상기 디스크의 최대 대역폭을 할당하고, 상기 적어도 하나의 가상 머신 중 상기 제2 가상 머신을 제외한 가상 머신에 상기 제2 시간 구간 동안 상기 디스크의 최소 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.
The method of claim 12,
Wherein,
And allocating a bandwidth of the disk for the first time interval to a second virtual machine of the at least one virtual machine when a maximum bandwidth of the disk is allocated, And allocating a minimum bandwidth of the disk during the second time period to a virtual machine excluding the second virtual machine among the at least one virtual machine. Allocation device.
청구항 8에 있어서,
상기 처리부는,
상기 디스크의 최대 대역폭을 할당하는 경우, 상기 적어도 하나의 가상 머신 중 상기 디스크에 접근이 가장 용이한 가상 머신을 우선적으로 선택하여 상기 미리 설정된 시간 동안 상기 디스크의 최대 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.
The method of claim 8,
Wherein,
Wherein when allocating a maximum bandwidth of the disk, a virtual machine which is most easily accessed from among the at least one virtual machine is preferentially selected and the maximum bandwidth of the disk is allocated for the predetermined time. An apparatus for allocating bandwidth in an environment.
KR1020140023440A 2014-02-27 2014-02-27 Method for bandwidth allocation in virtualizaion environment and apparatus therefor KR101583129B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140023440A KR101583129B1 (en) 2014-02-27 2014-02-27 Method for bandwidth allocation in virtualizaion environment and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140023440A KR101583129B1 (en) 2014-02-27 2014-02-27 Method for bandwidth allocation in virtualizaion environment and apparatus therefor

Publications (2)

Publication Number Publication Date
KR20150101763A KR20150101763A (en) 2015-09-04
KR101583129B1 true KR101583129B1 (en) 2016-01-07

Family

ID=54242814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140023440A KR101583129B1 (en) 2014-02-27 2014-02-27 Method for bandwidth allocation in virtualizaion environment and apparatus therefor

Country Status (1)

Country Link
KR (1) KR101583129B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101899719B1 (en) * 2017-04-26 2018-09-17 세종대학교산학협력단 Method for limiting i/o performance of virtual machine
KR102283364B1 (en) * 2019-11-29 2021-07-29 세종대학교산학협력단 Method for controlling bandwidth in virtualized environment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155223A1 (en) * 2006-12-21 2008-06-26 Hiltgen Daniel K Storage Architecture for Virtual Machines

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101179628B1 (en) * 2009-03-05 2012-09-04 한국전자통신연구원 Method and system using range bandwidth for controlling disk i/o
US9372712B2 (en) * 2009-12-17 2016-06-21 International Business Machines Corporation Optimizing virtual storage size in a virtual computer system based on information related to virtual machines, user inputs and/or configuration parameters
KR101493827B1 (en) * 2011-07-04 2015-02-17 주식회사 케이티 Apparatus of migrating from physical server to virtual server and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080155223A1 (en) * 2006-12-21 2008-06-26 Hiltgen Daniel K Storage Architecture for Virtual Machines

Also Published As

Publication number Publication date
KR20150101763A (en) 2015-09-04

Similar Documents

Publication Publication Date Title
US10877677B2 (en) Storage tiering based on virtual machine operations and virtual volume type
EP2564321B1 (en) Memory usage scanning
US10318156B2 (en) Invoking input/output (I/O) threads on processors to demote tracks from a cache
JP5073673B2 (en) Prioritizing performance on multithreaded processors
KR101675199B1 (en) Heterogenous memory access
US7401198B2 (en) Maximizing storage system throughput by measuring system performance metrics
US9971689B2 (en) Invoking input/output (I/O) threads and demote threads on processors to demote tracks from a cache
US10642755B2 (en) Invoking demote threads on processors to demote tracks from a cache based on free cache segments
US9852008B2 (en) Computer-readable recording medium storing execution information notification program, information processing apparatus, and information processing system
US11340945B2 (en) Memory congestion aware NUMA management
US9720600B2 (en) Apparatus and method for transferring data between storages having different access speeds
US9626110B2 (en) Method for selecting a page for migration based on access path information and response performance information
US10198180B2 (en) Method and apparatus for managing storage device
CN113625973B (en) Data writing method, device, electronic equipment and computer readable storage medium
US9817583B2 (en) Storage system and method for allocating virtual volumes based on access frequency
US10474383B1 (en) Using overload correlations between units of managed storage objects to apply performance controls in a data storage system
KR101583129B1 (en) Method for bandwidth allocation in virtualizaion environment and apparatus therefor
US9563651B2 (en) Storage control device and storage control method
US20130332690A1 (en) Memory Systems and Memory Managing Methods of Managing Memory in a Unit of Memory Chunk
US10007437B2 (en) Management apparatus, storage system, method, and computer readable medium
KR102190688B1 (en) Method and system for performing adaptive context switching cross reference to related applications
KR20170061048A (en) Device for measuring delay time of virtual system based on hypervisor and virtual system including thereof
WO2023159392A1 (en) Cache based memory access tracking
JP6900687B2 (en) Disk control device, disk control method, and disk control program
US10209888B2 (en) Computer and optimization method

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
FPAY Annual fee payment

Payment date: 20181108

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 5