KR20190070659A - Cloud computing apparatus for supporting resource allocation based on container and cloud computing method for the same - Google Patents
Cloud computing apparatus for supporting resource allocation based on container and cloud computing method for the same Download PDFInfo
- Publication number
- KR20190070659A KR20190070659A KR1020170171396A KR20170171396A KR20190070659A KR 20190070659 A KR20190070659 A KR 20190070659A KR 1020170171396 A KR1020170171396 A KR 1020170171396A KR 20170171396 A KR20170171396 A KR 20170171396A KR 20190070659 A KR20190070659 A KR 20190070659A
- Authority
- KR
- South Korea
- Prior art keywords
- resource
- unit
- container
- resources
- host
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 클라우드 컴퓨팅 기술에 관한 것으로, 보다 상세하게는, 개별 자원 사용의 효율성을 높이고 클라우드 서비스 효율을 개선할 수 있는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법에 관한 것이다.The present invention relates to a cloud computing technology, and more particularly, to a cloud computing device and method for supporting container-based resource allocation that can improve the efficiency of individual resource use and improve cloud service efficiency.
컨테이너 클러스터 관리 기술은 서버 가상화 기술에 비해 컨테이너를 기반으로 하여 오버헤드, 이식성 및 효율성의 측면에서 장점을 가지고 있다. 이에 따라, 컨테이너 기반 클라우드 환경으로의 전환이 빠르게 진행되고 있다.Container cluster management technology is advantageous in terms of overhead, portability and efficiency based on container as compared to server virtualization technology. As a result, the transition to a container-based cloud environment is proceeding rapidly.
종래의 컨테이너 클러스터 관리 기술은 컨테이너 기반 프라이빗 클라우드의 도입을 통해 호스트의 동적 할당으로 인프라 효율성을 증가시킬 수 있으나, 컨테이너 자체의 자원을 초기 배포시 정해지는 정적 할당으로 수행하여 자원 부족으로 인한 성능저하가 있고 장애에 대한 수동적인 처리만 가능한 단점이 있다. 이러한 종래 기술은 과도하게 할당된 자원의 비효율적 사용에 관해 파악하기 어려워 클라우드 서비스를 통해 제공되는 서비스 효율을 저하시키는 한계가 있다.Conventional container cluster management technology can increase the infrastructure efficiency by dynamic allocation of hosts through the introduction of container-based private cloud, but by performing static allocation determined by the initial distribution of the resources of the container itself, And there is a disadvantage that only passive processing of a fault can be performed. This conventional technology has a difficulty in grasping the inefficient use of over-allocated resources, and thus has a limitation in lowering the service efficiency provided through the cloud service.
한국공개특허 제2017-0078012호는 클라우드 자원 모니터링 및 예측을 통한 자원 할당 최적화 방법 및 시스템에 관한 것으로, 하드웨어 자원을 가상화하여 구성한 인스턴스들로 클라우드 서비스를 제공하는 클라우드부, 인스턴스들 각각의 자원 사용량을 모니터링하는 자원 모니터링부 및 자원 모니터링부에 의해 모니터링된 자원 사용량을 기반으로 자원 사용량을 예측하고, 예측된 자원 사용량을 기반으로 인스턴스들에 하드웨어 자원 할당을 변경하는 자원 할당 최적화부를 포함한다.Korean Patent Laid-Open Publication No. 2017-0078012 is related to a method and system for optimizing resource allocation through monitoring and predicting cloud resources, including a cloud unit for providing cloud services as instances configured by virtualizing hardware resources, And a resource allocation optimization unit for predicting resource usage based on the resource usage monitored by the resource monitoring unit and the resource monitoring unit for monitoring and changing the hardware resource allocation for the instances based on the predicted resource usage.
한국등록특허 제10-1781063호는 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치에 관한 것으로, 클러스터 시스템에서 실행하고자 하는 작업을 입력 받고, 상기 입력된 작업에 대응되는 제1 유휴작업을 생성하여 상기 생성된 제1 유휴작업에 대응되는 제1 가상 머신을 생성하고, 생성된 제1 가상 머신에서 상기 입력된 작업을 실행하고, 상기 입력된 작업이 실행되는 중, 상기 제1 가상 머신의 가상 노드의 자원 사용을 감시하여 상기 가상 노드가 과부하 또는 저부하 상태인 경우, 상기 가상 노드의 조정을 수행함으로써, 작업이 실행될 때 자원의 사용 상태에 따라서 동적으로 자원을 조정할 수 있도록 하여 시스템의 자원 활용 효율을 높이고, 자원 부족으로 인한 서비스의 성능 저하를 방지할 수 있다.Korean Patent No. 10-1781063 relates to a second-stage resource management method and apparatus for dynamic resource management, which receives a task to be executed in a cluster system, generates a first idle task corresponding to the input task, Generating a first virtual machine corresponding to the generated first idle job, executing the input job in the first virtual machine created, and executing the input job, the virtual node of the first virtual machine So that the virtual node can be adjusted dynamically according to the use state of the resource when the task is executed, thereby reducing the resource utilization efficiency of the system And the performance degradation due to resource shortage can be prevented.
본 발명의 일 실시예는 개별 자원 사용의 효율성을 높이고 클라우드 서비스 효율을 개선할 수 있는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide a cloud computing apparatus and method supporting container-based resource allocation that can improve the efficiency of individual resource use and improve cloud service efficiency.
본 발명의 일 실시예는 이상 징후와 연계 수행되는 머신 러닝을 기반으로 자원 사용의 예측 정확성을 향상시킬 수 있는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법을 제공하고자 한다.An embodiment of the present invention is to provide a cloud computing apparatus and method supporting container-based resource allocation that can improve prediction accuracy of resource use based on machine learning performed in connection with an abnormal symptom.
실시예들 중에서, 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치는 각각이 태스크를 수행하는 적어도 하나의 컨테이너를 관리하는 호스트 유닛, 상기 호스트 유닛에서 사용되는 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 자원을 모니터링하여 기 학습된 자원 모델을 기초로 상기 모니터링된 자원에 관한 이상 징후를 검출하고 상기 이상 징후가 검출되면 상기 호스트 유닛에게 필요한 자원을 예측하는 자원 스케쥴링 유닛, 상기 호스트 유닛에 상기 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 자원 재할당을 실행하는 클러스터 관리 유닛 및 상기 예측된 자원을 기초로 상기 호스트 유닛에 필요한 실제 자원을 결정하여 상기 클러스터 관리 유닛에 상기 자원 재할당을 요청하는 컨테이너 오케스트레이션 유닛을 포함한다.Among the embodiments, a cloud computing device supporting container-based resource allocation may include a host unit that manages at least one container, each of which performs tasks, a resource associated with processing elements and memory elements used in the host unit, A resource scheduling unit for detecting an abnormal symptom of the monitored resource based on the learned resource model and for predicting a resource required for the host unit when the abnormal symptom is detected; and a resource scheduling unit for informing the host unit about the processing element and the memory element And a container orchestration unit for determining a real resource required for the host unit based on the predicted resource and requesting the cluster management unit for the resource reallocation.
상기 자원 스케쥴링 유닛은 상기 이상 징후가 검출되면 상기 적어도 하나의 컨테이너 각각에 의해 사용되는 자원 사용량을 분석할 수 있다.The resource scheduling unit may analyze the resource usage used by each of the at least one container when the abnormal symptom is detected.
상기 자원 스케쥴링 유닛은 상기 적어도 하나의 컨테이너 각각에 관해 상기 자원 모델을 적용하여 상기 이상 징후와 가장 높게 연관된 특정 컨테이너를 검출할 수 있다.The resource scheduling unit may apply the resource model to each of the at least one container to detect a specific container most highly associated with the abnormal symptom.
상기 자원 스케쥴링 유닛은 상기 특정 컨테이너에 의해 사용되는 자원에 관해 상기 검출 이전의 일정 기간 동안 수집한 자원 상황을 기초로 상기 자원 모델을 갱신하여 향후 특정 시점에서의 자원 상황을 예측할 수 있다.The resource scheduling unit may update the resource model based on a resource state collected for a predetermined period before the detection of the resource used by the specific container to predict a resource state at a specific time in the future.
상기 자원 스케쥴링 유닛은 상기 예측된 자원 상황이 상기 특정 시점에서의 실제 자원 상황과 오차 허용 범위 이상 오차가 발생하면 상기 실제 자원 상황을 기초로 상기 갱신 이전의 자원 모델을 갱신할 수 있다.The resource scheduling unit may update the resource model before the update based on the actual resource situation when the predicted resource situation has an error greater than or equal to the actual resource condition at the specific time point.
상기 자원 스케쥴링 유닛은 상기 이상 징후가 지속되는 동안 상기 특정 컨테이너에 의해 사용되는 복수의 자원들 각각의 사용량 증감을 추적하여 상기 필요한 자원의 예측량을 동적으로 산출할 수 있다.The resource scheduling unit may dynamically calculate the amount of the required resource by tracking usage increase / decrease of each of a plurality of resources used by the specific container while the abnormal symptom is continued.
상기 자원 스케쥴링 유닛은 상기 예측량의 동적 산출을 통해 특정 시점 이전에 상기 이상 징후가 해결되면 해당 이상 징후의 지속 기간 동안 수집한 자원 상황을 기초로 상기 자원 모델을 갱신할 수 있다.The resource scheduling unit may update the resource model on the basis of a resource condition collected during the duration of the abnormal symptom when the abnormal symptom is solved before the specific time through the dynamic calculation of the predicted amount.
상기 자원 스케쥴링 유닛은 특정 시간 구간 동안 상기 사용량 증감에 관한 패턴 분석을 수행하여 긴급 부족자원 유무를 예측할 수 있다.The resource scheduling unit may perform a pattern analysis on the increase / decrease of the usage amount during a specific time interval to predict whether there is an emergency shortage resource.
상기 컨테이너 오케스트레이션 유닛은 상기 클러스터 관리 유닛을 통해 상기 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 실제 자원 현황을 추적하고, 상기 실제 자원 현황을 기초로 상기 예측된 자원 중 적어도 일부를 선별하여 상기 자원 재할당을 요청할 수 있다. The container orchestration unit may track the actual resource status of the processing element and the memory element through the cluster management unit and may request the resource reallocation by selecting at least some of the predicted resources based on the actual resource status have.
실시예들 중에서, 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 방법은 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치에 의해 수행되고, 상기 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 방법은 (a) 각각이 태스크를 수행하는 적어도 하나의 컨테이너를 관리하는 단계, (b) 상기 호스트 유닛에서 사용되는 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 자원을 모니터링하여 기 학습된 자원 모델을 기초로 상기 모니터링된 자원에 관한 이상 징후를 검출하고 상기 이상 징후가 검출되면 상기 호스트 유닛에게 필요한 자원을 예측하는 단계, (c) 상기 호스트에 상기 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 자원 재할당을 실행하는 단계 및 (d) 상기 예측된 자원을 기초로 상기 호스트에 필요한 실제 자원을 결정하여 상기 클러스터 관리 유닛에 상기 자원 재할당을 요청하는 단계를 포함한다.Among the embodiments, a cloud computing method supporting container-based resource allocation is performed by a cloud computing device supporting container-based resource allocation, and the cloud computing method supporting container-based resource allocation includes (a) Managing at least one container performing the task; (b) monitoring resources associated with the processing elements and memory elements used in the host unit; and (C) performing a resource reallocation to the host with respect to the processing element and the memory element; and (d) comparing the predicted resource with the expected resource Based on the actual resources required for the host And requesting the cluster management unit to reallocate the resource.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다 거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique may have the following effects. It should be understood, however, that the scope of the disclosed technology is not to be construed as limited thereby, as it does not imply that a particular embodiment should include all of the following effects or merely include the following effects.
본 발명의 일 실시예에 따른 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법은 개별 자원 사용의 효율성을 높이고 클라우드 서비스 효율을 개선할 수 있다.The cloud computing apparatus and method supporting container-based resource allocation according to an embodiment of the present invention can improve efficiency of individual resource use and improve cloud service efficiency.
본 발명의 일 실시예에 따른 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법은 이상 징후와 연계 수행되는 머신 러닝을 기반으로 자원 사용의 예측 정확성을 향상시킬 수 있다.The cloud computing apparatus and method supporting container-based resource allocation according to an embodiment of the present invention can improve the prediction accuracy of resource use based on machine learning performed in connection with an abnormal symptom.
도 1은 본 발명의 일 실시예에 따른 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치를 설명하는 도면이다.
도 2는 도 1에 있는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치가 자원 할당 관리를 수행하는 과정을 설명하는 흐름도이다.
도 3은 도 1에 있는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치의 일 실시예를 보다 상세히 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a cloud computing apparatus supporting container-based resource allocation according to an embodiment of the present invention. Referring to FIG.
2 is a flowchart illustrating a process of performing resource allocation management by a cloud computing device supporting container-based resource allocation shown in FIG.
FIG. 3 is a diagram for explaining an embodiment of a cloud computing device supporting container-based resource allocation shown in FIG. 1 in more detail.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다 거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effects.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It is to be understood that the singular " include " or "have" are to be construed as including the stated feature, number, step, operation, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be embodied as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes any type of recording device that stores data that can be read by a computer system . Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.
도 1은 본 발명의 일 실시예에 따른 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치를 설명하는 도면이다.FIG. 1 is a diagram illustrating a cloud computing apparatus supporting container-based resource allocation according to an embodiment of the present invention. Referring to FIG.
도 1을 참조하면, 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치(100)는 호스트 유닛(110), 자원 스케쥴링 유닛(120), 클러스터 관리 유닛(130), 컨테이너 오케스트레이션 유닛(140) 및 자원 유닛(150)을 포함할 수 있다.Referring to FIG. 1, a
호스트 유닛(110)은 각각이 태스크를 수행하는 적어도 하나의 컨테이너(112)를 관리한다. 일 실시예에서, 호스트 유닛(110)은 클러스터 관리 유닛(130) 및 컨테이너 오케스트레이션 유닛(140)의 제어 하에 각각이 자원 유닛(150)으로부터 할당 자원으로서 할당된 프로세싱 엘리먼트(152) 및 메모리 엘리먼트(154) 중 적어도 일부를 사용하여 태스크를 수행하는 적어도 하나의 컨테이너(112)를 생성할 수 있고, 도커(doker)를 기반으로 컨테이너 환경을 구축하여 클러스터 관리 유닛(130)로부터 수신된 자원 스케줄링 정보를 기초로 적어도 하나의 태스크 각각을 순차적으로 수행시킬 수 있다.The
일 실시예에서, 호스트 유닛(110)은 적어도 하나의 컨테이너(112) 각각을 통해 사용된 자원, 각각을 통해 론칭된 어플리케이션 및 해당 어플리케이션을 통해 수행된 태스크 중 적어도 일부에 관한 정보를 수집할 수 있는 수집 에이전트(114)를 관리할 수 있다. 일 실시예에서, 수집 에이전트(114)는 호스트 유닛(110)에서 실행 중인 적어도 하나의 컨테이너(112) 각각의 자원 사용량과 성능에 관한 정보를 수집하여 제공할 수 있고, 예를 들어, cAdvisor(Container Advisor), MetricBeat 및 FileVeat 중 적어도 하나를 통해 구현될 수 있다.In one embodiment, the
자원 스케쥴링 유닛(120)은 호스트 유닛(110)에서 사용되는 프로세싱 엘리먼트(152) 및 메모리 엘리먼트(154)에 관한 자원을 모니터링하여 기 학습된 자원 모델을 기초로 모니터링된 자원에 관한 이상 징후를 검출할 수 있다.The
일 실시예에서, 자원 스케쥴링 유닛(120)은 호스트 유닛(110)의 수집 에이전트(114)로부터 호스트 유닛(110)에서 실행 중인 컨테이너(112)에 관한 자원 사용량과 성능에 관한 정보를 수신하여 모니터링할 수 있고, 수신된 자원 사용량과 성능에 관한 정보를 기 학습된 자원 모델에 적용하여 해당 모니터링된 자원에 관한 이상 징후를 검출할 수 있다. 예를 들어, 자원 스케쥴링 유닛(120)은 수집 에이전트(114)로부터 수집된 자원 사용량을 기초로 과도하게 할당된 특정 할당 자원의 비효율적 사용 여부를 이상 징후로서 검출할 수 있다.In one embodiment, the
일 실시예에서, 자원 스케쥴링 유닛(120)은 컨테이너 오케스트레이션 유닛(140)으로부터 호스트 유닛(110)에 할당된 자원 사용량 전반에 관한 정보를 수신하여 모니터링할 수 있고, 예를 들어, 자원 유닛(150)에 있는 전체 자원들 중 특정 호스트 유닛(110)에 과도하게 할당되었거나 비효율적 사용을 보이는 적어도 하나를 이상 징후로서 검출할 수 있다.In one embodiment, the
자원 스케쥴링 유닛(120)은 수집되는 자원 사용량을 기초로 호스트 유닛(110)에 할당된 할당 자원 중 부족 자원, 긴급부족 자원, 초과 자원 및 잉여 자원 중 적어도 하나의 유무를 검출할 수 있고, 그렇다면, 자원 모델을 기초로 일정 기간 동안 수집된 자원 상황에 관해 분석하여 이상 징후의 유무를 판단할 수 있다. 예를 들어, 자원 스케쥴링 유닛(120)은 특정 호스트 유닛(110)에서 사용 중인 부족 자원이 검출되면 현재의 문제 발생을 결정할 수 있고, 해당 호스트 유닛(110)에서 해당 결정 전후로 수집되는 자원 상황을 분석하여 특정 시간 이후의 문제 발생 가능성을 확인하여 이상 징후의 유무를 결정할 수 있다.The
자원 스케쥴링 유닛(120)은 특정 시간 구간 동안 수집된 자원 사용량과 성능에 관한 정보를 빅데이터로서 분석하여 이상 징후를 검출하기 위한 자원 모델을 학습할 수 있다. 일 실시예에서, 자원 스케쥴링 유닛(120)은 수집 에이전트(114)로부터 각 호스트 유닛(110)에 의해 사용되는 자원 사용량과 성능에 관한 정보를 수집할 수 있고, 특정 시간 구간 동안 수집된 자원 사용량과 성능에 관한 정보를 기초로 기 저장된 자원 학습 알고리즘에 따라 빅데이터 분석을 수행하여 기 저장된 자원 모델을 갱신할 수 있으며, 주기 또는 비주기적으로 재학습을 수행하여 자원 모델의 갱신을 수행할 수 있다. 일 실시예에서, 자원 스케쥴링 유닛(120)은 이상 징후의 검출에 따라 자원 모델의 갱신을 수행할 수 있고, 이러한 내용은 이상 징후에 관한 부분에서 보다 상세히 서술하도록 한다.The
자원 스케쥴링 유닛(120)은 특정 시간 구간 동안 수집된 자원 사용량과 성능에 관한 정보를 빅데이터로서 분석하여 이상 징후 검출과 연관된 향후 자원 사용량 예측을 위한 자원 사용 예측 모델을 학습할 수 있고, 기 저장된 자원 사용 예측 학습 알고리즘에 따라 빅데이터 분석을 수행하여 기 저장된 자원 사용 예측 모델을 갱신할 수 있다.The
자원 스케쥴링 유닛(120)은 빅데이터 분석을 위해 데이터 수집 모듈, 배치 분석처리 모듈, 실시간 분석처리 모듈 및 데이터 저장소 중 적어도 하나를 포함할 수 있다. 예를 들어, 데이터 수집 모듈은 Kafaka/Akka를 기반으로 하는 데이터 수집 알고리즘을 통해 구현될 수 있고, 실시간 분석처리 모듈은 Spark Streaming을 기반으로 하는 분석처리 알고리즘을 통해 구현될 수 있다. 데이터 저장소는 호스트 유닛(110) 별로 사용되는 자원 사용과 컨테이너(112) 별로 사용되는 자원 사용에 관해 저장할 수 있고, 컨테이너 로그 데이터를 저장할 수 있으며, 예를 들어, 시계열 데이터를 저장하는 influxDB, 서버가 주기적으로 클라이언트에 접속하여 데이터를 가져오는 풀(pull) 방식의 Prometheus 및 열(column) 컬렉션 기반의 Elastic Search, NoSQL 방식의 Cassandra 중 적어도 하나를 통해 구현될 수 있다.The
자원 스케쥴링 유닛(120)은 이상 징후가 검출되면 호스트 유닛(114)에게 필요한 자원을 예측한다. 보다 구체적으로, 자원 스케쥴링 유닛(120)은 이상 징후가 검출되면 해당 이상 징후와 연관된 적어도 하나의 호스트 유닛(114) 각각에게 해당 이상 징후를 해소하기 위해 필요한 자원량을 예측할 수 있고, 일 실시예에서, 기 학습된 자원 사용 예측 모델을 기초로 필요 자원량을 예측하여 필요 자원 스케줄링 정보를 생성할 수 있다.The
자원 스케쥴링 유닛(120)은 이상 징후가 검출되면 적어도 하나의 컨테이너(112) 각각에 의해 사용되는 자원 사용량을 분석할 수 있다. 일 실시예에서, 자원 스케쥴링 유닛(120)은 적어도 하나의 컨테이너(112) 각각에 관해 자원 모델을 적용하여 해당 이상 징후와 가장 높게 연관된 특정 컨테이너를 검출할 수 있다. 예를 들어, 자원 스케쥴링 유닛(120)은 프로세싱 엘리먼트(152) 및 메모리 엘리먼트(154)의 사용량과 성능에 관한 모니터링을 통해 기준 성능 미만으로 저하되었거나 제1 기준 사용량 이상으로 사용 중인 특정 자원에 관한 이상 징후가 검출되었다면 해당 자원을 할당 받아 사용 중인 적어도 하나의 컨테이너(112) 각각의 자원 사용량을 분석하여 해당 자원을 제2 기준 사용량 이상으로 사용중인 특정 컨테이너를 검출할 수 있다.The
자원 스케쥴링 유닛(120)은 검출된 특정 컨테이너에 의해 사용되는 자원에 관해 해당 검출 이전의 일정 기간 동안 수집한 자원 상황을 기초로 자원 모델을 갱신하여 향후 특정 시점에서의 자원 상황을 예측할 수 있다. 예를 들어, 자원 스케쥴링 유닛(120)은 제1 시점에 이상 징후가 검출되면 전체 호스트 유닛(110) 중 제1 호스트 유닛의 제1 컨테이너를 해당 이상 징후와 가장 높게 연관된 하나로 검출할 수 있고, 해당 제1 컨테이너에 의해 사용되는 자원에 관해 해당 제1 시점 이전의 일정 시간 구간 전부터 해당 제1 시점까지 수집 에이전트(114)로부터 수집된 데이터를 반영하여 현재의 자원 모델을 갱신하고 미리 설정된 향후 특정 시점에서 해당 제1 컨테이너의 자원 사용량을 예측할 수 있다. 즉, 자원 스케쥴링 유닛(120)은 이상 징후와 가장 높게 연관된 특정 컨테이너의 수집 데이터를 자원 모델에 반영함으로써 추후의 이상 징후를 보다 정확하게 예측하기 위한 갱신을 수행할 수 있다. 여기에서, 향후 특정 시점과 일정 기간은 설계자 또는 사용자에 의해 설정 및 조정될 수 있다. The
자원 스케쥴링 유닛(120)은 예측된 자원 상황이 해당 특정 시점에서의 실제 자원 상황과 오차 허용 범위 이상 오차가 발생하면 해당 실제 자원 상황을 기초로 해당 갱신 이전의 자원 모델을 갱신할 수 있다. 예를 들어, 자원 스케쥴링 유닛(120)은 이상 징후 검출에 따른 제1 시점에서 제1 자원 모델을 기초로 제2 자원 모델을 생성하고 제1 시점 이후의 특정 시점에 해당하는 제2 시점의 자원 상황을 예측할 수 있고, 제2 시점에서 예측된 자원 상황과 해당 제2 시점에서 실제로 관측된 자원 상황을 비교 분석하여 오차 허용 범위 이상 오차가 검출되면 제2 자원 모델이 아닌 제1 자원 모델로 복원할 수 있으며, 해당 실제로 관측된 자원 상황을 반영하여 복원된 제1 자원 모델을 갱신하여 제3 자원 모델을 생성할 수 있다.The
일 실시예에서, 자원 스케쥴링 유닛(120)은 최근 특정 시간 구간 동안 발생된 오차 발생 빈도를 기초로 상기 향후 특정 시점과 일정 기간을 조정할 수 있고, 예를 들어, 하기의 수학식 1을 기초로 오차 발생 빈도에 상대적으로 반비례하도록 향후 특정 시점을 하향 조정하고 상대적으로 비례하도록 일정 기간을 상향 조정할 수 있다.In one embodiment, the
[수학식 1][Equation 1]
t = (f0/f) * t0 t = (f 0 / f) * t 0
p = (f/f0) * p0 p = (f / f 0) * p 0
(여기에서, t, f 및 p는 각각 상기 향후 특정 시점, 오차 발생 빈도 및 일정 기간을 의미하고, t0, f0 및 p0는 각각 설계자 또는 관리자에 의해 설정된 기준 시점, 기준 오차 발생 빈도 및 기준 기간을 의미함)T 0 , f 0, and p 0 denote a reference time point, a reference error occurrence frequency, and a reference time point set by a designer or an administrator, respectively, Reference period)
자원 스케쥴링 유닛(120)은 이상 징후가 지속되는 동안 해당 특정 컨테이너에 의해 사용되는 복수의 자원들 각각의 사용량 증감을 추적하여 필요한 자원의 예측량을 동적으로 산출할 수 있다. 일 실시예에서, 자원 스케쥴링 유닛(120)은 해당 특정 컨테이너에 의해 사용되는 복수의 자원들 중 기준 사용량 또는 기준 증가율을 초과하는 특정 자원이 검출될 때마다 해당 자원의 필요 예측량을 해당 자원의 사용량이나 증가율을 기초로 동적으로 산출할 수 있다. 자원 스케쥴링 유닛(120)은 해당 특정 컨테이터에 할당된 복수의 할당 자원들 각각에 관한 사용비율, 사용증감량 및 증감추이를 시계열에 따라 이산적으로 검출하여 해당 특정 컨테이너가 필요로 하는 자원의 예측량을 유동적으로 산출할 수 있다.The
자원 스케쥴링 유닛(120)은 예측량의 동적 산출을 통해 특정 시점 이전에 해당 이상 징후가 해결되면 해당 이상 징후의 지속 기간 동안 수집한 자원 상황을 기초로 자원 모델을 갱신할 수 있다. 예를 들어, 자원 스케쥴링 유닛(120)은 제1 시점에 검출된 이상 징후에 따라 제2 시점에 예측되는 자원의 예측량을 동적으로 산출할 수 있고, 해당 예측량에 따라 제2 시점 이전의 제3 시점에 해당 이상 징후가 해결되면 제1 시점과 제3 시점 간에 해당 호스트 유닛(110)의 수집 에이전트(114)를 통해 수집된 자원 상황을 기초로 자원 모델을 갱신할 수 있다.The
자원 스케쥴링 유닛(120)은 특정 시간 구간 동안 복수의 자원들 각각의 사용량 증감에 관한 패턴 분석을 통해 긴급 부족자원 유무를 예측할 수 있고, 일 실시예에서, 사용량 증감에 관한 패턴이 기 설정된 특정 조건을 만족하는 자원이 검출되면 해당 자원을 향후 특정 시점 이내에 발생 가능한 긴급 부족자원으로 결정하고 해당 자원 상황의 예측에 반영하여 자원 재할당 과정에서 긴급 부족자원이 우선적으로 재할당되도록 할 수 있다.The
자원 스케쥴링 유닛(120)은 특정 시간 구간 동안 복수의 자원들 각각의 사용량 증감에 관한 패턴 분석을 통해 초과 자원 또는 잉여 자원의 유무를 예측할 수 있고, 그렇다면, 해당 자원 상황의 예측에 반영하여 자원 재할당 과정에서 해당 초과 자원이 축소 할당되거나 해당 잉여 자원이 추가 할당되도록 할 수 있다.The
클러스터 관리 유닛(130)은 호스트 유닛(110)에 프로세싱 엘리먼트(152) 및 메모리 엘리먼트(154)에 관한 자원 재할당을 실행한다. 클러스터 관리 유닛(130)은 호스트 유닛(110)으로부터 자원 상태를 수신하여 각 호스트 유닛(110) 별로 할당된 자원들의 호스트 자원 상태를 관리할 수 있고, 컨테이너 오케스트레이션 유닛(140)으로부터 특정 태스크에 관한 실행 요청이 수신되면 호스트 자원 상태를 기초로 해당 태스크의 수행을 위한 특정 호스트 유닛(110)을 할당하는 호스트 할당을 수행할 수 있다. 일 실시예에서, 클러스터 관리 유닛(130)은 컨테이너 오케스트레이션 유닛(140)으로부터 기 할당된 특정 호스트 유닛(110)에 관한 자원 재할당 요청이 수신되면 수신된 자원 재할당 요청에 있는 호스트 식별자, 컨테이너 식별자 및 해당 요청된 자원량을 기초로 해당 호스트 유닛(110)에 자원 재할당을 수행할 수 있다.The
컨테이너 오케스트레이션 유닛(140)은 예측된 자원을 기초로 호스트 유닛(110)에 필요한 실제 자원을 결정하여 클러스터 관리 유닛(130)에 자원 재할당을 요청한다. 일 실시예에서, 컨테이너 오케스트레이션 유닛(140)은 특정 호스트 유닛(110)에서 실행되는 특정 컨테이너(112)에 관해 예측된 자원이 수신되면 현재 사용 중인 자원 상황을 분석하여 해당 호스트 유닛(110)에 실제로 할당 가능한 실제 자원을 결정할 수 있고, 결정된 실제 자원에 따라 자원 리스케쥴링을 수행하여 자원 재할당을 요청할 수 있다.The
컨테이너 오케스트레이션 유닛(140)은 클러스터 관리 유닛(130)을 통해 프로세싱 엘리먼트(152) 및 메모리 엘리먼트(154)에 관한 실제 자원 현황을 추적하고, 실제 자원 현황을 기초로 해당 예측된 자원 중 적어도 일부를 선별하여 자원 재할당을 요청할 수 있다. 예를 들어, 컨테이너 오케스트레이션 유닛(140)은 자원 스케쥴링 유닛(120)에 의해 특정 호스트 유닛(110)에 관해 CPU 3개와 메모리 50GB의 추가 사용이 예측되었으나 해당 특정 호스트 유닛(110)에 할당 가능한 실제 자원 현황이 CPU 2개와 메모리 30GB라면 해당 실제 자원 현황을 반영하여 자원 재할당을 요청할 수 있다.The
자원 유닛(150)은 적어도 하나의 프로세싱 엘리먼트(152) 및 적어도 하나의 메모리 엘리먼트(154)를 자원으로서 포함할 수 있다. 적어도 하나의 프로세싱 엘리먼트(152) 각각은 호스트 유닛(110)에 할당되면 해당 호스트 유닛(110)에 의해 수행되는 태스크를 독립적으로 처리할 수 있는 프로세서로 구현될 수 있다. 적어도 하나의 메모리 엘리먼트(154) 각각은 호스트 유닛(110)에 할당되면 해당 호스트 유닛(110)에 의한 태스크 수행 과정에서 생성되거나 필요한 데이터 전반을 저장할 수 있는 메모리로 구현될 수 있고, 예를 들어, 보조기억장치로서 기능할 수 있는 비휘발성 메모리와 주기억장치로서 기능할 수 있는 주기억장치 중 적어도 하나를 통해 구현될 수 있다.The
호스트 유닛(110), 자원 스케쥴링 유닛(120), 클러스터 관리 유닛(130), 컨테이너 오케스트레이션 유닛(140) 및 자원 유닛(150) 각각은 상호 독립된 컴퓨팅 장치로 구현되거나 적어도 일부가 기능 또는 물리적으로 통합된 컴퓨팅 장치로서 구현될 수 있고, 이들 중 적어도 일부는 서버로서 기능할 수 있다.Each of the
도 2는 도 1에 있는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치가 자원 할당 관리를 수행하는 과정을 설명하는 흐름도이다.2 is a flowchart illustrating a process of performing resource allocation management by a cloud computing device supporting container-based resource allocation shown in FIG.
도 2에서, 호스트 유닛(110)은 각각이 태스크를 수행하는 적어도 하나의 컨테이너(112)를 관리한다(단계 S210).In Fig. 2, the
자원 스케쥴링 유닛(120)은 호스트 유닛(110)에서 사용되는 프로세싱 엘리먼트(152) 및 메모리 엘리먼트(154)에 관한 자원을 모니터링하여 기 학습된 자원 모델을 기초로 모니터링된 자원에 관한 이상 징후를 검출한다(단계 S220).The
자원 스케쥴링 유닛(120)은 이상 징후가 검출되면 호스트 유닛(114)에게 필요한 자원을 예측한다(단계 S230).The
클러스터 관리 유닛(130)은 호스트 유닛(110)에 프로세싱 엘리먼트(152) 및 메모리 엘리먼트(154)에 관한 자원 재할당을 실행한다(단계 S240).The
컨테이너 오케스트레이션 유닛(140)은 예측된 자원을 기초로 호스트 유닛(110)에 필요한 실제 자원을 결정하여 클러스터 관리 유닛(130)에 자원 재할당을 요청한다(단계 S250).The
도 3은 도 1에 있는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치의 일 실시예를 보다 상세히 설명하기 위한 도면이다.FIG. 3 is a diagram for explaining an embodiment of a cloud computing device supporting container-based resource allocation shown in FIG. 1 in more detail.
보다 구체적으로, 도 3a는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치(100)의 일 실시 구조도를 나타내고, 도 3b는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치(100)에 의해 수행되는 자원 할당 프로세스의 일 실시 흐름도를 나타내며, 도 3c는 이러한 자원 할당 프로세스에 따라 컨테이너 자원의 동적 할당이 수행되는 과정을 설명하기 위한 도면이다.More specifically, FIG. 3A illustrates an exemplary implementation of a
도 3a에서, 자원 스케쥴링 유닛(120)은 빅데이터 분석 모듈(120a)과 자원 할당 지원 모듈(120b)를 통해 구현될 수 있다. 기 서술된 것처럼, 자원 할당 지원 모듈(120b)은 (1) 예측 자원의 할당, 오토 스케일링(auto-scaling) 및 성능 검증을 위한 자동 자원 할당, (2) 성능 모니터링, 이상징후 경고(alert) 및 APM (advance power management)을 위한 대시보드 기능 및 (3) 요구 자원의 예측, 이상 징후의 검출 및 초과 자원의 분석을 위한 머신 러닝을 수행할 수 있다.In FIG. 3A, the
도 3b에서, 자원 스케쥴링 유닛(120)은 호스트 유닛(110)의 수집 에이전트(114)를 통해 사용되는 자원 및 로그 데이터를 수집하여 자원 상황에 관한 자원 모니터링을 수행할 수 있고, 기 학습된 자원 모델을 기초로 자원 사용을 예측하거나 초과 자원을 분석하거나 이상 징후를 검출할 수 있다. 자원 스케쥴링 유닛(120)은 자원 상황에 관해 대시보드를 통해 알릴 수 있고, 사용되는 자원에 관한 성능 모니터링을 수행할 수 있으며 문제 발생 시에 알람 또는 SMS를 통해 해당 문제 발생에 관한 알림 메시지를 제공할 수 있다. 자원 스케쥴링 유닛(120)은 긴급 자원 부족이 검출되면 경고 알람을 전송하거나 재할당을 요청할 수 있고, 이상 징후가 검출되면 이에 관한 알림 메시지를 제공할 수 있으며, 자원 할당을 위한 자원 모델을 주기 또는 비주기적으로 업데이트할 수 있다. 자원 스케쥴링 유닛(120)은 이상 징후가 검출되면 긴급 부족 자원에 관한 자원 필요량, 자원 사용 예측 모델을 기반으로 한 자원 필요량, 초과 자원에 대한 자원 축소량 및 잉여 자원에 대한 자원 추가 할당량 중 적어도 하나를 산출하여 컨테이너 오케스트레이션 유닛(140)에 자원 재할당을 위한 정보로서 제공할 수 있다. 컨테이너 오케스트레이션 유닛(140)은 이를 기초로 클러스터 관리 유닛(130)에 자원 재할당을 요청하여 클러스터 관리 유닛(130)이 자원 재할당을 실행하도록 할 수 있다.In FIG. 3B, the
도 3c에서, 자원 스케쥴링 유닛(120)은 호스트 유닛(110)의 적어도 하나의 컨테이너(112) 각각에 의해 사용되는 복수의 자원들의 사용량 증감을 추적하여 필요한 자원의 예측량을 동적으로 산출할 수 있고, 컨테이너 오케스트레이션 유닛(140)은 해당 필요한 자원의 예측량의 자원 재할당이 동적으로 이루어지도록 하여 자원 할당 효율을 증가시킬 수 있다. 이에 따라, 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치(100)는 과도하게 할당된 자원의 비효율적 사용 여부를 파악하여 클라우드 서비스 효율을 개선할 수 있고, 다수의 태스크가 운영되는 컨테이너 기반의 환경에서 개별 운영 자원의 효율성을 향상시킬 수 있다.In FIG. 3C, the
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.While the present invention has been particularly shown and described with reference to exemplary 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 set forth in the following claims And changes may be made without departing from the spirit and scope of the invention.
100: 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치
110: 호스트 유닛
120: 자원 스케쥴링 유닛
130: 클러스터 관리 유닛
140: 컨테이너 오케스트레이션 유닛
150: 자원 유닛100: Cloud computing device supporting container-based resource allocation
110: Host unit 120: Resource scheduling unit
130: Cluster management unit 140: Container orchestration unit
150: resource unit
Claims (10)
상기 호스트 유닛에서 사용되는 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 자원을 모니터링하여 기 학습된 자원 모델을 기초로 상기 모니터링된 자원에 관한 이상 징후를 검출하고 상기 이상 징후가 검출되면 상기 호스트 유닛에게 필요한 자원을 예측하는 자원 스케쥴링 유닛;
상기 호스트 유닛에 상기 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 자원 재할당을 실행하는 클러스터 관리 유닛; 및
상기 예측된 자원을 기초로 상기 호스트 유닛에 필요한 실제 자원을 결정하여 상기 클러스터 관리 유닛에 상기 자원 재할당을 요청하는 컨테이너 오케스트레이션 유닛을 포함하는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치.
A host unit which manages at least one container, each of which carries out the task;
Monitoring resources related to the processing elements and the memory elements used in the host unit, detecting an abnormal symptom of the monitored resource based on the learned resource model, and estimating resources required for the host unit when the abnormal symptom is detected A resource scheduling unit;
A cluster management unit for executing a resource reallocation to the host unit regarding the processing element and the memory element; And
And a container orchestration unit for determining an actual resource required for the host unit based on the predicted resource and requesting the cluster management unit for the resource reallocation.
상기 이상 징후가 검출되면 상기 적어도 하나의 컨테이너 각각에 의해 사용되는 자원 사용량을 분석하는 것을 특징으로 하는 클라우드 컴퓨팅 장치.
The apparatus of claim 1, wherein the resource scheduling unit
And analyzing resource usage used by each of the at least one container when the abnormal symptom is detected.
상기 적어도 하나의 컨테이너 각각에 관해 상기 자원 모델을 적용하여 상기 이상 징후와 가장 높게 연관된 특정 컨테이너를 검출하는 것을 특징으로 하는 클라우드 컴퓨팅 장치.
3. The apparatus of claim 2, wherein the resource scheduling unit
Wherein the resource model is applied to each of the at least one container to detect a specific container most related to the abnormal symptom.
상기 특정 컨테이너에 의해 사용되는 자원에 관해 상기 검출 이전의 일정 기간 동안 수집한 자원 상황을 기초로 상기 자원 모델을 갱신하여 향후 특정 시점에서의 자원 상황을 예측하는 것을 특징으로 하는 클라우드 컴퓨팅 장치.
4. The apparatus of claim 3, wherein the resource scheduling unit
Wherein the resource model updating unit estimates a resource state at a specific point in time by updating the resource model based on a resource state collected for a predetermined period before the detection of the resource used by the specific container.
상기 예측된 자원 상황이 상기 특정 시점에서의 실제 자원 상황과 오차 허용 범위 이상 오차가 발생하면 상기 실제 자원 상황을 기초로 상기 갱신 이전의 자원 모델을 갱신하는 것을 특징으로 하는 클라우드 컴퓨팅 장치.
5. The apparatus of claim 4, wherein the resource scheduling unit
And updates the resource model before the update based on the actual resource situation when the predicted resource situation is different from an actual resource situation at the specific time and an error over an error tolerance range.
상기 이상 징후가 지속되는 동안 상기 특정 컨테이너에 의해 사용되는 복수의 자원들 각각의 사용량 증감을 추적하여 상기 필요한 자원의 예측량을 동적으로 산출하는 것을 특징으로 하는 클라우드 컴퓨팅 장치.
4. The apparatus of claim 3, wherein the resource scheduling unit
Wherein the controller is configured to dynamically calculate a predicted amount of the required resources by tracking usage increase / decrease of each of a plurality of resources used by the specific container while the abnormal symptom continues.
상기 예측량의 동적 산출을 통해 특정 시점 이전에 상기 이상 징후가 해결되면 해당 이상 징후의 지속 기간 동안 수집한 자원 상황을 기초로 상기 자원 모델을 갱신하는 것을 특징으로 하는 클라우드 컴퓨팅 장치.
7. The apparatus of claim 6, wherein the resource scheduling unit
Wherein the resource model updating unit updates the resource model based on the resource state collected during the duration of the abnormal symptom when the abnormal symptom is solved before the specific time through the dynamic calculation of the predicted amount.
특정 시간 구간 동안 상기 사용량 증감에 관한 패턴 분석을 수행하여 긴급 부족자원 유무를 예측하는 것을 특징으로 하는 클라우드 컴퓨팅 장치.
7. The apparatus of claim 6, wherein the resource scheduling unit
Wherein a pattern analysis on the usage increase / decrease is performed during a specific time interval to predict the presence / absence of an emergency shortage resource.
상기 클러스터 관리 유닛을 통해 상기 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 실제 자원 현황을 추적하고, 상기 실제 자원 현황을 기초로 상기 예측된 자원 중 적어도 일부를 선별하여 상기 자원 재할당을 요청하는 것을 특징으로 하는 클라우드 컴퓨팅 장치.
The apparatus of claim 1, wherein the container orchestration unit
Wherein the cluster management unit tracks the actual resource status of the processing element and the memory element through the cluster management unit and requests the resource reallocation by selecting at least some of the predicted resources based on the actual resource status. Computing device.
(a) 각각이 태스크를 수행하는 적어도 하나의 컨테이너를 관리하는 단계;
(b) 상기 호스트 유닛에서 사용되는 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 자원을 모니터링하여 기 학습된 자원 모델을 기초로 상기 모니터링된 자원에 관한 이상 징후를 검출하고 상기 이상 징후가 검출되면 상기 호스트 유닛에게 필요한 자원을 예측하는 단계;
(c) 상기 호스트에 상기 프로세싱 엘리먼트 및 메모리 엘리먼트에 관한 자원 재할당을 실행하는 단계; 및
(d) 상기 예측된 자원을 기초로 상기 호스트에 필요한 실제 자원을 결정하여 상기 클러스터 관리 유닛에 상기 자원 재할당을 요청하는 단계를 포함하는 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 방법.A cloud computing method supporting container-based resource allocation performed by a cloud computing device supporting container-based resource allocation,
(a) managing at least one container each performing a task;
(b) monitoring resources associated with the processing elements and memory elements used in the host unit, detecting anomalous indications of the monitored resources based on the learned resource model, and Predicting resources;
(c) performing a resource reassignment for the processing element and the memory element to the host; And
(d) determining an actual resource required for the host based on the predicted resource, and requesting the resource management unit to allocate the resource to the cluster management unit.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170171396A KR20190070659A (en) | 2017-12-13 | 2017-12-13 | Cloud computing apparatus for supporting resource allocation based on container and cloud computing method for the same |
PCT/KR2018/015700 WO2019117593A1 (en) | 2017-12-13 | 2018-12-11 | Cloud computing device and method for supporting container-based resource allocation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170171396A KR20190070659A (en) | 2017-12-13 | 2017-12-13 | Cloud computing apparatus for supporting resource allocation based on container and cloud computing method for the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190070659A true KR20190070659A (en) | 2019-06-21 |
Family
ID=66819696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170171396A KR20190070659A (en) | 2017-12-13 | 2017-12-13 | Cloud computing apparatus for supporting resource allocation based on container and cloud computing method for the same |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20190070659A (en) |
WO (1) | WO2019117593A1 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102187382B1 (en) * | 2020-07-31 | 2020-12-07 | 나무기술 주식회사 | Container VirtualOS Integrated Monitoring Operating Methods Based on Cloud Infrastructure |
KR102231359B1 (en) * | 2019-11-04 | 2021-03-24 | 주식회사 이노그리드 | Single virtualization system for HPC cloud service and process scheduling method |
KR102231358B1 (en) * | 2019-11-04 | 2021-03-24 | 주식회사 이노그리드 | Single virtualization method and system for HPC cloud service |
KR20210058471A (en) * | 2019-11-14 | 2021-05-24 | 에스피테크놀러지 주식회사 | Cloud system and control method thereof |
KR20210058401A (en) * | 2019-11-14 | 2021-05-24 | 대구대학교 산학협력단 | Apparatus and method for containers arrangement in cloud computing |
KR20210066502A (en) * | 2019-11-28 | 2021-06-07 | 한국전자통신연구원 | Apparatus and Method of Altruistic Scheduling based on Reinforcement Learning |
KR20210085341A (en) * | 2019-12-30 | 2021-07-08 | 주식회사 카카오 | Operating method of server providing clound computing service |
KR102289100B1 (en) * | 2020-05-07 | 2021-08-11 | 한전케이디엔주식회사 | Container-based cluster construction method and cluster device for big data analysis |
KR20220109175A (en) * | 2021-01-28 | 2022-08-04 | 한국전자기술연구원 | Device and method for operating platform providing of renewable energy digital twin model based on container |
KR102488537B1 (en) * | 2022-09-21 | 2023-01-13 | (주)글루시스 | Method for scheduling gpu resource in virtual environment based on container |
KR102502028B1 (en) * | 2022-09-19 | 2023-02-21 | 한국과학기술정보연구원 | Network control method and network control device |
KR102527066B1 (en) * | 2022-11-21 | 2023-05-03 | 주식회사 데이터스트림즈 | Efficient dynamic resource allocation method and system for maximizing utilization in Kubernetes environment |
KR20230087318A (en) * | 2021-12-09 | 2023-06-16 | 국민대학교산학협력단 | Artificial intelligence-based cloud service device and method |
KR102561449B1 (en) * | 2022-06-16 | 2023-07-31 | 스페이스워크 주식회사 | Method, system and non-transitory computer-readable recording medium supporting reinforcement learning for architectural design |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181597B (en) * | 2020-10-12 | 2024-01-19 | 成都精灵云科技有限公司 | Dynamic updating method for container resource use limit |
US11966787B2 (en) * | 2021-03-31 | 2024-04-23 | Mcafee Llc | Dynamic process criticality scoring |
US11997022B2 (en) * | 2021-06-21 | 2024-05-28 | International Business Machines Corporation | Service-to-service scheduling in container orchestrators |
CN113485788B (en) * | 2021-06-30 | 2023-08-29 | 中国民航信息网络股份有限公司 | Container resource allocation method and device, server and computer storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170078012A (en) | 2015-12-29 | 2017-07-07 | 전자부품연구원 | Method and System for Optimizing Resource Allocation with Cloud Resources Monitoring and Estimating |
KR101781063B1 (en) | 2012-04-12 | 2017-09-22 | 한국전자통신연구원 | Two-level resource management method and appratus for dynamic resource management |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2737411A4 (en) * | 2011-07-26 | 2015-10-14 | Nebula Inc | Systems and methods for implementing cloud computing |
KR20130088512A (en) * | 2012-01-31 | 2013-08-08 | 한국전자통신연구원 | Apparatus and method for managing resource in clustered computing environment |
US9256467B1 (en) * | 2014-11-11 | 2016-02-09 | Amazon Technologies, Inc. | System for managing and scheduling containers |
JP2017138895A (en) * | 2016-02-05 | 2017-08-10 | 株式会社日立製作所 | Virtualization environment management system and virtualization environment management method |
-
2017
- 2017-12-13 KR KR1020170171396A patent/KR20190070659A/en active Search and Examination
-
2018
- 2018-12-11 WO PCT/KR2018/015700 patent/WO2019117593A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101781063B1 (en) | 2012-04-12 | 2017-09-22 | 한국전자통신연구원 | Two-level resource management method and appratus for dynamic resource management |
KR20170078012A (en) | 2015-12-29 | 2017-07-07 | 전자부품연구원 | Method and System for Optimizing Resource Allocation with Cloud Resources Monitoring and Estimating |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102231359B1 (en) * | 2019-11-04 | 2021-03-24 | 주식회사 이노그리드 | Single virtualization system for HPC cloud service and process scheduling method |
KR102231358B1 (en) * | 2019-11-04 | 2021-03-24 | 주식회사 이노그리드 | Single virtualization method and system for HPC cloud service |
KR20210058471A (en) * | 2019-11-14 | 2021-05-24 | 에스피테크놀러지 주식회사 | Cloud system and control method thereof |
KR20210058401A (en) * | 2019-11-14 | 2021-05-24 | 대구대학교 산학협력단 | Apparatus and method for containers arrangement in cloud computing |
US11711795B2 (en) | 2019-11-28 | 2023-07-25 | Electronics And Telecommunications Research Institute | Apparatus and method for altruistic scheduling based on reinforcement learning |
KR20210066502A (en) * | 2019-11-28 | 2021-06-07 | 한국전자통신연구원 | Apparatus and Method of Altruistic Scheduling based on Reinforcement Learning |
KR20210085341A (en) * | 2019-12-30 | 2021-07-08 | 주식회사 카카오 | Operating method of server providing clound computing service |
KR102289100B1 (en) * | 2020-05-07 | 2021-08-11 | 한전케이디엔주식회사 | Container-based cluster construction method and cluster device for big data analysis |
KR102187382B1 (en) * | 2020-07-31 | 2020-12-07 | 나무기술 주식회사 | Container VirtualOS Integrated Monitoring Operating Methods Based on Cloud Infrastructure |
KR20220109175A (en) * | 2021-01-28 | 2022-08-04 | 한국전자기술연구원 | Device and method for operating platform providing of renewable energy digital twin model based on container |
KR20230087318A (en) * | 2021-12-09 | 2023-06-16 | 국민대학교산학협력단 | Artificial intelligence-based cloud service device and method |
KR102561449B1 (en) * | 2022-06-16 | 2023-07-31 | 스페이스워크 주식회사 | Method, system and non-transitory computer-readable recording medium supporting reinforcement learning for architectural design |
KR102502028B1 (en) * | 2022-09-19 | 2023-02-21 | 한국과학기술정보연구원 | Network control method and network control device |
KR102488537B1 (en) * | 2022-09-21 | 2023-01-13 | (주)글루시스 | Method for scheduling gpu resource in virtual environment based on container |
KR102527066B1 (en) * | 2022-11-21 | 2023-05-03 | 주식회사 데이터스트림즈 | Efficient dynamic resource allocation method and system for maximizing utilization in Kubernetes environment |
Also Published As
Publication number | Publication date |
---|---|
WO2019117593A1 (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20190070659A (en) | Cloud computing apparatus for supporting resource allocation based on container and cloud computing method for the same | |
US10873541B2 (en) | Systems and methods for proactively and reactively allocating resources in cloud-based networks | |
EP3847549B1 (en) | Minimizing impact of migrating virtual services | |
CN107925612B (en) | Network monitoring system, network monitoring method, and computer-readable medium | |
KR101867487B1 (en) | System and method of migration based fuzzy in cloud environment | |
Nguyen et al. | {AGILE}: elastic distributed resource scaling for {infrastructure-as-a-service} | |
US20200097358A1 (en) | Resource provisioning and replacement according to a resource failure analysis in disaggregated data centers | |
US20190258506A1 (en) | Systems and methods of host-aware resource management involving cluster-based resource pools | |
US9571561B2 (en) | System and method for dynamically expanding virtual cluster and recording medium on which program for executing the method is recorded | |
US10423455B2 (en) | Method for deploying virtual machines in cloud computing systems based on predicted lifetime | |
US20200099592A1 (en) | Resource lifecycle optimization in disaggregated data centers | |
US9396008B2 (en) | System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts | |
US8191069B2 (en) | Method of monitoring performance of virtual computer and apparatus using the method | |
US8024737B2 (en) | Method and a system that enables the calculation of resource requirements for a composite application | |
WO2018144403A2 (en) | Resource management for virtual machines in cloud computing systems | |
US20140282541A1 (en) | Feedback system for optimizing the allocation of resources in a data center | |
US11188408B2 (en) | Preemptive resource replacement according to failure pattern analysis in disaggregated data centers | |
US20180248768A1 (en) | Identification of mutual influence between cloud network entities | |
KR20150009662A (en) | Method of allocating a virtual machine for virtual desktop service | |
US20160094424A1 (en) | Virtual Machine Processor & Memory Resource Coordinator | |
US10831580B2 (en) | Diagnostic health checking and replacement of resources in disaggregated data centers | |
US20200097347A1 (en) | Preemptive deep diagnostics and health checking of resources in disaggregated data centers | |
CN111399970A (en) | Reserved resource management method, device and storage medium | |
WO2007148371A1 (en) | Performance management system and performance management method for virtual machine | |
WO2015167380A1 (en) | Allocation of cloud computing resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment |