KR20190081306A - Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method - Google Patents
Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method Download PDFInfo
- Publication number
- KR20190081306A KR20190081306A KR1020170183731A KR20170183731A KR20190081306A KR 20190081306 A KR20190081306 A KR 20190081306A KR 1020170183731 A KR1020170183731 A KR 1020170183731A KR 20170183731 A KR20170183731 A KR 20170183731A KR 20190081306 A KR20190081306 A KR 20190081306A
- Authority
- KR
- South Korea
- Prior art keywords
- analysis
- resource
- cloud
- analysis software
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 빅데이터 분석 소프트웨어에 대한 자원 할당 방법, 상기 방법을 이용하는 가상화 자원 할당 장치에 관한 것으로, 더욱 상세하게는 빅데이터 분석 소프트웨어에 대해 동적으로 자원을 할당하는 방법, 상기 방법을 이용하는 가상화 자원 할당 장치 및 클라우드 시스템에 관한 것이다.The present invention relates to a resource allocation method for big data analysis software, a virtual resource allocation apparatus using the method, and more particularly, to a method for dynamically allocating resources to big data analysis software, a virtual resource allocation Device and a cloud system.
최근 데이터 형태가 다양해지고, 데이터 양 및 크기가 거대해짐에 따라 데이터에 대한 분석과 통찰(insight)을 통해 응용 서비스를 제공하려는 경향이 증가하고 있다. 이러한 응용 서비스를 제공하는 데 있어 분석 환경이 중요한 요소로 작용하며, 서비스 제공의 신속성과 정확성에도 많은 영향을 미치고, 더 나아가 서비스 제공의 성패를 좌우하는 핵심이 된다. Recently, data types are becoming diverse, and as the amount and size of data becomes larger, there is an increasing tendency to provide application services through analysis and insight of data. The analysis environment plays an important role in providing these application services, and it has a great influence on the speed and accuracy of service provision, and furthermore, it is the key to determining the success or failure of service provision.
하지만, 현재 이러한 분석 환경은, 클라우드 사용자인 개발자가 미리 개발에 필요한 자원을 요청하고 클라우드 제공자가 요청된 자원을 제공하는 형태로 이루어지고 있다. 또한, 사용자 등급을 파악하고 등급에 따라 클라우드 하드웨어 리소스를 제공하거나, 등급을 재조정하여 클라우드 자원들을 제공하는 방식도 사용되고 있다. 또한, 현재의 분석 환경에서는 인스턴스 자원 사용량을 모니터링하여 자원 사용량에 따라 클라우드 자원을 할당해 주고 있다. 즉, 기존의 분석 환경에서는 모든 자원 할당이 프로그램 개발 전에 정적으로 정해지는 것이 특징이다. However, this analytical environment is currently in the form of a developer who is a cloud user requesting resources required for development in advance, and a cloud provider providing the requested resources. It is also used to identify user ratings, provide cloud hardware resources by rating, or re-scale to provide cloud resources. In addition, in the current analysis environment, cloud resources are allocated according to resource usage by monitoring instance resource usage. That is, in the existing analysis environment, all resource allocations are statically determined before program development.
하지만, 실제 클라우드 자원 사용자인 개발자는 현재 개발되는 분석 소프트웨어 프로그램의 분석의 형상(configuration)에 따라 CPU/GPU, 스토리지 등 자원 사용을 달리 할 수 있어, 이를 위한 대안을 필요로 한다. 따라서, 현재 수행되는 분석 소프트웨어의 자원 형상을 반영하여 소프트웨어에 동적으로 자원을 할당하는 방법들이 요구된다.However, a developer who is a user of a real cloud resource can use different resources such as CPU / GPU and storage according to the configuration of analysis of the currently developed analysis software program, and needs an alternative for this. Therefore, there is a need for methods to dynamically allocate resources to the software reflecting the resource shape of the analysis software currently being performed.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 빅데이터 분석 소프트웨어에 대해 동적으로 자원을 할당하는 방법을 제공하는 데 있다.In order to solve the above problems, an object of the present invention is to provide a method of dynamically allocating resources to big data analysis software.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 상기 방법을 이용하여 빅데이터를 분석하는 분석 소프트웨어에 클라우드 가상화 자원을 할당하는 장치를 제공하는 데 있다.Another object of the present invention is to provide an apparatus for allocating cloud virtualization resources to analysis software for analyzing big data using the above method.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은 상기 클라우드 가상화 자원 할당 장치를 포함하는 클라우드 시스템을 제공하는 데 있다.Another object of the present invention is to provide a cloud system including the cloud virtualization resource allocation apparatus.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 빅데이터 분석 소프트웨어에 대한 자원 할당 방법은 클라우드 자원을 사용하여 빅데이터를 분석하는 분석 소프트웨어에 동적으로 자원을 할당하는 방법으로서, 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하는 단계; 상기 분석 소프트웨어의 분석 형상을 모니터링하는 단계; 상기 분석 형상에 따라 자원 상황 정보를 파악하는 단계; 및 상기 자원 상황 정보에 따라 상기 분석 소프트웨어에 할당할 클라우드 자원을 결정하는 단계를 포함할 수 있다. According to another aspect of the present invention, there is provided a method for allocating resources to a large data analysis software, the method comprising: allocating resources to dynamic analysis software for analyzing big data using cloud resources; Executing analytical software to perform an analysis with the analysis software; Monitoring an analysis shape of the analysis software; Analyzing the resource status information according to the analysis shape; And determining a cloud resource to be allocated to the analysis software according to the resource status information.
상기 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하는 단계는, 클라우드 내에서 분석 대상이 되는 자료의 위치 및 분석 로그에 대한 정보 중 적어도 하나를 수집하는 단계를 포함할 수 있다. The step of executing the analysis software for performing the analysis based on the big data may include collecting at least one of the information on the location of the analysis object and the analysis log in the cloud.
상기 자원 상황 정보는 API(Application Programming Interface) 형태로 제공될 수 있다. The resource status information may be provided in the form of an API (Application Programming Interface).
상기 클라우드 자원은 가상화 자원이며, 상기 클라우드 내에 존재하는 적어도 하나의 CPU(Central Processing Unit), 적어도 하나의 GPU(Graphics Processing Unit), 및 적어도 하나의 메모리 중 하나 이상을 포함할 수 있다. The cloud resource is a virtualization resource and may include at least one of a central processing unit (CPU), at least one graphics processing unit (GPU), and at least one memory residing in the cloud.
상기 자원 상황 정보는, 분석할 자료의 양 및 반복 횟수 중 적어도 하나를 포함할 수 있다. The resource status information may include at least one of an amount of data to be analyzed and a repetition frequency.
상기 빅데이터 분석 소프트웨어에 대한 자원 할당 방법은, 결정된 클라우드 자원에 따라 상기 분석 소프트웨어에 대해 해당 자원을 할당하는 단계를 더 포함할 수 있다. The resource allocation method for the big data analysis software may further include allocating the resource to the analysis software according to the determined cloud resource.
상기 자원 할당 방법은 클라우드 시스템의 PaaS(Platform as a Service) 및 IaaS(Infrastructure as a Service) 상에서 동작할 수 있다. The resource allocation method may operate on a platform as a service (PaaS) and an infrastructure as a service (IaaS) of a cloud system.
또한, 상기 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하는 단계는 상기 클라우드 시스템의 SaaS(Software as a Service)로부터의 분석 요청에 따라 실행될 수 있다. The step of executing analysis software for performing analysis based on the big data may be executed in response to an analysis request from SaaS (Software as a Service) of the cloud system.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 가상화 자원 할당 장치는 클라우드 가상화 자원을 사용하여 빅데이터를 분석하는 분석 소프트웨어에 동적으로 자원을 할당하는 장치로서, 프로세서; 및 상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함할 수 있다. According to another aspect of the present invention, there is provided an apparatus for dynamically allocating resources to analysis software for analyzing big data using a cloud virtualization resource, the apparatus comprising: a processor; And a memory for storing at least one instruction executed via the processor.
상기 적어도 하나의 명령은, 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하도록 하는 명령; 상기 분석 소프트웨어의 분석 형상을 모니터링하도록 하는 명령; 상기 분석 형상에 따라 자원 상황 정보를 파악하도록 하는 명령; 및 상기 자원 상황 정보에 따라 상기 분석 소프트웨어에 할당할 클라우드 자원을 결정하도록 하는 명령을 포함할 수 있다. The at least one instruction causing the computer to execute analysis software that performs analysis based on the Big Data; Instructions for monitoring an analysis feature of the analysis software; An instruction to grasp resource status information according to the analysis shape; And an instruction to determine a cloud resource to be allocated to the analysis software according to the resource status information.
상기 적어도 하나의 명령은, 클라우드 내에서 분석 대상이 되는 자료의 위치 및 분석 로그에 대한 정보 중 적어도 하나를 수집하도록 하는 명령을 더 포함할 수 있다. The at least one command may further include instructions for collecting at least one of a location of a data to be analyzed and information on an analysis log in the cloud.
상기 적어도 하나의 명령은 또한, 결정된 클라우드 자원에 따라 상기 분석 소프트웨어에 대해 해당 자원을 할당하도록 하는 명령을 더 포함할 수 있다. The at least one instruction may further include instructions for causing the analysis software to allocate the resource according to the determined cloud resource.
상기 가상화 자원 할당 장치는, 클라우드 시스템의 PaaS(Platform as a Service) 및 IaaS(Infrastructure as a Service) 중 적어도 하나를 기반으로 동작할 수 있다. The virtualization resource allocation apparatus may operate based on at least one of a platform as a service (PaaS) and an infrastructure as a service (IaaS) of a cloud system.
상기 또 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 클라우드 시스템은 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하여, 상기 분석 소프트웨어의 분석 형상을 모니터링하고 분석 형상에 따라 자원 상황 정보를 파악하며, 상기 자원 상황 정보에 따라 상기 분석 소프트웨어에 할당할 클라우드 자원을 결정하는 PaaS(Platform as a Service) 계층; 및 상기 PaaS 계층으로부터 결정된 클라우드 자원에 따라 상기 분석 소프트웨어에 대해 해당 자원을 할당하는 IaaS(Infrastructure as a Service) 계층을 포함할 수 있다. According to another aspect of the present invention, there is provided a cloud system, comprising: an analysis software for performing analysis based on big data, A platform as a service (PaaS) layer for determining a cloud resource to be allocated to the analysis software according to the resource status information; And an IaaS (Infrastructure as a Service) layer that allocates the resources to the analysis software according to the cloud resource determined from the PaaS layer.
상기 클라우드 시스템은 또한, 상기 분석 소프트웨어에 대한 분석을 실행할 것을 요청하는 SaaS(Software as a Service) 계층을 포함할 수 있다. The cloud system may also include a Software as a Service (SaaS) layer requesting to perform an analysis on the analysis software.
상기 클라우드 자원은 가상화 자원이며, 상기 클라우드 내에 존재하는 적어도 하나의 CPU(Central Processing Unit), 적어도 하나의 GPU(Graphics Processing Unit), 및 적어도 하나의 메모리 중 하나 이상을 포함할 수 있다. The cloud resource is a virtualization resource and may include at least one of a central processing unit (CPU), at least one graphics processing unit (GPU), and at least one memory residing in the cloud.
상기와 같은 본 발명의 실시예들에 따르면 개발자는 개발된 분석 소프트웨어를 수행하기 위하여 미리 클라우드 자원을 요청하지 않아도 분석 프로그램이 수행되면서 스스로 필요한 자원을 판단할 수 있다.According to the embodiments of the present invention as described above, the developer can determine the resources required by himself / herself while executing the analysis program without requesting the cloud resource in advance to perform the developed analysis software.
또한, 프로그램이 수행되면서 필요한 자원이 스스로 할당되므로 클라우드 사용자나 자원 제공자 사전 규약을 필요로 하지 않는다.Also, since the necessary resources are allocated by the program itself, there is no need for a cloud user or resource provider pre-protocol.
또한, 수행될 분석 프로그램에 적합한 자원이 할당되므로, 자원을 효율적으로 사용할 수 있다. In addition, appropriate resources are allocated to the analysis program to be performed, so that resources can be efficiently used.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템의 구성도이다.
도 2은 본 발명의 일 실시예에 따른 클라우드 시스템 내 PaaS의 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 클라우드 시스템 내 IaaS의 블록 구성도이다.
도 4는 본 발명의 일 실시예에 따른 빅데이터 분석 소프트웨어에 대한 자원 할당 방법의 동작 순서도이다.
도 5는 본 발명의 일 실시예에 따른 가상화 자원 할당 장치의 블록 구성도이다. 1 is a configuration diagram of a cloud system according to an embodiment of the present invention.
2 is a block diagram of PaaS in a cloud system according to an embodiment of the present invention.
3 is a block diagram of IaaS in a cloud system according to an embodiment of the present invention.
4 is a flowchart illustrating an operation of a resource allocation method for a big data analysis software according to an embodiment of the present invention.
5 is a block diagram of a virtualization resource allocation apparatus according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, 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. The term "and / or" includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 클라우드 시스템의 구성도이다.1 is a configuration diagram of a cloud system according to an embodiment of the present invention.
클라우드 시스템은 가상화된 컴퓨팅 자원을 네트워크를 통해 서비스로 제공하는 시스템을 말한다. 사용자는 서비스에 필요한 서버 등의 하드웨어 자원과 소프트웨어 자원을 직접 보유하지 않고도 필요한 만큼 임대하는 방법으로 사용할 수 있다. 클라우드 시스템은 그 제공 모델에 따라 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service) 등으로 구분될 수 있다. A cloud system is a system that provides virtualized computing resources as services through a network. Users can leverage the hardware resources and software resources required by the service as much as necessary without holding them directly. The cloud system can be classified into an infrastructure as a service (IaaS), a platform as a service (PaaS), and a software as a service (SaaS) according to the providing model.
도 1을 참조하면, 본 발명의 일 실시예에 따른 클라우드 시스템은, 클라우드 환경에서 동작하는 응용프로그램을 서비스 형태로 제공하는 SaaS (Software as a Service)(100), 소프트웨어 개발 환경을 서비스로 제공하는 PaaS (Platform as a Service)(200), 인프라를 구축하기 위해 서버 자원, IP, 네트워크(Network), 저장소(Storage), 전력 등 가상의 환경에서 쉽고 편하게 이용할 수 있게 하는 IaaS (Infrastructure as a Service)(300)를 포함할 수 있다. Referring to FIG. 1, a cloud system according to an embodiment of the present invention includes a software as a service (SaaS) 100 for providing application programs operating in a cloud environment in a service form, A platform as a service (PaaS) 200, an infrastructure as a service (IaaS) 200 that enables easy and convenient utilization in a virtual environment such as server resources, IP, network, storage, (300).
SaaS(100)는 소프트웨어, 즉 어플리케이션을 서비스로 제공하는 서비스이다. 즉, SaaS(100)는 사용자가 응용서비스에 접근할 수 있도록 하고, 다양한 응용서비스를 제공할 수 있도록 SaaS 어플리케이션 관리를 위한 서비스 환경(110)을 제공한다. 서비스 환경(110)에서는 적어도 하나의 SaaS 어플리케이션에 대한 SaaS 관리가 수행된다. SaaS 100 is a service that provides software, that is, an application as a service. That is, the SaaS 100 provides a
PaaS(200)는 사용자가 소프트웨어를 개발하여 배포할 수 있도록 개발 플랫폼을 서비스로 제공한다. 예를 들어, 데스크탑의 윈도우나 모바일 기기에서의 iOS나 안드로이드와 같이 플랫폼의 역할을 하는 서비스를 말한다. PaaS(200)는 운영체제는 아니지만 API(Application Programming Interface)와 프레임워크 등을 제공하는 측면에서 운영체제와 비슷한 역할을 한다. PaaS (200) provides a development platform as a service so that users can develop and distribute software. For example, a service that acts as a platform, such as a desktop window or iOS or Android on a mobile device. The PaaS 200 is not an operating system, but plays a role similar to an operating system in terms of providing an application programming interface (API) and a framework.
API는 응용 프로그램이 운영체제나 데이터베이스 관리 시스템과 같은 시스템 프로그램과 통신할 때 사용되는 언어나 메시지 형식을 가지며, API는 프로그램 내에서 실행을 위해 특정 서브루틴에 연결을 제공하는 함수를 호출하는 것으로 구현된다. 그러므로 하나의 API는 함수의 호출에 의해 요청되는 작업을 수행하기 위해 이미 존재하거나 또는 연결되어야 하는 몇 개의 프로그램 모듈이나 루틴을 가진다. An API is a language or message format used when an application communicates with a system program, such as an operating system or database management system, and an API is implemented by calling a function that provides a connection to a particular subroutine for execution within the program . Therefore, an API has several program modules or routines that already exist or must be connected to perform the task requested by the function call.
API는 함수의 모임으로 칭할 수 있으며, 프로그램들이 그것을 사용함으로써 귀찮은 일들은 운영 체제가 처리하도록 만들 수 있는 것이다. 예를 들어, 윈도우의 API를 사용하면 프로그램은 윈도우를 열거나, 파일을 열거나, 메시지 박스를 만드는 일, 또는 더 복잡한 일들을 하나의 명령으로 처리할 수 있다.An API can be called a collection of functions, and programs can use it to make things worse for the operating system to handle. For example, using Windows APIs, a program can open a window, open a file, create a message box, or handle more complex things as a single command.
PaaS는 또한, 분석 소프트웨어 개발자를 위한 개발자 플랫폼 환경을 제공하는데, 개발자 플랫폼은 어떠한 프레임워크(예를 들어, 분석 툴, 분석 환경 등) 하에서 분석을 수행하는지에 따라 개별 특성에 적합하도록 구성된다.PaaS also provides a developer platform environment for analytical software developers, where the developer platform is tailored to individual characteristics depending on which framework (eg, analysis tools, analytics environment, etc.) is being analyzed.
PaaS(200)의 개발 플랫폼 환경은 플랫폼 엔진에 의해 구동 및 제어될 수 있다. 또한, 각각의 개발 플랫폼은 본 발명에 따른 분석 프레임워크를 포함할 수 있다. The development platform environment of the
IaaS(300)는 클라이언트, 서버, 소프트웨어, 데이터센터, 네트워크 장비 등 전체 인프라를 서비스로 제공한다. 즉, IaaS는 개발 플랫폼이 실제 실행되도록 가상머신을 제공하고, 실제 분석 실행을 위한 데이터의 저장을 위해 저장소 등의 물리적인 가상화 환경(310)을 제공한다. 가상화 환경(310)에서는 적어도 하나의 VM(Virtual Machine) 인스턴스(instance), 저장소(storage) 등에 대한 IaaS 관리가 수행될 수 있다. 가상화 환경(310)은 가상화 엔진에 의해 구동 또는 제어될 수 있다.The
도 1에 도시된 바와 같은 클라우드 시스템을 기반으로 본 발명의 목적을 달성하기 위해서는, 실제 클라우드 자원 사용자인 개발자가 개발한 분석 소프트웨어 프로그램의 분석 형상(configuration) 정보의 상황을 처리할 수 있는 API(Application Protocol Interface) 및 소프트웨어 요소들이 제공되어야 하며, 제공된 형상 정보에 따라 CPU(Central Processing Unit)/GPU(Graphics Processing Unit), 스토리지 등 클라우드 자원들을 동적으로 할당하는 소프트웨어 컴포넌트들이 제공되어야 한다. In order to achieve the object of the present invention based on the cloud system as shown in FIG. 1, an API (Application) which can process the situation of the analysis configuration information of the analysis software program developed by the developer who is an actual cloud resource user Protocol interface and software components should be provided and software components that dynamically allocate cloud resources such as CPU (Central Processing Unit) / GPU (storage) and storage should be provided according to the provided shape information.
좀더 구체적으로, 본 발명의 실현을 위해 두 가지 주요 기능이 필요하다. More specifically, two main functions are required for realization of the present invention.
첫째, 사용자 응용 서비스를 개발하기 위한 클라우드의 플랫폼 서비스인 개발 플랫폼(210)에서는 다양한 플랫폼 제공 기능 중에 분석을 위한 프레임워크가 수행되어야 한다. First, the
분석 프레임워크는, 개발자에 의해 개발된 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하여 실제 클라우드 자원을 이용한 분석이 실행될 때, 분석 형상 정보 처리 기능이 분석할 소프트웨어의 형상을 모니터링한다. 또한 분석할 대상 데이터를 파악하기 위해 분석 자료 정보 처리 기능 또한 수행된다. 이러한 상황 정보들은, 어떠한 분석 소프트웨어라 하더라도 상황 정보를 파악할 수 있도록, API 형태의 정보로 획득되어 실제 클라우드 자원 제어를 위한 자원 결정 처리 기능 또는 저장 데이터 획득 기능들에 의해서 활용될 수 있다. The analysis framework executes the analysis software that performs the analysis based on the big data developed by the developer and monitors the shape of the software to be analyzed by the analysis shape information processing function when the analysis using the actual cloud resource is executed. In addition, analytical data processing functions are also performed to identify the data to be analyzed. Such situation information can be utilized by the resource decision processing function or the storage data acquisition functions for controlling the actual cloud resource obtained as the API type information so that the situation information can be grasped by any analysis software.
둘째로, 첫 번째에서 언급된 자원 상황 정보를 바탕으로 실제 클라우드 자원을 할당하기 위하여 자원 할당 기능이 필요하다. 이러한 자원 할당 기능은 자원 상황에 따라 GPU를 할당해야 하는지, 할당하는 경우 그리드(grid) 형태가 되는지, 독립 GPU 이어야 하는지, 혹은 CPU를 할당해야 하는지, 그리고 메모리는 어느 정도로 하면 되는지 등에 대한 결정을 수행한다. 또한 상황 정보 중 저장 데이터에 대한 검색도 수행하여 클라우드 저장소(storage)를 어느 정도 할당해야 하는지 등도 결정하도록 하여, 실제 자원 할당이 이루어지도록 한다.Second, the resource allocation function is required to allocate the actual cloud resource based on the resource situation information mentioned in the first. These resource allocation functions determine whether to allocate a GPU according to a resource situation, whether it is a grid type, an independent GPU, a CPU should be allocated, and a memory capacity do. In addition, searching for stored data among the context information is performed to determine how much storage is to be allocated to the cloud storage, so that actual resource allocation is performed.
도 2은 본 발명의 일 실시예에 따른 클라우드 시스템 내 PaaS의 블록 구성도이다. 2 is a block diagram of PaaS in a cloud system according to an embodiment of the present invention.
도 2는 개발 플랫폼상에서 분석 수행 시 분석 정보들의 상황을 처리하는 개념도이다. SaaS(100)는 응용 서비스를 위한 분석 결과를 얻기 위하여, API를 통해 PaaS 개발 플랫폼으로 분석 소프트웨어(예를 들어, 도 2의 어플리케이션 1) 대한 분석을 요청한다. FIG. 2 is a conceptual diagram for processing the situation of analysis information when performing an analysis on a development platform.
분석 요청을 수신한 PasS(200)의 개발 플랫폼 환경에서는, 사용자 응용 서비스를 개발하기 위한 클라우드의 플랫폼 서비스인 개발 플랫폼 상의 다양한 플랫폼 제공 기능 중 분석 프레임워크를 수행한다. In the development platform environment of PasS (200) receiving the analysis request, analysis framework among the various platform providing functions on the development platform, which is a platform service of the cloud for developing user application service, is executed.
분석 프레임워크(210)는 빅데이터 분석 모듈(211), 자원결정 모듈(212) 및 저장 데이터 획득 모듈(213)을 포함할 수 있다. The
빅데이터 분석 모듈(211)은 해당 분석 소프트웨어가 수행되면서 연계되는 자원을 분석하고 분석형상 정보를 획득하는 역할을 수행한다. 구체적으로 빅데이터 분석 모듈(211)은 분석형상 정보 처리 모듈 및 분석자료 정보 처리 모듈을 포함할 수 있다. The big
분석 프레임워크에서는 개발자에 의해 개발된 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실제 클라우드 자원을 이용하여 분석을 실행하게 되는데, 이때, 분석 형상 정보 처리 모듈(211)이 분석 소프트웨어의 형상을 모니터링한다. 이러한 자원 상황 정보들은 어떠한 분석 SW 가 되더라도 자원 상황 정보를 파악할 수 있도록 API 형태로(206) 제공될 수 있다. 여기서, 자원 상황 정보는 분석할 자료의 양이나 반복해야 하는 분석 횟수 등에 대한 정보를 포함할 수 있다.In the analysis framework, the analysis software that performs analysis based on the big data developed by the developer is executed using the actual cloud resource. At this time, the analysis shape
또한, 분석자료 정보처리 모듈(207)은 분석할 대상 데이터를 파악하기 위해 분석할 자료의 위치나 분석 로그(log) 정보를 수집하여 처리한다. 이때, 분석자료 정보처리 모듈(207)은 API 형태로 클라우드 내에 존재하는 빅데이터 엔진이나 DB 저장소(repository)에게 해당 정보를 요청한다. 여기서, 분석자료 정보처리 모듈(207)은 저장 데이터 획득 모듈(213)을 통해 IaaS에 해당 정보룰 요청하고, IaaS 로부터 검색된 정보를 제공받을 수 있다. In addition, the analysis data information processing module 207 collects and processes the location of the data to be analyzed or log information to analyze the data to be analyzed. At this time, the analysis data information processing module 207 requests the corresponding information to the big data engine or the DB repository existing in the cloud in API form. Here, the analysis data information processing module 207 can request the corresponding information rule to the IaaS through the stored
빅데이터 분석 모듈(211)을 통해 획득된 자원상황 정보는 클라우드 자원 제어를 위해 자원 결정 모듈(212)로 제공되어 처리된다. 자원 결정 모듈(212)은 자원상황 정보를 기초로 해당 분석 소프트웨어에 할당할 자원을 실질적으로 결정한다. The resource status information acquired through the big
도 3은 본 발명의 일 실시예에 따른 클라우드 시스템 내 IaaS의 블록 구성도이다. 3 is a block diagram of IaaS in a cloud system according to an embodiment of the present invention.
좀더 구체적으로, 도 3은 본 발명의 일 실시예에 따라 클라우드 인프라 가상화 환경 내에서 해당 분석 소프트웨어에 대해 분석 자원을 할당하고 저장 데이터를 처리하는 IaaS 내 블록들 및 해당 블록들의 동작을 도시한다. More specifically, FIG. 3 illustrates the operation of the IaaS blocks and corresponding blocks that allocate analysis resources and process the stored data to the analysis software in a cloud infrastructure virtualization environment in accordance with an embodiment of the present invention.
본 발명에 따라 빅데이터 분석 소프트웨어에 대한 자원을 할당하기 위해, IaaS(300) 계층은 자원 할당 모듈(310) 및 저장데이터 검색 모듈(320)을 포함할 수 있다.In order to allocate resources for the Big Data Analysis software according to the present invention, the
자원 할당 모듈(310)은 PaaS(200) 계층을 통해 파악된 자원 상황 정보를 바탕으로 이를 실제 클라우드 자원에 매핑하여 가상화 엔진의 가상화 자원(330)을 자원 상황에 따라 해당 분석 소프트웨어에 할당한다. 가상화 자원(330)은 적어도 하나의 VM 인스턴스를 포함할 수 있으며, 각 VM 인스턴스는 GPU, CPU, 및 스토리지(storage)를 포함할 수 있다.The
좀더 구체적으로, 자원 할당 모듈(310)은 해당 분석 소프트웨어에 GPU를 할당해야 할지, GPU를 할당한다면 그리드(grid) 형태가 되는지, 독립 GPU이어야 하는지, 또는 CPU를 할당해야 하는지, 그리고 메모리는 어느 정도 할당하면 되는지 등에 대한 결정을 수행할 수 있다. More specifically, the
한편, 저장 데이터 검색 모듈(320)은 상황 정보 중 저장 자원에 대한 검색을 수행한다. 저장 데이터 검색 모듈(320)은 가상화 빅데이터 또는 DB 저장소(repository)(340)에 대한 검색을 통해 저장 자원에 대한 검색을 수행할 수 있다. 이를 위해, 빅데이터 또는 DB 저장소(340)는 수집 모듈 및 수집된 데이터에 대한 수집저장소의 역할을 하는 저장 모듈을 포함할 수 있다. Meanwhile, the stored
자원 할당 모듈(310)은 저장자원에 대한 검색 결과를 토대로, 해당 분석 소프트웨어에 클라우드 스토리지(storage)를 어느 정도 할당해야 하는지 등을 결정할 수 있으며, 이를 바탕으로 궁극적으로 실제 자원 할당이 이루어지도록 한다.The
도 4는 본 발명의 일 실시예에 따른 빅데이터 분석 소프트웨어에 대한 자원 할당 방법의 동작 순서도이다. 4 is a flowchart illustrating an operation of a resource allocation method for a big data analysis software according to an embodiment of the present invention.
도 4에 도시된 빅데이터 분석 소프트웨어에 대한 자원 할당 방법은 본 발명의 일 실시예에 따른 가상화 자원 할당 장치, PaaS 내 개발 플랫폼에서 제공하는 분석 프레임워크, 또는 개발 플랫폼 제공 서버 등에 의해 일부 또는 전부 수행될 수 있다. 하지만, 분석 소프트웨어에 대한 자원 할당 방법의 동작 주체가 이들에 한정되는 것은 아니다. The resource allocation method for the big data analysis software shown in FIG. 4 may be performed in part or in whole by the virtualization resource allocation apparatus according to the embodiment of the present invention, the analysis framework provided in the development platform in PaaS, . However, the operation subject of the resource allocation method for the analysis software is not limited to these.
본 발명의 일 실시예에 따른 빅데이터 분석 소프트웨어에 대한 자원 할당 방법은 클라우드 자원을 사용하여 빅데이터를 분석하는 분석 소프트웨어에 동적으로 자원을 할당하는 방법이다. The resource allocation method for the big data analysis software according to an embodiment of the present invention is a method of dynamically allocating resources to analysis software for analyzing big data using cloud resources.
예를 들어, 클라우드 시스템 내 PaaS 계층에서 동작하는 가상화 자원 할당 장치가 클라우드 시스템 내 SaaS 계층으로부터 분석 소프트웨어에 대한 분석 요청을 수신하는 경우(S410의 예), 분석 요청된 분석 소프트웨어를 실행한다(S420).For example, if the virtualization resource allocation device operating in the PaaS layer in the cloud system receives an analysis request for the analysis software from the SaaS layer in the cloud system (Yes in S410), the analysis requested software is executed (S420) .
분석 소프트웨어의 실행이 개시되면 분석 소프트웨어의 분석 형상을 모니터링한다(S430). 여기서, 분석 소프트웨어의 분석 형상을 모니터링하는 단계는 클라우드 내에서 분석 대상이 되는 자료의 위치 및 분석 로그에 대한 정보 중 적어도 하나를 수집하는 단계를 포함할 수 있다. 이후 모니터링된 분석 형상에 따라 자원 상황 정보를 파악할 수 있다(S440). 자원 상황 정보가 파악되면, 파악된 자원상황 정보에 따라 분석 소프트웨어에 할당할 클라우드 자원을 결정한다(S450). 여기서, 클라우드 자원은 가상화 자원을 포함할 수 있다. When the execution of the analysis software is started, the analysis form of the analysis software is monitored (S430). Here, the step of monitoring the analysis form of the analysis software may include collecting at least one of the information on the location of the analysis target data and the analysis log in the cloud. Then, the resource status information can be grasped according to the analyzed analysis shape (S440). Once the resource status information is obtained, the cloud resource to be allocated to the analysis software is determined according to the identified resource status information (S450). Here, the cloud resource may include virtualization resources.
추가로, 클라우드 시스템 내 IaaS 계층에서는, 결정된 클라우드 자원에 따라 분석 소프트웨어에 대해 해당 자원을 할당할 수 있다(S460). In addition, in the IaaS layer in the cloud system, the resource can be allocated to the analysis software according to the determined cloud resource (S460).
도 5는 본 발명의 일 실시예에 따른 가상화 자원 할당 장치의 블록 구성도이다. 5 is a block diagram of a virtualization resource allocation apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 가상화 자원 할당 장치(220)는 빅데이터 분석 소프트웨어에 가상화 자원을 할당하는 장치로서, 프로세서(221), 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리(222), 저장소(223), 및 입출력 인터페이스(224)을 포함하여 구성될 수 있다. The virtualization
가상화 자원 할당 장치는 PaaS 상의 개발 플랫폼을 제공하는 적어도 하나의 서버 중 하나일 수 있으며, 앞서 도 2의 실시예를 통해 설명한 개발 플랫폼 또는 분석 프레임워크의 동작과 일부 또는 전부 중복되는 동작을 수행할 수 있다. The virtualization resource allocation device may be one of at least one server that provides a development platform on the PaaS and may perform operations partially or wholly overlapping with the operation of the development platform or analysis framework described in the embodiment of FIG. have.
가상화 자원 할당 장치는 또한, 앞서 도 3의 실시예를 통해 설명한 IaaS 상의 자원할당 모듈 또는 저장 데이터 검색 모듈의 동작과 일부 또는 전부 중복되는 동작을 수행할 수도 있다.The virtualization resource allocation device may also perform operations partially or entirely overlapping with those of the resource allocation module or the storage data retrieval module on the IaaS described above with reference to the embodiment of FIG.
메모리(222)는 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하며, 적어도 하나의 명령은, 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하도록 하는 명령, 상기 분석 소프트웨어의 분석 형상을 모니터링하도록 하는 명령, 분석 형상에 따라 자원 상황 정보를 파악하도록 하는 명령; 및 자원 상황 정보에 따라 분석 소프트웨어에 할당할 클라우드 자원을 결정하도록 하는 명령을 포함할 수 있다. The memory (222) stores at least one instruction executed via a processor, the at least one instruction including instructions for executing analysis software that performs analysis based on the Big Data, instructions for monitoring an analysis shape of the analysis software An instruction to grasp resource status information according to an analysis shape; And an instruction to determine a cloud resource to be allocated to the analysis software according to the resource situation information.
저장소(223)는 프로세서(221)에 의해 수집된 클라우드 내에서 분석 대상이 되는 자료의 위치 및 분석 로그에 대한 정보를 저장한다. 저장소(223)는 또한 프로세서(221)에 의해 파악된 자원 상황 정보를 저장할 수 있다. The
입출력 인터페이스(224)는 시스템 내 다른 구성요소로부터의 입력 및 다른 구성요소로의 출력을 처리할 수 있다. The input /
본 발명의 실시예에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다. The operation of the method according to an embodiment of the present invention can be implemented as a computer-readable program or code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. The computer-readable recording medium may also be distributed and distributed in a networked computer system so that a computer-readable program or code can be stored and executed in a distributed manner.
또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Also, the computer-readable recording medium may include a hardware device specially configured to store and execute program instructions, such as a ROM, a RAM, a flash memory, and the like. Program instructions may include machine language code such as those produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.
본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다. While some aspects of the invention have been described in the context of an apparatus, it may also represent a description according to a corresponding method, wherein the block or apparatus corresponds to a feature of the method step or method step. Similarly, aspects described in the context of a method may also be represented by features of the corresponding block or item or corresponding device. Some or all of the method steps may be performed (e.g., by a microprocessor, a programmable computer or a hardware device such as an electronic circuit). In some embodiments, one or more of the most important method steps may be performed by such an apparatus.
이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It can be understood that it is possible.
100: SaaS
110: 서비스 환경
200: PaaS
210: 개발플랫폼 환경
211: 빅데이터 분석 모듈
212: 자원결정 모듈
213: 저장데이터 획득 모듈
220: 가상화 자원 할당 장치
221: 프로세서
222: 메모리
223: 저장소
224: 입출력 인터페이스
300: IaaS
310: 가상화 환경100: SaaS 110: Service environment
200: PaaS 210: Development platform environment
211: Big Data Analysis Module 212: Resource Decision Module
213: Stored data acquisition module 220: Virtual resource allocation device
221: processor 222: memory
223: storage 224: input / output interface
300: IaaS 310: Virtualization Environment
Claims (18)
빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하는 단계;
상기 분석 소프트웨어의 분석 형상을 모니터링하는 단계;
상기 분석 형상에 따라 자원 상황 정보를 파악하는 단계; 및
상기 자원 상황 정보에 따라 상기 분석 소프트웨어에 할당할 클라우드 자원을 결정하는 단계를 포함하는. 빅데이터 분석 소프트웨어에 대한 자원 할당 방법.CLAIMS 1. A method of dynamically allocating resources to analysis software for analyzing large data using cloud resources,
Executing analytical software that performs analysis based on the Big Data;
Monitoring an analysis shape of the analysis software;
Analyzing the resource status information according to the analysis shape; And
And determining a cloud resource to be allocated to the analysis software according to the resource status information. How to allocate resources to big data analysis software.
상기 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하는 단계는,
클라우드 내에서 분석 대상이 되는 자료의 위치 및 분석 로그에 대한 정보 중 적어도 하나를 수집하는 단계를 포함하는, 빅데이터 분석 소프트웨어에 대한 자원 할당 방법.The method according to claim 1,
Wherein the executing the analysis software for performing analysis based on the big data comprises:
And collecting at least one of information about the location of the analysis target data and the analysis log in the cloud.
상기 자원 상황 정보는 API(Application Programming Interface) 형태로 제공되는, 빅데이터 분석 소프트웨어에 대한 자원 할당 방법.The method according to claim 1,
Wherein the resource status information is provided in the form of an API (Application Programming Interface).
상기 클라우드 자원은 가상화 자원이며, 상기 클라우드 내에 존재하는 적어도 하나의 CPU(Central Processing Unit), 적어도 하나의 GPU(Graphics Processing Unit), 및 적어도 하나의 메모리 중 하나 이상을 포함하는, 빅데이터 분석 소프트웨어에 대한 자원 할당 방법.The method according to claim 1,
Wherein the cloud resource is a virtualization resource and comprises at least one of a central processing unit (CPU), at least one graphics processing unit (GPU), and at least one memory residing in the cloud, Resource allocation method for.
상기 자원 상황 정보는,
분석할 자료의 양 및 반복 수행되는 분석의 횟수 중 적어도 하나를 포함하는, 빅데이터 분석 소프트웨어에 대한 자원 할당 방법.The method according to claim 1,
Wherein the resource status information comprises:
The amount of data to be analyzed, and the number of iterations to be performed repeatedly.
결정된 클라우드 자원에 따라 상기 분석 소프트웨어에 대해 해당 자원을 할당하는 단계를 더 포함하는, 빅데이터 분석 소프트웨어에 대한 자원 할당 방법.The method according to claim 1,
And allocating the resource to the analysis software in accordance with the determined cloud resource.
상기 자원 할당 방법은 클라우드 시스템의 PaaS(Platform as a Service) 및 IaaS(Infrastructure as a Service) 상에서 동작하는, 빅데이터 분석 소프트웨어에 대한 자원 할당 방법.The method according to claim 1,
Wherein the resource allocation method operates on a platform as a service (PaaS) and an infrastructure as a service (IaaS) of a cloud system.
상기 빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하는 단계는 상기 클라우드 시스템의 SaaS(Software as a Service)로부터의 분석 요청에 따라 실행되는, 빅데이터 분석 소프트웨어에 대한 자원 할당 방법.The method of claim 7,
Wherein the step of executing analysis software that performs analysis based on the Big Data is executed in response to an analysis request from SaaS (Software as a Service) of the cloud system.
프로세서; 및
상기 프로세서를 통해 실행되는 적어도 하나의 명령을 저장하는 메모리를 포함하고,
상기 적어도 하나의 명령은,
빅데이터를 기반으로 분석을 수행하는 분석 소프트웨어를 실행하도록 하는 명령;
상기 분석 소프트웨어의 분석 형상을 모니터링하도록 하는 명령;
상기 분석 형상에 따라 자원 상황 정보를 파악하도록 하는 명령; 및
상기 자원 상황 정보에 따라 상기 분석 소프트웨어에 할당할 클라우드 자원을 결정하도록 하는 명령을 포함하는, 가상화 자원 할당 장치.An apparatus for dynamically allocating resources to analysis software for analyzing big data using cloud virtualization resources,
A processor; And
And a memory for storing at least one instruction executed via the processor,
Wherein the at least one instruction comprises:
Instructions to execute analysis software that performs analysis based on the Big Data;
Instructions for monitoring an analysis feature of the analysis software;
An instruction to grasp resource status information according to the analysis shape; And
And to determine a cloud resource to be allocated to the analysis software according to the resource status information.
상기 적어도 하나의 명령은,
클라우드 내에서 분석 대상이 되는 자료의 위치 및 분석 로그에 대한 정보 중 적어도 하나를 수집하도록 하는 명령을 더 포함하는, 가상화 자원 할당 장치.The method of claim 9,
Wherein the at least one instruction comprises:
Further comprising instructions for collecting at least one of information about the location of the data to be analyzed and the analysis log in the cloud.
상기 자원 상황 정보는 API(Application Programming Interface) 형태로 제공되는, 가상화 자원 할당 장치.The method of claim 9,
Wherein the resource status information is provided in the form of an API (Application Programming Interface).
상기 클라우드 자원은 가상화 자원이며 상기 클라우드 내에 존재하는 적어도 하나의 CPU(Central Processing Unit), 적어도 하나의 GPU(Graphics Processing Unit), 및 적어도 하나의 메모리 중 하나 이상을 포함하는, 가상화 자원 할당 장치.The method of claim 9,
Wherein the cloud resource is a virtualization resource and comprises at least one of a central processing unit (CPU), at least one graphics processing unit (GPU), and at least one memory residing within the cloud.
상기 자원 상황 정보는,
분석할 자료의 양 및 반복 수행되는 분석의 횟수 중 적어도 하나를 포함하는, 가상화 자원 할당 장치.The method of claim 9,
Wherein the resource status information comprises:
The amount of data to be analyzed, and the number of iterations to be performed repeatedly.
상기 적어도 하나의 명령은,
결정된 클라우드 자원에 따라 상기 분석 소프트웨어에 대해 해당 자원을 할당하도록 하는 명령을 더 포함하는, 가상화 자원 할당 장치.The method of claim 9,
Wherein the at least one instruction comprises:
And to cause the analysis software to allocate the resource according to the determined cloud resource.
상기 가상화 자원 할당 장치는,
클라우드 시스템의 PaaS(Platform as a Service) 및 IaaS(Infrastructure as a Service) 중 적어도 하나를 기반으로 동작하는, 가상화 자원 할당 장치.The method of claim 9,
Wherein the virtualization resource allocation device comprises:
And operating based on at least one of Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) of the cloud system.
상기 PaaS 계층으로부터 결정된 클라우드 자원에 따라 상기 분석 소프트웨어에 대해 해당 자원을 할당하는 IaaS(Infrastructure as a Service) 계층을 포함하는 클라우드 시스템.The analyzing software for analyzing based on the big data is executed to monitor the analysis shape of the analysis software, grasp the resource situation information according to the analysis shape, and calculate the cloud resource to be allocated to the analysis software according to the resource situation information A Platform as a Service (PaaS) layer for determining; And
And an IaaS (Infrastructure as a Service) layer for allocating resources to the analysis software according to the cloud resources determined from the PaaS layer.
상기 분석 소프트웨어에 대한 분석을 실행할 것을 요청하는 SaaS(Software as a Service) 계층을 더 포함하는, 클라우드 시스템.18. The method of claim 16,
Further comprising a Software as a Service (SaaS) layer requesting execution of an analysis on the analysis software.
상기 클라우드 자원은 가상화 자원이며, 상기 클라우드 내에 존재하는 적어도 하나의 CPU(Central Processing Unit), 적어도 하나의 GPU(Graphics Processing Unit), 및 적어도 하나의 메모리 중 하나 이상을 포함하는, 클라우드 시스템.
18. The method of claim 16,
Wherein the cloud resource is a virtualization resource and comprises at least one of a central processing unit (CPU), at least one graphics processing unit (GPU), and at least one memory residing within the cloud.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170183731A KR20190081306A (en) | 2017-12-29 | 2017-12-29 | Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020170183731A KR20190081306A (en) | 2017-12-29 | 2017-12-29 | Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20190081306A true KR20190081306A (en) | 2019-07-09 |
Family
ID=67261682
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020170183731A Withdrawn KR20190081306A (en) | 2017-12-29 | 2017-12-29 | Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20190081306A (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102154446B1 (en) * | 2019-11-14 | 2020-09-09 | 한국전자기술연구원 | Method for fast scheduling for resource balanced allocation on distributed and collaborative container platform environment |
| KR20210060829A (en) * | 2019-11-19 | 2021-05-27 | 주식회사 피씨엔 | Big data platform managing method and device |
| KR20210060830A (en) * | 2019-11-19 | 2021-05-27 | 주식회사 피씨엔 | Big data intelligent collecting method and device |
| KR20220070848A (en) * | 2020-11-23 | 2022-05-31 | 주식회사 피씨엔 | Big data cross model data integrated processing method and apparatus |
| KR20230039988A (en) * | 2021-09-15 | 2023-03-22 | 네이버클라우드 주식회사 | Method, computer system, and computer program to provide data analysis environment with controlled tempering |
| KR20230053809A (en) * | 2021-10-15 | 2023-04-24 | (주)디지탈쉽 | Big data preprocessing method and apparatus using distributed nodes |
| KR20230068918A (en) | 2021-11-11 | 2023-05-18 | 한국전력공사 | Gpu resource management optimization apparatus and method on cloud-based deep learning environment |
| KR102569885B1 (en) * | 2022-12-30 | 2023-08-23 | 오케스트로 주식회사 | A cloud server operating system implementing individual virtualization of resources and a method for operating cloud server |
| KR102613662B1 (en) * | 2023-03-31 | 2023-12-14 | 오케스트로 주식회사 | A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system |
-
2017
- 2017-12-29 KR KR1020170183731A patent/KR20190081306A/en not_active Withdrawn
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102154446B1 (en) * | 2019-11-14 | 2020-09-09 | 한국전자기술연구원 | Method for fast scheduling for resource balanced allocation on distributed and collaborative container platform environment |
| KR20210060829A (en) * | 2019-11-19 | 2021-05-27 | 주식회사 피씨엔 | Big data platform managing method and device |
| KR20210060830A (en) * | 2019-11-19 | 2021-05-27 | 주식회사 피씨엔 | Big data intelligent collecting method and device |
| KR20220070848A (en) * | 2020-11-23 | 2022-05-31 | 주식회사 피씨엔 | Big data cross model data integrated processing method and apparatus |
| KR20230039988A (en) * | 2021-09-15 | 2023-03-22 | 네이버클라우드 주식회사 | Method, computer system, and computer program to provide data analysis environment with controlled tempering |
| KR20230053809A (en) * | 2021-10-15 | 2023-04-24 | (주)디지탈쉽 | Big data preprocessing method and apparatus using distributed nodes |
| KR20230068918A (en) | 2021-11-11 | 2023-05-18 | 한국전력공사 | Gpu resource management optimization apparatus and method on cloud-based deep learning environment |
| KR102569885B1 (en) * | 2022-12-30 | 2023-08-23 | 오케스트로 주식회사 | A cloud server operating system implementing individual virtualization of resources and a method for operating cloud server |
| KR102613662B1 (en) * | 2023-03-31 | 2023-12-14 | 오케스트로 주식회사 | A method for providing virtualization service based on greedy/optimal algorithm and a virtualization service provision system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250307111A1 (en) | Cloud infrastructure optimization | |
| KR20190081306A (en) | Method for allocating resource for bigdata analyzing software and apparatus for allocating virtual resource using the method | |
| CN113243005B (en) | Performance-based hardware emulation in an on-demand network code execution system | |
| JP6764989B2 (en) | Requirement processing technology | |
| JP7629257B2 (en) | Elastic execution of machine learning workloads with application-based profiling | |
| Nguyen et al. | {AGILE}: Elastic distributed resource scaling for {Infrastructure-as-a-Service} | |
| JP5911286B2 (en) | Device, method, and program for runtime assignment of functions to hardware accelerators | |
| KR101882383B1 (en) | A container resource allocation device and method in virtual desktop infrastructure | |
| US12143312B2 (en) | On-demand resource capacity in a serverless function-as-a-service infrastructure | |
| JPWO2011071010A1 (en) | Load characteristic estimation system, load characteristic estimation method and program | |
| JP2023007172A (en) | Software migration support system and software migration support method | |
| Kroß et al. | Model-based performance evaluation of batch and stream applications for big data | |
| US10255057B2 (en) | Locale object management | |
| CN109739649B (en) | Resource management method, device, device and computer-readable storage medium | |
| Li et al. | Scalability and performance analysis of BDPS in clouds | |
| Asir Antony Gnana Singh et al. | Analysis of cloud environment using cloudsim | |
| Cano et al. | ADARES: adaptive resource management for virtual machines | |
| Genkin et al. | Machine-learning based spark and hadoop workload classification using container performance patterns | |
| US20220050761A1 (en) | Low overhead performance data collection | |
| KR20210058471A (en) | Cloud system and control method thereof | |
| US11714739B2 (en) | Job performance breakdown | |
| Sadeghian | Improving the Efficiency of Serverless Applications through Reducing Allocation Footprint | |
| US12386664B2 (en) | Determining optimal data access for deep learning applications on a cluster | |
| Tamanampudi et al. | Performance Optimization of a Service in Virtual and Non-Virtual Environment | |
| Liu | Design and implementation of performance monitor and evaluation middleware in virtual clouds |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20171229 |
|
| PG1501 | Laying open of application | ||
| PC1203 | Withdrawal of no request for examination |