KR20200013129A - a virtual machine replacement method in cloud computing system - Google Patents

a virtual machine replacement method in cloud computing system Download PDF

Info

Publication number
KR20200013129A
KR20200013129A KR1020180081172A KR20180081172A KR20200013129A KR 20200013129 A KR20200013129 A KR 20200013129A KR 1020180081172 A KR1020180081172 A KR 1020180081172A KR 20180081172 A KR20180081172 A KR 20180081172A KR 20200013129 A KR20200013129 A KR 20200013129A
Authority
KR
South Korea
Prior art keywords
virtual machine
virtual
computing system
cloud computing
virtual machines
Prior art date
Application number
KR1020180081172A
Other languages
Korean (ko)
Other versions
KR102076626B1 (en
Inventor
나랑토야 자르갈사이흥
임혁
Original Assignee
광주과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 광주과학기술원 filed Critical 광주과학기술원
Priority to KR1020180081172A priority Critical patent/KR102076626B1/en
Publication of KR20200013129A publication Critical patent/KR20200013129A/en
Application granted granted Critical
Publication of KR102076626B1 publication Critical patent/KR102076626B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed is a cloud computing system. The cloud computing system according to one embodiment of the present invention comprises: a network controller monitoring a network traffic of the cloud computing system in the cloud computing system including one or more physical machines in which one or more virtual machines are operated; a computing controller monitoring computing resources of the cloud computing system; and a virtual machine placing controller placing the virtual machines on the physical machines based on the monitoring results obtained from the network controller and the computing controller.

Description

클라우드 컴퓨팅 시스템에서 가상 머신 재배치 방법{a virtual machine replacement method in cloud computing system}{A virtual machine replacement method in cloud computing system}

본 발명은 클라우드 컴퓨팅 시스템에서의 가상 머신 재배치 방법에 관한 것이다. 구체적으로 본 발명은 소프트웨어 정의 데이터 센터로 일컬어지는 클라우드 컴퓨팅 시스템에서의 가상 머신 재배치 방법에 관한 것이다.The present invention relates to a virtual machine relocation method in a cloud computing system. Specifically, the present invention relates to a virtual machine relocation method in a cloud computing system called a software defined data center.

오늘날 우리는 인터넷을 통해 다양한 서비스에 액세스할 수 있다. 인터넷 기반 서비스의 가장 보편적인 예는 소셜 네트워킹 서비스, 클라우드 리소스 공유, 온라인 상거래 및 전자 은행 서비스가 있다. 서비스 제공 업체는 운영 비용을 최소화하면서 가능한 신속하게 고객의 요구에 대응할 수 있도록 확장성이 뛰어난 서비스를 만드는 것을 목표로 한다. 인터넷 기반 서비스는 일반적으로 가상화 기술을 기반으로 하는 클라우드 컴퓨팅 환경에서 호스팅되며, 합리적인 운영 비용으로 고성능의 확장 가능한 서비스를 제공하기 위한 데이터 센터의 가상 머신(Virtual Machine, VMs)에 의해 배포된다.Today we can access a variety of services over the Internet. The most common examples of Internet-based services are social networking services, cloud resource sharing, online commerce and electronic banking services. Service providers aim to create highly scalable services that respond to customer needs as quickly as possible while minimizing operating costs. Internet-based services are typically hosted in cloud computing environments based on virtualization technology, and are deployed by virtual machines (VMs) in the data center to provide high-performance, scalable services at reasonable operating costs.

기존의 데이터 센터를 확장하는데는 엄청난 운영 비용이 필요하기 때문에, 최근 데이터 센터는 소프트웨어로 정의된 기술로 다시 설계되는 추세이다. 소프트웨어 정의 기술을 사용하면 작업 부하를 조정하고 인프라 관리를 수행할 수 있다. 이러한 종류의 소프트웨어 중심 데이터 센터를 SDDC(Software-Defined Data Center)라고 한다. SDDC는 기존 데이터 센터에 비해 관리가 쉽고 배포가 빠르고 경제성에서 경쟁력이 있다.Recently, data centers are being redesigned with software-defined technology because of the enormous operational costs of scaling existing data centers. Software-defined technologies enable you to balance workloads and manage infrastructure. This kind of software-centric data center is called a software-defined data center (SDDC). SDDCs are easier to manage, faster to deploy, and more economical than traditional data centers.

SDDC의 장점을 사용하여 데이터 센터의 모든 기능을 자동화할 수 있다. 예를 들어 페이스 북은 데이터 센터의 각 관리자가 자동화를 사용하여 적어도 20000대의 서버를 관리할 수 있다고 발표하였다. 소프트웨어 정의 기술로 데이터 센터를 유연하게 관리할 수 있으므로 운영 비용을 낮추어 서비스 성능을 향상시킬 수 있다.The advantages of SDDC can be used to automate all the functions of the data center. Facebook, for example, has announced that each administrator in a data center can use automation to manage at least 20000 servers. Software-defined technology gives you the flexibility to manage your data center, lowering operating costs and improving service performance.

L. I. Smith, "A tutorial on principal components analysis," tech. rep.,2002.L. I. Smith, "A tutorial on principal components analysis," tech. rep., 2002. M. Indulska and M. E. Orlowska, "Gravity based spatial clustering," in ACM International Symposium on Advances in Geographic Information Systems, pp. 125??130, 2002.M. Indulska and M. E. Orlowska, "Gravity based spatial clustering," in ACM International Symposium on Advances in Geographic Information Systems, pp. 125 ?? 130, 2002.

본 발명의 일 실시 예에 따른 클라우드 컴퓨팅 시스템은 가상 머신들간의 종속성에 따라 피지컬 머신에 할당하여 최적화된 가상 머신 배치을 가능하게 하는 것을 목적으로 한다.A cloud computing system according to an exemplary embodiment of the present invention aims to enable an optimized virtual machine arrangement by allocating a physical machine according to dependencies among virtual machines.

클라우드 컴퓨팅 시스템이 개시된다. 본 발명의 일 실시 예에 따른 클라우드 컴퓨팅 시스템은 하나 이상의 가상 머신이 운용되는 하나 이상의 피지컬 머신을 포함하는 클라우드 컴퓨팅 시스템에서, 상기 클라우드 컴퓨팅 시스템의 네트워크 트래픽을 모니터링하는 네트워크 컨트롤러; 상기 클라우드 컴퓨팅 시스템의 컴퓨팅 리소스를 모니터링하는 컴퓨팅 컨트롤러; 및 상기 네트워크 컨트롤러 및 컴퓨팅 컨트롤러로부터 획득된 모니터링 결과에 기초하여 가상 머신을 피지컬 머신에 배치하는 가상 머신 배치 컨트롤러를 포함한다.A cloud computing system is disclosed. According to one or more exemplary embodiments, a cloud computing system includes a network controller configured to monitor network traffic of a cloud computing system, the cloud computing system including one or more physical machines on which one or more virtual machines operate; A computing controller for monitoring computing resources of the cloud computing system; And a virtual machine placement controller that places the virtual machine in the physical machine based on the monitoring result obtained from the network controller and the computing controller.

본 발명의 일 실시 예에 따른 클라우드 컴퓨팅 시스템은 가상 머신의 종속성에 기반하여 가상 머신들을 피지컬 머신에 배치함으로써 고객에게 더 빠른 서비스를 제공할 수 있다.The cloud computing system according to an exemplary embodiment may provide a faster service to a customer by disposing virtual machines in a physical machine based on the dependency of the virtual machines.

또한, 본 발명의 일 실시 예에 따른 클라우드 컴퓨팅 시스템은 피지컬 머신들간의 피지컬 네트워크 트래픽을 줄일 수 있다. In addition, the cloud computing system according to an embodiment of the present invention can reduce physical network traffic between physical machines.

도 1은 SDDC의 아키텍쳐를 설명하는 도면이다.
도 2는 데이터 센터에서 가상 머신 배치의 두가지 예를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 데이터 센터에서 가상 머신 배치 방법을 나타내는 흐름도이다.
도 4는 W에서 W'로의 PCA 기반 차원 감소의 일 예를 나타낸다.
도 5는 피지컬 머신과 그룹간의 매칭 방법을 나타낸다.
1 is a diagram for explaining the architecture of the SDDC.
2 shows two examples of virtual machine deployment in a data center.
3 is a flowchart illustrating a virtual machine placement method in a data center according to an embodiment of the present invention.
4 shows an example of PCA based dimensional reduction from W to W '.
5 shows a matching method between a physical machine and a group.

이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 그러나 본 발명의 사상은 이하의 실시예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에 포함되는 다른 실시예를 구성요소의 부가, 변경, 삭제, 및 추가 등에 의해서 용이하게 제안할 수 있을 것이나, 이 또한 본 발명 사상의 범위 내에 포함된다고 할 것이다. Hereinafter, with reference to the drawings will be described in detail a specific embodiment of the present invention. However, the spirit of the present invention is not limited to the following embodiments, and those skilled in the art who understand the spirit of the present invention can easily add, change, delete, or add other components that fall within the scope of the same spirit. It may be proposed, but this will also be included within the scope of the present invention.

첨부 도면은 발명의 사상을 이해하기 쉽게 표현하기 위하여 전체적인 구조를 설명함에 있어서는 미소한 부분은 구체적으로 표현하지 않을 수도 있고, 미소한 부분을 설명함에 있어서는 전체적인 구조는 구체적으로 반영되지 않을 수도 있다. 또한, 설치 위치 등 구체적인 부분이 다르더라도 그 작용이 동일한 경우에는 동일한 명칭을 부여함으로써, 이해의 편의를 높일 수 있도록 한다. 또한, 동일한 구성이 복수 개가 있을 때에는 어느 하나의 구성에 대해서만 설명하고 다른 구성에 대해서는 동일한 설명이 적용되는 것으로 하고 그 설명을 생략한다. In the accompanying drawings, in order to easily express the spirit of the present invention, in describing the overall structure, minute parts may not be specifically described, and in describing the minute parts, the overall structure may not be specifically reflected. In addition, even if the specific parts, such as an installation position, are different, when the action is the same, the same name is given, and the convenience of understanding can be improved. In addition, when there exists a plurality of the same structure, only one structure is demonstrated, and the same description is applied about another structure, and the description is abbreviate | omitted.

이하에서 설명되는 용어 중 가상 머신은 소프트웨어를 의미한다. 그리고 피지컬 머신을 소프트웨어가 동작하는 하드웨어를 의미한다. 다시 말해서, 피지컬 머신은 CPU, memory 및 storage를 포함하는 연산 장치를 지칭할 수 있다.Among the terms described below, the virtual machine refers to software. And physical machine refers to the hardware on which software runs. In other words, a physical machine may refer to a computing device including a CPU, memory, and storage.

데이터 센터에서 가장 널리 사용되고 잘 알려진 소프트웨어 정의 기술은 서버 가상화이다. 서버 가상화 기술은 컴퓨팅 리소스가 보장된 단일의 피지컬 머신(Physical Machine)에서 여러 가상 머신을 생성할 수 있게 한다. 피지컬 머신 내의 가상 머신은 특정 기능을 보다 광범위한 서비스의 서브 서비스로 제공할 수 있는 SOA(Service Oriented Architecture)를 기반으로 다양한 서비스를 구축하는데 사용된다. 즉, 여러 개의 협력 가상 머신은 하위 서비스로 작동하는 각 가상 머신에 단일 서비스를 제공해야 하며 모든 가상 머신은 서비스가 제대로 실행되도록 함께 작동하여야 한다.The most widely used and well-known software-defined technology in the data center is server virtualization. Server virtualization technology allows the creation of multiple virtual machines on a single physical machine with guaranteed computing resources. Virtual machines within a physical machine are used to build a variety of services based on Service Oriented Architecture (SOA), which can provide specific functions as a subservice of a wider range of services. That is, multiple cooperative virtual machines must provide a single service to each virtual machine acting as a subservice, and all virtual machines must work together to ensure that the service runs properly.

데이터 센터에서 단일 서비스와 관련된 모든 가상 머신을 처음에는 단일의 피지컬 머신에 배치할 수 있다. 그러나 고객 수가 증가하거나, 서비스의 효율을 높이기 위해 추가 기능이 필요할 때 서비스를 확장해야 하는 경우가 발생한다. 서비스를 확장할 때 이전에 사용된 피지컬 머신의 사용 가능한 리소스 양이 추가되는 가상 머신에 충분하지 않은 경우 피지컬 머신에 가상 머신이 만들어 진다. 서비스의 일부 가상머신은 서로 큰 의존관계를 가지나, 일부 가상 머신들간에는 의존관계의 정도가 작을 수 있다.In the data center, all virtual machines related to a single service can be initially placed on a single physical machine. But when the number of customers increases, or when additional features are needed to make the service more efficient, the service needs to be extended. When extending the service, a virtual machine is created on the physical machine if the amount of available resources of the previously used physical machine is not enough for the virtual machine to be added. Some virtual machines of the service have a large dependency on each other, but some of the virtual machines may have a small degree of dependency.

또한, 동일한 서비스에 속한 가상 머신들 사이에서도 각 가상머신들 쌍간의 트래픽 종속성이 크게 다르다. 종속성이 높은 가상 머신들을 여러 피지컬 머신에 분산키시면 데이터 센터 네트워크의 데이터 트래픽 볼륨이 증가할 수 있으며, 이는 서비스 성능에 부정적인 영향을 미칠 수 있다.In addition, even between virtual machines belonging to the same service, the traffic dependency between pairs of virtual machines is very different. Distributing highly dependent virtual machines across multiple physical machines can increase the volume of data traffic in the data center network, which can negatively impact service performance.

이하 본 발명에서는 상술한 문제를 해결하고자 데이터 센터 네트워크의 트래픽 양을 줄임으로써 SDDC에서 높은 확장성을 달성하기 위해 가상 머신 배치를 위한 의존성 기반 알고리즘을 제안한다.The present invention proposes a dependency-based algorithm for virtual machine deployment to achieve high scalability in the SDDC by reducing the traffic volume of the data center network to solve the above problem.

SDDC는 컴퓨팅, 네트워킹 및 스토리지와 같은 데이터 센터 리소스의 동적 관리 및 구성을 가능하게 하는 데이터 센터의 새로운 패러다임이다. SDDC를 사용하면 고객은 몇 분 내에 서비스 개발 및 운영을 위해 요청한 새로 생성된 인프라를 사용할 수 있다. 또한 SDDC는 공급 업체 종속성에 관계 없이 모든 기본 리소스를 제어할 수 있다. 따라서 서비스 제공 업체는 복잡한 인프라 배치 및 관리에 대해 걱정할 필요가 없다.SDDC is a new paradigm in the data center that enables dynamic management and configuration of data center resources such as computing, networking, and storage. With SDDC, customers can use the newly created infrastructure they requested to develop and operate their services within minutes. In addition, the SDDC can control all underlying resources, regardless of vendor dependencies. Service providers do not have to worry about complex infrastructure deployment and management.

일반적으로 SDDC는 SDN(Software-Defined Networking), SDC(Software-Defined Computing) 및 SDS(Software Defined Standard)와 같은 다양한 소프트웨어 정의 기술을 통합한 것으로 아래와 같이 정의된다.Generally, SDDC is defined as the integration of various software defined technologies such as Software-Defined Networking (SDN), Software-Defined Computing (SDC), and Software Defined Standard (SDS).

1) SDN은 네트워크 장치에서 단일 서버로 제어 평면을 이동시키는 새로운 패러다임의 네트워킹이다. 네트워크 장치의 모든 무의미성은 서버에서 실행되는 중앙 집중식 컨트롤러 소프트웨어에 의해 직접 개발된다.1) SDN is a new paradigm of networking that moves the control plane from a network device to a single server. All insignificance of network devices is developed directly by the centralized controller software running on the server.

2) SDC는 SDDC를 개발하는 첫번째 단계이다. SDC는 시스템 리소스를 효율적으로 활용하고 중요한 결정을 신속하게 내리기 위해 서버 가상화를 사용하는 것을 기반으로 한다.2) SDC is the first step in developing SDDC. SDC is based on the use of server virtualization to efficiently utilize system resources and make critical decisions quickly.

3) SDS는 데이터 스토리지 계층에서 데이터 제어 계층을 격리하여 스토리지 시스템에서 많은 양의 데이터를 관리하는데 사용된다.3) SDS is used to manage large amounts of data in storage systems by isolating the data control layer from the data storage layer.

도 1은 SDDC의 아키텍쳐를 설명하는 도면이다.1 is a diagram for explaining the architecture of the SDDC.

도 1은 6개의 오픈플로우 인에이블 스위치와 세개의 피지컬 머신으로 구성된 SDDC의 예를 나타낸다. SDDC에서 모든 네트워킹 관련 기능은 SDN 컨트롤러(10)로 모니터링되며, 모든 컴퓨팅 관련 기능은 SDC 컨트롤러(20)로 모니터링된다. 모든 데이터 센터 리소스는 소프트웨어 정의 기술로 제어되어 인프라 스트럭처를 동적으로 구성할 수 있으며, 제안된 전략에 필요한 데이터를 쉽게 얻을 수 있다. 또한, SDC를 적용하면 가상 머신 마이그레이션 기술을 지원하여 여러 피지컬 머신들간에 가상 머신을 이동할 수도 있다. 더하여, SDDC는 SDN 컨트롤러(10) 및 SDC 컨트롤러(20)으로부터의 모니터링 결과에 기초하여 가상 머신의 배치를 관리하는 가상 머신 배치 컨트롤러(미도시)를 더 포함할 수도 있다.Figure 1 shows an example of an SDDC consisting of six openflow enable switches and three physical machines. All networking related functions in the SDDC are monitored by the SDN controller 10, and all computing related functions are monitored by the SDC controller 20. All data center resources are controlled by software-defined technology to dynamically configure the infrastructure and easily obtain the data needed for the proposed strategy. SDC also supports virtual machine migration technology to move virtual machines between different physical machines. In addition, the SDDC may further include a virtual machine placement controller (not shown) that manages the placement of the virtual machine based on the monitoring results from the SDN controller 10 and the SDC controller 20.

대부분의 서비스에는 비즈니스 로직 처리, 데이터 관리 및 사용자 인터페이스와 같은 다른 기능이 필요하다, 각 피지컬 머신의 가상 머신은 서비스 구축에 사용된다. 모든 다른 기능들이 하나의 싱글 가상 머신에 마련되는 경우, 가상 머신은 모든 기능을 동시에 수행하여야 한다. 그러나 이러한 형태의 아키텍쳐는 서비스 성능에 부정적일 수 밖에 없으며, 아키텍처의 스케일 업 시 에러에 관한 높은 위험성을 유발할 수 있다. 따라서 대부분의 서비스는 서비스의 여러 기능이 별도로 실행되는 다 계층 아키텍처를 기반으로 한다. 가상 일반적인 다중 계층 아키텍처는 3계층 아키텍처로서, 여러 가상머신에서 수행되는 로직, 프리젠테이션 및 데이터 계층으로 구성된다. Most services require other functions, such as business logic processing, data management, and user interface. Each physical machine's virtual machine is used to build the service. If all other functions are provided in one single virtual machine, the virtual machine must perform all functions simultaneously. However, this type of architecture can only be negative for service performance and can pose a high risk of error when the architecture scales up. Thus, most services are based on a multi-tiered architecture in which the different functions of the service run separately. The virtual generic multi-tier architecture is a three-tier architecture that consists of the logic, presentation, and data layers performed on multiple virtual machines.

일반적으로 데이터 센터의 서비스가 여러 가상 머신에서 호스팅되므로 가상 머신은 서로간에 커뮤니케이션 종속성을 갖는다. 일 예로 도 1에 도시된 바와 같이, 9개의 가상 머신이 있는 제 1 피지컬 머신(30)에서 실행되는 하나의 서비스가 있을 수 있다. 제 1 피지컬 머신(30)내 가상 머신들 중에서 동일한 색상의 가상 머신은 서로 종속성이 높으며, 같은 색상의 가상 머신들간의 데이터 트래픽은 서로 다른 색상의 가상 머신들간의 데이터 트래픽보다 훨씬 높다.Typically, the services in a data center are hosted on multiple virtual machines, so virtual machines have communication dependencies with each other. As an example, as shown in FIG. 1, there may be one service executed in the first physical machine 30 having nine virtual machines. Virtual machines of the same color among the virtual machines in the first physical machine 30 have a high dependency on each other, and data traffic between virtual machines of the same color is much higher than data traffic between virtual machines of different colors.

도 2는 데이터 센터에서 가상 머신 배치의 두가지 예를 나타낸다.2 shows two examples of virtual machine deployment in a data center.

도 2의 (a)는 가상 머신을 랜덤을 배치한 경우에 가상 머신들간의 트래픽을 나타내며, 도 2의 (b)는 가상 머신을 트래픽에 따라 배치한 경우에 가상 머신들간의 트래픽을 나타낸다.FIG. 2A illustrates traffic between virtual machines when the virtual machines are randomly arranged, and FIG. 2B illustrates traffic between virtual machines when the virtual machines are arranged according to the traffic.

서비스 초기에는 단일의 피지컬 머신으로도 서비스에 필요한 모든 가상 머신을 호스팅하기에 충분할 수 있다. 그러나 고객 수가 지속적으로 증가하거나 효율적인 서비스를 제공하기 위해 추가 기능이 필요하기 때문에 서비스를 확장해야할 필요가 있다. 이러한 경우 더 많은 컴퓨팅 리소스가 필요하고. 추가적인 가상 머신이 생성될 필요가 있다. 이때 기존에 사용하던 피지컬 머신의 리소스가 부족한 경우 다른 새로운 피지컬 머신에 추가 가상 머신이 생성될 수 있다.Initially, a single physical machine may be sufficient to host all the virtual machines needed for the service. However, there is a need to expand the service because the number of customers is constantly increasing or additional features are needed to provide efficient service. In such cases, more computing resources are required. Additional virtual machines need to be created. In this case, if the resources of the existing physical machine are insufficient, additional virtual machines may be created in another new physical machine.

예를 들어 도 1에서 볼 수 있듯이 서비스가 릴리스되었을 때 하나의 피지컬 머신에 배치된 9개의 가상 머신에 서비스가 호스팅될 수도 있지만, 다른 피지컬 머신에 추가적인 가상 머신을 만들어 서비스를 확장할 수 도 있다.For example, as shown in FIG. 1, when a service is released, the service may be hosted on nine virtual machines deployed on one physical machine, but the service may be extended by creating additional virtual machines on another physical machine.

이때 기존 전략에서는 추가 가상 머신을 생성하는데 가상 머신들간의 커뮤니케이션 종속성을 고려하지 않았다. 따라서, 높은 종속성을 보이는 가상 머신들이 각각 다른 피지컬 머신에 배치될 수 있어, 결과적으로 피지컬 머신들간 데이터 트래픽이 크게 증가하였다. 이는 서비스의 성능에 부정적인 영향을 미친다.The existing strategy did not consider the communication dependencies between the virtual machines in creating additional virtual machines. Thus, virtual machines with high dependencies can be placed in different physical machines, resulting in a significant increase in data traffic between physical machines. This negatively affects the performance of the service.

서비스 성능을 향상시키기 위해서 데이터 센터의 피지컬 네트워크에서 데이터 속도를 최소화하는 것이 바람직하다. 이를 위해 가상 머신들간의 트래픽 종속성을 고려하여 각 가상 머신의 적절한 배치 위치를 결정하는 효율적인 가상 머신 배치 알고리즘을 이하에서 자세하게 설명한다.In order to improve service performance, it is desirable to minimize data rates in the physical network of the data center. To this end, an efficient virtual machine placement algorithm for determining an appropriate placement location of each virtual machine in consideration of traffic dependencies between the virtual machines will be described in detail below.

일 실시 예에서 SDDC 내 하나 이상의 가상 머신이 각각의 피지컬 머신에 마련되어 있고, 도 2에 도시된 바와 같이 그들간에 내부 가상 네트워크에 의해 서로 연결되어 물리적 네트워크에 연결될 수 있다. n개의 가상 머신이 데이터 센터 내 m개의 피지컬 머신에 마련될 수 있다. 가상 머신의 셋을

Figure pat00001
라고 하고, v.c, v.m 그리고 v.s 각각을 가상 머신(v)를 운용하기 위해 필요한 CPU, memory, 그리고 storage라고 할 수 있다. 또한 피지컬 머신 셋을
Figure pat00002
라고 하고, 마찬가지로, p.c, p.m 그리고 p.s 각각을 피지컬 머신(p)를 운용하기 위해 필요한 CPU, memory, 그리고 storage라고 할 수 있다.In one embodiment, one or more virtual machines in the SDDC are provided in each physical machine, and as shown in FIG. 2, they may be connected to each other by an internal virtual network and connected to the physical network. n virtual machines may be provided in m physical machines in the data center. Three sets of virtual machines
Figure pat00001
Vc, vm and vs are the CPU, memory, and storage required to run the virtual machine (v). We also have three physical machines
Figure pat00002
Likewise, each of pc, pm and ps may be referred to as CPU, memory, and storage required to operate the physical machine (p).

X를 n 바이 m의 바이너리 매트릭스로서, X에 포함된 각각의 엘리먼트 xi,j는 vi가 pj에 마련되는 경우 1, 반대의 경우 0의 값을 갖는다.X is a binary matrix of n by m, and each element x i, j included in X has a value of 1 when v i is provided in p j and vice versa.

데이터 센터가 SDDC이기 때문에, 가상 머신들간의 플로우 정보의 상태는 SDN 컨트롤러에서 이용가능하다. 가상 머신들간의 플로우 정보에 기초하여, 트래픽 매트릭스가 가상 머신들에 대하여 만들어질 수 있다. W로 표현되는 n 바이 n의 트래픽 정보 매트릭스는 wi,j를 엘리먼트로 가지며, 이는 vi와 vj간의 데이터 레이트를 나타낸다.Since the data center is an SDDC, the state of flow information between virtual machines is available at the SDN controller. Based on the flow information between the virtual machines, a traffic matrix can be created for the virtual machines. The traffic information matrix of n by n represented by W has w i, j as an element, which represents the data rate between v i and v j .

피지컬 네트워크에서 토탈 데이터 레이트는 수학식 1과 같이 계산될 수 있다.The total data rate in the physical network may be calculated as in Equation 1.

Figure pat00003
Figure pat00003

가상 머신 배치를 위한 최적화 문제는 수학식 2와 같이 표현될 수 있다.An optimization problem for virtual machine placement may be expressed as Equation 2.

Figure pat00004
Figure pat00004

가상 머신 배치의 제약 사항은 각 피지컬 머신의 가상 머신에 필요한 자원의 합이 해당 피지컬 머신에서 사용 가능한 자원보다 작거나 같은 것이다. 이 문제를 해결하기 위해 본 발명의 일 실시 예에 따른 가상 머신 배치 방법이 제안된다.The limitation of virtual machine placement is that the sum of the resources required for each physical machine's virtual machine is less than or equal to the resources available on that physical machine. In order to solve this problem, a virtual machine deployment method according to an embodiment of the present invention is proposed.

도 3은 본 발명의 일 실시 예에 따른 데이터 센터(또는 클라우드 컴퓨팅 시스템)에서 가상 머신 배치 방법을 나타내는 흐름도이다.3 is a flowchart illustrating a virtual machine placement method in a data center (or cloud computing system) according to an exemplary embodiment.

먼저, 본 발명의 일 실시 예에 따른 시스템은 가상 머신들간의 종속성을 분석한다(S10)First, the system according to an embodiment of the present invention analyzes the dependencies between the virtual machines (S10).

실제 네트워크에서 데이터 트래픽을 줄이기 위해서는 종속성이 강한 가상머신들을 동일한 피지컬 머신에 배치해야 한다. 가상 머신들간의 트래픽 의존성은 앞서 정의된 트래픽 정보 매트릭스(W)를 사용하여 분석된다. 트래픽 정보 매트릭스는 종속성이 높은 가상 머신들간의 클러스터링을 가능하게 한다.To reduce data traffic in a physical network, highly dependent virtual machines should be placed on the same physical machine. Traffic dependencies between virtual machines are analyzed using the traffic information matrix W defined above. The traffic information matrix enables clustering between highly dependent virtual machines.

일반적으로 데이터 센터는 수천개의 가상 머신을 실행하는바, W의 크기가 매우 클 수 있으므로 W를 사용하는 가상 머신의 트래픽 종속성을 분석하는 것이 어려워질 수 있다. 따라서, 본 발명의 일 실시 예에서는 주요 구성요소 분석(principle component analysis, PCA)(선행기술문헌 1 참고)를 통해 W의 차원을 줄이고 기능을 추출할 수 있다.Data centers typically run thousands of virtual machines, which can be very large, making it difficult to analyze traffic dependencies for virtual machines using W. Therefore, in an embodiment of the present invention, the principal component analysis (principle component analysis, PCA) (see prior art document 1) can reduce the dimension of W and extract the function.

주요 구성요소들은 서로 연관된 오리지널 값에 의해 식별된다. 그리고 나서, 주요 구성요소들은 더 낮은 차원의 새로운 데이터를 만드는데 사용된다. 연관성(correlation)은 데이터에서 중복이 있음을 나타낸다. 중복으로 인해, PCA는 오리지널 값을 더 작은 수의 새로운 변수로 감소시키는데 사용할 수 있다. 그러므로, PCA에 의해, W는 더 낮은 차원의 매트릭스가 될 수 있으며 이는 W'로 표현될 수 있다.Major components are identified by the original values associated with each other. Then, the main components are used to create new data at a lower level. Correlation indicates duplication in the data. Due to redundancy, PCA can be used to reduce the original value to a smaller number of new variables. Therefore, by PCA, W can be a matrix of lower dimension, which can be expressed as W '.

도 4는 W에서 W'로의 PCA 기반 차원 감소의 일 예를 나타낸다.4 shows an example of PCA based dimensional reduction from W to W '.

도 4에서 각 포인트는 가상 머신을 나타내며, 각 포인트의 크기는 가상 머신의 리소스 요구 사항에 비례하며, 각 포인트 쌍 간의 거리는 가상 머신들간의 트래픽 종속성을 나타낸다.In FIG. 4, each point represents a virtual machine, the size of each point is proportional to the resource requirements of the virtual machine, and the distance between each pair of points represents a traffic dependency between the virtual machines.

본 발명의 일 실시 예에 따른 시스템은 가상 머신들의 종속성 분석에 기반하여 가상 머신들을 그룹핑한다(S20)The system according to an embodiment of the present invention groups the virtual machines based on the dependency analysis of the virtual machines (S20).

앞선 단계를 통해 가상 머신들간의 종속성을 분석한 후, 분석 결과에 따라 가상 머신들을 클러스터링(그룹핑)한다. PCA 결과를 통해 근접하여 배치된 가상 머신들간에 큰 종속성을 가짐이 설명될 수 있다.After analyzing the dependencies between the virtual machines through the previous step, cluster the virtual machines according to the analysis result. The PCA results may explain that there is a large dependency between virtually deployed virtual machines.

랜덤 가상 머신 배치의 경우, 종속성이 강한 가상 머신들이 서로 다른 피지컬 머신에 배치될 여지가 있다. 피지컬 네트워크에서 데이터 트래픽을 줄이기 위해 종속성이 강한 가상 머신들을 동일한 피지컬 머신에 배치하는 것이 필요하다. 따라서, 종속성이 강한 가상 머신들간의 많은 양이 트래픽이 피지컬 머신 내부의 가상 네트워크를 통해서만 흐를 수 있다.In the case of random virtual machine deployment, there is room for highly dependent virtual machines to be placed on different physical machines. In order to reduce data traffic in the physical network, it is necessary to place highly dependent virtual machines on the same physical machine. Therefore, a large amount of traffic between highly dependent virtual machines can flow only through the virtual network inside the physical machine.

일 실시 예에서, 종속성이 강한 가상 머신들은 중력기반(gravity-based) 클러스터링 방법(선행기술문헌 2 참조)을 사용하여 동일한 하나의 그룹에 클러스터링된다. 중력 기반 클러스터링은 크기가 다른 특정 수의 가상 머신 클러스터를 만들 수 있다.In one embodiment, highly dependent virtual machines are clustered into the same group using a gravity-based clustering method (see Prior Art Document 2). Gravity-based clustering can create a specific number of virtual machine clusters of different sizes.

상술한 바와 같이, m 개의 피지컬 머신이 있고 따라서, 가상 머신들은 먼저 m 개의 그룹으로 클러스터링된다. 가상 머신들을 그룹핑하기 위해, 도 3의 음영 부분으로 도시된것과 같이 계산된 감소된 차원 영역에서의 모든 노드들을 필드의 전체 영역이 커버한다. S를 감소된 차원 영역에서 모든 노드를 커버하는 영역의 에어리어라고 지칭한다. 그리고 나서 영역은 m개의 서브 섹션으로 나뉘어진다. 초기에, 각각의 서브 섹션은 m개로 나뉘어지고, S의 영역에 해당하는 원이며, 각각의 원은 반경(R)은 수학식 3에 따라 계산된다.As mentioned above, there are m physical machines and therefore virtual machines are first clustered into m groups. To group the virtual machines, the entire area of the field covers all nodes in the reduced dimensional area calculated as shown by the shaded portion of FIG. 3. S is referred to as the area of the area that covers all nodes in the reduced dimensional area. The area is then divided into m subsections. Initially, each subsection is divided into m and is a circle corresponding to an area of S, and each circle is a radius R calculated according to Equation (3).

Figure pat00005
Figure pat00005

그런 다음 각 노드는 반경이 R인 원의 중심으로 설정된다. 원 안에 속하는 노드는 센터 노드의 인접 노드로 간주된다. 각 원 내의 이웃 노드의 수를 세고, 이웃 수가 가장 많은 노드를 헤더 노드로 선택한다. 이러한 프로세스는 선택된 헤더 노드와 그 이웃을 제외하고 반복되며, 다음 헤더 노드는 나머지 노드들로부터 선택된다. 이러한 방식으로 m 개의 헤더 노드 및 그 이웃 노드가 식별되고, 헤더 노드 및 그 이웃 노드의 각각의 선택된 그룹은 종속성 그룹으로 지칭된다. 또한, 모든 원의 외부에 위치하고 이 프로세스에 의해 임의의 그룹에 할당되지 않은 임의의 노드는 이후 유클리드 거리로 가장 가까운 원의 그룹에 할당된다.Each node is then set to the center of the circle with radius R. Nodes belonging to the circle are considered to be adjacent to the center node. Count the number of neighboring nodes in each circle, and select the node with the largest number of neighbors as the header node. This process is repeated except for the selected header node and its neighbors, and the next header node is selected from the remaining nodes. In this way m header nodes and their neighbors are identified, and each selected group of header nodes and its neighbors is referred to as a dependency group. Also, any node that is outside of all circles and not assigned to any group by this process is then assigned to the group of circles closest to the Euclidean distance.

특정의 피지컬 머신에 할당된 그룹들이 피지컬 머신의 자원 제약을 만족하지 못할 때, 그룹은 피지컬 머신의 자원 제약을 만족할 때까지 조정된다. 이를 위해 그룹에서 가장 낮은 종속성을 갖는 가상 머신을 그룹이 피지컬 머신의 자원 제약을 만족할 때까지 제외한다. 종속성이 낮은 가상 머신은 헤더 노드에서 멀리 떨어져 있기 때문에 종속성이 낮은 가상 머신의 제거는 결과적으로 그룹을 의미하는 원의 반경이 작아지는 것을 뜻한다. 이러한 조정 프로세스는 매칭된 피지컬 머신의 자원 제약 조건을 충족하지 못한 모든 그룹에 대하여 적용된다. 결과적으로 일부 가상 머신이 초기의 그룹에서 제거된다.When groups assigned to a particular physical machine do not meet the resource constraints of the physical machine, the group is adjusted until the resource constraints of the physical machine are satisfied. To do this, the virtual machine with the lowest dependency in the group is excluded until the group meets the resource constraints of the physical machine. Because virtual machines with low dependencies are far from the header node, elimination of virtual machines with low dependencies means that the radius of the circle, which means a group, becomes smaller. This coordination process is applied to all groups that do not meet the resource constraints of the matched physical machine. As a result, some virtual machines are removed from the initial group.

제거된 가상 머신은 새 그룹에 할당되어야 한다. 제거된 가상 머신은 가장 가까운 그룹의 원에 추가된다. 그러나 가상 머신을 추가한 후에도 그룹은 매칭된 피지컬 머신의 자원 제약 조건을 충족해야 한다. 가장 가까운 그룹의 자원 요구 사항이 가상 머신을 추가한 후 매칭된 피지컬 머신의 자원 제약 조건과 충돌하는 경우, 가상 머신은 현재 그룹의 원의 다음으로 가장 가까운 그룹에 추가된다. 이러한 방식으로 모든 그룹의 자원 제약 조건이 충족된다. 도 4에 도시된 바와 같이, 초기 반경(R)은 각각 R1, R2, R3로 조정된다. 조정된 반경(Ri)는 수학식 4과 같이 계산된다.The removed virtual machine must be assigned to a new group. The removed virtual machine is added to the circle of the nearest group. However, even after adding a virtual machine, the group must still meet the resource constraints of the matched physical machine. If the resource requirements of the closest group conflict with the resource constraints of the matched physical machine after adding the virtual machine, the virtual machine is added to the next closest group after the circle of the current group. In this way, resource constraints of all groups are met. As shown in Fig. 4, the initial radius R is adjusted to R1, R2 and R3, respectively. Adjusted radius (R i), is calculated by equation (4).

Figure pat00006
Figure pat00006

여기에서

Figure pat00007
는 감소된 차원에서 노드들의 모든 쌍간의 최소 유클라디안 거리이다. 매칭된 피지컬 머신의 자원 제약을 만족시키지 않는 그룹의 반경은 모든 그룹이 매칭된 피지컬 머신의 자원 제약을 만족할 때까지
Figure pat00008
만큼 반복적으로 감소되고, 자원 제약을 만족시키는 그룹의 반경은
Figure pat00009
만큼 증가한다.From here
Figure pat00007
Is the minimum eucladian distance between all pairs of nodes in a reduced dimension. The radius of a group that does not meet the resource constraints of the matched physical machine is until all groups meet the resource constraints of the matched physical machine.
Figure pat00008
Is repeatedly reduced, and the radius of the group that satisfies the resource constraint is
Figure pat00009
Increases by.

본 발명의 일 실시 예에 따른 시스템은 가상 머신들의 클러스터링이 완료되면, 피지컬 머신에 그룹을 매칭한다(S30).When the clustering of the virtual machines is completed, the system according to an embodiment of the present invention matches a group to the physical machine (S30).

도 5는 피지컬 머신과 그룹간의 매칭 방법을 나타낸다.5 shows a matching method between a physical machine and a group.

가상 머신들을 그룹화한 후 다음 단계는 어떤 가상 머신 그룹을 어떤 피지컬 머신에 배치할 것인가를 결정하는 것이다. 가상 머신 그룹은 도 5에 도시된 바와 같이, 가상 머신 그룹과 피지컬 머신의 그래프 작성을 통해 피지컬 머신과 매칭된다. 그런 다음 각 그룹과 피지컬 머신의 쌍의 가중치(근접 값이라고도 함)에 기초하여 매칭이 수행된다. 근접 값을 찾기 위해 각 그룹(

Figure pat00010
)과 각 피지컬 머신 간(pj)의 자원 비율을 수학식 5에 따라 계산한다.After grouping the virtual machines, the next step is to decide which virtual machine group to place on which physical machine. The virtual machine group is matched with the physical machine through graphing of the virtual machine group and the physical machine, as shown in FIG. 5. Matching is then performed based on the weights (also called proximity values) of each group and pair of physical machines. Each group (to find the proximity value)
Figure pat00010
) And the resource ratio between each physical machine (p j ) is calculated according to Equation 5.

Figure pat00011
Figure pat00011

수학식 5에서 알파, 베타 그리고 감마는 각각 CPU, memory, 그리고 storage에 대한 자원 비율을 나타낸다. 만약 피지컬 머신이 그룹에서 요고하는 자원양과 정확하게 동일한 자원 제한을 갖는 경우, 해당 그룹과 피지컬 머신간의 자원 비율은 1이다. 그러므로, 그룹과 피지컬 머신간의 근접 값은 수학식 6과 같이 계산될 수 있다.In Equation 5, alpha, beta, and gamma represent resource ratios for CPU, memory, and storage, respectively. If the physical machine has a resource limit that is exactly equal to the amount of resources required in the group, the resource ratio between that group and the physical machine is one. Therefore, the proximity value between the group and the physical machine can be calculated as shown in Equation 6.

Figure pat00012
Figure pat00012

수학식 6에 따라 근접 값을 계산하는 동안 그룹의 자원 요구 사항을 완전히 충족하지 못하는 피지컬 머신과의 매칭이 발생할 수 있다. 이 경우, 수학식 7과 같이 상수 페널티(

Figure pat00013
)가 qi,j에 더해진다.While calculating the proximity value according to Equation 6, a matching may occur with a physical machine that does not fully meet the resource requirements of the group. In this case, the constant penalty (
Figure pat00013
) Is added to q i, j .

Figure pat00014
Figure pat00014

가상 머신 그룹의 수는 초기에 m으로 설정된다. 그러나 g개의 피지컬 머신들이 제약을 만족하는 경우, 가상 머신 그룹의 수는 g개로 감소한다. g개의 그룹을 사용하면 그룹과 피지컬 머신간에

Figure pat00015
의 가능 매치 수가 존재한다. 근접 값의 합을 최소화하는 매칭은
Figure pat00016
의 가능 매치로부터 확인된다. A를 g 바이 m의 그룹들-피지컬 머신들 매칭 매트릭스라고 하면, pj에 그룹
Figure pat00017
이 매칭될 때 엘리먼트 ai,j는 1이고 다른 경우는 0이다. A는 수학식 8에 따라 최적화된다.The number of virtual machine groups is initially set to m. However, if g physical machines satisfy the constraint, the number of virtual machine groups is reduced to g. With g groups, you can use between groups and physical machines
Figure pat00015
There is a possible number of matches. Matching that minimizes the sum of proximity values
Figure pat00016
Is checked from possible matches. Groups of the A g by m - when said physical machine with matching matrix, to group p j
Figure pat00017
Is matched, the element a i, j is 1, otherwise 0. A is optimized according to equation (8).

Figure pat00018
Figure pat00018

헝가리 매칭 알고리즘은 매칭 문제를 해결하기 위해 잘 알려진 알고리즘으로, 본 발명의 일 실시 예에서 피지컬 머신과 그룹간의 매칭 문제를 해결하는데 이용될 수 있다. 먼저, 그룹, 피지컬 머신 및 그들간의 근접 값으로부터 구축된 그래프가 헝가리 매칭 알고리즘의 입력값으로 사용된다. 출력 값은 그룹들과 피지컬 머신들간의 매칭 셋이다.The Hungarian matching algorithm is a well-known algorithm for solving a matching problem, and in one embodiment of the present invention, may be used to solve a matching problem between a physical machine and a group. First, a graph constructed from groups, physical machines and their proximity values is used as input to the Hungarian matching algorithm. The output value is a matching set between groups and physical machines.

그룹과 피지컬 머신들간의 매칭이 완료되면, 본 발명의 일 실시 예에 따른 시스템은 매칭 결과에 따라 가상 머신 그룹을 매칭되는 피지컬 머신에 재배치한다(S40). 가상 머신 재배치에는 가상 머신 이미그레이션 방법이 적용될 수 있다.When the matching between the group and the physical machines is completed, the system according to an embodiment of the present invention relocates the group of virtual machines to the matching physical machines according to the matching result (S40). Virtual machine relocation may be applied to the virtual machine migration method.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 상기 컴퓨터는 단말기의 제어부(180)를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The present invention described above can be embodied as computer readable codes on a medium on which a program is recorded. The computer readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and the like. This also includes those implemented in the form of carrier waves (eg, transmission over the Internet). In addition, the computer may include the controller 180 of the terminal. Accordingly, the above detailed description should not be construed as limiting in all aspects and should be considered as illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (6)

하나 이상의 가상 머신이 운용되는 하나 이상의 피지컬 머신을 포함하는 클라우드 컴퓨팅 시스템에서,
상기 클라우드 컴퓨팅 시스템의 네트워크 트래픽을 모니터링하는 네트워크 컨트롤러;
상기 클라우드 컴퓨팅 시스템의 컴퓨팅 리소스를 모니터링하는 컴퓨팅 컨트롤러; 및
상기 네트워크 컨트롤러 및 컴퓨팅 컨트롤러로부터 획득된 모니터링 결과에 기초하여 가상 머신을 피지컬 머신에 배치하는 가상 머신 배치 컨트롤러를 포함하는
클라우드 컴퓨팅 시스템.
In a cloud computing system including one or more physical machines running one or more virtual machines,
A network controller for monitoring network traffic of the cloud computing system;
A computing controller for monitoring computing resources of the cloud computing system; And
And a virtual machine placement controller configured to place the virtual machine on the physical machine based on the monitoring result obtained from the network controller and the computing controller.
Cloud computing system.
제 1 항에 있어서,
상기 가상 머신 배치 컨트롤러는
상기 가상 머신들간의 종속성을 분석하고, 분석 결과에 따라 가상 머신을 그룹핑하고, 가상 머신 그룹과 피지컬 머신간의 매칭을 수행하고, 매칭 결과에 따라 가상 머신을 매칭되는 피지컬 머신에 재배치하는
클라우드 컴퓨팅 시스템.
The method of claim 1,
The virtual machine placement controller
Analyze the dependencies between the virtual machines, group the virtual machines according to the analysis result, perform a matching between the virtual machine group and the physical machine, and relocate the virtual machines to the matched physical machines according to the matching result.
Cloud computing system.
제 2 항에 있어서,
상기 가상 머신 배치 컨트롤러는 주요 구성요소 분석(PCA) 방법을 통해 가상 머신들간의 종속성을 분석하는
클라우드 컴퓨팅 시스템.
The method of claim 2,
The virtual machine placement controller analyzes the dependencies between virtual machines through a principal component analysis (PCA) method.
Cloud computing system.
제 2 항에 있어서,
상기 가상 머신 배치 컨트롤러는 중력 기반 클러스터링 방법을 통해 가상 머신들을 그룹핑하는
클라우드 컴퓨팅 시스템.
The method of claim 2,
The virtual machine placement controller groups the virtual machines through a gravity based clustering method.
Cloud computing system.
제 2 항에 있어서,
상기 가상 머신 배치 컨트롤러는 헝가리 매칭 알고리즘을 통해 가상 머신 그룹과 피지컬 머신을 매칭하는
클라우드 컴퓨팅 시스템
The method of claim 2,
The virtual machine placement controller is configured to match the virtual machine group and the physical machine through a Hungarian matching algorithm.
Cloud computing system
제 2 항에 있어서,
상기 가상 머신 배치 컨트롤러는 매칭된 피지컬 머신의 자원 제한 사항이 가상 머신 그룹의 자원 요구 사항을 만족하지 못하는 경우, 가상 머신 그룹에서 가장 낮은 종속성을 갖는 가상 머신을 피지컬 머신의 자원 제한 사항을 만족할 때까지 순차적으로 제거하는
클라우드 컴퓨팅 시스템.
The method of claim 2,
If the resource constraints of the matched physical machine do not meet the resource requirements of the virtual machine group, the virtual machine placement controller may determine that the virtual machine having the lowest dependency in the virtual machine group meets the resource constraints of the physical machine. Sequentially removed
Cloud computing system.
KR1020180081172A 2018-07-12 2018-07-12 a virtual machine replacement method in cloud computing system KR102076626B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180081172A KR102076626B1 (en) 2018-07-12 2018-07-12 a virtual machine replacement method in cloud computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180081172A KR102076626B1 (en) 2018-07-12 2018-07-12 a virtual machine replacement method in cloud computing system

Publications (2)

Publication Number Publication Date
KR20200013129A true KR20200013129A (en) 2020-02-06
KR102076626B1 KR102076626B1 (en) 2020-05-18

Family

ID=69569387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180081172A KR102076626B1 (en) 2018-07-12 2018-07-12 a virtual machine replacement method in cloud computing system

Country Status (1)

Country Link
KR (1) KR102076626B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230067224A (en) 2021-11-09 2023-05-16 주식회사 나눔기술 Container orchestration system capable of controlling migration of service data between cluster apparatuses in multiple edge server environment
KR102483422B1 (en) 2022-04-20 2022-12-30 주식회사 정데이타시스템 Cloud service convergence system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130198355A1 (en) * 2012-01-31 2013-08-01 International Business Machines Corporation Interconnecting data centers for migration of virtual machines
US20140325036A1 (en) * 2013-04-29 2014-10-30 Telefonaktiebolaget L M Ericsson (Publ) Defining Disjoint Node Groups for Virtual Machines with Pre-Existing Placement Policies
KR20150131817A (en) * 2014-05-16 2015-11-25 한국전자통신연구원 Method and appratus for replacing location of virtual machine on virtual network
KR101578177B1 (en) * 2014-09-12 2015-12-16 성균관대학교산학협력단 Method and system for migration based on resource utilization rate in cloud computing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130198355A1 (en) * 2012-01-31 2013-08-01 International Business Machines Corporation Interconnecting data centers for migration of virtual machines
US20140325036A1 (en) * 2013-04-29 2014-10-30 Telefonaktiebolaget L M Ericsson (Publ) Defining Disjoint Node Groups for Virtual Machines with Pre-Existing Placement Policies
KR20150131817A (en) * 2014-05-16 2015-11-25 한국전자통신연구원 Method and appratus for replacing location of virtual machine on virtual network
KR101578177B1 (en) * 2014-09-12 2015-12-16 성균관대학교산학협력단 Method and system for migration based on resource utilization rate in cloud computing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
L. I. Smith, "A tutorial on principal components analysis," tech. rep.,2002.
M. Indulska and M. E. Orlowska, "Gravity based spatial clustering," in ACM International Symposium on Advances in Geographic Information Systems, pp. 125??130, 2002.

Also Published As

Publication number Publication date
KR102076626B1 (en) 2020-05-18

Similar Documents

Publication Publication Date Title
US11424989B2 (en) Machine-learning infused network topology generation and deployment
US20220291941A1 (en) Compute Platform Recommendations for New Workloads in a Distributed Computing Environment
US11128696B2 (en) Compute platform optimization across heterogeneous hardware in a distributed computing environment
US10977086B2 (en) Workload placement and balancing within a containerized infrastructure
US11068312B2 (en) Optimizing hardware platform utilization for heterogeneous workloads in a distributed computing environment
US20220413891A1 (en) Compute Platform Optimization Over the Life of a Workload in a Distributed Computing Environment
US10171300B2 (en) Automatic redistribution of virtual machines as a growing neural gas
US11307885B1 (en) Identifying optimized computing resources for running workloads
US20200310851A1 (en) Classification of Workloads in a Distributed Computing Environment
US11469965B2 (en) Determining formal models using weighting factors for computing elements in multi-domain environments
JP5352890B2 (en) Computer system operation management method, computer system, and computer-readable medium storing program
US11138049B1 (en) Generating narratives for optimized compute platforms
US11409453B2 (en) Storage capacity forecasting for storage systems in an active tier of a storage environment
JP2008527555A (en) Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a virtualized storage subsystem
US10970123B1 (en) Determining suitability of computing resources for workloads
US11194688B1 (en) Application architecture optimization and visualization
US10802749B2 (en) Implementing hierarchical availability domain aware replication policies
CN113272781A (en) Improving data performance by transferring data between storage tiers using workload characteristics
WO2020198600A1 (en) Compute platform optimization over the life of a workload in a distributed computing environment
KR102076626B1 (en) a virtual machine replacement method in cloud computing system
US9417896B2 (en) Allocating hypervisor resources
US11561824B2 (en) Embedded persistent queue
US20200073554A1 (en) Applying Percentile Categories to Storage Volumes to Detect Behavioral Movement
Hwang et al. FitScale: scalability of legacy applications through migration to cloud
Cano Optimizing distributed systems using machine learning

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant