KR101583129B1 - Method for bandwidth allocation in virtualizaion environment and apparatus therefor - Google Patents
Method for bandwidth allocation in virtualizaion environment and apparatus therefor Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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.
Description
본 발명은 가상화 환경에서 대역폭을 할당하는 방법에 관한 것으로, 더욱 상세하게는 가상화 환경에서 가상 머신에 일정 시간 단위로 대역폭을 할당하는 방법 및 장치에 관한 것이다.BACKGROUND OF THE
가상화(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
하드 디스크(110)는 회전을 통하여 동일한 트랙(track)의 다음 섹터(120)로 접근할 수 있으며, 서로 다른 트랙의 섹터(120)에 접근하기 위해서는 트랙을 먼저 이동한 후 다시 회전을 통하여 순차적으로 섹터(120)에 접근할 수 있다.The
이와 같은 구조는 복수의 가상 머신(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
먼저, 각 가상 머신은 파티션의 섹터(120)에 접근을 시도하기 때문에 디스크 탐색 거리가 크게 증가함으로써 불필요한 오버헤드(overhead)로 인해 성능 저하가 발생할 수 있다.First, since each virtual machine tries to access the
또한, 가상 머신들 간의 많은 문맥 전환(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
예를 들어, 복수의 가상 머신(310)은 제1 가상 머신(311), 제2 가상 머신(312), 제3 가상 머신(313) 및 제4 가상 머신(314)를 포함할 수 있다.For example, the plurality of
여기서, 복수의 가상 머신(310)에 포함된 각 가상 머신은 자신에게 해당하는 장치 드라이버(device driver)를 통해 디스크(330)의 대역폭 사용에 대한 요청을 할 수 있다.Here, each virtual machine included in the plurality of
구체적으로, 도 3에 도시된 바와 같이, 제1 가상 머신(311)은 제1 장치 드라이버(321), 제2 가상 머신(312)은 제2 장치 드라이버(322), 제3 가상 머신(313)은 제3 장치 드라이버(323), 제4 가상 머신(314)은 제4 장치 드라이버(324)를 가질 수 있다.3, the first
복수의 가상 머신(310)은 각 장치 드라이버를 통해 디스크(330)의 대역폭 사용을 위한 요청을 할 수 있다.The plurality of
이후, 각 장치 드라이버는 각 가상 머신이 디스크(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 /
이후, 입출력 대역폭 스케줄러(325)는 간헐성 감지부(burstiness detector)(326)를 통해, 각 가상 머신의 디스크(330)의 대역폭 사용을 위한 요청에 대하여 간헐성을 감지할 수 있다.Thereafter, the input /
여기서, 간헐성은 가상 머신이 디스크(330)의 대역폭을 사용하기 위해 요청하는 신호의 지속적인 정도를 의미할 수 있다. 예를 들어, 간헐성은, 가상 머신의 요청이 지속되는 시간 또는 요청하는 주기 등을 의미할 수 있다.Here, the intermittency may mean a continuous level of the signal that the virtual machine requests to use the bandwidth of the
이후, 간헐성 감지부(326)는 복수의 가상 머신(310) 중 제1 가상 머신(311), 제2 가상 머신(312) 및 제3 가상 머신(313)의 디스크(330) 대역폭 사용에 대한 요청 수준이 미리 설정된 일정한 기준 이상임을 감지할 수 있다.The
여기서, 간헐성 감지부(326)는 미리 설정된 임계값과 각 가상 머신의 디스크(330) 대역폭 사용에 대한 요청의 간헐성을 비교하여 일정한 기준 이상인지 판단할 수 있다.Here, the
미리 설정된 임계값은 각 가상 머신의 디스크(330) 사용에 대한 요청이 지속되는 시간 또는 요청되는 주기를 비교할 수 있는 값으로 설정될 수 있다.The predetermined threshold value may be set to a value at which a request for use of the
이후, 대역폭 할당 스케줄러(bandwidth allocation scheduler)(327)는 일정한 기준 이상으로 디스크(330)의 대역폭 사용을 요청하는 것으로 감지된 제1 가상 머신(311), 제2 가상 머신(312) 및 제3 가상 머신(313)에 디스크의 대역폭을 할당할 수 있다.Thereafter, the
반면, 대역폭 할당 스케줄러(327)는 일정한 기준 미만으로 디스크(330)의 대역폭 사용을 요청하는 것으로 감지된 제4 가상 머신(314)에는 제4 장치 드라이버(324)를 통해, 디스크(330)의 최소 대역폭을 할당할 수 있다.On the other hand, the
여기서, 대역폭 할당 스케줄러(327)는 미리 설정된 시간 단위로 각 가상 머신에 디스크(330)의 대역폭을 할당할 수 있다.Here, the
구체적으로, 대역폭 할당 스케줄러(327)는 제2 장치 드라이버(322)를 통해, 제2 가상 머신(322)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당할 수 있다.Specifically, the
또한, 대역폭 할당 스케줄러(327)는 제2 가상 머신(322)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당하는 동안, 제1 가상 머신(311) 및 제3 가상 머신(313)에는 디스크(330)의 최소 대역폭을 할당할 수 있다.The
이후, 대역폭 할당 스케줄러(327)는 미리 설정된 시간 이후, 제1 장치 드라이버(321)를 통해, 제1 가상 머신(311)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당할 수 있다.The
또한, 대역폭 할당 스케줄러(327)는 제1 가상 머신(311)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당하는 동안, 제2 가상 머신(312) 및 제3 가상 머신(313)에는 디스크(330)의 최소 대역폭을 할당할 수 있다.The
이후, 대역폭 할당 스케줄러(327)는 미리 설정된 시간 이후, 제3 장치 드라이버(323)를 통해, 제3 가상 머신(313)에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당할 수 있다.The
또한, 대역폭 할당 스케줄러(327)는 제3 가상 머신에 미리 설정된 시간 동안 디스크(330)의 최대 대역폭을 할당하는 동안, 제1 가상 머신(311) 및 제2 가상 머신(312)에는 디스크(330)의 최소 대역폭을 할당할 수 있다.The
여기서, 대역폭 할당 스케줄러(327)가 디스크(330)의 최대 대역폭을 할당하는 순서는 가상화 환경에서 디스크에 빠르게 접근할 수 있는 가상 머신을 우선적으로 선택할 수 있다.
Here, the order in which the
도 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 /
327: bandwidth allocation scheduler 328: input / output scheduler
329: request limiting unit 330: disk
Claims (14)
상기 가상화 환경에 포함된 복수의 가상 머신(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:
상기 간헐성은,
상기 복수의 가상 머신으로부터 수신되는 상기 디스크 대역폭 사용 요청의 지속적인 정도 또는 주기를 의미하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.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.
상기 가상화 환경에서의 대역폭 할당 방법은,
상기 복수의 가상 머신 중 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신을 선택하는 단계; 및
상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신에 상기 디스크의 최소 대역폭을 할당하는 단계를 포함하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.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 시간 구간 동안 상기 디스크의 최소 대역폭을 할당하는 단계를 포함하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.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.
상기 디스크의 최대 대역폭을 할당하는 단계는,
상기 제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.
상기 디스크의 최대 대역폭을 할당하는 단계는,
상기 적어도 하나의 가상 머신 중 상기 디스크에 접근이 가장 용이한 가상 머신을 우선적으로 선택하여 상기 미리 설정된 시간 동안 상기 디스크의 최대 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 방법.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.
상기 간헐성은,
상기 복수의 가상 머신으로부터 수신되는 상기 디스크 대역폭 사용 요청의 지속적인 정도 또는 주기를 의미하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.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.
상기 처리부는,
상기 복수의 가상 머신 중 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신을 선택하고, 상기 임계값 이하인 간헐성을 가지는 적어도 하나의 가상 머신에 상기 디스크의 최소 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.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.
상기 처리부는,
상기 디스크의 최대 대역폭을 할당하는 경우, 상기 적어도 하나의 가상 머신 중 제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.
상기 처리부는,
상기 디스크의 최대 대역폭을 할당하는 경우, 상기 제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.
상기 처리부는,
상기 디스크의 최대 대역폭을 할당하는 경우, 상기 적어도 하나의 가상 머신 중 상기 디스크에 접근이 가장 용이한 가상 머신을 우선적으로 선택하여 상기 미리 설정된 시간 동안 상기 디스크의 최대 대역폭을 할당하는 것을 특징으로 하는 가상화 환경에서의 대역폭 할당 장치.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.
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)
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)
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)
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 |
-
2014
- 2014-02-27 KR KR1020140023440A patent/KR101583129B1/en active IP Right Grant
Patent Citations (1)
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 |