KR20220003803A - Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment - Google Patents
Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment Download PDFInfo
- Publication number
- KR20220003803A KR20220003803A KR1020200081477A KR20200081477A KR20220003803A KR 20220003803 A KR20220003803 A KR 20220003803A KR 1020200081477 A KR1020200081477 A KR 1020200081477A KR 20200081477 A KR20200081477 A KR 20200081477A KR 20220003803 A KR20220003803 A KR 20220003803A
- Authority
- KR
- South Korea
- Prior art keywords
- state
- hybrid cloud
- cloud
- resource allocation
- virtual machines
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Abstract
Description
본 발명이 속하는 기술 분야는 하이브리드 클라우드 기반의 IoT 환경에서 실시간 동적 자원 할당 방법에 관한 것이다.The technical field to which the present invention pertains relates to a real-time dynamic resource allocation method in a hybrid cloud-based IoT environment.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information for the present embodiment and does not constitute the prior art.
하이브리드 클라우드(Hybrid Cloud)는 공공 클라우드(Public Cloud) 및 개인 클라우드(Private Cloud) 환경이 조합된 것이다. 하이브리드 클라우드는 개인 클라우드를 통해 보안성, 데이터 프라이버시, 컴플라이언스(compliance)에 대하여 많은 통제 권한을 부여할 수 있다.A hybrid cloud is a combination of a public cloud and a private cloud environment. A hybrid cloud can give you a lot of control over security, data privacy, and compliance through a private cloud.
클라우드 컴퓨팅에서 가상 머신(Virtual Machine, VM) 등의 컴퓨팅 자원을 할당하는 방식은 정확성(Accuracy)과 탄력성(Elasticity) 측면을 모두 고려해야 한다. 태스크가 발생했을 때 정확하게 가상 머신을 할당할 수 있어야 하고, 동적 환경에서 할당하는 시간을 최소화할 필요가 있으나, 하이브리드 클라우드 환경에서 정확성과 탄력성을 동시에 만족시키는 자원 할당 방식이 없는 실정이다.The method of allocating computing resources such as virtual machines (VMs) in cloud computing must consider both Accuracy and Elasticity aspects. It is necessary to be able to accurately allocate a virtual machine when a task occurs, and to minimize the time allocated in a dynamic environment. However, there is no resource allocation method that satisfies both accuracy and elasticity in a hybrid cloud environment.
본 발명의 실시예들은 데이터 트래픽을 입력받고, 활성화된 가상 머신의 개수와 태스크의 개수에 따른 하이브리드 클라우드의 상태 조건을 체크하여 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 하이브리드 클라우드에 할당하는 방식을 통해서, 정확성과 탄력성을 모두 확보하는 데 주된 목적이 있다.Embodiments of the present invention receive data traffic, check the state condition of the hybrid cloud according to the number of activated virtual machines and the number of tasks, and allocate the minimized number of virtual machines according to data traffic to the hybrid cloud. Through this, the main purpose is to secure both accuracy and elasticity.
본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other objects not specified in the present invention may be additionally considered within the scope that can be easily inferred from the following detailed description and effects thereof.
본 실시예의 일 측면에 의하면, 개인 클라우드와 공공 클라우드가 결합된 하이브리드 클라우드의 동적 자원 할당 방법에 있어서, 데이터 트래픽을 입력받는 단계, 및 활성화된 가상 머신의 개수와 태스크의 개수에 따른 상기 하이브리드 클라우드의 상태 조건을 체크하여 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계를 포함한 동작들을 수행하는 동적 자원 할당 방법을 제공한다.According to an aspect of this embodiment, in a method for allocating a dynamic resource of a hybrid cloud in which a private cloud and a public cloud are combined, receiving data traffic, and the number of activated virtual machines and the number of tasks in the hybrid cloud There is provided a dynamic resource allocation method for performing operations including allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud by checking a state condition.
상기 상태 조건은 (i) 예상 초과 상태, (ii) 초과 상태, (iii) 정상 상태, (iv) 부족 상태, (v) 예상 부족 상태로 구분될 수 있다.The state condition may be divided into (i) an expected excess state, (ii) an excess state, (iii) a steady state, (iv) a shortage state, and (v) an expected shortage state.
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는, 상기 상태 조건이 상기 예상 초과 상태 또는 상기 예상 부족 상태이면, 상기 하이브리드 클라우드를 얼랑-C 공식(Erlang-C formula)으로 모델링하고, 상기 얼랑-C 공식에 상한을 적용하고 상기 상한에 미분을 적용하고 KKT(Karush-Kuhn-Tucker) 조건을 적용하여, 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 예측할 수 있다.The step of allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud includes, if the state condition is the expected excess state or the expected insufficient state, assigning the hybrid cloud to the Erlang-C formula The number of minimized virtual machines according to the data traffic can be predicted by modeling as
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는, 상기 상태 조건이 상기 예상 초과 상태이면, 기설정된 대기 시간 이후에 상기 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하고, 상기 상태 조건이 상기 예상 부족 상태이면, 즉각적으로 상기 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당할 수 있다.Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud may include allocating the minimized number of virtual machines to the hybrid cloud after a preset waiting time if the state condition exceeds the expected state. and, if the state condition is the expected shortage state, the minimized number of virtual machines may be immediately allocated to the hybrid cloud.
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는, 상기 상태 조건이 상기 초과 상태 또는 상기 부족 상태이면, 상기 상태 조건이 상기 정상 상태가 될 때까지, CTMC(Continuous-Time Markov Chains) 모델을 적용하여 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 산출할 수 있다.Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud may include, if the state condition is the excess state or the insufficient state, until the state condition becomes the steady state (Continuous- Time Markov Chains) model can be applied to calculate the minimized number of virtual machines according to the data traffic.
이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 데이터 트래픽을 입력받고, 활성화된 가상 머신의 개수와 태스크의 개수에 따른 하이브리드 클라우드의 상태 조건을 체크하여 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 하이브리드 클라우드에 할당하는 방식을 통해서, 정확성과 탄력성을 모두 확보할 수 있는 효과가 있다.As described above, according to the embodiments of the present invention, the number of minimized virtual machines according to data traffic is received by receiving data traffic and checking the state condition of the hybrid cloud according to the number of activated virtual machines and the number of tasks. By allocating to the hybrid cloud, there is an effect of securing both accuracy and elasticity.
여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.Even if it is an effect not explicitly mentioned herein, the effects described in the following specification expected by the technical features of the present invention and their potential effects are treated as if they were described in the specification of the present invention.
도 1은 하이브리드 클라우드를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 하이브리드 클라우드의 동적 자원 할당 장치를 예시한 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 하이브리드 클라우드의 동적 자원 할당 방법을 예시한 블록도이다.
도 4 내지 도 7은 본 발명의 실시예들에 따라 수행된 모의실험 결과를 도시한 것이다.1 is a diagram illustrating a hybrid cloud.
2 is a block diagram illustrating an apparatus for dynamic resource allocation of a hybrid cloud according to an embodiment of the present invention.
3 is a block diagram illustrating a dynamic resource allocation method of a hybrid cloud according to another embodiment of the present invention.
4 to 7 show simulation results performed according to embodiments of the present invention.
이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.Hereinafter, in the description of the present invention, if it is determined that the subject matter of the present invention may be unnecessarily obscure as it is obvious to those skilled in the art with respect to related known functions, the detailed description thereof will be omitted, and some embodiments of the present invention will be described. It will be described in detail with reference to exemplary drawings.
도 1은 하이브리드 클라우드를 예시한 도면이다.1 is a diagram illustrating a hybrid cloud.
하이브리드 클라우드는 공공 클라우드 및 개인 클라우드 환경이 조합된 것이다. 데이터 트래픽은 IoT(Internet of Things) 장치로부터 개인 클라우드를 통해 공공 클라우드로 전달된다. 하이브리드 클라우드 환경에서 개인 클라우드는 사전에 데이터를 수신하고 복수의 클라우드에 태스크를 할당하는 브로커 역할을 한다.A hybrid cloud is a combination of public cloud and private cloud environments. Data traffic is passed from the Internet of Things (IoT) device to the public cloud through the private cloud. In a hybrid cloud environment, the private cloud acts as a broker that proactively receives data and assigns tasks to multiple clouds.
클라우드 컴퓨팅에서 가상 머신 등의 컴퓨팅 자원을 할당하는 방식은 정확성을 고려해야 한다. 클라우드 컴퓨팅에서 CTMC(Continuous-Time Markov Chains) 모델은 한 번에 하나의 가상 머신을 활성화 또는 비활성화시킨다.In cloud computing, the method of allocating computing resources such as virtual machines must consider accuracy. In cloud computing, the Continuous-Time Markov Chains (CTMC) model enables or disables one virtual machine at a time.
CTMC 모델은 확률을 이용하여 객체 상태를 시간에 따라 어떻게 변화할지를 모델링한다. 객체의 시간에 따른 서로 다른 상태를 어떻게 연결할지를 기술하는 것이 마코브 체인이며, 이들을 연결시켜주는 매개체 역할을 마코브 행렬이 한다. 시간 매개 변수가 연속시간(continuous time)이면 마코브 프로세스에 해당한다.The CTMC model uses probabilities to model how the state of an object changes over time. The Markov chain describes how to connect the different states of objects over time, and the Markov matrix serves as a medium that connects them. If the time parameter is continuous time, it corresponds to a Markov process.
클라우드 컴퓨팅에서 가상 머신 등의 컴퓨팅 자원을 할당하는 방식은 탄력성을 고려해야 한다. CTMC 모델을 이용한 자원 할당 방식은 정확하지만 탄력성 측면을 보완할 필요가 있다.In cloud computing, the method of allocating computing resources such as virtual machines must consider elasticity. Although the resource allocation method using the CTMC model is accurate, it is necessary to supplement the elasticity aspect.
본 실시예에 따른 동적 자원 할당 장치는 하이브리드 클라우드 환경을 얼랑-C 공식(Erlang-C formula) 또는 M/M/c 큐로 모델링하고 KKT(Karush-Kuhn-Tucker) 모델을 적용하여 탄력적인 자원 할당을 가능하게 한다. 하이브리드 클라우드 환경이 외부 브로커를 사용하도록 변경되더라도 동작 알고리즘 측면에서 차이가 없으므로 본 실시예에 따른 동적 자원 할당 장치를 그대로 적용할 수 있다.The dynamic resource allocation apparatus according to this embodiment models the hybrid cloud environment as an Erlang-C formula or M/M/c queue, and applies a KKT (Karush-Kuhn-Tucker) model to elastically allocate resources. make it possible Even if the hybrid cloud environment is changed to use an external broker, since there is no difference in the operation algorithm, the dynamic resource allocation apparatus according to the present embodiment can be applied as it is.
도 2는 본 발명의 일 실시예에 따른 하이브리드 클라우드의 동적 자원 할당 장치를 예시한 블록도이다.2 is a block diagram illustrating an apparatus for dynamic resource allocation of a hybrid cloud according to an embodiment of the present invention.
동적 자원 할당 장치(110)는 적어도 하나의 프로세서(120), 컴퓨터 판독 가능한 저장매체(130) 및 통신 버스(170)를 포함한다. The dynamic resource allocation apparatus 110 includes at least one
프로세서(120)는 동적 자원 할당 장치(110)로 동작하도록 제어할 수 있다. 예컨대, 프로세서(120)는 컴퓨터 판독 가능한 저장 매체(130)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(120)에 의해 실행되는 경우 동적 자원 할당 장치(110)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The
컴퓨터 판독 가능한 저장 매체(130)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능한 저장 매체(130)에 저장된 프로그램(140)은 프로세서(120)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독한 가능 저장 매체(130)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 호흡 구간 검출 장치(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 130 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The
통신 버스(170)는 프로세서(120), 컴퓨터 판독 가능한 저장 매체(140)를 포함하여 동적 자원 할당 장치(110)의 다른 다양한 컴포넌트들을 상호 연결한다.
동적 자원 할당 장치(110)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(150) 및 하나 이상의 통신 인터페이스(160)를 포함할 수 있다. 입출력 인터페이스(150) 및 통신 인터페이스(160)는 통신 버스(170)에 연결된다. 입출력 장치(미도시)는 입출력 인터페이스(150)를 통해 동적 자원 할당 장치(110)의 다른 컴포넌트들에 연결될 수 있다.The dynamic resource allocation device 110 may also include one or more input/
동적 자원 할당 장치(110)는 하이브리드 클라우드 환경을 얼랑-C 공식(Erlang-C formula) 또는 M/M/c 큐로 모델링하고 KKT(Karush-Kuhn-Tucker) 모델을 적용하여 탄력적인 자원 할당을 가능하게 한다.The dynamic resource allocation device 110 models the hybrid cloud environment as an Erlang-C formula or M/M/c queue and applies a KKT (Karush-Kuhn-Tucker) model to enable elastic resource allocation. do.
얼랑-C 공식(Erlang-C formula)은 고객 전화가 푸아송 분포에 따라 시스템에 도착한다고 할 때 고객이 서비스를 받을 수 있는 확률을 규정한 공식이다. 시스템은 고객의 서비스를 요청받았을 때, 서비스 창구가 모두 통화 중일 때는 이 고객을 대기 행렬(queue)에 기억시키고 차례대로 서비스를 제공한다. 대기 행렬의 형태는 M/M/c 큐 등으로 정의될 수 있다.The Erlang-C formula is a formula that defines the probability that a customer can receive service when a customer call arrives at the system according to a Poisson distribution. When the system receives a customer's service request, when all service counters are busy, the system stores the customer in a queue and provides the service in turn. The form of the queue may be defined as an M/M/c queue or the like.
제약조건(constraint)을 가지는 최적화 문제에서 연립부등식 제한조건은 KKT 조건을 만족한다. KKT(Karush-Kuhn-Tucker) 조건은 (1) 모든 독립 변수 x1, x2, ... , xN에 대한 미분값이 0이다. (2) 모든 라그랑주 승수 λ1, ... ,λM과 제한조건 부등식(λ에 대한 미분값)의 곱이 0이다. (3) 라그랑주 승수는 음수가 아니어야 한다.In an optimization problem with constraints, the simultaneous inequality constraint satisfies the KKT condition. The KKT (Karush-Kuhn-Tucker) condition is (1) that the derivative of all independent variables x 1 , x 2 , ... , x N is 0. (2) The product of all Lagrange multipliers λ 1 , ... ,λ M and the constraint inequality (differential value with respect to λ) is zero. (3) Lagrange multipliers must not be negative.
동적 자원 할당 장치(110)는 얼랑-C 공식에 KKT 모델을 적용할 수 없는 문제를 해결하기 위해서 얼랑-C 공식에 대해서 근사치 예측을 통해 KKT 모델을 적용한다.In order to solve the problem that the KKT model cannot be applied to the Erlang-C formula, the dynamic resource allocation device 110 applies the KKT model through approximate prediction for the Erlang-C formula.
클라우드 컴퓨팅은 데이터가 가상 머신 간에 교환되므로 네트워크 지연을 피할 수 없다. 장비 지연(equipment delay, Tequip)은 상수값으로 표현될 수 있다. 전파 지연(propagation delay, Tprop)은 발신자와 가상 머신 간의 거리를 분할하여 도출될 수 있다. 전파 지연 Tprop은 데이터 크기에 독립적이다. 전송 지연(transmission delay, Ttrans)은 데이터 크기에 영향을 받는다.Cloud computing cannot avoid network delays as data is exchanged between virtual machines. Equipment delay (equipment delay, T equip ) may be expressed as a constant value. The propagation delay (T prop ) may be derived by dividing the distance between the sender and the virtual machine. The propagation delay T prop is independent of the data size. The transmission delay (T trans ) is affected by the data size.
L은 데이터 크기(비트 단위)이고 R은 평균 종단 밴드폭(bits per second, bps 단위)이다. 종단 네트워크 지연은 Tequip + Tprop + Ttrans로 표현된다.L is the data size (in bits) and R is the average terminal bandwidth (in bits per second, bps). The terminating network delay is expressed as T equip + T prop + T trans .
하이브리드 클라우드 모델에서는 태스크 처리를 요청하는 복수의 IoT 장치가 존재한다. k 번째 IoT 장치로부터 태스크 Xk의 도착은 푸아송 분포에 따르는 것으로 가정할 수 있다.In the hybrid cloud model, there are a plurality of IoT devices that request task processing. It may be assumed that the arrival of task X k from the k-th IoT device follows a Poisson distribution.
λ는 평균 도착 속도이고, n은 IoT 장치의 전체 개수를 의미한다. j 번째 클라우드에서 가상 머신의 서비스 속도는 동일하고 평균 μj를 갖는 지수적 분포를 따른다. 각 클라우드는 M/M/c 큐로 취급될 수 있다. 클라우드 서비스 속도 μj를 참고하여 인덱스 j=0은 개인 클라우드를 의미하고 인덱스 j가 0이 아닌 자연수이면 j 번째 공공 클라우드를 의미한다.λ is the average arrival rate, and n is the total number of IoT devices. In the j-th cloud, the service speeds of virtual machines are the same and follow an exponential distribution with mean μ j . Each cloud can be treated as an M/M/c queue. Referring to the cloud service speed μ j , index j=0 means a private cloud, and if index j is a natural number other than 0, it means the j-th public cloud.
처리된 데이터 크기는 다양하므로, IoT 장치로부터의 입력 데이터의 평균 데이터는 LI, 평균 출력 데이터는 데이터 트래픽 계수(data traffic coefficient, DTC)를 곱하여 LO로 표현될 수 있다.The processed data size may be varied so, represented by L O average data of the input data from the IoT device I L, the average output data is multiplied by the coefficient data traffic (data traffic coefficient, DTC).
개인 클라우드로부터 j 번째 클라우드로의 데이터 트래픽 계수는 αj라고 하고 반대 방향의 데이터 트래픽 계수는 βj라고 한다.Let the data traffic coefficient from the private cloud to the j-th cloud be α j and the data traffic coefficient in the opposite direction is β j .
하이브리드 클라우드의 설치 비용은 개인 클라우드에 대한 비용과 공공 클라우드에 대한 비용으로 두 배이다. 공공 클라우드에 대한 비용은 수학식 4와 같이 표현되고, 개인 클라우드에 대한 비용은 수학식 5와 같이 표현된다.The installation cost of a hybrid cloud is double the cost for a private cloud and the cost for a public cloud. The cost for the public cloud is expressed as
는 렌탈 비용과 고정 소비 전력의 합이고, 는 동적 소비 전력이고, Nj는 j 번째 클라우드에서 가상 머신의 개수이다. is the sum of rental cost and fixed power consumption, is the dynamic power consumption, and N j is the number of virtual machines in the j-th cloud.
N0은 개인 클라우드에서 가상 머신의 개수이고, 는 가상 머신 별 구매 비용이다. 구매 비용은 네트워크 장비 비용, 가상 머신 소프트웨어 라이센스, 애플리케이션 소프트웨어 라이선스를 포함한다. 는 동적 소비 전력 총합이다.N 0 is the number of virtual machines in the private cloud, is the purchase cost per virtual machine. The purchase cost includes the cost of network equipment, virtual machine software licenses, and application software licenses. is the sum of dynamic power consumption.
수학식 6에서 괄호를 과 으로 치환한다.In
클라우드 모델에서 전처리(pre-processing)와 스케줄링(scheduling)을 합쳐서 준비작업(groundwork)이라고 한다. 준비작업의 서비스 시간은 파라미터 μG를 갖는 지수적 분포로 가정할 수 있다. 개인 클라우드의 모든 가상 머신은 필요한 태스크를 수행하고 남은 필요한 태스크를 수행하여 할당된 작업을 완료할 수 있다. 준비작업의 서비스 시간은 남은 태스크를 완료하는데 필요한 서비스 시간과 비교하여 상대적으로 적게 소요되는 것으로 가정한다.The combination of pre-processing and scheduling in the cloud model is called groundwork. The service time of the preparatory work can be assumed to be exponentially distributed with the parameter μ G . Any virtual machine in the private cloud can perform the necessary tasks and complete the tasks assigned to it by performing the remaining necessary tasks. It is assumed that the service time of the preparation work is relatively small compared to the service time required to complete the remaining tasks.
도착하는 입력 데이터 트래픽은 푸아송 분포를 따르므로, 개인 클라우드의 준비작업은 M/M/N0 큐 모델로 모델링될 수 있다. 준비작업의 지연 τG는 수학식 8과 같이 표현된다.Since the incoming input data traffic follows a Poisson distribution, the preparation of the private cloud can be modeled as an M/M/N 0 queue model. The delay τ G of the preparation work is expressed as in Equation (8).
C()는 얼랑-C 공식으로 정의되며 수학식 7과 같이 표현될 수 있다.C( ) is defined by the Erlang-C formula and can be expressed as Equation (7).
가상 머신 사용 ρG는 1보다 작아야 하고, 큐는 무한대로 증가한다.The virtual machine usage ρ G must be less than 1, and the queue grows to infinity.
준비작업이 완료되면, 개인 클라우드는 필요에 따라 전처리 데이터를 공공 클라우드로 전송한다. 개인 클라우드로부터 j 번째 공공 클라우드로 데이터를 전송하여 발생하는 전송 지연은 수학식 11과 같이 표현된다.When the preparatory work is completed, the private cloud transmits the pre-processing data to the public cloud as needed. The transmission delay caused by transmitting data from the private cloud to the j-th public cloud is expressed as
지연 시간은 수학식 12와 같이 표현된다.The delay time is expressed as Equation (12).
네트워크 처리 후 공공 클라우드는 남은 태스크를 처리한다. After network processing, the public cloud handles the remaining tasks.
(정리 1) j 번째 공공 클라우드로의 데이터 도착은 평균 속도 ωjλ를 갖는 푸아송 분포를 따른다. 각 공공 클라우드는 M/M/Nj 큐 모델로 모델링할 수 있다. j 번째 공공 클라우드에서 실행 시간은 수학식 13과 같이 표현된다.(Theorem 1) The arrival of data to the j-th public cloud follows a Poisson distribution with an average velocity ω j λ. Each public cloud can be modeled with an M/M/N j queue model. In the j-th public cloud, the execution time is expressed as Equation 13.
C()는 얼랑-C 공식으로 정의되며 수학식 14와 같이 표현된다.C() is defined by the Erlang-C formula and is expressed as Equation 14.
j 번째 공공 클라우드에서 남은 태스크를 완료하면, j 번째 공공 클라우드는 출력 데이터를 개인 클라우드로 역 전송한다. 전송 지연을 고려한 지연 시간은 수학식 15와 같이 표현된다.When the j-th public cloud completes the remaining tasks, the j-th public cloud sends the output data back to the private cloud. The delay time considering the transmission delay is expressed as Equation (15).
j 번째 공공 클라우드를 사용한 남은 태스크를 처리하는 데 필요한 시간은 수학식 16과 같이 표현된다.The time required to process the remaining task using the j-th public cloud is expressed as Equation 16.
τN = τ0j + τj0을 의미한다.τ N = τ 0j + τ j0 .
개인 클라우드를 사용할 때에도 준비작업이 필요하다.Preparatory work is also required when using a private cloud.
C()는 얼랑-C 공식으로 정의되며 수학식 18과 같이 표현된다.C() is defined by the Erlang-C formula and is expressed as Equation 18.
개인 클라우드에서 τN = 0이다.In the private cloud, τ N = 0.
최소 비용 하이브리드 클라우드 컴퓨팅 방식은 지연 임계치 D* 범위에서 작업을 완료해야 한다. 해결과제 P1의 목적은 지연 임계치를 만족하는 최소화된 가상 머신의 개수 를 찾는 것이다.The least cost hybrid cloud computing approach must complete tasks within the range of delay threshold D*. The goal of task P1 is to minimize the number of virtual machines that satisfy the delay threshold. is to find
벡터 N = (N0, N1, ... , NM)이다. The vector N = (N 0 , N 1 , ... , N M ).
수학식 8, 13, 17에서 얼랑-C 공식이 미분 가능하지 않으므로, 해결과제 P1에 KKT 조건을 적용할 수 없다. 본 실시예에 따른 동적 자원 할당 장치는 얼랑-C 공식에 상한을 설정한다. 수학식 9, 14, 18에 대해서 , , 상한을 설정하면 수학식 20, 21, 22와 같이 표현된다.In
수학식 20, 21, 22를 미분하면 수학식 23, 24, 25와 같이 표현된다.Differentiating
지연 시간에 얼랑-C 공식의 상한을 적용한 지연 상한을 수학식 26, 27, 28과 같이 표현할 수 있다.The upper limit of the delay obtained by applying the upper limit of the Erlang-C formula to the delay time can be expressed as Equations 26, 27, and 28.
벡터 g는 수학식 29와 같이 표현된다.The vector g is expressed as in Equation 29.
수학식 29, 30, 31을 통해 모든 j에 대한 부등식 을 설정할 수 있다. g는 미분 가능하므로, 해결과제 P1을 해결과제 P2로 치환할 수 있다. 해결과제 P2에 의해 3 개의 정리가 성립될 수 있다.Inequalities for all j through
(정리 2) 해결과제 P2를 풀면서 찾은 해는 해결과제 P1의 제약조건을 만족시키는 데 충분하다.(Theorem 2) The solution found while solving the problem P2 is sufficient to satisfy the constraint of the problem P1.
(정리 3) 해결과제 P2의 부등식 제약조건은 모두 컨벡스(convex)하다. (Theorem 3) The inequality constraints of task P2 are all convex.
를 참조하면 는 수학식 32 및 수학식 33과 같이 표현되고, 분수를 분해하면 수학식 34와 같이 표현된다. refer to is expressed as in Equations 32 and 33, and when the fraction is decomposed, it is expressed as Equation 34.
(정리 4) KKT를 사용하여 최적화된 값을 찾으면, 는 해결과제 P2의 최적화된 전역 해(global optimal solutions)이다. (Theorem 4) Using KKT to find the optimized value, is the global optimal solutions of the problem P2.
해결과제 P2에 대한 KKT 조건은 수학식 35, 36, 37과 같이 표현된다.The KKT condition for the solution task P2 is expressed as Equations 35, 36, and 37.
*는 해를 나타내고, π는 로 정의된 KKT의 곱셈 벡터이다.* represents the solution, π is It is a multiplication vector of KKT defined as .
해의 타당성은 수학식 38과 같이 표현된다.The validity of the solution is expressed as in Equation 38.
수학식 37의 조건을 만족하려면 수학식 42를 만족해야 한다.In order to satisfy the condition of Equation 37, Equation 42 must be satisfied.
준비작업의 서비스 시간은 남은 태스크를 완료하는데 필요한 서비스 시간과 비교하여 상대적으로 적게 소요된다.The service time of the preparatory work is relatively small compared to the service time required to complete the remaining tasks.
는 임의의 작은 수 보다 작다. is any small number smaller than
이러한 과정을 거쳐 해는 수학식 46과 같이 표현된다.Through this process, the solution is expressed as Equation 46.
클라우드 컴퓨팅에서 자동 스케일링 방식을 적용할 수 있다.An automatic scaling method can be applied in cloud computing.
mj는 j 번째 클라우드에서 활성화된 가상 머신의 개수이다.m j is the number of virtual machines activated in the j-th cloud.
kj는 j 번째 클라우드에서 태스크의 개수이다.k j is the number of tasks in the j-th cloud.
(mj, kj)는 j 번째 클라우드의 상태이다.(m j , k j ) is the state of the j-th cloud.
[a(mj), b(mj)]는 j 번째 클라우드의 상태를 결정하는 정수이다. b(mj) > a(mj) >= m-1, b(mj) >= a((m+1)j), a(1j) < a(2j) < a(3j) < ... , b(1j) < b(2j) < b(3j) < ... 를 만족한다.[a(m j ), b(m j )] is an integer that determines the state of the j-th cloud. b(m j ) > a(m j ) >= m-1, b(m j ) >= a((m+1) j ), a(1 j ) < a(2 j ) < a(3 j ) ) < ... , b(1 j ) < b(2 j ) < b(3 j ) < ...
시계열적인 분석은 주기적인 워크로드에 적합하지 않다. 예컨대, IoT 장치는 밤시간보다 낮시간에 훨씬 더 많이 클라우드에 접근한다. 이러한 주기적인 워크로드를 고려할 수 있도록 지표 o(mj)와 u(mj)를 이용한 예상 초과 상태(likely-over-provisioned state) 및 예상 부족 상태(likely-under-provisioned state)를 더 포함하는 상태 조건을 설정한다.Time-series analysis is not suitable for periodic workloads. For example, IoT devices access the cloud much more during the day than during the night. In order to be able to consider these periodic workloads, it further includes a likely-over-provisioned state and a likely-under-provisioned state using the indicators o(m j ) and u(m j ). Set the state condition.
지표 o(mj)와 u(mj)는 및 으로 설정되고, 및 는 조절 가능한 임의의 양의 실수이다. o(mj)와 u(mj)는 주기적 워크로드 상황에서 활성화된 IoT 장치의 개수를 예측하는 데 적합하다. The indicators o(m j ) and u(m j ) are and is set to and is any adjustable real number. o(m j ) and u(m j ) are suitable for predicting the number of active IoT devices in a periodic workload situation.
도 3은 본 발명의 다른 실시예에 따른 하이브리드 클라우드의 동적 자원 할당 방법을 예시한 블록도이다. 하이브리드 클라우드의 동적 자원 할당 방법은 하이브리드 클라우드의 동적 자원 할당 장치에 의해 수행될 수 있다.3 is a block diagram illustrating a dynamic resource allocation method of a hybrid cloud according to another embodiment of the present invention. The hybrid cloud dynamic resource allocation method may be performed by a hybrid cloud dynamic resource allocation apparatus.
단계 S10에서, 동적 자원 할당 방법은 데이터 트래픽을 입력받는다.In step S10, the dynamic resource allocation method receives data traffic.
단계 S20에서, 동적 자원 할당 방법은 클라우드의 상태 조건이 정상 상태에 해당하는지 여부를 판단한다. 상태 조건이 정상 상태에 해당하지 않으면, 동적 자원 할당 방법은 하이브리드 클라우드에서 활성화된 가상 머신의 개수 및 태스크의 개수를 체크한다(S30).In step S20, the dynamic resource allocation method determines whether the state condition of the cloud corresponds to a normal state. If the state condition does not correspond to the normal state, the dynamic resource allocation method checks the number of virtual machines and the number of tasks activated in the hybrid cloud (S30).
단계 S40에서, 동적 자원 할당 방법은 클라우드의 상태 조건이 예상 초과 상태(likely-over-provisioned state)에 해당하는지 여부를 판단한다. 상태 조건이 예상 초과 상태에 해당하면, 동적 자원 할당 방법은 대기 시간 이후에, 얼랑-C 공식 모델링하고 상한을 적용하고 상한에 미분을 적용하고 KKT 조건을 적용하여 최적화된 개수를 할당한다(S50).In step S40, the dynamic resource allocation method determines whether the state condition of the cloud corresponds to a likely-over-provisioned state. If the state condition corresponds to the expected excess state, the dynamic resource allocation method allocates the optimized number after the waiting time by modeling the Erlang-C formula, applying the upper limit, applying the differential to the upper limit, and applying the KKT condition (S50) .
단계 S60에서, 동적 자원 할당 방법은 클라우드의 상태 조건이 예상 부족 상태(likely-under-provisioned state)에 해당하는지 여부를 판단한다. 상태 조건이 예상 부족 상태에 해당하면, 동적 자원 할당 방법은 즉각적으로, 얼랑-C 공식 모델링하고 상한을 적용하고 상한에 미분을 적용하고 KKT 조건을 적용하여 최적화된 개수를 할당한다(S70).In step S60, the dynamic resource allocation method determines whether the state condition of the cloud corresponds to a likely-under-provisioned state. If the state condition corresponds to the expected shortage state, the dynamic resource allocation method immediately allocates the optimized number by modeling the Erlang-C formula, applying the upper limit, applying the differential to the upper limit, and applying the KKT condition (S70).
단계 S80에서, 동적 자원 할당 방법은 클라우드의 상태 조건이 초과 상태(over-provisioned state) 또는 부족 상태(under-provisioned state)에 해당하는지 여부를 판단한다. 상태 조건이 초과 상태 또는 부족 상태에 해당하면, 동적 자원 할당 방법은 상태 조건이 정상 상태가 될 때까지, CTMC 모델을 적용하여 최적화된 개수를 할당한다(S90).In step S80, the dynamic resource allocation method determines whether the state condition of the cloud corresponds to an over-provisioned state or an under-provisioned state. If the state condition corresponds to the excess state or the insufficient state, the dynamic resource allocation method allocates an optimized number by applying the CTMC model until the state condition becomes a normal state (S90).
동적 자원 할당 방법을 슈도 코드로 표현하면 표 1과 같다.Table 1 shows the dynamic resource allocation method using pseudo codes.
도 4 내지 도 7은 본 발명의 실시예들에 따라 수행된 모의실험 결과를 도시한 것이다.4 to 7 show simulation results performed according to embodiments of the present invention.
클라우드 컴퓨팅의 자원 할당의 탄력성 측정은 수학식 51를 이용한다.The elasticity measurement of resource allocation of cloud computing uses Equation 51.
도 4 내지 도 7에 도시된 바와 같이, 본 실시예에 따른 동적 자원 할당 모델(MARS)이 CTMC 모델보다 탄력성 측면에서 우수한 효과가 있음을 쉽게 파악할 수 있다.As shown in FIGS. 4 to 7 , it can be easily understood that the dynamic resource allocation model (MARS) according to the present embodiment has a superior effect in terms of elasticity than the CTMC model.
동적 자원 할당 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.The dynamic resource allocation apparatus may be implemented in a logic circuit by hardware, firmware, software, or a combination thereof, or may be implemented using a general-purpose or special-purpose computer. The device may be implemented using a hardwired device, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like. In addition, the device may be implemented as a system on chip (SoC) including one or more processors and controllers.
동적 자원 할당 장치는 하드웨어적 요소가 마련된 컴퓨팅 디바이스 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.The dynamic resource allocation apparatus may be mounted on a computing device or server provided with hardware elements in the form of software, hardware, or a combination thereof. A computing device or server is all or part of a communication device such as a communication modem for performing communication with various devices or wired/wireless communication networks, a memory for storing data for executing a program, and a microprocessor for executing operations and commands by executing the program It can mean a variety of devices, including
도 3에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.Although it is described that each process is sequentially executed in FIG. 3, this is only illustratively described, and those skilled in the art change the order described in FIG. Alternatively, various modifications and variations may be applied by executing one or more processes in parallel or adding other processes.
본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.The operations according to the present embodiments may be implemented in the form of program instructions that can be performed through various computer means and recorded in a computer-readable medium. Computer-readable medium represents any medium that participates in providing instructions to a processor for execution. Computer-readable media may include program instructions, data files, data structures, or a combination thereof. For example, there may be a magnetic medium, an optical recording medium, a memory, and the like. A computer program may be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. Functional programs, codes, and code segments for implementing the present embodiment may be easily inferred by programmers in the art to which this embodiment belongs.
본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The present embodiments are for explaining the technical idea of the present embodiment, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The protection scope of this embodiment should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present embodiment.
Claims (5)
데이터 트래픽을 입력받는 단계; 및
활성화된 가상 머신의 개수와 태스크의 개수에 따른 상기 하이브리드 클라우드의 상태 조건을 체크하여 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계
를 포함한 동작들을 수행하는 동적 자원 할당 방법.In the dynamic resource allocation method of a hybrid cloud in which a private cloud and a public cloud are combined,
receiving data traffic; and
Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud by checking a state condition of the hybrid cloud according to the number of activated virtual machines and the number of tasks
A dynamic resource allocation method for performing operations including
상기 상태 조건은 (i) 예상 초과 상태, (ii) 초과 상태, (iii) 정상 상태, (iv) 부족 상태, (v) 예상 부족 상태로 구분되는 것을 특징으로 하는 하이브리드 클라우드의 동적 자원 할당 방법.According to claim 1,
The state condition is (i) an expected excess state, (ii) an excess state, (iii) a steady state, (iv) a shortage state, and (v) an expected shortage state.
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는,
상기 상태 조건이 상기 예상 초과 상태 또는 상기 예상 부족 상태이면, 상기 하이브리드 클라우드를 얼랑-C 공식(Erlang-C formula)으로 모델링하고, 상기 얼랑-C 공식에 상한을 적용하고 상기 상한에 미분을 적용하고 KKT(Karush-Kuhn-Tucker) 조건을 적용하여, 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 예측하는 것을 특징으로 하는 하이브리드 클라우드의 동적 자원 할당 방법.3. The method of claim 2,
Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud comprises:
If the state condition is the expected excess state or the expected insufficient state, the hybrid cloud is modeled with an Erlang-C formula, an upper bound is applied to the Erlang-C formula, and a derivative is applied to the upper bound, and A dynamic resource allocation method of a hybrid cloud, characterized in that the number of minimized virtual machines according to the data traffic is predicted by applying a Karush-Kuhn-Tucker (KKT) condition.
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는,
상기 상태 조건이 상기 예상 초과 상태이면, 기설정된 대기 시간 이후에 상기 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하고,
상기 상태 조건이 상기 예상 부족 상태이면, 즉각적으로 상기 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 것을 특징으로 하는 하이브리드 클라우드의 동적 자원 할당 방법.3. The method of claim 2,
Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud comprises:
If the state condition is the expected excess state, allocating the minimized number of virtual machines to the hybrid cloud after a preset waiting time,
When the state condition is the expected shortage state, the dynamic resource allocation method of the hybrid cloud, characterized in that immediately allocating the minimized number of virtual machines to the hybrid cloud.
상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 상기 하이브리드 클라우드에 할당하는 단계는,
상기 상태 조건이 상기 초과 상태 또는 상기 부족 상태이면, 상기 상태 조건이 상기 정상 상태가 될 때까지, CTMC(Continuous-Time Markov Chains) 모델을 적용하여 상기 데이터 트래픽에 따른 최소화된 가상 머신의 개수를 산출하는 것을 특징으로 하는 하이브리드 클라우드의 동적 자원 할당 방법.3. The method of claim 2,
Allocating the minimized number of virtual machines according to the data traffic to the hybrid cloud includes:
If the state condition is the excess state or the insufficient state, the number of minimized virtual machines according to the data traffic is calculated by applying a Continuous-Time Markov Chains (CTMC) model until the state condition becomes the steady state. Hybrid cloud dynamic resource allocation method, characterized in that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200081477A KR102368561B1 (en) | 2020-07-02 | 2020-07-02 | Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200081477A KR102368561B1 (en) | 2020-07-02 | 2020-07-02 | Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220003803A true KR20220003803A (en) | 2022-01-11 |
KR102368561B1 KR102368561B1 (en) | 2022-02-25 |
Family
ID=79355648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200081477A KR102368561B1 (en) | 2020-07-02 | 2020-07-02 | Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102368561B1 (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150039764A1 (en) * | 2013-07-31 | 2015-02-05 | Anton Beloglazov | System, Method and Computer Program Product for Energy-Efficient and Service Level Agreement (SLA)-Based Management of Data Centers for Cloud Computing |
KR20160045388A (en) * | 2014-10-17 | 2016-04-27 | 한국과학기술원 | virtual machine allocation method using cloud service broker |
KR20160073904A (en) * | 2014-12-17 | 2016-06-27 | 경희대학교 산학협력단 | Method for managing resource of cloud computing system |
KR20160139082A (en) * | 2015-05-26 | 2016-12-07 | 인하대학교 산학협력단 | Method and System for Allocation of Resource and Reverse Auction Resource Allocation in hybrid Cloud Server |
KR101720292B1 (en) | 2015-11-19 | 2017-03-27 | 수원대학교산학협력단 | Method for allocating cloud service resources using expectation values for service provider's profit |
KR20180014271A (en) * | 2016-07-28 | 2018-02-08 | 중앙대학교 산학협력단 | Method and apparatus for cooperative spectrum sensing usnig directional antenna in cognitive radio network |
KR102090911B1 (en) * | 2019-12-16 | 2020-03-19 | 주식회사 케이비시스 | System for providing cloud service based on container |
-
2020
- 2020-07-02 KR KR1020200081477A patent/KR102368561B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150039764A1 (en) * | 2013-07-31 | 2015-02-05 | Anton Beloglazov | System, Method and Computer Program Product for Energy-Efficient and Service Level Agreement (SLA)-Based Management of Data Centers for Cloud Computing |
KR20160045388A (en) * | 2014-10-17 | 2016-04-27 | 한국과학기술원 | virtual machine allocation method using cloud service broker |
KR20160073904A (en) * | 2014-12-17 | 2016-06-27 | 경희대학교 산학협력단 | Method for managing resource of cloud computing system |
KR20160139082A (en) * | 2015-05-26 | 2016-12-07 | 인하대학교 산학협력단 | Method and System for Allocation of Resource and Reverse Auction Resource Allocation in hybrid Cloud Server |
KR101720292B1 (en) | 2015-11-19 | 2017-03-27 | 수원대학교산학협력단 | Method for allocating cloud service resources using expectation values for service provider's profit |
KR20180014271A (en) * | 2016-07-28 | 2018-02-08 | 중앙대학교 산학협력단 | Method and apparatus for cooperative spectrum sensing usnig directional antenna in cognitive radio network |
KR102090911B1 (en) * | 2019-12-16 | 2020-03-19 | 주식회사 케이비시스 | System for providing cloud service based on container |
Also Published As
Publication number | Publication date |
---|---|
KR102368561B1 (en) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107025205B (en) | Method and equipment for training model in distributed system | |
CN108089921B (en) | Server for cloud big data operation architecture and operation resource optimization method thereof | |
US10402733B1 (en) | Adaptive ensemble workload prediction model based on machine learning algorithms | |
US10102033B2 (en) | Method and system for performance ticket reduction | |
US10540285B2 (en) | Coordination of cache and memory reservation | |
US9632836B2 (en) | Scheduling applications in a clustered computer system | |
US11150951B2 (en) | Releasable resource based preemptive scheduling | |
EP4083800A1 (en) | System and method for low latency node local scheduling in distributed resource management | |
US20140310712A1 (en) | Sequential cooperation between map and reduce phases to improve data locality | |
US11429434B2 (en) | Elastic execution of machine learning workloads using application based profiling | |
US20180176070A1 (en) | System and method to handle events using historical data in serverless systems | |
US11055139B2 (en) | Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster | |
KR101471749B1 (en) | Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method | |
CN112087332B (en) | Virtual network performance optimization system under cloud edge cooperation | |
US20230136661A1 (en) | Task scheduling for machine-learning workloads | |
US9983908B1 (en) | Adjusting allocation of selected resources for capped and uncapped virtual machines | |
CN105022668A (en) | Job scheduling method and system | |
KR20190076693A (en) | Automatic distributing and predicting usage for workload in heterogeneous cloud environment | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
KR102368561B1 (en) | Real-Time Dynamic Resource Allocation Method in a Hybrid Cloud-Based IoT Environment | |
US10956228B2 (en) | Task management using a virtual node | |
US11544589B2 (en) | Use machine learning to verify and modify a specification of an integration interface for a software module | |
CN110222410A (en) | A kind of electromagnetic environment emulation method based on Hadoop MapReduce | |
EP3096227A1 (en) | Resource allocation method in distributed clouds | |
KR20170094899A (en) | System and method for managing computing resources |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |