WO2021095943A1 - Method for placing container in consideration of service profile - Google Patents

Method for placing container in consideration of service profile Download PDF

Info

Publication number
WO2021095943A1
WO2021095943A1 PCT/KR2019/015652 KR2019015652W WO2021095943A1 WO 2021095943 A1 WO2021095943 A1 WO 2021095943A1 KR 2019015652 W KR2019015652 W KR 2019015652W WO 2021095943 A1 WO2021095943 A1 WO 2021095943A1
Authority
WO
WIPO (PCT)
Prior art keywords
container
node
service profile
consideration
algorithm
Prior art date
Application number
PCT/KR2019/015652
Other languages
French (fr)
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 PCT/KR2019/015652 priority Critical patent/WO2021095943A1/en
Publication of WO2021095943A1 publication Critical patent/WO2021095943A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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]

Definitions

  • the present invention relates to a method of disposing a container in consideration of a service profile when disposing a container to a node in the field of cloud computing.
  • Virtual machine-based computer virtualization technology for cloud computing environments is a technology that virtualizes the computer's hardware resources such as CPU, memory, storage devices, etc. to create an environment so that applications can be operated. It is widely used in products or technologies such as VmWare and VirtualBox. It is being utilized. However, since the virtual machine-based virtualization technology virtualizes hardware resources of a computer, there is a problem in that performance rapidly deteriorates when an application with a large amount of resource utilization runs and performs a task.
  • a container technology has been developed that directly utilizes resources provided by a computer by reducing the weight of a virtual environment in which an application runs. Unlike traditional virtual machines, container technology uses much less resources and shares the host's kernel. Above all, since the CPU is not virtualized, additional operations for CPU operation are much more advantageous than virtual machine-based virtualization technology. Therefore, current technology development and development is progressing from a virtual machine-based virtualization technology to a container-based virtualization technology.
  • Kubernetes developed by Google as an operating environment tool for container deployment and management, is now a de facto standard technology.
  • Kubernetes monitors the utilization of resources such as CPU utilization, memory utilization, and disk I/O, and when a new container deployment request comes in, it selects the most optimal computer node based on the current resource utilization so that the container can be deployed.
  • resources such as CPU utilization, memory utilization, and disk I/O
  • various algorithms can be used to select an optimal computer node.
  • the conventional method has the following problems.
  • container A provides a video service.
  • the video service does not require real-time characteristics, but it must provide an uninterrupted video service by securing an appropriate level of bandwidth.
  • the B container can provide a service that controls the robot in real time. At this time, in order to secure real-time characteristics, a response to a request must be made in a very fast time.
  • the C container provides office services such as Word, real-time characteristics are not important, and an appropriate level of bandwidth is not required. As such, various levels of service characteristics must be provided through containers, but there is a problem that the current container arrangement method does not take this into account.
  • the embodiment of the present invention was devised to solve the above problems, and in consideration of the properties of the service provided by the container in a cloud computing environment, a service capable of placing a container on an optimal computer node and effectively managing the computer node We would like to provide a container arrangement method considering the profile.
  • a service profile is defined according to a property of a service provided through the container, A first step of classifying; A second step of calculating a scheduling score of each node by reflecting a weight according to a service profile to each execution score for a plurality of algorithms for each node according to a predetermined equation, and summing them according to a predetermined equation; And a third step of distributing the container to the node that has obtained the highest score.
  • the equation is Is, where Is the scheduling score of node n for service profile i, Is the weight factor of algorithm k for service profile i, Denotes the execution score of algorithm k for node n.
  • the execution score may be calculated by inputting the resource utilization amount of the node measured immediately before each algorithm is executed into the algorithm.
  • the weight factor may be calculated in consideration of the service profile and the algorithm.
  • the container in the container arrangement method in consideration of a service profile according to an embodiment of the present invention, can be placed on an optimal computer node in consideration of the properties of the service provided by the container, so that the computer node can be effectively managed in a cloud computing environment. .
  • FIG. 1 is a flowchart of a container arrangement method in consideration of a service profile according to an embodiment of the present invention.
  • FIG. 2 is a diagram schematically showing the flow of FIG. 1;
  • FIG. 1 is a flowchart illustrating a container arrangement method in consideration of a service profile according to an embodiment of the present invention
  • FIG. 2 is a diagram schematically illustrating the flow of FIG. 1.
  • a method of arranging a container in consideration of a service profile according to an embodiment of the present invention includes a first step (S10) to a third step (S30).
  • a container means an isolated space between an application and the environment in which it runs.
  • the resources of the operating system are shared, so that as many resources as necessary for the execution of the application can be allocated, the resources of the entire server can be used efficiently.
  • the arrangement of containers means scheduling corresponding to one of various management tasks for a plurality of containers. This means automatically placing containers on the most optimal node.
  • the method of arranging containers operated in a container-based cloud computing environment is to monitor the resource usage (or usage) of each resource such as CPU, memory, and storage devices in real time, and based on this, the optimal computer node is determined.
  • the method of selection This is accomplished by running a plurality of algorithms on each node and then summing the execution points measured for each node.
  • the first step is a step of defining and classifying a service profile according to the attribute of the service provided through the container.
  • the attribute of the service is considered most importantly when a container provides a service. It refers to the element to be. This means that the required resources vary according to the properties of the service.
  • the service profile according to the attribute of the service means, for example, delay sensitive, computationality (CPU centric), an amount of allocated memory, and the like. A plurality of such service profiles can be defined.
  • the second step is to calculate the scheduling score of the node by reflecting the weight according to the service profile to each execution score for a plurality of algorithms according to a preset equation and summing them when there is a request for placement of a container. This is the step. (S20)
  • Is the scheduling score of node n for service profile i Is the weight factor of algorithm k for service profile i, Denotes the execution score of algorithm k for node n.
  • m means the number of algorithms.
  • Algorithm 1 is an algorithm that gives a high score to a node that provides computationality
  • Algorithm 2 is an algorithm that gives a high score to a node that provides low latency
  • Algorithm 3 is an algorithm that gives a high score to a node with a large amount of allocated memory. It is an algorithm that gives a score.
  • the scheduling score of node 1 can be calculated as follows using the above equation.
  • the scheduling score of node 2 is calculated as follows.
  • the weight factor of Algorithm 2 Will have a relatively high number.
  • the weight factor of Algorithm 1 ( ) and the weight factor of Algorithm 3 ( ) Will have a relatively low number.
  • container a can be placed in node 2.
  • the execution score of the algorithm is calculated by inputting the resource utilization amount of the node measured just before each algorithm is executed. That is, the data input to the algorithm uses the measured value at the start of the algorithm from among the resource utilization of each node measured in real time.
  • a weight factor (weight) is calculated by considering a service profile and an algorithm, respectively. That is, the weight factor is calculated in consideration of the properties of the service and the design purpose of the algorithm. In this way, the weight factor differs in a value applied for each algorithm according to the service profile. On the other hand, it is preferable to form a set after the weight factor is set in advance.
  • the second step before calculating the scheduling score of each node, it may further include filtering a node that does not meet a preset criterion among the nodes. For example, a certain filtering criterion may be set, such as when it is difficult to place a container any more because the current resource utilization among computer nodes exceeds a certain level, or when the computer node is in a state in which networking is not possible. And, in the case of such an inappropriate node, the scheduling score is not calculated by excluding it in advance.
  • the container is placed on the node that has obtained the highest score (S30). That is, the node that has obtained the highest score among the scheduling scores of each node calculated in the second step is selected and the container is placed.

Abstract

The present invention relates to a method for placing a container on an optimal node in a container-based cloud computing environment and, more particularly, provides a method for placing a container in consideration of a service profile, the method comprising: a first step of defining and classifying a service profile according to an attribute of a service provided via a container; a second step of, when there is a request for placing a container, calculating a scheduling score of each node by a scheme of applying a weight according to the service profile to execution scores for multiple respective algorithms for each node and then summing the weight-applied execution scores according to a preconfigured equation; and a third step of placing the container on a node having obtained a highest score.

Description

[규칙 제26조에 의한 보정 14.01.2020] 서비스 프로파일을 고려한 컨테이너의 배치 방법[Amendment according to Rule 26 14.01.2020]  Container arrangement method considering service profile
본 발명은 클라우드 컴퓨팅 분야에서 컨테이너를 노드에 배치할 때, 특히 서비스 프로파일을 고려한 컨테이너의 배치 방법에 관한 것이다.The present invention relates to a method of disposing a container in consideration of a service profile when disposing a container to a node in the field of cloud computing.
클라우드 컴퓨팅 환경을 위한 가상 머신 기반의 컴퓨터 가상화 기술은 컴퓨터의 하드웨어 자원인 CPU, 메모리, 저장장치 등을 가상화하여 어플리케이션이 동작할 수 있도록 환경을 만들어 주는 기술이며 VmWare, VirtualBox등의 제품 혹은 기술로 널리 활용되고 있다. 그러나, 가상 머신 기반의 가상화 기술은 컴퓨터의 하드웨어 자원을 가상화하기 때문에 자원 활용량이 많은 어플리케이션이 동작하여 작업을 수행할 경우 성능이 급격히 나빠지는 문제점이 있다.Virtual machine-based computer virtualization technology for cloud computing environments is a technology that virtualizes the computer's hardware resources such as CPU, memory, storage devices, etc. to create an environment so that applications can be operated. It is widely used in products or technologies such as VmWare and VirtualBox. It is being utilized. However, since the virtual machine-based virtualization technology virtualizes hardware resources of a computer, there is a problem in that performance rapidly deteriorates when an application with a large amount of resource utilization runs and performs a task.
이러한 문제를 해결하기 위하여 어플리케이션이 동작하는 가상환경을 경량화하여 컴퓨터가 제공하는 자원을 직접 활용하여 동작하는 컨테이너 기술이 개발되었다. 컨테이너 기술은 기존의 가상 머신과는 달리 리소스를 훨씬 더 적게 사용하고 호스트의 커널을 공유한다. 무엇보다 CPU를 가상화하지 않기 때문에 CPU 동작을 위한 부가적인 동작이 가상 머신 기반의 가상화 기술보다 훨씬 유리한 장점이 있다. 그러므로, 현재 기술 개발과 발전은 가상 머신 기반의 가상화 기술에서 컨테이너 기반의 가상화 기술 중심으로 진행되고 있다. In order to solve this problem, a container technology has been developed that directly utilizes resources provided by a computer by reducing the weight of a virtual environment in which an application runs. Unlike traditional virtual machines, container technology uses much less resources and shares the host's kernel. Above all, since the CPU is not virtualized, additional operations for CPU operation are much more advantageous than virtual machine-based virtualization technology. Therefore, current technology development and development is progressing from a virtual machine-based virtualization technology to a container-based virtualization technology.
컨테이너 기술이 클라우드 컴퓨팅 기술에 보급되면서 컨테이너를 배치하고 관리하기 위한 동작 환경이 필요하게 되었다. 컨테이너의 배치와 관리를 위한 동작 환경 도구로써 구글이 개발한 쿠버네티스가 있으며 이는 현재 사실상의 표준기술이 되었다. 쿠버네티스는 CPU 사용률, Memory 사용률, Disk I/O 등 자원의 활용량을 감시하여 새로운 컨테이너의 배치 요구가 들어오면 현재 자원 활용량을 기반으로 가장 최적의 컴퓨터 노드를 선택하여 컨테이너가 배치될 수 있도록 한다. 한편, 최적의 컴퓨터 노드를 선택하기 위하여 다양한 알고리즘이 활용될 수 있다. 그러나, 종래 방법은 다음과 같은 문제를 가지고 있다.As container technology is spread to cloud computing technology, an operating environment for deploying and managing containers is required. Kubernetes, developed by Google as an operating environment tool for container deployment and management, is now a de facto standard technology. Kubernetes monitors the utilization of resources such as CPU utilization, memory utilization, and disk I/O, and when a new container deployment request comes in, it selects the most optimal computer node based on the current resource utilization so that the container can be deployed. . Meanwhile, various algorithms can be used to select an optimal computer node. However, the conventional method has the following problems.
예를 들어, A 컨테이너는 동영상 서비스를 제공한다고 가정하자. 동영상 서비스는 실시간 특성이 필요한 것은 아니지만 적절한 수준의 대역을 확보함으로써 끊어지지 않는 동영상 서비스가 제공되어야 한다. 반면, B 컨테이너는 실시간으로 로봇을 제어하는 서비스를 제공할 수 있다. 이 때, 실시간 특성을 확보하기 위하여 요구에 대한 응답은 매우 빠른 시간에 이루어질 수 있어야 한다. 또한, C 컨테이너는 워드와 같은 사무용 서비스를 제공한다고 가정할 때 실시간 특성이 중요하지 않으며 적절한 수준의 대역 또한 필요하지 않다. 이처럼, 컨테이너를 통하여 다양한 수준의 서비스 특성이 제공되어야 하지만, 현재 컨테이너를 배치하는 방법은 이런 점을 고려하지 않는다는 문제점이 있다.For example, assume that container A provides a video service. The video service does not require real-time characteristics, but it must provide an uninterrupted video service by securing an appropriate level of bandwidth. On the other hand, the B container can provide a service that controls the robot in real time. At this time, in order to secure real-time characteristics, a response to a request must be made in a very fast time. In addition, assuming that the C container provides office services such as Word, real-time characteristics are not important, and an appropriate level of bandwidth is not required. As such, various levels of service characteristics must be provided through containers, but there is a problem that the current container arrangement method does not take this into account.
본 발명의 실시예는 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 클라우드 컴퓨팅 환경에서 컨테이너가 제공하는 서비스의 속성을 고려하여 최적의 컴퓨터 노드에 컨테이너를 배치하고 효과적으로 컴퓨터 노드를 관리할 수 있는 서비스 프로파일을 고려한 컨테이너의 배치 방법을 제공하고자 한다.The embodiment of the present invention was devised to solve the above problems, and in consideration of the properties of the service provided by the container in a cloud computing environment, a service capable of placing a container on an optimal computer node and effectively managing the computer node We would like to provide a container arrangement method considering the profile.
또한, 컨테이너가 제공하는 서비스의 속성에 따라 각 컴퓨터 노드가 포함하는 자원 및 그 차별적인 요소를 실시간 반영할 수 있는 컨테이너의 배치 방법을 제공하고자 한다.In addition, it is intended to provide a container arrangement method that can reflect the resources included in each computer node and its discriminatory factors in real time according to the properties of services provided by the container.
본 발명의 실시예는 상기와 같은 과제를 해결하고자, 컨테이너 기반의 클라우드 컴퓨팅 환경에서, 컨테이너를 최적의 노드에 배치하는 방법에 있어서, 컨테이너를 통해 제공되는 서비스의 속성에 따라 서비스 프로파일을 정의하고, 분류하는 제1단계; 어느 일 컨테이너의 배치 요청이 있으면, 미리 설정된 수학식에 따라 노드 별로 복수 개의 알고리즘에 대한 각 실행 점수에 서비스 프로파일 따른 가중치를 반영한 후 이를 합산하는 방식으로 각 노드의 스케줄링 점수를 산정하는 제2단계; 및 최고 점수를 획득한 노드에 컨테이너를 배치하는 제3단계;를 포함하는 서비스 프로파일을 고려한 컨테이너의 배치 방법을 제공한다.In an embodiment of the present invention, in order to solve the above problems, in a container-based cloud computing environment, in a method of arranging a container in an optimal node, a service profile is defined according to a property of a service provided through the container, A first step of classifying; A second step of calculating a scheduling score of each node by reflecting a weight according to a service profile to each execution score for a plurality of algorithms for each node according to a predetermined equation, and summing them according to a predetermined equation; And a third step of distributing the container to the node that has obtained the highest score.
상기 제2단계에서, 상기 수학식은
Figure PCTKR2019015652-appb-img-000001
이며, 여기서,
Figure PCTKR2019015652-appb-img-000002
은 서비스 프로파일 i에 대한 노드 n의 스케줄링 점수이고,
Figure PCTKR2019015652-appb-img-000003
은 서비스 프로파일 i에 대한 알고리즘 k의 웨이트 팩터(weight factor)이며,
Figure PCTKR2019015652-appb-img-000004
는 노드 n에 대한 알고리즘 k의 실행 점수를 나타낸다.
In the second step, the equation is
Figure PCTKR2019015652-appb-img-000001
Is, where
Figure PCTKR2019015652-appb-img-000002
Is the scheduling score of node n for service profile i,
Figure PCTKR2019015652-appb-img-000003
Is the weight factor of algorithm k for service profile i,
Figure PCTKR2019015652-appb-img-000004
Denotes the execution score of algorithm k for node n.
상기 실행 점수는 각 알고리즘이 실행되기 바로 이전 측정된 노드의 자원 활용량을 알고리즘에 입력하여 산출될 수 있다.The execution score may be calculated by inputting the resource utilization amount of the node measured immediately before each algorithm is executed into the algorithm.
상기 웨이트 팩터는 상기 서비스 프로파일과 상기 알고리즘을 고려하여 산출될 수 있다.The weight factor may be calculated in consideration of the service profile and the algorithm.
상기 제2단계에서, 각 노드의 스케줄링 점수를 산정하기 이전에 노드 중 미리 설정된 기준에 부적합한 노드를 필터링하는 단계;를 더 포함할 수 있다.In the second step, before calculating the scheduling score of each node, filtering out a node that does not meet a preset criterion among nodes.
이상에서 살펴본 바와 같은 본 발명의 과제해결 수단에 의하면 다음과 같은 사항을 포함하는 다양한 효과를 기대할 수 있다. 다만, 본 발명이 하기와 같은 효과를 모두 발휘해야 성립되는 것은 아니다.According to the problem solving means of the present invention as described above, various effects including the following can be expected. However, the present invention is not established when all of the following effects are exhibited.
본 발명의 일 실시예에 따른 서비스 프로파일을 고려한 컨테이너의 배치 방법은 컨테이너가 제공하는 서비스의 속성을 고려하여 최적의 컴퓨터 노드에 컨테이너를 배치할 수 있어 클라우드 컴퓨팅 환경에서 효과적으로 컴퓨터 노드를 관리할 수 있다.In the container arrangement method in consideration of a service profile according to an embodiment of the present invention, the container can be placed on an optimal computer node in consideration of the properties of the service provided by the container, so that the computer node can be effectively managed in a cloud computing environment. .
또한, 각 개별 알고리즘의 실행 점수에 서비스 프로파일을 고려한 가중치를 반영하여 보다 동적이고 효율적인 컴퓨터 노드에 대한 스케줄링이 가능하다.In addition, it is possible to schedule more dynamic and efficient computer nodes by reflecting the weight considering the service profile to the execution score of each individual algorithm.
도 1은 본 발명의 일 실시예에 따른 서비스 프로파일을 고려한 컨테이너의 배치 방법에 대한 흐름도.1 is a flowchart of a container arrangement method in consideration of a service profile according to an embodiment of the present invention.
도 2는 도 1의 흐름을 개략적으로 도시한 도면.2 is a diagram schematically showing the flow of FIG. 1;
이하, 본 발명을 설명함에 있어서 관련된 공지 기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Hereinafter, in describing the present invention, when it is determined that the subject matter of the present invention may be unnecessarily obscure as matters apparent to those skilled in the art with respect to known functions related to the present invention, a detailed description thereof will be omitted. The terms used in the present application are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise.
본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.
이하, 도면을 참조하여 본 발명의 구체적인 실시예를 상세히 설명한다. 도 1은 본 발명의 일 실시예에 따른 서비스 프로파일을 고려한 컨테이너의 배치 방법에 대한 흐름도이고, 도 2는 도 1의 흐름을 개략적으로 도시한 도면이다. 도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 서비스 프로파일을 고려한 컨테이너의 배치 방법은 제1단계(S10) 내지 제3단계(S30)를 포함한다. 클라우드 분야에서 컨테이너는 애플리케이션과 애플리케이션을 구동하는 환경을 격리한 공간을 의미한다. 컨테이너를 사용하면 운영체제의 자원을 공유하기 때문에 애플리케이션의 실행에 필요한 만큼의 자원을 할당받을 수 있는 바, 서버 전체의 자원을 효율적으로 사용할 수 있다. 컨테이너의 배치는 복수 개의 컨테이너에 대한 다양한 관리 작업 중 하나에 해당되는 스케줄링을 의미한다. 이는 컨테이너를 가장 최적의 노드에 자동 배치하는 것을 말한다.Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings. 1 is a flowchart illustrating a container arrangement method in consideration of a service profile according to an embodiment of the present invention, and FIG. 2 is a diagram schematically illustrating the flow of FIG. 1. 1 and 2, a method of arranging a container in consideration of a service profile according to an embodiment of the present invention includes a first step (S10) to a third step (S30). In the cloud field, a container means an isolated space between an application and the environment in which it runs. When using a container, the resources of the operating system are shared, so that as many resources as necessary for the execution of the application can be allocated, the resources of the entire server can be used efficiently. The arrangement of containers means scheduling corresponding to one of various management tasks for a plurality of containers. This means automatically placing containers on the most optimal node.
현재, 컨테이너 기반의 클라우드 컴퓨팅 환경에서 운용되는 컨테이너의 배치 방법은 컴퓨터 노드가 갖는 자원 즉, CPU, 메모리, 저장 장치 등의 각 자원 활용량(또는 사용량)을 실시간 모니터링하고 이를 바탕으로 최적의 컴퓨터 노드를 선정하는 방식을 따른다. 이는, 각 노드에 복수 개의 알고리즘을 동작시킨 이후, 노드 별로 측정되는 실행 점수를 합산하는 방법으로 이루어진다.Currently, the method of arranging containers operated in a container-based cloud computing environment is to monitor the resource usage (or usage) of each resource such as CPU, memory, and storage devices in real time, and based on this, the optimal computer node is determined. Follow the method of selection. This is accomplished by running a plurality of algorithms on each node and then summing the execution points measured for each node.
먼저, 제1단계는 컨테이너를 통해 제공되는 서비스의 속성에 따라 서비스 프로파일을 정의하고, 분류하는 단계이다.(S10) 여기서, 서비스의 속성은 어느 일 컨테이너가 서비스를 제공함에 있어, 가장 중점적으로 고려하는 요소를 말한다. 이는, 서비스의 속성에 따라 요구되는 자원이 달라지는 것을 의미한다. 한편, 서비스의 속성에 따른 서비스 프로파일은 예를 들어, 저지연성(delay sensitive), 연산성(CPU centric), 할당되는 메모리의 양 등을 의미한다. 이런 서비스 프로파일은 복수 개가 정의될 수 있다.First, the first step is a step of defining and classifying a service profile according to the attribute of the service provided through the container. (S10) Here, the attribute of the service is considered most importantly when a container provides a service. It refers to the element to be. This means that the required resources vary according to the properties of the service. On the other hand, the service profile according to the attribute of the service means, for example, delay sensitive, computationality (CPU centric), an amount of allocated memory, and the like. A plurality of such service profiles can be defined.
다음으로, 제2단계는 어느 일 컨테이너의 배치 요청이 있으면, 미리 설정된 수학식에 따라 복수 개의 알고리즘에 대한 각 실행 점수에 서비스 프로파일 따른 가중치를 반영하여 이를 합산하는 방식으로 노드의 스케줄링 점수를 산정하는 단계이다.(S20)Next, the second step is to calculate the scheduling score of the node by reflecting the weight according to the service profile to each execution score for a plurality of algorithms according to a preset equation and summing them when there is a request for placement of a container. This is the step. (S20)
이 때, 적용되는 수학식은
Figure PCTKR2019015652-appb-img-000005
이다.
At this time, the applied equation is
Figure PCTKR2019015652-appb-img-000005
to be.
여기서,
Figure PCTKR2019015652-appb-img-000006
은 서비스 프로파일 i에 대한 노드 n의 스케줄링 점수이고,
Figure PCTKR2019015652-appb-img-000007
은 서비스 프로파일 i에 대한 알고리즘 k의 웨이트 팩터(weight factor)이며,
Figure PCTKR2019015652-appb-img-000008
는 노드 n에 대한 알고리즘 k의 실행 점수를 나타낸다. 그리고, m은 알고리즘의 개수를 의미한다.
here,
Figure PCTKR2019015652-appb-img-000006
Is the scheduling score of node n for service profile i,
Figure PCTKR2019015652-appb-img-000007
Is the weight factor of algorithm k for service profile i,
Figure PCTKR2019015652-appb-img-000008
Denotes the execution score of algorithm k for node n. And, m means the number of algorithms.
예를 들어, 컴퓨터 노드가 2개 있고, 알고리즘이 3개 있다고 가정한다. 노드 1은 현재 CPU를 활용하는 컨테이너가 없어서 높은 연산성을 제공할 수 있고, 노드 2는 현재 네트워크를 활용하는 컨테이너가 없어서 저지연성을 제공할 수 있다. 또한, 알고리즘 1은 연산성을 제공하는 노드에 높은 점수를 부여하는 알고리즘이고, 알고리즘 2는 저지연성을 제공하는 노드에 높은 점수를 부여하는 알고리즘이며, 알고리즘 3은 할당되는 메모리 양이 많은 노드에 높은 점수를 부여하는 알고리즘이다. 이 때, 저지연성을 요청하는 컨테이너 a가 배치 요청을 한다고 하면, 노드 1의 스케줄링 점수는 상기 수학식을 이용하여 다음과 같이 산정할 수 있다.For example, suppose there are 2 computer nodes and 3 algorithms. Node 1 currently does not have a container that utilizes CPU, so it can provide high computationality, and Node 2 can provide low latency because there is no container that uses the current network. In addition, Algorithm 1 is an algorithm that gives a high score to a node that provides computationality, Algorithm 2 is an algorithm that gives a high score to a node that provides low latency, and Algorithm 3 is an algorithm that gives a high score to a node with a large amount of allocated memory. It is an algorithm that gives a score. In this case, if the container a requesting low latency makes a request for placement, the scheduling score of node 1 can be calculated as follows using the above equation.
Figure PCTKR2019015652-appb-img-000009
Figure PCTKR2019015652-appb-img-000009
같은 방법으로, 노드 2의 스케줄링 점수를 산정하면 다음과 같다.In the same way, the scheduling score of node 2 is calculated as follows.
Figure PCTKR2019015652-appb-img-000010
Figure PCTKR2019015652-appb-img-000010
여기서, 컨테이너 a의 요청인 저지연성이라는 서비스 프로파일을 고려하면, 알고리즘 2의 웨이트 팩터인
Figure PCTKR2019015652-appb-img-000011
가 상대적으로 높은 수치를 갖게 된다. 반면, 알고리즘 1의 웨이트 팩터(
Figure PCTKR2019015652-appb-img-000012
) 및 알고리즘 3의 웨이트 팩터(
Figure PCTKR2019015652-appb-img-000013
)는 상대적으로 낮은 수치를 갖게 된다. 그 결과, 컨테이너 a는 노드 2에 배치될 수 있다.
Here, considering the service profile of low latency, which is the request of container a, the weight factor of Algorithm 2
Figure PCTKR2019015652-appb-img-000011
Will have a relatively high number. On the other hand, the weight factor of Algorithm 1 (
Figure PCTKR2019015652-appb-img-000012
) And the weight factor of Algorithm 3 (
Figure PCTKR2019015652-appb-img-000013
) Will have a relatively low number. As a result, container a can be placed in node 2.
한편, 알고리즘의 실행 점수는 각 알고리즘이 실행되기 바로 이전 측정된 노드의 자원 활용량을 입력하여 산출한다. 즉, 알고리즘에 입력되는 데이터는 실시간 측정되는 각 노드의 자원 활용량 중에서, 알고리즘이 시작되는 시점의 측정값을 사용하게 된다.On the other hand, the execution score of the algorithm is calculated by inputting the resource utilization amount of the node measured just before each algorithm is executed. That is, the data input to the algorithm uses the measured value at the start of the algorithm from among the resource utilization of each node measured in real time.
또한, 본 발명의 일 실시예에 따른 웨이트 팩터(가중치)는 서비스 프로파일과 알고리즘을 각각 고려하여 산출된다. 즉, 웨이트 팩터는 서비스의 속성과 알고리즘의 설계 목적 등을 고려하여 산출된다. 이와 같이, 웨이트 팩터는 서비스 프로파일에 따라 알고리즘 별로 적용되는 값을 각각 달리한다. 한편, 웨이트 팩터는 미리 설정된 후 어느 일 집합을 이루는 것이 바람직하다.In addition, a weight factor (weight) according to an embodiment of the present invention is calculated by considering a service profile and an algorithm, respectively. That is, the weight factor is calculated in consideration of the properties of the service and the design purpose of the algorithm. In this way, the weight factor differs in a value applied for each algorithm according to the service profile. On the other hand, it is preferable to form a set after the weight factor is set in advance.
한편, 제2단계에서, 각 노드의 스케줄링 점수를 산정하기 이전에 노드 중 미리 설정된 기준에 부적합한 노드를 필터링하는 단계를 더 포함할 수 있다. 예를 들어, 컴퓨터 노드 중 현재 자원의 활용량이 일정 수준을 초과하여 더 이상 컨테이터를 배치하기 어려운 경우, 컴퓨터 노드가 네트워킹이 불가능한 상태인 경우 등 일정한 필터링 기준을 설정할 수 있다. 그리고, 이런 부적합한 노드의 경우, 미리 제외시켜 스케줄링 점수를 산정하지 않는다.Meanwhile, in the second step, before calculating the scheduling score of each node, it may further include filtering a node that does not meet a preset criterion among the nodes. For example, a certain filtering criterion may be set, such as when it is difficult to place a container any more because the current resource utilization among computer nodes exceeds a certain level, or when the computer node is in a state in which networking is not possible. And, in the case of such an inappropriate node, the scheduling score is not calculated by excluding it in advance.
제3단계는 컨테이너를 최고 점수를 획득한 노드에 배치하는 단계이다.(S30) 즉, 제2단계에서 산정된 각 노드의 스케줄링 점수 중에서 최고 점수를 획득한 노드를 선택하여 컨테이너를 배치하는 것이다. 이를 통해, 어느 일 서비스의 속성을 요청하는 컨테이너의 배치 요구에 대해 이를 반영하여 컨테이너의 스케줄링이 가능한 바, 클라우드 컴퓨팅 환경에서 효과적으로 컴퓨터 노드를 관리할 수 있다. In the third step, the container is placed on the node that has obtained the highest score (S30). That is, the node that has obtained the highest score among the scheduling scores of each node calculated in the second step is selected and the container is placed. Through this, it is possible to schedule the container by reflecting the request for the arrangement of the container that requests the property of a service, and thus, it is possible to effectively manage the computer node in a cloud computing environment.
이상에서는 본 발명의 바람직한 실시예를 예시적으로 설명하였으나, 본 발명의 범위는 이와 같은 특정 실시예에만 한정되는 것은 아니며, 특허청구범위에 기재된 범주 내에서 적절하게 변경 가능한 것이다.In the above, preferred embodiments of the present invention have been exemplarily described, but the scope of the present invention is not limited to such specific embodiments, and can be appropriately changed within the scope described in the claims.

Claims (5)

  1. 컨테이너 기반의 클라우드 컴퓨팅 환경에서, 컨테이너를 최적의 노드에 배치하는 방법에 있어서,In a container-based cloud computing environment, in a method of placing a container on an optimal node,
    컨테이너를 통해 제공되는 서비스의 속성에 따라 서비스 프로파일을 정의하고, 분류하는 제1단계;A first step of defining and classifying a service profile according to an attribute of a service provided through a container;
    어느 일 컨테이너의 배치 요청이 있으면, 미리 설정된 수학식에 따라 노드 별로 복수 개의 알고리즘에 대한 각 실행 점수에 서비스 프로파일 따른 가중치를 반영한 후 이를 합산하는 방식으로 각 노드의 스케줄링 점수를 산정하는 제2단계; 및A second step of calculating a scheduling score of each node by reflecting a weight according to a service profile to each execution score for a plurality of algorithms for each node according to a predetermined equation, and summing them according to a predetermined equation; And
    최고 점수를 획득한 노드에 컨테이너를 배치하는 제3단계;를 포함하는 서비스 프로파일을 고려한 컨테이너의 배치 방법.A method of disposing a container in consideration of a service profile, including; a third step of disposing a container in a node having the highest score.
  2. 제1항에 있어서, 상기 제2단계에서The method of claim 1, wherein in the second step
    상기 수학식은
    Figure PCTKR2019015652-appb-img-000014
    이며, 여기서,
    Figure PCTKR2019015652-appb-img-000015
    은 서비스 프로파일 i에 대한 노드 n의 스케줄링 점수이고,
    Figure PCTKR2019015652-appb-img-000016
    은 서비스 프로파일 i에 대한 알고리즘 k의 웨이트 팩터(weight factor)이며,
    Figure PCTKR2019015652-appb-img-000017
    는 노드 n에 대한 알고리즘 k의 실행 점수를 나타내는 서비스 프로파일을 고려한 컨테이너의 배치 방법.
    The above equation is
    Figure PCTKR2019015652-appb-img-000014
    Is, where
    Figure PCTKR2019015652-appb-img-000015
    Is the scheduling score of node n for service profile i,
    Figure PCTKR2019015652-appb-img-000016
    Is the weight factor of algorithm k for service profile i,
    Figure PCTKR2019015652-appb-img-000017
    Is a container placement method in consideration of a service profile representing an execution score of algorithm k for node n.
  3. 제2항에 있어서,The method of claim 2,
    상기 실행 점수는 각 알고리즘이 실행되기 바로 이전 측정된 노드의 자원 활용량을 알고리즘에 입력하여 산출되는 서비스 프로파일을 고려한 컨테이너의 배치 방법.The execution score is a container arrangement method in consideration of a service profile calculated by inputting the resource utilization amount of a node measured immediately before each algorithm is executed into an algorithm.
  4. 제2항에 있어서,The method of claim 2,
    상기 웨이트 팩터는 상기 서비스 프로파일과 상기 알고리즘을 고려하여 산출되는 서비스 프로파일을 고려한 컨테이너의 배치 방법.The weight factor is a container arrangement method in consideration of a service profile calculated in consideration of the service profile and the algorithm.
  5. 제1항에 있어서, 상기 제2단계에서,The method of claim 1, wherein in the second step,
    각 노드의 스케줄링 점수를 산정하기 이전에, 미리 설정된 기준에 부적합한 노드를 필터링하는 단계;를 더 포함하는 서비스 프로파일을 고려한 컨테이너의 배치 방법.Before calculating the scheduling score of each node, filtering nodes that do not conform to the preset criteria; further comprising a container arrangement method in consideration of a service profile.
PCT/KR2019/015652 2019-11-15 2019-11-15 Method for placing container in consideration of service profile WO2021095943A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/015652 WO2021095943A1 (en) 2019-11-15 2019-11-15 Method for placing container in consideration of service profile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2019/015652 WO2021095943A1 (en) 2019-11-15 2019-11-15 Method for placing container in consideration of service profile

Publications (1)

Publication Number Publication Date
WO2021095943A1 true WO2021095943A1 (en) 2021-05-20

Family

ID=75912786

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/015652 WO2021095943A1 (en) 2019-11-15 2019-11-15 Method for placing container in consideration of service profile

Country Status (1)

Country Link
WO (1) WO2021095943A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114265704A (en) * 2022-03-03 2022-04-01 环球数科集团有限公司 Hybrid container cloud scheduling system based on convex optimization
KR20220098636A (en) * 2021-01-04 2022-07-12 네이버 주식회사 Method, system, and computer readable record medium for scheduling containers that use page cache

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015049789A1 (en) * 2013-10-04 2015-04-09 株式会社日立製作所 Resource management system and resource management method
KR20150043377A (en) * 2012-08-07 2015-04-22 어드밴스드 마이크로 디바이시즈, 인코포레이티드 System and method for tuning a cloud computing system
US20170257424A1 (en) * 2016-03-04 2017-09-07 Bladelogic, Inc. Provisioning of containers for virtualized applications
US9794136B1 (en) * 2015-01-21 2017-10-17 Pivotal Software, Inc. Distributed resource allocation
US20190102226A1 (en) * 2017-09-30 2019-04-04 Oracle International Corporation Dynamic node rebalancing between container platforms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150043377A (en) * 2012-08-07 2015-04-22 어드밴스드 마이크로 디바이시즈, 인코포레이티드 System and method for tuning a cloud computing system
WO2015049789A1 (en) * 2013-10-04 2015-04-09 株式会社日立製作所 Resource management system and resource management method
US9794136B1 (en) * 2015-01-21 2017-10-17 Pivotal Software, Inc. Distributed resource allocation
US20170257424A1 (en) * 2016-03-04 2017-09-07 Bladelogic, Inc. Provisioning of containers for virtualized applications
US20190102226A1 (en) * 2017-09-30 2019-04-04 Oracle International Corporation Dynamic node rebalancing between container platforms

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220098636A (en) * 2021-01-04 2022-07-12 네이버 주식회사 Method, system, and computer readable record medium for scheduling containers that use page cache
KR102456005B1 (en) 2021-01-04 2022-10-18 네이버 주식회사 Method, system, and computer readable record medium for scheduling containers that use page cache
CN114265704A (en) * 2022-03-03 2022-04-01 环球数科集团有限公司 Hybrid container cloud scheduling system based on convex optimization
CN114265704B (en) * 2022-03-03 2022-05-17 环球数科集团有限公司 Hybrid container cloud scheduling system based on convex optimization

Similar Documents

Publication Publication Date Title
US11221884B2 (en) Hybrid virtual machine configuration management
US6651125B2 (en) Processing channel subsystem pending I/O work queues based on priorities
US6587938B1 (en) Method, system and program products for managing central processing unit resources of a computing environment
US7051188B1 (en) Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
US6519660B1 (en) Method, system and program products for determining I/O configuration entropy
US6986137B1 (en) Method, system and program products for managing logical processors of a computing environment
Patel et al. Survey on resource allocation strategies in cloud computing
US7007276B1 (en) Method, system and program products for managing groups of partitions of a computing environment
US8234652B2 (en) Performing setup operations for receiving different amounts of data while processors are performing message passing interface tasks
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
US8312464B2 (en) Hardware based dynamic load balancing of message passing interface tasks by modifying tasks
CA2382017C (en) Workload management in a computing environment
US11347546B2 (en) Task scheduling method and device, and computer storage medium
Bok et al. An efficient MapReduce scheduling scheme for processing large multimedia data
Liu et al. Performance analysis of cloud computing services considering resources sharing among virtual machines
US20060020701A1 (en) Thread transfer between processors
US7568052B1 (en) Method, system and program products for managing I/O configurations of a computing environment
WO2021095943A1 (en) Method for placing container in consideration of service profile
WO2014142498A1 (en) Method and system for scheduling computing
Seth et al. Dynamic threshold-based dynamic resource allocation using multiple VM migration for cloud computing systems
KR102640232B1 (en) Method and apparatus for allocating resources in virtual environment
US10430233B1 (en) Scheduling computational tasks among multiple classes of storage resources based on job classification
Xu et al. Optimal construction of virtual networks for cloud-based MapReduce workflows
CN107783823A (en) A kind of load-balancing method and device
Nzanywayingoma et al. Task scheduling and virtual resource optimising in Hadoop YARN-based cloud computing environment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19952741

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19952741

Country of ref document: EP

Kind code of ref document: A1