KR20130074953A - Apparatus and method for dynamic virtual machine placement - Google Patents

Apparatus and method for dynamic virtual machine placement Download PDF

Info

Publication number
KR20130074953A
KR20130074953A KR1020110143097A KR20110143097A KR20130074953A KR 20130074953 A KR20130074953 A KR 20130074953A KR 1020110143097 A KR1020110143097 A KR 1020110143097A KR 20110143097 A KR20110143097 A KR 20110143097A KR 20130074953 A KR20130074953 A KR 20130074953A
Authority
KR
South Korea
Prior art keywords
virtual machine
cache miss
miss rate
virtual
node
Prior art date
Application number
KR1020110143097A
Other languages
Korean (ko)
Inventor
최영리
최동훈
박동인
허재혁
안정섭
김창대
Original Assignee
한국과학기술정보연구원
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원, 한국과학기술원 filed Critical 한국과학기술정보연구원
Priority to KR1020110143097A priority Critical patent/KR20130074953A/en
Publication of KR20130074953A publication Critical patent/KR20130074953A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 클라우드 컴퓨팅 시스템의 자원을 효율적으로 사용하기 위한 가이드를 제공하는 장치 및 방법에 관한 것이다.
전술한 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 장치는 클러스터가 포함된 클라우드 컴퓨팅 시스템에서, 클러스터에 포함된 복수의 노드에 포함된 복수의 가상 머신의 캐시 미스율을 수집하는 캐시 미스율 수집부, 캐시 미스율에 따라 가상 머신을 재배치하는 가상 머신 재배치부를 포함한다.
The present invention relates to an apparatus and method for providing a guide for efficiently using resources of a cloud computing system.
In order to solve the above technical problem, the dynamic virtual machine deployment apparatus according to an embodiment of the present invention, in the cloud computing system including the cluster, the cache miss rate of the plurality of virtual machines included in the plurality of nodes included in the cluster And a cache miss rate collector for collecting and a virtual machine relocator for relocating the virtual machines according to the cache miss rate.

Description

동적 가상 머신 배치 장치 및 방법{Apparatus and method for dynamic virtual machine placement}Apparatus and method for dynamic virtual machine placement}

본 발명은 클라우드 컴퓨팅 시스템의 자원을 효율적으로 사용하기 위해 가상 머신을 동적으로 배치하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for dynamically deploying virtual machines to efficiently use resources of a cloud computing system.

종래의 프로세스 배치 기술은 하나의 물리적 머신 안에서의 공유 자원 충돌 문제를 해결하기 위한 방법을 사용하였다. 하지만 클라우드 환경에서는 복수의 물리적 머신들이 존재하며, 물리적 머신의 개수 이상의 가상 머신이 존재할 수 있다. 이 경우, 하나의 가상 머신 안에서 공유 자원 충돌 문제를 해결하더라도, 가상 머신들 간의 공유 자원 충돌이 발생하면 자원 이용의 효율성이 낮아지는 문제점이 발생한다. 이러한 공유 자원에 대한 예를 들면, 캐시 메모리, 메모리 대역폭, 네트워크 대역폭, 디스크 성능 등이 있다. 만약, 캐시 메모리(LLC)를 공유하는 CPU들을 두 개의 가상 머신이 각각 사용하고 있고, 두 가상 머신에서 실행되고 있는 응용프로그램이 캐시 메모리를 빈번하게 사용하는 경우라면, 캐시 적중률이 독점적으로 캐시를 사용할 때보다 낮아지기 때문에 가상 머신의 성능 저하를 일으키는 문제점이 발생한다. 이는 다른 공유 자원들의 경우에도 동일하게 발생되는 문제이다.Conventional process placement techniques have used a method for solving a shared resource conflict problem in one physical machine. However, in a cloud environment, a plurality of physical machines exist, and there may be more than one virtual machine. In this case, even when the shared resource conflict problem is solved in one virtual machine, when a shared resource conflict occurs between the virtual machines, a problem of lowering the efficiency of resource usage occurs. Examples of such shared resources include cache memory, memory bandwidth, network bandwidth, disk performance, and the like. If two virtual machines each use CPUs that share a cache memory (LLC), and an application running in both virtual machines frequently uses the cache memory, the cache hit ratio uses the cache exclusively. Because it is lower than usual, there is a problem that causes the performance of the virtual machine to degrade. This is the same problem that occurs with other shared resources.

도 1은 종래 기술의 일 실시예에 따른 가상 머신 배치 결과를 나타낸 도면이다. 가상 머신이 자신이 배치된 시스템의 공유 자원을 다른 가상 머신과 경쟁하여 사용하는 경우에 공유 자원을 많이 사용하는 가상 머신들이 하나의 단일 시스템으로 배치되어 가상 머신의 성능 저하가 발생할 수 있다. 1 is a view showing a virtual machine arrangement result according to an embodiment of the prior art. When a virtual machine uses shared resources of a system in which it is deployed in competition with other virtual machines, virtual machines that use a lot of shared resources may be deployed as a single system, which may cause performance degradation of the virtual machine.

이런 경우 가상 머신 스케쥴링 당시에는 시스템이 idle하여 가상 머신을 배치하였지만 추후에 가상 머신들이 캐시 자원을 빈번이 사용하게 되어 시스템 전체적으로 성능을 저하시키는 현상이 발생하게 되는 것이다. 도 1에서 점선으로 표시된 가상 머신 2개가 배치되는 시점에는 캐시 많이 사용하는 가상 머신이 없었지만 배치되고 난 후에 다른 가상 머신의 캐시 사용량이 급증하는 경우 이 시스템 상에서 동작하는 가상 머신들의 캐시 미스율이 증가하는 성능저하의 피해를 입게 된다.In this case, at the time of scheduling the virtual machine, the system is idle and the virtual machine is placed, but in the future, the virtual machines frequently use cache resources, which causes performance degradation of the entire system. When two virtual machines indicated by dotted lines in FIG. 1 are deployed, there is no cache-intensive virtual machine, but the cache miss rate of the virtual machines operating on the system increases when the cache usage of another virtual machine increases rapidly after being deployed. The damage is reduced.

위에서 설명한 바와 같이 기존의 클라우드 컴퓨팅 시스템을 사용함에 있어 공유 자원 간 충돌이 발생하여 해당 자원을 이용하는 가상 머신들이 성능 저하를 겪게 되는 문제점이 있었다. 하나의 물리적 머신 안에서의 공유자원 배분만으로는 복수 개의 가상 머신에 충분한 공유자원을 제공할 수 없으며, 반면 다른 물리적 머신은 유휴상태에 있을 수 있다. 따라서 전체 클라우드 컴퓨팅 시스템의 효율적인 공유자원 관리가 되는 못하는 문제점이 발생한다. 또한 종래 기술에서 가상 머신에 대한 재배치 방법은 CPU로드와 메모리 로드만을 고려하여 이들의 균형을 유지하기 위해서만 사용되었고 공유 자원에 의한 가상 머신의 성능저하를 고려하지 않았다. 따라서 각 가상 머신의 성능 저하를 방지하기 위한 가상 머신 재배치 방법이 요구되었다.As described above, in using the existing cloud computing system, there is a problem that virtual machines using the resource suffer from performance degradation due to collision between shared resources. Allocation of shared resources within one physical machine may not provide enough shared resources for multiple virtual machines, while other physical machines may be idle. Therefore, there is a problem in that the efficient shared resource management of the entire cloud computing system. In addition, in the related art, the relocation method for the virtual machine is used only to balance the CPU load and the memory load, and does not consider the performance degradation of the virtual machine due to shared resources. Therefore, a virtual machine relocation method was required to prevent performance degradation of each virtual machine.

본 발명은 위와 같은 문제점을 해결하기 위한 것으로써, 본 발명이 이루고자 하는 기술적 과제는 동적 가상 머신 배치 장치 및 방법에 있어서, 전술한 문제점을 겪지 않으면서, 사용자에게 효율적인 공유자원 사용을 가능하도록 하는 것이다.The present invention is to solve the above problems, the technical problem to be achieved in the present invention is a dynamic virtual machine arrangement apparatus and method, to enable efficient use of shared resources to the user without experiencing the above problems. .

전술한 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 장치는 클러스터가 포함된 클라우드 컴퓨팅 시스템에서, 클러스터에 포함된 복수의 노드에 포함된 복수의 가상 머신의 캐시 미스율을 수집하는 캐시 미스율 수집부, 캐시 미스율에 따라 가상 머신을 재배치하는 가상 머신 재배치부를 포함한다.In order to solve the above technical problem, the dynamic virtual machine deployment apparatus according to an embodiment of the present invention, in the cloud computing system including the cluster, the cache miss rate of the plurality of virtual machines included in the plurality of nodes included in the cluster And a cache miss rate collector for collecting and a virtual machine relocator for relocating the virtual machines according to the cache miss rate.

또한, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 장치는 가상 머신 재배치부가 Global phase 가상 머신 재배치부를 포함하고, Global phase 가상 머신 재배치부는, 캐시 미스율 정보를 입력받아 최고 및 최저 캐시 미스율을 갖는 노드를 각각 선택하는 노드 선택부, 선택된 최고 및 최저 캐시 미스율을 갖는 노드에서 각각 최고 및 최저 캐시 미스율을 갖는 가상 머신을 선택하는 가상 머신 선택부 및 선택된 가상 머신을 상호 교환하여 재배치하는 노드 가상 머신 재배치부를 포함하는 것을 특징으로 한다.In addition, the dynamic virtual machine deployment apparatus according to an embodiment of the present invention, the virtual machine relocation unit includes a global phase virtual machine relocation unit, the global phase virtual machine relocation unit, the node having the highest and lowest cache miss rate by receiving cache miss rate information A node selector for selecting respectively, a virtual machine selector for selecting a virtual machine having the highest and lowest cache miss rates, respectively, and a node virtual machine repositioner for redeploying the selected virtual machines by interchange It is characterized by including.

또한, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 장치는 가상 머신 재배치부가 Local phase 가상 머신 재배치부를 포함하고, Local phase 가상 머신 재배치부는, 각 노드에 포함된 가상 머신을 캐시 미스율에 따라 정렬하는 가상 머신 정렬부, 정렬된 가상 머신들을 각 노드에 포함된 소켓의 개수와 동일한 개수의 가상 머신을 포함하는 그룹들로 그룹핑하는 가상 머신 그룹핑부 및 그룹별로 해당 그룹에 포함된 가상 머신을 복수 개의 소켓에 재배치하는 소켓 가상 머신 재배치부를 포함하는 것을 특징으로 한다.In addition, the dynamic virtual machine deployment apparatus according to an embodiment of the present invention, the virtual machine relocator includes a local phase virtual machine relocator, Local phase virtual machine relocator, to arrange the virtual machine included in each node according to the cache miss rate A virtual machine aligning unit, a virtual machine grouping unit that groups the sorted virtual machines into groups including the same number of virtual machines as the number of sockets included in each node, and a plurality of sockets of the virtual machines included in the group for each group. It characterized in that it comprises a socket virtual machine repositioning unit for relocating to.

또한, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 장치는 소켓 가상 머신 재배치부가 가상 머신들 중 최고 캐시 미스율을 갖는 가상 머신과 최저 캐시 미스율을 갖는 가상 머신이 동일한 소켓에 포함되도록 재배치하는 것을 특징으로 한다.In addition, the dynamic virtual machine deployment apparatus according to an embodiment of the present invention is characterized in that the socket virtual machine relocation unit relocates the virtual machine having the highest cache miss rate and the virtual machine having the lowest cache miss rate among the virtual machines to be included in the same socket. It is done.

또한, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 장치는 가상 머신 재배치부는 live-migration을 이용하여 가상 머신을 재배치하는 것을 특징으로 한다.In addition, the dynamic virtual machine deployment apparatus according to an embodiment of the present invention is characterized in that the virtual machine relocation unit relocates the virtual machine using live-migration.

전술한 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 방법은 클러스터가 포함된 클라우드 컴퓨팅 시스템에서, 클러스터에 포함된 복수의 노드에 포함된 복수의 가상 머신의 캐시 미스율을 수집하는 단계, 캐시 미스율에 따라 가상 머신을 재배치하는 단계를 포함한다.In order to solve the above technical problem, the dynamic virtual machine deployment method according to an embodiment of the present invention in the cloud computing system including a cluster, the cache miss rate of the plurality of virtual machines included in a plurality of nodes included in the cluster Collecting and relocating the virtual machine according to the cache miss rate.

또한, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 방법은 가상 머신을 재배치하는 단계가 캐시 미스율 정보를 입력받아 최고 및 최저 캐시 미스율을 갖는 노드를 각각 선택하는 단계, 선택된 최고 및 최저 캐시 미스율을 갖는 노드에서 각각 최고 및 최저 캐시 미스율을 갖는 가상 머신을 선택하는 단계 및 선택된 가상 머신을 상호 교환하여 재배치하는 단계를 포함하는 것을 특징으로 한다.In addition, in the dynamic virtual machine placement method according to an embodiment of the present invention, the step of relocating the virtual machine to receive the cache miss rate information to select the node having the highest and lowest cache miss rate, respectively, the selected highest and lowest cache miss rate Selecting at each node having the highest and lowest cache miss rates and redeploying the selected virtual machines interchangeably.

또한, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 방법은 가상 머신 재배치하는 단계가 각 노드에 포함된 가상 머신을 캐시 미스율에 따라 정렬하는 단계, 정렬된 가상 머신들을 각 노드에 포함된 소켓의 개수와 동일한 개수의 가상 머신을 포함하는 그룹들로 그룹핑하는 단계 및 그룹별로 해당 그룹에 포함된 가상 머신을 복수 개의 소켓에 재배치하는 단계를 포함하는 것을 특징으로 한다.In addition, the dynamic virtual machine deployment method according to an embodiment of the present invention, the step of relocating the virtual machine to arrange the virtual machine included in each node according to the cache miss rate, the sorted virtual machines of the socket included in each node And grouping the groups into groups including the same number of virtual machines and relocating the virtual machines included in the group into a plurality of sockets.

또한, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 방법은 소켓에 재배치하는 단계가 가상 머신들 중 최고 캐시 미스율을 갖는 가상 머신과 최저 캐시 미스율을 갖는 가상 머신이 동일한 소켓에 포함되도록 재배치하는 것을 특징으로 한다.In addition, the dynamic virtual machine placement method according to an embodiment of the present invention is the step of relocating to the socket is to relocate the virtual machine with the highest cache miss rate and the virtual machine with the lowest cache miss rate among the virtual machines to be included in the same socket It features.

또한, 본 발명의 일 실시예에 따른 동적 가상 머신 배치 방법은 가상 머신을 재배치하는 단계가 live-migration을 이용하여 가상 머신을 재배치하는 것을 특징으로 한다.In addition, the dynamic virtual machine deployment method according to an embodiment of the present invention is characterized in that the step of relocating the virtual machine to relocate the virtual machine using live-migration.

본 발명의 일 실시예에 따르면, 사용자에게 공평한 성능의 가상 머신을 제공하는 것이 가능하다.According to one embodiment of the invention, it is possible to provide a user with a virtual machine of fair performance.

본 발명의 일 실시예에 따르면, 전체 클러스터 시스템의 자원 효율성을 높이는 것이 가능하다.According to one embodiment of the present invention, it is possible to increase the resource efficiency of the entire cluster system.

본 발명의 일 실시예에 따르면, 클라우드 컴퓨팅 시스템에서 공유 자원 충돌에 의한 가상 머신의 성능 저하를 개선하는 것이 가능하다.According to an embodiment of the present invention, it is possible to improve performance degradation of a virtual machine due to shared resource collision in a cloud computing system.

도 1은 종래 기술의 일 실시예에 따른 가상 머신 배치 결과를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 OpenNebula의 구조를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 가상 머신 모니터링 정보의 전달 과정을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 Live-migration 과정을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 듀얼 소켓 멀티코어 CPU를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 물리적 머신 간 가상 머신 배치 및 재배치를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 동적 가상 머신 재배치 장치를 나타낸다.
도 8은 본 발명의 일 실시예에 따른 Local phase 가상 머신 재배치부를 나타낸다.
도 9은 본 발명의 일 실시예에 따른 Local phase 가상 머신 재배치를 나타낸 도면이다.
도 10는 본 발명의 일 실시예에 따른 Local phase 가상 머신 재배치 방법의 순서도를 나타낸 도면이다.
도 11은 본 발명의 일 실시예에 따른 Global phase 가상 머신 재배치부를 나타낸다.
도 12는 본 발명의 일 실시예에 따른 Global phase 가상 머신 재배치를 나타낸 도면이다.
도 13는 본 발명의 일 실시예에 따른 Global phase 가상 머신 재배치 방법의 순서도를 나타낸 도면이다.
1 is a view showing a virtual machine arrangement result according to an embodiment of the prior art.
2 is a view showing the structure of OpenNebula according to an embodiment of the present invention.
3 is a diagram illustrating a process of transmitting virtual machine monitoring information according to an embodiment of the present invention.
4 is a diagram illustrating a live-migration process according to an embodiment of the present invention.
5 illustrates a dual socket multicore CPU according to an embodiment of the present invention.
6 is a diagram illustrating virtual machine placement and relocation between physical machines according to an embodiment of the present invention.
7 illustrates a dynamic virtual machine relocation apparatus according to an embodiment of the present invention.
8 illustrates a local phase virtual machine relocation unit according to an embodiment of the present invention.
9 illustrates a local phase virtual machine relocation according to an embodiment of the present invention.
10 is a flowchart illustrating a local phase virtual machine relocation method according to an embodiment of the present invention.
11 illustrates a global phase virtual machine relocator according to an embodiment of the present invention.
12 illustrates a global phase virtual machine relocation according to an embodiment of the present invention.
13 is a flowchart illustrating a global phase virtual machine relocation method according to an embodiment of the present invention.

이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시 예를 상세하게 설명하지만, 본 발명이 실시 예들에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings and accompanying drawings, but the present invention is not limited to or limited by the embodiments.

본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.As used herein, terms used in the present invention are selected from general terms that are widely used in the present invention while taking into account the functions of the present invention, but these may vary depending on the intention or custom of a person skilled in the art or the emergence of new technologies. In addition, in certain cases, there may be a term arbitrarily selected by the applicant, in which case the meaning thereof will be described in the description of the corresponding invention. Therefore, it is intended that the terminology used herein should be interpreted based on the meaning of the term rather than on the name of the term, and on the entire contents of the specification.

본 발명에서 클라우드 컴퓨팅은 서로 다른 물리적인 위치에 존재하는 클러스터들의 자원을 가상화 기술로 통합해 제공하는 기술이다. 즉 하드웨어(hardware), 소프트웨어(software) 등 IT자원을 필요한 때 필요한 만큼 빌려 쓰고 이에 대한 사용요금을 지급하는 방식의 서비스를 말한다. 사용자는 각 클러스터 자원의 성능과 관계없이 가상머신을 이용하여 컴퓨팅하고자 하는 어플리케이션에 적합한 성능을 제공받을 수 있다.In the present invention, cloud computing is a technology for integrating and providing resources of clusters existing in different physical locations with virtualization technology. In other words, it refers to a service in which IT resources such as hardware and software are borrowed when necessary and paid for using them. The user may be provided with a performance suitable for an application to be computed using a virtual machine regardless of the performance of each cluster resource.

이하 클라우드 컴퓨팅 시스템과 클러스터 및 가상머신은 그 용어에 한정되지 아니하고 분산자원을 사용하여 컴퓨팅을 제공하는 시스템과 이에 포함되는 분산 컴퓨팅 자원 및 분산 컴퓨팅 자원을 하나의 컴퓨팅 자원으로 사용자에게 제공할 수 있는 가상 컴퓨팅 자원을 의미한다.Hereinafter, the cloud computing system, the cluster, and the virtual machine are not limited to the term, but a system that provides computing using distributed resources and a distributed computing resource and distributed computing resources included therein as a single computing resource. Means computing resources.

클라우드 컴퓨팅 시스템에서는 가상 머신 별로 빈번하게 사용하는 자원과 낮은 빈도로 사용하는 자원들간의 차이가 존재한다. 따라서 가상 머신들이 하나의 물리적 머신을 사용하더라도 가상 머신의 배치 방법에 따라 성능 저하 발생 여부가 달라지게 된다. 예를 들면, 캐시 메모리 사용량이 많은 것끼리 배치되고, 메모리 사용량이 적은 것끼리 배치되어 실행되는 경우보다 캐시 메모리 사용량이 많은 것과 적은 것들이 혼합되어 배치될 경우에 성능 저하를 피할 수 있다. 성능 간섭 효과가 상대적으로 낮아지기 때문에 물리적 머신을 더욱 효율적으로 사용할 수 있는 것이다.In a cloud computing system, there is a difference between a resource used frequently and a low frequency used for each virtual machine. Therefore, even if virtual machines use a single physical machine, performance degradation may vary depending on how the virtual machines are placed. For example, performance degradation can be avoided when a large amount of cache memory is used and a large amount of cache memory is used and a small amount of the mixed amount of memory is used. The relatively low effect of performance interference allows for more efficient use of physical machines.

본 발명에서 제안하는 캐시 메모리 공유로 인한 성능 저하를 최소화시키기 위한 방법은, 주어진 프로그램들에 대해서 전체적인 성능 간섭이 최소화되는 프로그램 집합들을 만들어, 각각을 CPU에 배치하는 것이다.A method for minimizing performance degradation due to cache memory sharing proposed by the present invention is to create program sets in which overall performance interference is minimized for given programs, and place each of them in a CPU.

성능 간섭이 최소화하기 위해서, 각 프로그램에 필요한 캐시 메모리 용량을 고려하여, 하나의 CPU, 즉 캐시 메모리를 공유하는 코어들에서 실행되는 프로그램들의 캐시 메모리 요구량의 총합이 CPU의 캐시 메모리 용량과 유사하게 하면 된다.In order to minimize performance interference, taking into account the cache memory capacity required for each program, if the sum of the cache memory requirements of programs running on one CPU, that is, cores sharing cache memory, is similar to the cache memory capacity of the CPU, do.

하지만, 프로그램의 캐시 메모리 요구량을 측정하기는 쉽지 않다. 따라서 캐시 미스율(LLC miss)을 이용하여 캐시 메모리에 대한 요구량을 측정하는 방법을 이용한다. 캐시 미스율이 높을수록 캐시 메모리 요구량이 높은 것으로 측정한다. 캐시 미스율은 별도의 추가 장치 없이도 파악할 수 있는 장점이 있다. However, measuring the cache memory requirements of a program is not easy. Therefore, the cache miss rate (LLC miss) is used to measure the required amount of cache memory. The higher the cache miss rate, the higher the cache memory requirement. The cache miss rate has the advantage that it can be identified without any additional device.

본 발명에서는 일 실시예로 물리적 머신 내에서 공유되는 자원들 중 캐시 메모리에 대해 성능 간섭 효과를 줄이는 방법을 설명한다.The present invention describes a method of reducing the performance interference effect on the cache memory among the resources shared in the physical machine in one embodiment.

본 발명의 클라우드 컴퓨팅 시스템은 본 연구에서는 IaaS(Infrastructure as a Service) 기반의 클라우드 컴퓨팅 플랫폼을 가정하고 있다. 여기서 Infrastructure는 고객이 사용할 수 있는 가상 머신(Virtual Machine)을 제공 받는 형태이다. 이와 같은 기능을 제공해주는 소프트웨어로 공개 소프트웨어인 OpenNubula를 실시예로 들 수 있다. The cloud computing system of the present invention assumes an IaaS (Infrastructure as a Service) based cloud computing platform. The infrastructure is provided with a virtual machine that can be used by customers. One example of the software providing such a function is OpenNubula, which is open software.

도 2는 본 발명의 일 실시예에 따른 OpenNebula의 구조를 나타낸 도면이다. 2 is a view showing the structure of OpenNebula according to an embodiment of the present invention.

프라이빗(private) 클라우드(10)의 가장 최하위 계층은 여러 대의 물리적 머신들(11)이 존재하고, 물리적 머신들(11)은 모두 가상화 소프트웨어를 탑재하게 된다. 가상화 소프트웨어로는 Xen, KVM 또는 VMware를 제공한다.The lowest layer of the private cloud 10 has several physical machines 11, all of which are equipped with virtualization software. Virtualization software is available from Xen, KVM or VMware.

또한, 이러한 물리적인 머신들(11)의 자원을 관리하고 담당하는 Virtual Infrastructure Manager(12)가 존재한다. 이는 각 물리적 머신(11)의 기본적인 다원 정보를 관리하고, 사용자의 요청에 따라 새로운 가상 머신을 할당하고, 배치할 수 있다.In addition, there is a Virtual Infrastructure Manager 12 that manages and manages the resources of these physical machines 11. It manages basic plural information of each physical machine 11, and can allocate and deploy a new virtual machine according to a user's request.

프라이빗 클라우드 시스템 내부 사용자들(13)은 내부 인터페이스(14)를 통해 물리적 머신들(11)을 이용할 수 있으며 외부 사용자들(15)의 경우에는 공공 인터페이스(16)을 통해 접근하는 것이 가능하다. 또한 프라이빗 클라우드(10)는 외부 클라우드(17)와 혼용하여 복합 클라우드 시스템(18)을 제공하는 것이 가능하다.The private cloud system internal users 13 can use the physical machines 11 via the internal interface 14, and in the case of external users 15, it is accessible via the public interface 16. In addition, the private cloud 10 may be mixed with the external cloud 17 to provide the composite cloud system 18.

도 3은 본 발명의 일 실시예에 따른 가상 머신 모니터링 정보의 전달 과정을 나타낸 도면이다.3 is a diagram illustrating a process of transmitting virtual machine monitoring information according to an embodiment of the present invention.

본 발명의 가상 머신 모니터링은 단순히 사용된 CPU, 메모리 및 네트워크의 사용량만을 보여주는 것이 아니라, 현재 가상머신이 어느 CPU-affinity를 사용하여 동작하는지, LLC(Last Level Cache)의 miss가 발생한 횟수 및 실행된 인스트럭션의 수를 주기적으로 모니터할 수 있다. 여기서 CPU-affinity란 가상 머신이 어느 CPU 소켓에 더 적합한지를 나타내는 것으로 가상머신과 CPU 소켓 간의 동작 융합 정도를 나타내는 값이다. The virtual machine monitoring of the present invention not only shows the usage of the CPU, memory and network used, but also which CPU-affinity the virtual machine is currently operating on, the number of misses of the last level cache (LLC) and the execution of the virtual machine. You can monitor the number of instructions periodically. In this case, CPU-affinity indicates which CPU socket a virtual machine is better suited for, and indicates the degree of convergence between the virtual machine and the CPU socket.

각 노드(21)에서는 각 가상 머신의 LLC miss의 발생횟수와 CPU-affinity 정보(23)를 주기적으로 관찰한다. 주기적인 관찰은 각 노드(21)에서 동작하는 Xenonmon.py(20) 모니터링 툴에 의해 것이 가능하다. 그리고 Front-End(24)로부터 요청이 들어오면 가장 최근의 관찰 데이터들을 전달해준다. 마지막으로 Front-End(24)에서는 해당 정보를 DataBase(25)에 기록한다. 이 정보를 바탕으로 가상 머신 관리자가 가상 머신을 재배치하는 것이 가능하다.Each node 21 periodically monitors the number of occurrences of the LLC miss of each virtual machine and the CPU-affinity information 23. Periodic observation is possible by the Xenonmon.py 20 monitoring tool operating at each node 21. When a request comes from the front-end 24, it delivers the most recent observation data. Finally, the front-end 24 records the information in the data base 25. Based on this information, it is possible for a virtual machine administrator to relocate a virtual machine.

도 4는 본 발명의 일 실시예에 따른 Live-migration 과정을 나타낸 도면이다. 4 is a diagram illustrating a live-migration process according to an embodiment of the present invention.

Live-migration이란 현재 Power-On 상태의 가상 머신을 Off 상태로 전환할 필요없이 다른 물리적 머신으로 재배치(migration)시키는 것을 의미한다. 이를 통해 가상 머신이 수행하고 있는 컴퓨팅 작업에 대한 중단없이 다른 물리적 머신으로 재배치할 수 있어 작업의 연속성이 보장되는 장점이 있다. Live-migration means to migrate a current power-on virtual machine to another physical machine without having to switch it off. This allows you to redeploy to other physical machines without interrupting the computing work being performed by the virtual machine, which ensures continuity of work.

Front-End(31)에서 동작하는 스케줄러는 주기적으로 가상 머신의 모니터링 정보를 관찰할 수 있다. 가상 머신이 현재 시스템의 어느 노드에서 동작하는지를 알 수 있고, 현재의 LLC miss와 cpu-affinity 정보(32)를 알 수 있다. 따라서 이 정보를 기반으로 적응적으로 스케줄링 정책을 수행할 수 있다. 그리고 가상 머신 이동이 가능하도록 OpenNebula에서 제공하는 XML-RPC를 이용하여 상황에 따라 가상 머신을 이동시킬 수 있다.The scheduler operating in the front-end 31 may periodically observe the monitoring information of the virtual machine. It is possible to know which node of the current system the virtual machine is operating on and the current LLC miss and cpu-affinity information 32. Therefore, the scheduling policy can be adaptively performed based on this information. The virtual machine can be moved according to the situation by using XML-RPC provided by OpenNebula to move the virtual machine.

스케줄러는 클러스터 노드들의 정보(35)를 주기적으로 모니터링 하다가 특정 노드에 LLC miss가 다른 노드에 비해 많은 경우, 해당 노드에 가장 많이 부하를 주는 가상 머신을 선택하여 상대적으로 부하가 적다고 판단되는 노드로 가상 머신을 Live-migration 시키는 것이 가능하다.The scheduler periodically monitors the information (35) of the cluster nodes, and when there are more LLC misses in a particular node, the scheduler selects a virtual machine that puts the most load on the node, and determines that the load is relatively low. It is possible to live-migrate a virtual machine.

예를 들어, 도 4와 같이 가상머신 재배치 대상노드(33)가 LLC miss의 수가 다른 노드들에 비해서 높은 경우 가상머신 재배치 대상노드(33)에서 동작중인 가상 머신들 중에서 LLC miss가 가장 높은 가상 머신을 상대적으로 LLC miss가 적은 가상머신 재배치 상대노드(34)로 옮길 수 있다. 도면에서 가상머신 재배치 대상노드(33)는 모니터링 결과 LLC miss가 30000으로 다른 노드에 비해서 많으므로 해당 노드에서 가장 많은 부하를 생성하는 VM1을 선택한다. 이어서 함께 모니터링하고 있던 노드 중 상대적으로 부하가 100으로 적은 가상머신 재배치 상대노드(34)으로 위에서 선택된 가상 머신 VM1을 Live-migration 시킨다. For example, when the virtual machine relocation target node 33 has a higher number of LLC misses than other nodes as shown in FIG. 4, the virtual machine having the highest LLC miss among the virtual machines operating in the virtual machine relocation target node 33. Can be moved to a virtual machine relocation relative node 34 having a relatively low LLC miss. In the drawing, the virtual machine relocation target node 33 selects VM1 which generates the most load in the node because the monitoring result of LLC miss is 30000, which is more than that of other nodes. Next, the virtual machine VM1 selected above is live-migrated to the virtual machine relocation partner node 34 having a relatively low load among the nodes that are being monitored together.

이러한 스케쥴러의 동작을 통해 클라우드 시스템에 포함된 클러스터의 노드 간 부하를 조절하는 것이 가능하며 이를 통해 클러스터 내 가상 머신의 성능저하 없이 효율적으로 사용할 수 있다. Through the operation of the scheduler, it is possible to adjust the load between the nodes of the cluster included in the cloud system, thereby enabling efficient use without degrading the performance of the virtual machines in the cluster.

도 5는 본 발명의 일 실시예에 따른 듀얼 소켓 멀티코어 CPU를 나타낸 도면이다. 5 illustrates a dual socket multicore CPU according to an embodiment of the present invention.

듀얼 소켓 멀티코어 CPU는 두 개의 소켓(41,42)을 포함하고 있으며 각 소켓은 복수 개의 프로세서(43)와 이들 프로세서들이 공유하는 LLC(Last Level Cache, 44)를 포함할 수 있다. 또한 CPU는 소켓 외부에 두 개의 소켓이 공유하는 외부 메모리(45,46)를 포함할 수 있다. The dual socket multicore CPU includes two sockets 41 and 42, and each socket may include a plurality of processors 43 and a LLC (Last Level Cache) 44 shared by the processors. The CPU may also include external memories 45 and 46 shared by two sockets outside the socket.

하나의 소켓(41)에 포함되는 복수의 프로세서(43)들은 캐시 메모리인 LLC(44)를 공유한다. 따라서 특정 소켓 내의 프로세서(43)에서 동작하는 프로그램들이 캐시 메모리 사용이 높은 프로그램들로만 구성된다면 높은 공유 자원 요구량으로 인해 해당 소켓의 성능 저하가 발생한다. 이러한 경우 특정 소켓(41)에서 다른 소켓(42)으로 각 프로그램이 실행되는 일부 가상 머신을 재배치할 수 있다. 본 발명에서는 위의 소켓 간의 부하를 조절하는 방법을 Local phase 가상 머신 재배치로 정의하며, 이를 통해 각 소켓(41,42)에 포함된 가상 머신들에서 발생하는 LLC miss를 균등하게 하고 이를 통해 각 가상 머신의 성능저하를 방지하여 자원 효율성을 높이는 것이 가능하다. Local phase 재배치에 대해서는 아래의 도 9에서 상세히 설명한다.The plurality of processors 43 included in one socket 41 share the LLC 44 which is a cache memory. Therefore, if the programs running on the processor 43 in a particular socket are composed only of programs with high cache memory usage, the performance of the socket may be degraded due to high shared resource requirements. In this case, it is possible to relocate some virtual machines in which each program is executed from one socket 41 to another socket 42. In the present invention, the method of controlling the load between the sockets is defined as a local phase virtual machine relocation, thereby equalizing LLC misses occurring in the virtual machines included in each socket (41, 42) and thereby through each virtual. It is possible to increase the resource efficiency by preventing the performance degradation of the machine. Local phase relocation is described in detail with reference to FIG. 9 below.

또한 이와 유사하게 각 소켓(41,42)은 외부 메모리(45,46)를 공유하므로 특정 물리적 머신에 대한 메모리 요구량이 증가하면 가상 머신의 성능 저하가 발생할 수 있다. 이를 위해 클러스터 내의 각 컴퓨팅 노드들의 캐시 미스율을 균등하게 하여 각 가상 머신의 성능 저하를 방지하는 것이 가능하다. 물리적 머신 간의 가상 머신 재배치는 Global phase 가상 머신 재배치로 정의하며 이에 대해서는 아래의 도 12에서 상세히 설명한다.Similarly, since the sockets 41 and 42 share the external memories 45 and 46, when the memory demand for a specific physical machine increases, the performance of the virtual machine may occur. To this end, it is possible to equalize the cache miss rate of each computing node in the cluster to prevent performance degradation of each virtual machine. Virtual machine relocation between physical machines is defined as Global phase virtual machine relocation, which will be described in detail with reference to FIG. 12 below.

도 6은 본 발명의 일 실시예에 따른 물리적 머신 간 가상 머신 배치 및 재배치를 나타낸 도면이다. 6 is a diagram illustrating virtual machine placement and relocation between physical machines according to an embodiment of the present invention.

도 6(a)에서 각 물리적 머신은 하드웨어(51), 가상 머신 모니터(52) 및 가상 머신들(53,54,55)을 포함한다. 각 가상 머신들(53,54,55)은 별개의 OS(operating system)에서 동작하는 것이 가능하며, 그 예로 window, linux, solaris를 들 수 있다.In FIG. 6 (a) each physical machine includes hardware 51, virtual machine monitor 52 and virtual machines 53, 54, 55. Each of the virtual machines 53, 54, and 55 may operate in a separate operating system (OS), for example, window, linux, and solaris.

하드웨어1(51)는 복수 개의 가상머신(53,54,55)에 의해 공유되며 가상 머신 모니터1(52)는 각 가상 머신의 자원요구량, LLC miss 및 cpu-affinity 등을 모니터링할 수 있다. 이 때 하드웨어1(51)는 물리적 머신 단위, 또는 CPU 내의 소켓 단위의 자원을 나타낼 수 있다. The hardware 1 51 is shared by the plurality of virtual machines 53, 54, and 55, and the virtual machine monitor 1 52 may monitor resource requirements, LLC miss and cpu-affinity of each virtual machine. In this case, the hardware 1 51 may represent a resource in a physical machine unit or a socket unit in the CPU.

도 6(b)는 하드웨어 사이에서 가상 머신이 live-migration하는 동작을 나타낸다. 하드웨어1(51)의 가상 머신 모니터1(52)에 의한 관찰 결과, 해당 하드웨어1(51)에 대한 자원 요구량이 커져 가상 머신의 성능 저하가 발생하면 상대적으로 낮은 자원 요구량을 갖는 하드웨어2(55)로 가상 머신에 대한 live-migration을 수행한다. 6 (b) shows an operation of live-migration of a virtual machine between hardware. As a result of observation by the virtual machine monitor 1 (52) of the hardware 1 (51), when the resource demand for the hardware 1 (51) increases and the performance of the virtual machine decreases, the hardware 2 (55) having a relatively low resource requirement is required. Perform live-migration on the virtual machine.

도면에서는 가상 머신 VM3(55)에 대한 live-migration을 나타내었으며 이를 통해 VM3(55)는 현재 Power-On 상태에서 Off 상태로의 전환 없이 하드웨어2(56)로 재배치(migration)하는 것이 가능하다. 재배치된 VM3(55)는 하드웨어2의 자원을 이용하여 컴퓨팅을 수행할 수 있으며 재배치 후의 VM3(55)에 대한 모니터링은 가상 머신 모니터2(57)에 의해 모니터링된다. 위에서 설명한 물리적 머신 간 재배치 동작은 Global phase 가상 머신 재배치에 의해 이루어진다. In the figure, the live-migration of the virtual machine VM3 55 is shown. Through this, the VM3 55 can be relocated to the hardware 2 56 without switching from the current power-on state to the off state. The relocated VM3 55 may perform computing using the resources of hardware2 and the monitoring of the VM3 55 after relocation is monitored by the virtual machine monitor 2 57. The physical machine-to-machine relocation described above is accomplished by global phase virtual machine relocation.

위와 같은 가상 머신 재배치를 통해 각 하드웨어에 대한 자원 요구량 편차를 줄이는 것이 가능하며 결과적으로 가상 머신의 성능 저하를 방지하고 효율적인 사용이 가능한 효과가 있다.By relocating the virtual machine as described above, it is possible to reduce the variation of resource requirements for each hardware. As a result, it is possible to prevent the performance degradation of the virtual machine and to use it efficiently.

도 7은 본 발명의 일 실시예에 따른 동적 가상 머신 재배치 장치를 나타낸다.7 illustrates a dynamic virtual machine relocation apparatus according to an embodiment of the present invention.

캐시 미스율 수집부(71)는 클러스터에 포함된 각 노드에 포함된 가상 머신의 캐시 미스율을 수집한다. 이를 통해 어느 노드에 과부하가 걸려 가상 머신의 성능 저하가 발생하는지에 대한 정보를 얻을 수 있다. The cache miss rate collector 71 collects a cache miss rate of a virtual machine included in each node included in the cluster. This will give you information about which nodes are overloaded and which will cause performance degradation of the virtual machine.

가상 머신 재배치부(73)는 위에서 수집된 캐시 미스율을 근거로 가상 머신을 재배치한다. 가상 머신 재배치부(73)는 Global phase 가상 머신 재배치부와 Local phase 가상 머신 재배치부를 포함한다. 여기서, Global phase 가상 머신 재배치부는 노드 간의 가상 머신 재배치에 사용할 수 있으며 Local phase 가상 머신 재배치부는 소켓 간의 가상 머신 재배치에 사용할 수 있다. 각 가상 머신 재배치 방법에 대해서는 아래서 자세히 설명한다.The virtual machine relocator 73 relocates the virtual machine based on the cache miss rate collected above. The virtual machine relocator 73 includes a global phase virtual machine relocator and a local phase virtual machine relocator. Here, the global phase virtual machine relocator may be used to relocate virtual machines between nodes, and the local phase virtual machine relocator may be used to relocate virtual machines between sockets. Each virtual machine relocation method is described in detail below.

도 8은 본 발명의 일 실시예에 따른 Local phase 가상 머신 재배치부를 나타낸다. 8 illustrates a local phase virtual machine relocation unit according to an embodiment of the present invention.

본 발명에 의한 Local phase 가상 머신 재배치는 다음의 순서로 동작한다. Local phase virtual machine relocation according to the present invention operates in the following order.

우선 가상 머신 정렬부(75)는 각 가상 머신의 캐시 미스율(miss rate)을 기준으로 가상 머신들을 정렬시킨다. 이를 통해 가상 머신들을 캐시 메모리 요구량이 많은 순서대로 정렬시킬 수 있다. 가상 머신에 대한 정렬이 완료되면 가상 머신 그룹핑부(76)는 시스템 내에 포함되어 있는 소켓의 개수와 동일한 수의 가상 머신을 포함하는 그룹으로 가상 머신을 그룹핑 한다. First, the virtual machine sorter 75 sorts the virtual machines based on a cache miss rate of each virtual machine. This allows the virtual machines to be sorted in order of high cache memory requirements. When the sorting of the virtual machines is completed, the virtual machine grouping unit 76 groups the virtual machines into groups including the same number of virtual machines as the number of sockets included in the system.

그룹핑이 완료되면 소켓 가상 머신 재배치부(77)는 캐시 미스율이 가장 높은 그룹을 선택하고 해당 그룹 내에 포함된 가상 머신들을 서로 다른 소켓에 재배치한다. 다음으로, 가장 캐시 미스율이 낮은 그룹을 선택하고 위와 마찬가지로 해당 그룹에 포함된 가상 머신들을 서로 다른 소켓에 배치한다. 이 때 캐시 미스율이 가장 높은 가상 머신이 할당된 소켓에는 최저 캐시 미스율을 갖는 가상 머신을 할당한다. 이러한 과정을 반복실시함으로써 각 소켓의 캐시 미스율을 최대한 균등하게 유지할 수 있다. 이러한 재배치 작업은 일정한 주기마다 또는 사용자의 명령에 의해서 실시될 수 있다.When the grouping is completed, the socket virtual machine relocation unit 77 selects a group having the highest cache miss rate and relocates the virtual machines included in the group to different sockets. Next, select the group with the lowest cache miss rate and place the virtual machines in that group on different sockets as above. At this time, the virtual machine with the lowest cache miss rate is allocated to the socket to which the virtual machine with the highest cache miss rate is allocated. By repeating this process, the cache miss rate of each socket can be kept as even as possible. This relocation may be performed at regular intervals or at the command of the user.

이를 통해 각 그룹에 포함된 가상 머신들은 서로 다른 소켓에 재배치된다. 각 그룹에 포함되어 있는 가상 머신들은 유사한 캐시 메모리 요구량을 갖기 때문에 복수의 소켓이 균등한 메모리 요구량을 갖도록 분리하여 재배치할 수 있다.This allows virtual machines in each group to be relocated to different sockets. The virtual machines in each group have similar cache memory requirements, so that multiple sockets can be split and relocated so that they have an even memory requirement.

도 9은 본 발명의 일 실시예에 따른 Local phase 가상 머신 재배치를 나타낸 도면이다. 9 illustrates a local phase virtual machine relocation according to an embodiment of the present invention.

2개의 소켓(81,82)을 포함하는 시스템(80)에서 8개의 가상 머신들(83)이 동작하고 있는 상황을 예로 들어 설명하면, 가상 머신 정렬부(75)은 캐시 미스율을 기준으로 가상 머신들(83)을 내림차순으로 정렬한 후 인덱싱을 한다. 그 결과 각 가상머신들(83)은 가장 높은 캐시 미스율을 갖는 VM1부터 가장 낮은 캐시 미스율을 갖는 VM8로 인덱싱된다. Referring to the situation in which eight virtual machines 83 are operating in a system 80 including two sockets 81 and 82, the virtual machine aligning unit 75 may determine a virtual machine based on a cache miss rate. The indexes 83 are sorted in descending order. As a result, each virtual machine 83 is indexed from VM1 having the highest cache miss rate to VM8 having the lowest cache miss rate.

가상 머신에 대한 인덱싱이 완료되면 가상 머신들(83)을 소켓(81,82)의 개수인 2개씩 그룹핑을 한다. 이 때 그룹 인덱싱은 가장 높은 캐시 미스율을 갖는 그룹과 가장 낮은 캐시 미스율을 갖는 그룹을 한 개씩 선택하여 번갈아 가면서 인덱싱한다. 도 9에서는 VM1,VM2가 그룹1로, VM7,VM8이 그룹2로, VM3,VM4가 그룹3으로, VM5,VM6이 그룹4로 인덱싱된다. When the indexing of the virtual machines is completed, the virtual machines 83 are grouped by two, that is, the number of sockets 81 and 82. At this time, group indexing alternately selects the group having the highest cache miss rate and the group having the lowest cache miss rate. In FIG. 9, VM1 and VM2 are indexed as group 1, VM7 and VM8 as group 2, VM3 and VM4 as group 3, and VM5 and VM6 as group 4.

그룹 인덱싱이 완료되면 그룹 인덱싱에 따라 그룹1부터 그룹2, 그룹3, 그룹4로 차례대로 가상 머신에 대한 재배치 작업을 실시한다. 그 결과 그룹 1의 VM1은 소켓0(81)으로, 그룹1의 VM2는 소켓1(82)로, 그룹 2의 VM8은 소켓0(81)으로, 그룹2의 VM7는 소켓1(82)로, 그룹 3의 VM3은 소켓0(81)으로, 그룹3의 VM4는 소켓1(82)로, 그룹 4의 VM6은 소켓0(81)으로, 그룹1의 VM5는 소켓1(82)로 재배치된다. 가장 높은 캐시 미스율을 갖는 VM1과 가장 낮은 캐시 미스율을 갖는 VM8을 동일한 소켓0(81)에 배치함으로써 가상 머신의 캐시 미스율 간 상보에 의해 결과적으로는 각 소켓 간의 공유 자원에 대한 요구량이 균등하도록 재배치하는 것이다. 이러한 과정을 반복함으로서 각 소켓에서 동작하는 가상 머신이 가능한 균등한 캐시 미스율을 갖도록 할 수 있도록 한다.After group indexing is completed, the virtual machines are relocated from group 1 to group 2, group 3, and group 4 according to the group indexing. As a result, VM1 in group 1 is socket 0 (81), VM2 in group 1 is socket 1 (82), VM8 in group 2 is socket 0 (81), VM7 in group 2 is socket 1 (82), VM3 of group 3 is relocated to socket 0 (81), VM4 of group 3 to socket 1 (82), VM6 of group 4 to socket 0 (81), and VM5 of group 1 to socket 1 (82). By placing VM1 with the highest cache miss rate and VM8 with the lowest cache miss rate on the same socket 0 (81), reconciliation between the cache miss rates of the virtual machines results in evenly responsive demand for shared resources between each socket. will be. By repeating this process, you ensure that virtual machines running on each socket have the same possible cache miss rates.

위의 실시예에서는 소켓이 2개이고 가상 머신이 8개인 경우를 예를 들어 설명하였으나 본 발명은 이에 한정되지 아니한다.In the above embodiment, a case where two sockets and eight virtual machines are described as an example, but the present invention is not limited thereto.

도 10는 본 발명의 일 실시예에 따른 Local phase 가상 머신 재배치 방법의 순서도를 나타낸 도면이다. 10 is a flowchart illustrating a local phase virtual machine relocation method according to an embodiment of the present invention.

Local phase 가상 머신 재배치 방법은 하나의 시스템 내에 포함된 복수의 소켓에서 동작하는 가상 머신들을 정렬시킨다(S12). 이 때 정렬하는 방법은 각 가상 머신의 캐시 미스율을 기준으로 캐시 미스율이 높은 가상 머신부터 내림차순으로 정렬시키며 정렬이 완료되는 동일한 순서대로 인덱싱한다. The local phase virtual machine relocation method aligns virtual machines operating on a plurality of sockets included in one system (S12). In this case, the sorting method sorts in descending order from the virtual machines having the highest cache miss rate based on the cache miss rate of each virtual machine, and indexes them in the same order as the sorting is completed.

가상 머신 인덱싱이 완료되는 각 가상 머신들에 대한 그룹핑을 실시한다(S14). 그룹핑 방법은 위에서 인덱싱한 순서대로 그룹핑을 하며 한 그룹에 포함되는 가상 머신의 개수는 단일 시스템 내에 포함되어 있는 소켓의 개수와 동일하다. 각 그룹에 대한 인덱싱은 최고 캐시 미스율을 갖는 그룹과 최저 캐시 미스율을 갖는 그룹을 번갈아 가면서 인덱싱한다. 이에 대한 자세한 설명은 위의 도 9에서 설명하였다. Grouping is performed for each virtual machine whose virtual machine indexing is completed (S14). Grouping methods are grouped in the order indexed above, and the number of virtual machines in one group is the same as the number of sockets in a single system. Indexing for each group alternately indexes the group with the highest cache miss rate and the group with the lowest cache miss rate. Detailed description thereof has been described with reference to FIG. 9.

그룹에 대한 인덱싱이 완료되면 각 그룹에 속한 가상 머신에 대한 재배치를 수행한다(S16). 재배치 순서는 그룹 인덱싱에 따라 진행되며 동일 그룹에 속한 가상 머신들을 각각 다른 소켓에 재배치한다. 이 때 최고 캐시 미스율을 갖는 가상 머신과 최저 캐시 미스율을 갖는 가상 머신이 동일한 소켓에 포함되도록 재배치한다. 이러한 과정은 모든 그룹에 포함된 가상 머신이 모두 재배치될 때까지 반복하여 수행한다. When indexing for the group is completed, the relocation of the virtual machines belonging to each group is performed (S16). The relocation sequence is based on group indexing and relocates virtual machines belonging to the same group to different sockets. At this time, the virtual machine with the highest cache miss rate and the virtual machine with the lowest cache miss rate are relocated to be included in the same socket. This process is repeated until all the virtual machines in all groups are relocated.

위와 같은 과정을 통해 단일 시스템에 포함된 각 소켓 내의 가상 머신들의 캐시 미스율이 균등하도록 재배치하는 것이 가능하며 결과적으로 균등한 메모리 요구량을 갖게 되어 가상 머신의 성능 저하를 방지하고 효율적인 공유자원 사용이 가능하다. Through the above process, it is possible to relocate the cache miss rate of the virtual machines in each socket included in a single system to be equal. As a result, the memory requirements are equal, thus preventing the performance of the virtual machines and effectively using the shared resources. .

도 11은 본 발명의 일 실시예에 따른 Global phase 가상 머신 재배치부를 나타낸다. 11 illustrates a global phase virtual machine relocator according to an embodiment of the present invention.

노드 선택부(101)는 캐시 미스율을 입력받아 복수의 노드들 중에서 최고 캐시 미스율을 갖는 노드 및 최저 캐시 미스율을 갖는 노드를 선택한다. 각 노드의 캐시 미스율은 각 노드에 포함된 가상 머신의 캐시 미스율의 합으로 계산할 수 있다.The node selector 101 receives a cache miss rate and selects a node having the highest cache miss rate and a node having the lowest cache miss rate among the plurality of nodes. The cache miss rate of each node may be calculated as the sum of the cache miss rates of the virtual machines included in each node.

노드 선택이 완료되면 가상 머신 선택부(102)는 위에서 선택된 최고 캐시 미스율을 갖는 노드에 포함된 가상 머신 중에서 최고 캐시 미스율을 갖는 가상 머신을 선택한다. 또한 위에서 선택된 최저 캐시 미스율을 갖는 노드에 포함된 가상 머신 중에서 최저 캐시 미스율을 갖는 가상 머신을 선택한다.When the node selection is completed, the virtual machine selecting unit 102 selects the virtual machine having the highest cache miss rate among the virtual machines included in the node having the highest cache miss rate selected above. Also, the virtual machine having the lowest cache miss rate is selected from among the virtual machines included in the node having the lowest cache miss rate selected above.

가상 머신에 대한 선택이 완료되면 노드 가상 머신 재배치부(103)는 위에서 선택된 최고 캐시 미스율을 갖는 가상 머신을 최저 캐시 미스율을 갖는 노드에 재배치하고, 최저 캐시 미스율을 갖는 가상 머신을 최고 캐시 미스율을 갖는 노드에 재배치한다. 이러한 가상 머신 재배치부를 통해 각 노드들은 균등한 캐시 미스율을 갖는 가상 머신들을 배치받을 수 있고 결과적으로, 각 노드에 요구되는 자원 요구량을 균등하게 하여 가상 머신의 성능 저하를 막고 자원에 대한 효율적인 활용을 할 수 있다. When the selection for the virtual machine is completed, the node virtual machine relocation unit 103 relocates the virtual machine having the highest cache miss rate selected above to the node having the lowest cache miss rate, and the virtual machine having the lowest cache miss rate has the highest cache miss rate. Relocate to node. This virtual machine relocation unit allows each node to receive virtual machines with equal cache miss rates, and as a result, equalizes the resource requirements of each node to prevent performance degradation of the virtual machine and to make efficient use of resources. Can be.

도 12는 본 발명의 일 실시예에 따른 Global phase 가상 머신 재배치를 나타낸 도면이다. 12 illustrates a global phase virtual machine relocation according to an embodiment of the present invention.

각각 하나의 노드에서 9개의 가상 머신이 동작하고 있는 2개의 노드를 예로 들어 설명한다. 도 12에서 빗금친 사각형은 캐시 미스율이 높은 가상 머신을 나타내고 빗금 없는 사각형은 캐시 미스율이 낮은 가상 머신을 나타낸다. Two nodes in which nine virtual machines operate on one node will be described as an example. In FIG. 12, the hatched rectangles represent virtual machines with high cache miss rates and the hatched rectangles represent virtual machines with low cache miss rates.

가상 머신이 동작하는 시스템에서 도 12(a)와 같이 특정 노드(91)로 시스템의 부하가 치우치게 될 수 있다. Global phase에서는 이러한 경우, 캐시 미스율이 가장 높은 노드(111)에서 캐시 미스율이 가장 높은 가상 머신을 선택한다. 그리고 역으로 캐시 미스율이 가장 낮은 노드(112)에서 캐시 미스율이 가장 낮은 가상 머신을 선택한다. 이렇게 선택된 두 개의 머신에 대해 Live-migration 기술을 이용하여 도 12(b)와 같이 노드의 위치를 바꿔준다. 이러한 과정을 가장 높은 캐시 미스율을 갖는 노드와 가장 낮은 노드의 차이가 기설정된 threshold를 벗어나지 않을 때까지 반복하여 실행한다. 도 12(c)는 이러한 과정이 진행되는 것을 나타낸 도면이고, 도 12(d)는 이러한 과정이 반복되어 수행된 결과를 나타내는 도면이다. 결과적으로 도 12(a)에서 특정 노드에 집중되었던 캐시 미스율이 높은 가상 머신들은 위의 global phase 가상 머신 재배치를 통해 도 12(d)와 같이 재비치됨으로써 각 노드에 걸리는 부하를 균등하게 유지할 수 있다. 이를 통해 부하의 집중으로 인한 가상 머신의 성능 저하를 방지하고 효율적인 자원 활용을 할 수 있다. 위의 실시예에서는 노드가 2개이고 각 노드에 포함된 가상 머신이 9개인 경우를 예를 들어 설명하였으나 본 발명은 이에 한정되지 아니한다.In a system in which a virtual machine operates, the load of the system may be biased to a specific node 91 as shown in FIG. 12 (a). In the global phase, in this case, the node 111 having the highest cache miss rate selects the virtual machine having the highest cache miss rate. Conversely, the node 112 with the lowest cache miss rate is selected for the virtual machine with the lowest cache miss rate. The location of the nodes is changed as shown in FIG. 12 (b) using the Live-migration technique for the two selected machines. This process is repeated until the difference between the node with the highest cache miss rate and the lowest node does not deviate from the preset threshold. 12 (c) is a view showing the progress of this process, Figure 12 (d) is a view showing the result of this process is repeated. As a result, virtual machines with high cache miss rates that were concentrated on specific nodes in FIG. 12 (a) can be rebalanced as shown in FIG. 12 (d) through the global phase virtual machine relocation above to maintain the load on each node evenly. . This prevents performance degradation of the virtual machine due to load concentration and enables efficient resource utilization. In the above embodiment, a case where there are two nodes and nine virtual machines included in each node has been described as an example, but the present invention is not limited thereto.

도 13는 본 발명의 일 실시예에 따른 Global phase 가상 머신 재배치 방법의 순서도를 나타낸 도면이다. 13 is a flowchart illustrating a global phase virtual machine relocation method according to an embodiment of the present invention.

Global phase 가상 머신 재배치 방법은 재배치할 가상 머신을 포함하고 있는 노드를 선택한다. 이를 위해 최고 캐시 미스율의 노드 및 최저 캐시 미스율의 노드를 선택한다(S21). 각 노드의 캐시 미스율은 각 노드에 포함된 가상 머신들의 캐시 미스율의 합으로 계산할 수 있다.The global phase virtual machine relocation method selects the node containing the virtual machine to be relocated. To this end, the node with the highest cache miss rate and the node with the lowest cache miss rate are selected (S21). The cache miss rate of each node may be calculated as the sum of the cache miss rates of the virtual machines included in each node.

이 과정을 통해 시스템에 포함된 여러 노드들 중에서 가장 높은 부하의 노드와 가장 낮은 부하의 노드를 선별할 수 있다. 두 노드는 Global phase 가상 머신 재배치의 대상이 된다. This process selects the nodes with the highest load and the node with the lowest load among the nodes in the system. Both nodes are subject to global phase virtual machine relocation.

다음 단계에서는 재배치할 가상 머신을 선택한다. 위에서 선택된 최고 캐시 미스율의 노드에서 최고 캐시 미스율의 가상 머신을 선택하고, 최저 캐시 미스율의 노드에서 최저 캐시 미스율의 가상 머신을 선택한다(S23).The next step is to select the virtual machine to relocate. The virtual machine having the highest cache miss rate is selected at the node having the highest cache miss rate selected above, and the virtual machine having the lowest cache miss rate is selected at the node having the lowest cache miss rate (S23).

가상 머신에 대한 선택이 완료되면 위에서 선택된 두 가상 머신에 대해 최고 미스율의 가상 머신은 최저 미스율의 가상 노드에 재배치하고, 최저 미스율의 가상 머신을 최고 미스율의 가상 노드에 재배치한다(S25). 이 재배치 과정에서 live-migration 방법을 사용하여 재배치하는 것이 가능하다.When the selection of the virtual machines is completed, the highest miss rate virtual machine is relocated to the lowest miss rate virtual node for the two virtual machines selected above, and the lowest miss rate virtual machine is relocated to the highest miss rate virtual node (S25). During this relocation process it is possible to relocate using the live-migration method.

상기 과정은 최고 캐시 미스율의 노드와 최저 캐시 미스율의 노드 간 캐시 미스율 차이가 기설정된 threshold 값 이하가 될 때까지 반복하여 실시할 수 있다.The process may be repeated until the cache miss rate difference between the node with the highest cache miss rate and the node with the lowest cache miss rate is less than or equal to a predetermined threshold value.

위와 같은 방법을 통해 Global phase 가상 머신 재배치 방법은 각 노드의 자원 요구량을 균등하게 조절함으로써 특정 노드에 걸린 과부하를 해소함으로써 가상 머신의 성능 저하를 방지하고 효율적인 공유 자원 사용을 가능하게 하는 효과가 있다. Through the above method, the global phase virtual machine relocation method equally adjusts the resource requirements of each node to alleviate the overload on a specific node, thereby preventing performance degradation of the virtual machine and enabling efficient use of shared resources.

이상과 같이 본 발명은 비록 한정된 실시 예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill 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 by the appended claims. This is possible. Therefore, the scope of the present invention should not be limited by the described embodiments, but should be determined by the equivalents of the appended claims, as well as the appended claims.

31: Front-End 32: LLC miss 및 cpu-affinity 정보
33: 가상머신 재배치 대상노드 34: 가상머신 재배치 상대노드
35: 클러스터 노드들의 정보
31: Front-End 32: LLC miss and cpu-affinity information
33: Virtual machine relocation target node 34: Virtual machine relocation target node
35: information of cluster nodes

Claims (10)

클러스터가 포함된 클라우드 컴퓨팅 시스템에서,
상기 클러스터에 포함된 복수의 노드에 포함된 복수의 가상 머신의 캐시 미스율을 수집하는 캐시 미스율 수집부;
상기 캐시 미스율에 따라 가상 머신을 재배치하는 가상 머신 재배치부를 포함하는 동적 가상 머신 재배치 장치.
In a cloud computing system with a cluster,
A cache miss rate collector configured to collect cache miss rates of a plurality of virtual machines included in a plurality of nodes included in the cluster;
And a virtual machine relocator configured to relocate the virtual machine according to the cache miss rate.
제 1항에 있어서, 상기 가상 머신 재배치부는 Global phase 가상 머신 재배치부를 포함하고,
상기 Global phase 가상 머신 재배치부는,
상기 캐시 미스율 정보를 입력받아 최고 및 최저 캐시 미스율을 갖는 노드를 각각 선택하는 노드 선택부;
상기 선택된 최고 및 최저 캐시 미스율을 갖는 노드에서 각각 최고 및 최저 캐시 미스율을 갖는 가상 머신을 선택하는 가상 머신 선택부; 및
상기 선택된 가상 머신을 상호 교환하여 재배치하는 노드 가상 머신 재배치부를 포함하는 동적 가상 머신 재배치 장치.
The method of claim 1, wherein the virtual machine repositioning unit comprises a global phase virtual machine repositioning unit,
The global phase virtual machine relocation unit,
A node selector configured to receive the cache miss rate information and select nodes having the highest and lowest cache miss rates, respectively;
A virtual machine selector configured to select a virtual machine having a highest and lowest cache miss rate at each node having the selected highest and lowest cache miss rate; And
And a node virtual machine relocator configured to interchange and relocate the selected virtual machine.
제 1항에 있어서, 상기 가상 머신 재배치부는 Local phase 가상 머신 재배치부를 포함하고,
상기 Local phase 가상 머신 재배치부는,
상기 각 노드 내의 소켓들에 포함된 가상 머신을 캐시 미스율에 따라 정렬하는 가상 머신 정렬부;
상기 정렬된 가상 머신들을 각 노드에 포함된 소켓의 개수와 동일한 개수의 가상 머신을 포함하는 그룹들로 그룹핑하는 가상 머신 그룹핑부; 및
상기 그룹별로 해당 그룹에 포함된 가상 머신을 복수 개의 소켓에 재배치하는 소켓 가상 머신 재배치부를 포함하는 동적 가상 머신 재배치 장치.
The virtual machine relocator of claim 1, wherein the virtual machine relocator includes a local phase virtual machine relocator.
The local phase virtual machine relocator,
A virtual machine aligning unit that sorts the virtual machines included in the sockets in each node according to a cache miss rate;
A virtual machine grouping unit for grouping the sorted virtual machines into groups including the same number of virtual machines as the number of sockets included in each node; And
And a socket virtual machine relocator configured to relocate the virtual machines included in the group to a plurality of sockets for each group.
제 3항에 있어서, 상기 소켓 가상 머신 재배치부는
상기 가상 머신들 중 최고 캐시 미스율을 갖는 가상 머신과 최저 캐시 미스율을 갖는 가상 머신이 동일한 소켓에 포함되도록 재배치하는 동적 가상 머신 재배치 장치.
The method of claim 3, wherein the socket virtual machine repositioning unit
And relocating the virtual machine having the highest cache miss rate and the virtual machine having the lowest cache miss rate among the virtual machines to be included in the same socket.
제 1항에 있어서, 상기 가상 머신 재배치부는 live-migration을 이용하여 가상 머신을 재배치하는 동적 가상 머신 재배치 장치.The dynamic virtual machine relocation apparatus of claim 1, wherein the virtual machine relocation unit relocates the virtual machine using live-migration. 클러스터가 포함된 클라우드 컴퓨팅 시스템에서,
상기 클러스터에 포함된 복수의 노드에 포함된 복수의 가상 머신의 캐시 미스율을 수집하는 단계;
상기 캐시 미스율에 따라 가상 머신을 재배치하는 단계를 포함하는 동적 가상 머신 재배치 방법.
In a cloud computing system with a cluster,
Collecting cache miss rates of a plurality of virtual machines included in a plurality of nodes included in the cluster;
And relocating a virtual machine according to the cache miss rate.
제 6항에 있어서, 상기 가상 머신을 재배치하는 단계는
상기 캐시 미스율 정보를 입력받아 최고 및 최저 캐시 미스율을 갖는 노드를 각각 선택하는 단계;
상기 선택된 최고 및 최저 캐시 미스율을 갖는 노드에서 각각 최고 및 최저 캐시 미스율을 갖는 가상 머신을 선택하는 단계; 및
상기 선택된 가상 머신을 상호 교환하여 재배치하는 단계를 포함하는 동적 가상 머신 재배치 방법.
7. The method of claim 6, wherein relocating the virtual machine
Receiving the cache miss rate information and selecting nodes having the highest and lowest cache miss rates, respectively;
Selecting a virtual machine having a highest and lowest cache miss rate at each node having the selected highest and lowest cache miss rate; And
Interchanging and relocating the selected virtual machine.
제 6항에 있어서, 상기 가상 머신 재배치하는 단계는
상기 각 노드 내의 소켓들에 포함된 가상 머신을 캐시 미스율에 따라 정렬하는 단계;
상기 정렬된 가상 머신들을 각 노드에 포함된 소켓의 개수와 동일한 개수의 가상 머신을 포함하는 그룹들로 그룹핑하는 단계; 및
상기 그룹별로 해당 그룹에 포함된 가상 머신을 복수 개의 소켓에 재배치하는 단계를 포함하는 동적 가상 머신 재배치 방법.
7. The method of claim 6, wherein relocating the virtual machine
Sorting the virtual machines included in the sockets in each node according to a cache miss rate;
Grouping the sorted virtual machines into groups including the same number of virtual machines as the number of sockets included in each node; And
Relocating a virtual machine included in the group for each group to a plurality of sockets.
제 8항에 있어서, 상기 소켓에 재배치하는 단계는
상기 가상 머신들 중 최고 캐시 미스율을 갖는 가상 머신과 최저 캐시 미스율을 갖는 가상 머신이 동일한 소켓에 포함되도록 재배치하는 동적 가상 머신 재배치 방법.
9. The method of claim 8, wherein relocating to the socket
And relocating the virtual machine having the highest cache miss rate and the virtual machine having the lowest cache miss rate among the virtual machines to be included in the same socket.
제 6항에 있어서, 상기 가상 머신을 재배치하는 단계는 live-migration을 이용하여 가상 머신을 재배치하는 동적 가상 머신 재배치 방법.7. The method of claim 6, wherein relocating the virtual machine comprises relocating the virtual machine using live-migration.
KR1020110143097A 2011-12-27 2011-12-27 Apparatus and method for dynamic virtual machine placement KR20130074953A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110143097A KR20130074953A (en) 2011-12-27 2011-12-27 Apparatus and method for dynamic virtual machine placement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110143097A KR20130074953A (en) 2011-12-27 2011-12-27 Apparatus and method for dynamic virtual machine placement

Publications (1)

Publication Number Publication Date
KR20130074953A true KR20130074953A (en) 2013-07-05

Family

ID=48988922

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110143097A KR20130074953A (en) 2011-12-27 2011-12-27 Apparatus and method for dynamic virtual machine placement

Country Status (1)

Country Link
KR (1) KR20130074953A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150016820A (en) * 2013-08-05 2015-02-13 한국전자통신연구원 System and method for virtual machine placement and management on cluster system
KR101502225B1 (en) * 2013-07-31 2015-03-12 서울대학교산학협력단 Virtual machine allocation method to minimize performance interference between virtual machines
WO2015099701A1 (en) 2013-12-24 2015-07-02 Intel Corporation Cloud compute scheduling using a heuristic contention model
WO2022039292A1 (en) * 2020-08-19 2022-02-24 서울대학교산학협력단 Edge computing method, electronic device, and system for providing cache update and bandwidth allocation for wireless virtual reality
KR102571782B1 (en) * 2022-12-16 2023-08-29 스트라토 주식회사 Apparatus and method for virtual machine relocation using resource management pool

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101502225B1 (en) * 2013-07-31 2015-03-12 서울대학교산학협력단 Virtual machine allocation method to minimize performance interference between virtual machines
KR20150016820A (en) * 2013-08-05 2015-02-13 한국전자통신연구원 System and method for virtual machine placement and management on cluster system
WO2015099701A1 (en) 2013-12-24 2015-07-02 Intel Corporation Cloud compute scheduling using a heuristic contention model
EP3087503A4 (en) * 2013-12-24 2018-01-17 Intel Corporation Cloud compute scheduling using a heuristic contention model
US11212235B2 (en) 2013-12-24 2021-12-28 Intel Corporation Cloud compute scheduling using a heuristic contention model
US11689471B2 (en) 2013-12-24 2023-06-27 Intel Corporation Cloud compute scheduling using a heuristic contention model
WO2022039292A1 (en) * 2020-08-19 2022-02-24 서울대학교산학협력단 Edge computing method, electronic device, and system for providing cache update and bandwidth allocation for wireless virtual reality
KR102571782B1 (en) * 2022-12-16 2023-08-29 스트라토 주식회사 Apparatus and method for virtual machine relocation using resource management pool

Similar Documents

Publication Publication Date Title
US10776151B2 (en) Adaptive CPU NUMA scheduling
US10334034B2 (en) Virtual machine live migration method, virtual machine deployment method, server, and cluster system
US10609129B2 (en) Method and system for multi-tenant resource distribution
Park et al. Locality-aware dynamic VM reconfiguration on MapReduce clouds
US8510747B2 (en) Method and device for implementing load balance of data center resources
US20200167184A1 (en) System and Method for Optimizing Placements of Virtual Machines on Hypervisor Hosts
US9442763B2 (en) Resource allocation method and resource management platform
US8874744B2 (en) System and method for automatically optimizing capacity between server clusters
US8352942B2 (en) Virtual-machine control apparatus and virtual-machine moving method
CN114356543B (en) A multi-tenant machine learning task resource scheduling method based on Kubernetes
Chatzistergiou et al. Fast heuristics for near-optimal task allocation in data stream processing over clusters
US20130167152A1 (en) Multi-core-based computing apparatus having hierarchical scheduler and hierarchical scheduling method
JP2008191949A (en) Multi-core system, and method for distributing load of the same
CN111078363A (en) NUMA node scheduling method, device, equipment and medium for virtual machine
WO2019153697A1 (en) Cluster resource adjustment method and device, and cloud platform
CN110221920B (en) Deployment method, device, storage medium and system
JP2007272263A (en) Method for managing computer, computer system, and management program
CN108132827B (en) Network slice resource mapping method, related equipment and system
KR101356033B1 (en) Hybrid Main Memory System and Task Scheduling Method therefor
KR20130074953A (en) Apparatus and method for dynamic virtual machine placement
US20090183166A1 (en) Algorithm to share physical processors to maximize processor cache usage and topologies
US20110154357A1 (en) Storage Management In A Data Processing System
JP6010975B2 (en) Job management apparatus, job management method, and program
Panda et al. Novel service broker and load balancing policies for cloudsim-based visual modeller
US20120042322A1 (en) Hybrid Program Balancing

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20111227

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20130527

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20130731

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20130527

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I