KR102481870B1 - Method and apparatus for building a computing environment for artificial intelligence learning - Google Patents
Method and apparatus for building a computing environment for artificial intelligence learning Download PDFInfo
- Publication number
- KR102481870B1 KR102481870B1 KR1020200139912A KR20200139912A KR102481870B1 KR 102481870 B1 KR102481870 B1 KR 102481870B1 KR 1020200139912 A KR1020200139912 A KR 1020200139912A KR 20200139912 A KR20200139912 A KR 20200139912A KR 102481870 B1 KR102481870 B1 KR 102481870B1
- Authority
- KR
- South Korea
- Prior art keywords
- container
- computing
- computing device
- computing environment
- node
- 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/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
-
- 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/468—Specific access rights for resources, e.g. using capability register
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 인공 지능 학습을 위한 컴퓨팅 환경을 구축하는 방법 및 그 장치에 관한 것이다. 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 방법은, 컴퓨팅 장치에 의하여 수행되는 방법에 있어서, 상기 컴퓨팅 장치를 포함하는 복수의 컴퓨팅 장치의 리소스 정보를 이용하여, 가용 리소스가 존재하는 컴퓨팅 장치에 컨테이너를 생성하는 단계, 인공 지능 모델의 학습이 수행되는 작업자 노드를 상기 컨테이너에 생성하는 단계 및 상기 작업자 노드에서 수행되는 상기 인공 지능 모델의 학습 결과를 이용하여, 상기 인공 지능 모델의 하이퍼파라미터 조정을 수행하는 관리자 노드를 상기 컨테이너에 더 생성하는 단계를 포함할 수 있다.The present invention relates to a method and apparatus for constructing a computing environment for artificial intelligence learning. A method for constructing a computing environment according to an embodiment of the present invention is a method performed by a computing device, which uses resource information of a plurality of computing devices including the computing device to create a container in a computing device having available resources. Creating a worker node in the container where learning of the artificial intelligence model is performed, and adjusting hyperparameters of the artificial intelligence model using the learning result of the artificial intelligence model performed in the worker node. It may include further creating a manager node to the container.
Description
본 발명은 인공 지능 학습을 위한 컴퓨팅 환경을 구축하는 방법 및 그 장치에 관한 것이다. 보다 구체적으로는, 분산 컴퓨팅을 기반으로 하는 컨테이너 오케스트레이션 시스템에 의해 컴퓨팅 환경을 구축하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for constructing a computing environment for artificial intelligence learning. More specifically, it relates to a method and apparatus for constructing a computing environment by a container orchestration system based on distributed computing.
종래의 인공 지능 학습을 위한 컴퓨팅 환경은, 가상 머신(Virtual Machine)으로 시스템을 구성하여 컴퓨팅 리소스의 효율적 분배가 어려웠다. 또한, 중앙 집중적인 컴퓨팅 시스템 구성으로 인해, 사용자의 수 증가에 따라 네트워크 사용이 제한적이었다.In a conventional computing environment for artificial intelligence learning, it is difficult to efficiently distribute computing resources by configuring a system with a virtual machine. In addition, due to the configuration of the centralized computing system, the use of the network was limited according to the increase in the number of users.
본 발명이 해결하고자 하는 기술적 과제는, 컨테이너의 생성, 리소스의 할당 및 모니터링을 효율적으로 관리할 수 있는 통합 플랫폼(platform)을 제공하는 방법 및 그 장치를 제공하기 위한 것이다.A technical problem to be solved by the present invention is to provide a method and an apparatus for providing an integrated platform capable of efficiently managing container creation, resource allocation, and monitoring.
본 발명이 해결하고자 하는 다른 기술적 과제는, 컨테이너 기술을 이용한 경량화를 통해 인공 지능 학습을 수행하는 컴퓨팅 환경을 구축하는 방법 및 그 장치를 제공하기 위한 것이다.Another technical problem to be solved by the present invention is to provide a method and apparatus for constructing a computing environment for performing artificial intelligence learning through lightening using container technology.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 컨테이너를 생성하여 구축한 연구 환경을 이용하여, 대규모 인공 지능 모델의 학습을 수행하는 방법 및 그 장치를 제공하기 위한 것이다.Another technical problem to be solved by the present invention is to provide a method and apparatus for learning a large-scale artificial intelligence model using a research environment constructed by creating a container.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 컨테이너를 생성하여 구축한 연구 환경을 다른 사용자와 공유하는 방법 및 그 장치를 제공하기 위한 것이다.Another technical problem to be solved by the present invention is to provide a method and apparatus for sharing a research environment constructed by creating a container with other users.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 방법은, 컴퓨팅 장치에 의하여 수행되는 방법에 있어서, 상기 컴퓨팅 장치를 포함하는 복수의 컴퓨팅 장치의 리소스 정보를 이용하여, 가용 리소스가 존재하는 컴퓨팅 장치에 컨테이너를 생성하는 단계, 인공 지능 모델의 학습이 수행되는 작업자 노드를 상기 컨테이너에 생성하는 단계 및 상기 작업자 노드에서 수행되는 상기 인공 지능 모델의 학습 결과를 이용하여, 상기 인공 지능 모델의 하이퍼파라미터(hyperparameter) 조정을 수행하는 관리자 노드를 상기 컨테이너에 더 생성하는 단계를 포함할 수 있다.A method for constructing a computing environment according to an embodiment of the present invention for solving the above technical problem is a method performed by a computing device, using resource information of a plurality of computing devices including the computing device to determine available resources Creating a container on a computing device where there exists, creating a worker node in the container where learning of an artificial intelligence model is performed, and using the learning result of the artificial intelligence model performed in the worker node, the artificial intelligence The method may further include creating a manager node in the container that performs model hyperparameter adjustment.
일 실시예에서, 상기 리소스 정보는, 상기 복수의 컴퓨팅 장치의 CPU, GPU 및 스토리지 정보를 포함할 수 있다.In one embodiment, the resource information may include CPU, GPU, and storage information of the plurality of computing devices.
일 실시예에서, 상기 컨테이너는, 제1 컨테이너 및 제2 컨테이너를 포함하고, 상기 제1 컨테이너와 상기 제2 컨테이너는 실행되는 운영체제를 공유하지만, 상기 제1 컨테이너에서 실행되는 어플리케이션과 상기 제2 컨테이너에서 실행되는 어플리케이션은 서로 격리된 것일 수 있다.In one embodiment, the container includes a first container and a second container, and the first container and the second container share an operating system, but an application running in the first container and the second container Applications running in may be isolated from each other.
일 실시예에서, 상기 리소스 정보를 이용하여, 상기 컨테이너를 생성하는 단계는, 복수의 컴퓨팅 장치 각각의 가용 리소스 정보를 표시하는 단계를 포함할 수 있다.In an embodiment, the generating of the container using the resource information may include displaying available resource information of each of a plurality of computing devices.
일 실시예에서, 상기 관리자 노드를 생성하는 단계는, 상기 가용 리소스가 최대인 컴퓨팅 장치에 상기 관리자 노드를 생성하는 단계를 포함할 수 있다.In one embodiment, the step of creating the manager node may include creating the manager node in a computing device having the maximum number of available resources.
일 실시예에서, 상기 관리자 노드는, 상기 작업자 노드에 조정된 하이퍼파라미터를 전송할 수 있다.In one embodiment, the manager node may transmit the adjusted hyperparameters to the worker node.
일 실시예에서, 생성된 상기 컨테이너로부터 구축된 컴퓨팅 환경에 관한 정보를 파일로 저장하는 단계를 더 포함할 수 있다. 여기서, 상기 파일을 상기 복수의 컴퓨팅 장치에 포함되지 않은 외부 컴퓨팅 장치로 전송하는 단계를 더 포함할 수 있다.In an embodiment, the method may further include storing information about a computing environment built from the generated container as a file. Here, the method may further include transmitting the file to an external computing device not included in the plurality of computing devices.
일 실시예에서, 상기 작업자 노드에서 수행되는 상기 인공 지능 모델의 학습 결과를 상기 관리자 노드에 전송하는 단계 및 상기 관리자 노드에서 조정된 하이퍼파라미터를 상기 작업자 노드에 전송하는 단계를 더 포함할 수 있다. 여기서, 상기 관리자 노드에 전송하는 단계는, 상기 관리자 노드의 스토리지 기종과 상기 작업자 노드의 스토리지 기종이 다른 경우에도, 상기 학습 결과를 상기 관리자 노드에 전송하는 단계를 포함하고, 상기 작업자 노드에 전송하는 단계는, 상기 관리자 노드의 스토리지 기종과 상기 작업자 노드의 스토리지 기종이 다른 경우에도, 상기 조정된 하이퍼파라미터를 상기 작업자 노드에 전송하는 단계를 포함할 수 있다. 또한, 상기 관리자 노드에 전송하는 단계는, ScienceDMZ 네트워크를 이용하여, 상기 학습 결과를 상기 관리자 노드에 전송하는 단계를 포함하고, 상기 작업자 노드에 전송하는 단계는, 상기 ScienceDMZ 네트워크를 이용하여, 상기 조정된 하이퍼파라미터를 상기 작업자 노드에 전송하는 단계를 포함할 수 있다.In one embodiment, the method may further include transmitting a learning result of the artificial intelligence model performed on the worker node to the manager node and transmitting hyperparameters adjusted by the manager node to the worker node. Here, the transmitting to the manager node includes transmitting the learning result to the manager node even when the storage type of the manager node and the storage type of the worker node are different, and transmitting to the worker node The step may include transmitting the adjusted hyperparameter to the worker node even when the storage type of the manager node and the storage type of the worker node are different. In addition, the transmitting to the manager node includes transmitting the learning result to the manager node using the ScienceDMZ network, and the transmitting to the worker node includes the coordination using the ScienceDMZ network. and transmitting the hyperparameters to the worker node.
일 실시예에서 컴퓨팅 환경 구축 장치는, 복수의 컴퓨팅 장치를 하나의 클러스터로 구성하는 분산 시스템 관리 모듈, 상기 클러스터로 구성된 복수의 컴퓨팅 장치 각각의 리소스를 관리하는 리소스 관리 모듈, 상기 리소스 관리 모듈로부터 전송된 리소스 정보를 기초로, 가용 리소스가 존재하는 컴퓨팅 장치에 컨테이너를 생성하는 컨테이너 관리 모듈 및 상기 컨테이너에 할당된 리소스 정보를 포함하는 컴퓨팅 환경 정보를 파일로 저장하는 파일 관리 모듈을 포함할 수 있다.In an embodiment, the computing environment establishment apparatus includes a distributed system management module configuring a plurality of computing devices as one cluster, a resource management module managing resources of each of the plurality of computing devices configured in the cluster, and transmission from the resource management module. It may include a container management module that creates a container on a computing device having available resources based on the obtained resource information, and a file management module that stores computing environment information including resource information allocated to the container as a file.
일 실시예에서, 상기 분산 시스템 관리 모듈은, 상기 클러스터에 포함된 제1 컴퓨팅 장치와 제2 컴퓨팅 장치 사이의 정보 전송을 관리하고, 상기 제1 컴퓨팅 장치의 스토리지 기종과 상기 제2 컴퓨팅 장치의 스토리지 기종이 상이한 경우라도, 상기 제1 컴퓨팅 장치와 상기 제2 컴퓨팅 장치 사이의 정보 전송을 가능하게 하는 모듈일 수 있다.In one embodiment, the distributed system management module manages information transmission between the first computing device and the second computing device included in the cluster, and the type of storage of the first computing device and the storage of the second computing device. It may be a module enabling information transmission between the first computing device and the second computing device even when the types are different.
일 실시예에서, 상기 분산 시스템 관리 모듈은, ScienceDMZ 네트워크를 이용하여 구성된 상기 클러스터에 포함된 제1 컴퓨팅 장치와 제2 컴퓨팅 장치 사이의 정보 전송을 관리하는 모듈일 수 있다.In one embodiment, the distributed system management module may be a module for managing information transmission between a first computing device and a second computing device included in the cluster configured using the ScienceDMZ network.
일 실시예에서, 상기 파일 관리 모듈은, 저장된 상기 파일을 상기 복수의 컴퓨팅 장치에서 열람 가능하게 하고, 권한이 주어진 상기 클러스터의 외부 컴퓨팅 장치에서도 상기 저장된 파일을 열람 가능하게 하는 모듈일 수 있다.In one embodiment, the file management module may be a module that allows the stored files to be viewed by the plurality of computing devices and also allows the stored files to be viewed by an external computing device of the cluster to which authority is given.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 컴퓨팅 환경 구축 방법의 순서도이다.
도 3은 본 발명의 또 다른 실시예에 따른 구축된 컴퓨팅 환경을 활용한 인공 지능 학습 방법의 순서도이다.
도 4는 본 발명의 또 다른 실시예에 따른 구축된 컴퓨팅 환경을 다른 사용자와 공유하는 방법의 순서도이다.
도 5는 도 2를 참조하여 설명된 컨테이너를 보다 구체적으로 설명하기 위한 도면이다.
도 6은 도 3을 참조하여 설명된 인공 지능 학습 방법을 보다 구체적으로 설명하기 위한 도면이다.
도 7은 도 4를 참조하여 설명된 컴퓨팅 환경을 공유하는 방법을 보다 구체적으로 설명하기 위한 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 컴퓨팅 환경 구축 장치를 설명하기 위한 도면이다.
도 9는 본 발명의 또 다른 실시예에 따른 컴퓨팅 환경 구축 장치를 구현할 수 있는 컴퓨팅 장치를 설명하기 위한 예시도이다.1 is a configuration diagram of a computing environment construction system according to an embodiment of the present invention.
2 is a flowchart of a method for constructing a computing environment according to another embodiment of the present invention.
3 is a flowchart of an artificial intelligence learning method using a built computing environment according to another embodiment of the present invention.
4 is a flowchart of a method for sharing a built computing environment with other users according to another embodiment of the present invention.
FIG. 5 is a diagram for describing the container described with reference to FIG. 2 in more detail.
6 is a diagram for explaining the artificial intelligence learning method described with reference to FIG. 3 in more detail.
FIG. 7 is a diagram for explaining a method of sharing the computing environment described with reference to FIG. 4 in more detail.
8 is a diagram for explaining an apparatus for constructing a computing environment according to another embodiment of the present invention.
9 is an exemplary diagram for explaining a computing device capable of implementing an apparatus for constructing a computing environment according to another embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the technical idea of the present invention is not limited to the following embodiments and can be implemented in various different forms, only the following embodiments complete the technical idea of the present invention, and in the technical field to which the present invention belongs It is provided to fully inform those skilled in the art of the scope of the present invention, and the technical spirit of the present invention is only defined by the scope of the claims.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to components of each drawing, it should be noted that the same components have the same numerals as much as possible even if they are displayed on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description will be omitted.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined. Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, order, or order of the corresponding component is not limited by the term. When an element is described as being “connected,” “coupled to,” or “connected” to another element, that element is directly connected or connectable to the other element, but there is another element between the elements. It will be understood that elements may be “connected”, “coupled” or “connected”.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" means that a stated component, step, operation, and/or element is the presence of one or more other components, steps, operations, and/or elements. or do not rule out additions.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 시스템의 구성도이다.1 is a configuration diagram of a computing environment construction system according to an embodiment of the present invention.
도 1에 개시된 컴퓨팅 환경 구축 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현될 수 있다.Each component of the computing environment construction system disclosed in FIG. 1 represents functionally differentiated functional elements, and any one or more components may be integrated and implemented in an actual physical environment.
도 1을 참조하면, 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 시스템은 컴퓨팅 환경 구축 장치(100), 사용자 장치(200a, 200b, 200c, 200d 이하, 설명의 편의를 위해 200)를 포함할 수 있다. 이하, 각각의 구성 요소에 대하여 구체적으로 설명하기로 한다.Referring to FIG. 1 , a computing environment construction system according to an embodiment of the present invention may include a computing
컴퓨팅 환경 구축 장치(100)는 복수의 컴퓨팅 장치를 하나의 클러스터로 구성할 수 있다. 보다 구체적으로, 컴퓨팅 환경 구축 장치(100)는 분산 컴퓨팅 기술을 이용해, 복수의 컴퓨팅 장치의 처리 능력을 이용하여 작업을 수행할 수 있다. 특히, 인공 지능 모델 학습과 같은 대규모 리소스가 요구되는 작업이 수행될 수 있다. 여기서, 본 실시예에 따른 컴퓨팅 환경 구축 장치(100)에 공지된 모든 분산 컴퓨팅 기술이 적용될 수 있다.The computing
구체적인 예를 들어, 컴퓨팅 환경 구축 장치(100)는 사용자 장치1(200a), 사용자 장치2(200b), 사용자 장치3(200c) 및 사용자 장치4(200d)가 포함된 클러스터를 구성할 수 있다.For example, the computing
또한, 컴퓨팅 환경 구축 장치(100)는 클러스터에 포함된 복수의 컴퓨팅 장치의 리소스 정보를 이용해, 컨테이너를 생성할 수 있다. 여기서, 리소스 정보는 복수의 컴퓨팅 장치의 CPU, GPU, 스토리지에 관한 정보를 포함할 수 있다.Also, the computing
추후 설명될 몇몇 실시예들에서, 컨테이너에 생성된 노드에 의해, 인공 지능 학습이 수행될 수 있다. 이와 관련된 구체적인 설명은 추후 명세서를 통해 구체화될 것이다.In some embodiments to be described later, artificial intelligence learning may be performed by a node created in a container. A detailed description related to this will be embodied later in the specification.
또한, 컴퓨팅 환경 구축 장치(100)는 클러스터에 포함된 복수의 컴퓨팅 장치 각각의 가용 리소스 정보를 표시할 수 있다. 컴퓨팅 환경 구축 장치(100)는 상기 가용 리소스 정보를 사용자 장치(200)에 전송할 수 있다.Also, the computing
또한, 컴퓨팅 환경 구축 장치(100)는 컨테이너 생성에 의해 구축된 컴퓨팅 환경에 관한 정보를 파일로 저장할 수 있다. 여기서, 파일은 이미지 형태의 파일일 수 있다.In addition, the computing
또한, 컴퓨팅 환경 구축 장치(100)는 컨테이너 생성에 의해 구축된 컴퓨팅 환경에 관한 정보를 파일로 저장하고, 저장된 파일을 다른 사용자와 공유할 수 있다.Also, the computing
이와 같은, 본 발명의 몇몇 실시예들에 따른, 컴퓨팅 환경 구축 장치(100)에 대해서는 추후 도 2 내지 도 9를 참조하여 구체적으로 설명하기로 한다.The computing
다음으로, 사용자 장치(200)는 컴퓨팅 환경 구축 장치(100)가 구성한 클러스터에 포함될 수 있다. 분산 컴퓨팅 기술이 적용되어 사용자 장치(200)는 대규모 리소스가 요구되는 작업을 부분적으로 수행할 수 있다.Next, the user device 200 may be included in the cluster configured by the computing
사용자 장치(200)는 컴퓨팅 환경 구축 장치(100)가 제공하는 플랫폼 UI를 표시할 수 있다. 여기서, 사용자 장치(200)는 컴퓨팅 환경 구축 장치(100)가 제공하는 플랫폼 UI를 통해 클러스터에 포함된 복수의 컴퓨팅 장치의 리소스 정보를 표시할 수 있다. 또한, 사용자 장치(200)는 컴퓨팅 환경 구축 장치(100)가 제공하는 플랫폼 UI를 통해 컴퓨팅 환경 구축 장치(100)가 생성한 컨테이너 정보를 표시할 수 있다. The user device 200 may display a platform UI provided by the computing
사용자 장치(200)는 리소스 정보 또는 컨테이너 정보를 출력하기 위하여 웹 브라우저(Web browser) 또는 전용 애플리케이션이 설치되어 있을 수도 있다.The user device 200 may have a web browser or dedicated application installed to output resource information or container information.
본 발명의 몇몇 실시예들에서 참조될 수 있는 사용자 장치(200)는 네트워크를 통하여 컴퓨팅 환경 구축 장치(100)로부터 수신된 복수의 컴퓨팅 장치의 리소스 정보 또는 컨테이너 정보를 출력할 수 있는 장치라면, 어떠한 장치라도 허용될 수 있다. 예를 들어, 본 발명의 몇몇 실시예들에서 참조될 수 있는 사용자 장치(200)는 데스크탑(Desktop), 워크스테이션(Workstation), 서버(Server), 랩탑(Laptop), 태블릿(Tablet), 스마트폰(Smart Phone) 또는 패블릿(Phablet) 중 어느 하나가 될 수 있으나, 이에 한정되지 않고, 휴대용 멀티미디어 플레이어(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-Book Reader) 등과 같은 형태의 장치가 될 수도 있다.If the user device 200 that can be referred to in some embodiments of the present invention is a device capable of outputting resource information or container information of a plurality of computing devices received from the computing
다음으로, 컴퓨팅 환경 구축 장치(100) 및 사용자 장치(200)를 연결하는 네트워크 망은, scienceDMZ 네트워크로 구성될 수 있다. ScienceDMZ 네트워크가 구성됨으로써, 컨테이너 사이에서 대용량 데이터가 고속으로 전송될 수 있다. 여기서, scienceDMZ 네트워크와 관련된 공지된 모든 기술이 본 발명에 적용될 수 있다. 다만, 본 발명이 scienceDMZ 네트워크에 한정되는 것은 아니다.Next, a network connecting the computing
도 1에 도시된 컴퓨팅 환경 구축 시스템은 컴퓨팅 환경 구축 장치(100)와 각각의 사용자 장치(200)만을 연결하는 네트워크 망으로 도시되어 있으나, 본 발명이 도 1에 한정되는 것은 아니고, 사용자 장치(200) 사이에도 네트워크 망이 연결되어 시스템이 구성될 수 있다.The computing environment construction system shown in FIG. 1 is shown as a network connecting only the computing
이하 도 2를 참조하여 본 발명의 다른 실시예에 따른 컴퓨팅 환경 구축 방법을 설명하기로 한다. 도 2는 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 방법의 순서도이다.Hereinafter, a method for constructing a computing environment according to another embodiment of the present invention will be described with reference to FIG. 2 . 2 is a flowchart of a method for constructing a computing environment according to an embodiment of the present invention.
본 실시예에 따른 컴퓨팅 환경 구축 방법은 컴퓨팅 장치에 의하여 수행될 수 있다. 예를 들어, 상기 컴퓨팅 장치는 도 1을 참조하여 설명한 컴퓨팅 환경 구축 장치(100)일 수 있다. 또한, 본 실시예에 따른 방법은 제1 컴퓨팅 장치와 제2 컴퓨팅 장치에 의하여 나뉘어 수행될 수 있다. 이하, 본 실시예에 따른 방법의 각 동작을 수행함에 있어서, 그 주체의 기재가 생략되면, 그 주체는 상기 컴퓨팅 장치인 것으로 해석될 수 있을 것이다.The method for constructing a computing environment according to the present embodiment may be performed by a computing device. For example, the computing device may be the computing
도 2를 참조하면, 단계 S110에서 복수의 컴퓨팅 장치가 하나의 클러스터로 구성된다. 여기서, 사용자 장치가 포함되어 클러스터가 구성될 수 있다. 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 방법은 복수의 컴퓨팅 장치를 클러스터로 구성함으로써, 분산 컴퓨팅 기술을 이용해, 복수의 컴퓨팅 장치의 처리 능력을 이용하여 작업을 수행할 수 있다.Referring to FIG. 2 , in step S110, a plurality of computing devices are configured as one cluster. Here, a cluster may be configured by including user devices. A method for constructing a computing environment according to an embodiment of the present invention configures a plurality of computing devices as a cluster, so that a task can be performed using the processing capabilities of the plurality of computing devices using distributed computing technology.
다음으로, 단계 S120에서 클러스터에 포함된 복수의 컴퓨팅 장치의 리소스 정보를 이용하여, 컨테이너가 생성될 수 있다. 여기서, 리소스 정보는 클러스터에 포함된 복수의 컴퓨팅 장치의 CPU, GPU 및 스토리지 정보를 포함할 수 있다.Next, in step S120, a container may be created using resource information of a plurality of computing devices included in the cluster. Here, the resource information may include CPU, GPU, and storage information of a plurality of computing devices included in the cluster.
몇몇 실시예들에서, 복수의 컴퓨팅 장치의 가용 리소스가 존재하는 컴퓨팅 장치에 컨테이너가 생성될 수 있다. 여기서, 컨테이너는 클러스터에 포함되는 복수의 컴퓨팅 장치 중 하나 이상의 컴퓨팅 장치에 생성될 수 있다. 이때, 분산 컴퓨팅 기술이 적용될 수 있다. 본 실시예에 따르면, 리소스 할당이 가능한 컴퓨팅 장치에 컨테이너가 생성됨으로써, 컨테이너에서 대규모 리소스가 요구되는 작업이 수행될 수 있다.In some embodiments, a container may be created on a computing device where there are available resources of multiple computing devices. Here, the container may be created in one or more computing devices among a plurality of computing devices included in the cluster. In this case, distributed computing technology may be applied. According to the present embodiment, as a container is created in a computing device capable of allocating resources, a task requiring a large amount of resources can be performed in the container.
몇몇 실시예들에서, 클러스터에 생성되는 컨테이너는 복수일 수도 있다. 이때, 클러스터에 제1 컨테이너 및 제2 컨테이너가 생성되고, 제1 컨테이너와 제2 컨테이너는 실행되는 운영체제를 공유하지만, 제1 컨테이너에서 실행되는 어플리케이션 프로세스와 제2 컨테이너에서 실행되는 어플리케이션 프로세스는 서로 격리된 것일 수 있다. In some embodiments, there may be multiple containers created in a cluster. At this time, the first container and the second container are created in the cluster, and the first container and the second container share an operating system, but the application process running in the first container and the application process running in the second container are isolated from each other. may have been
본 실시예에서, 모든 공지된 컨테이너 기술이 적용될 수 있다. 가상 머신(VM)과 비교할 때 컨테이너는 다른 컨테이너와 운영체제(OS, Operating System)를 공유함으로써, 보다 경량화 된 시스템이 구축될 수 있다.In this embodiment, all known container technologies can be applied. Compared to a virtual machine (VM), a container can build a more lightweight system by sharing an operating system (OS) with other containers.
몇몇 실시예들에서, 클러스터에 포함된 복수의 컴퓨팅 장치 각각의 리소스 정보가 표시될 수도 있다. 여기서, 리소스 정보는 사용자 장치에 전송되어 표시될 수도 있다. 본 실시예에 따르면, 사용자는 클러스터에 포함된 복수의 컴퓨팅 장치의 리소스 정보를 확인할 수 있다. In some embodiments, resource information of each of a plurality of computing devices included in the cluster may be displayed. Here, the resource information may be transmitted to and displayed in the user device. According to this embodiment, a user can check resource information of a plurality of computing devices included in a cluster.
여기서, 사용자 장치에 표시되는 리소스 정보는 복수의 컴퓨팅 장치의 CPU, GPU 및 스토리지 정보를 포함할 수 있다. 구체적인 예를 들어, 클러스터에 포함된 컴퓨팅 장치의 CPU 시용량이 표시되고, 상기 컴퓨팅 장치의 CPU 사용량에 따른 가용 CPU 정보를 표시할 수 있다. 다른 예를 들어, 클러스터에 포함된 컴퓨팅 장치의 스토리지 사용량이 표시되고, 상기 컴퓨팅 장치의 스토리지 사용량에 따른 가용 스토리지 정보를 표시할 수도 있다. 다만, 본 예시들에 본 발명이 한정되는 것은 아니다.Here, the resource information displayed on the user device may include CPU, GPU, and storage information of a plurality of computing devices. For example, the amount of CPU usage of a computing device included in the cluster may be displayed, and available CPU information according to the amount of CPU usage of the computing device may be displayed. For another example, storage usage of computing devices included in the cluster may be displayed, and available storage information according to the storage usage of the computing devices may be displayed. However, the present invention is not limited to these examples.
몇몇 실시예들에서, 클러스터에 포함된 복수의 컴퓨팅 장치 각각의 가용 리소스 정보가 표시될 수도 있다. 본 실시예에 따르면, 사용자는 클러스터에 포함된 복수의 컴퓨팅 장치의 가용 리소스 정보만을 압축적으로 확인할 수도 있다. 구체적인 예를 들어, 클러스터에 포함된 컴퓨팅 장치의 CPU 사용량에 대한 표시 없이, 상기 컴퓨팅 장치의 CPU 사용량에 따른 가용 CPU 정보만을 표시할 수 있다. 다른 예를 들어, 클러스터에 포함된 컴퓨팅 장치의 GPU 사용량에 대한 표시 없이, 상기 컴퓨팅 장치의 GPU 사용량에 따른 가용 GPU 정보만을 표시할 수도 있다. 다만, 본 예시들에 본 발명이 한정되는 것은 아니다.In some embodiments, available resource information of each of a plurality of computing devices included in the cluster may be displayed. According to this embodiment, a user may compressively check only available resource information of a plurality of computing devices included in a cluster. For example, only available CPU information according to the CPU usage of the computing device may be displayed without displaying the CPU usage of the computing device included in the cluster. For another example, only available GPU information according to the GPU usage of the computing device may be displayed without displaying the GPU usage of the computing device included in the cluster. However, the present invention is not limited to these examples.
다음으로 단계 S130에서, 인공 지능 모델의 학습이 수행되는 작업자 노드가 컨테이너에 생성된다.Next, in step S130, a worker node on which learning of an artificial intelligence model is performed is created in a container.
몇몇 실시예들에서, 복수의 작업자 노드가 컨테이너에 생성될 수 있다. 인공 지능 모델의 학습이 서로 다른 작업자 노드에서 병렬적으로 수행됨으로써, 인공 지능 모델의 학습 효율이 향상될 수 있다. 이때 생성된 작업자 노드에서 학습 데이터가 인공 지능 모델에 입력되어 출력된 데이터, 즉, 학습 결과가 후술될 관리자 노드에 전송될 수 있다.In some embodiments, multiple worker nodes may be created in a container. As the learning of the artificial intelligence model is performed in parallel on different worker nodes, the learning efficiency of the artificial intelligence model can be improved. At this time, learning data is input to the artificial intelligence model from the generated worker node, and the output data, that is, the learning result, may be transmitted to a manager node to be described later.
다음으로, 단계 S140에서, 작업자 노드에서 수행되는 인공 지능 모델의 학습 결과를 이용하여, 인공 지능 모델의 하이퍼파라미터 조정을 수행하는 관리자 노드가 컨테이너 더 생성될 수 있다.Next, in step S140, a manager node that performs hyperparameter adjustment of the artificial intelligence model using the learning result of the artificial intelligence model performed in the worker node may be further created as a container.
몇몇 실시예들에서, 하나의 컨테이너에 하나의 관리자 노드가 생성될 수 잇다. 본 실시예에 따르면, 하나의 인공 지능 학습 모듈마다 컨테이너를 분리하고, 컨테이너에 단일한 관리자 노드를 둠으로써, 인공 지능 모델의 학습 효율이 증대될 수 있다. 다만, 본 발명이 본 실시예에 한정되는 것은 아니다. In some embodiments, one manager node may be created for one container. According to this embodiment, by separating containers for each artificial intelligence learning module and placing a single manager node in the container, the learning efficiency of the artificial intelligence model can be increased. However, the present invention is not limited to this embodiment.
몇몇 실시예들에서, 관리자 노드는 복수의 컴퓨팅 장치를 포함하는 클러스터 내에서 가용 리소스가 최대인 컴퓨팅 장치에 생성될 수도 있다. 본 실시예에 따르면, 하이퍼파라미터를 조정 및 튜닝하는 관리자 노드가 리소스가 최대로 활용될 수 있는 컴퓨팅 장치에 생성될 수 있다. In some embodiments, a manager node may be created on a computing device with the largest available resource within a cluster that includes multiple computing devices. According to this embodiment, a manager node that adjusts and tunes hyperparameters can be created in a computing device whose resources can be maximally utilized.
몇몇 실시예들에서, 관리자 노드는 작업자 노드에 조정된 하이퍼파라미터를 전송할 수도 있다. 본 실시예에 따르면, 조정된 하이퍼파라미터가 작업자 노드에 전송됨으로써, 인공 지능 모델의 하이퍼파라미터가 조정될 수 있다. In some embodiments, the manager node may send the adjusted hyperparameter to the worker node. According to this embodiment, the hyperparameters of the artificial intelligence model may be adjusted by transmitting the adjusted hyperparameters to the worker node.
본 실시예에서 하이퍼파라미터 조정은, 공지된 모든 방법이 이용될 수 있다. 예를 들어, Learning Rate, 서포트 벡터 모델에서의 C, Sigma 값 및 KNN에서의 K값 등의 조정이 포함될 수 있다. 다만, 본 발명이 본 예시에 한정되는 것은 아니다.All known methods may be used for adjusting hyperparameters in this embodiment. For example, adjustment of the learning rate, the C and Sigma values in the support vector model, and the K value in KNN may be included. However, the present invention is not limited to this example.
도 2를 참조하여 설명된 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 방법에서, 분산 컴퓨팅을 기반으로 하는 컨테이너 오케스트레이션 시스템이 개시된다. 일 실시예에 따르면, 하나의 스위치에 모든 시스템들이 연결되어 있는 중앙집중식 컴퓨팅 기술이 아니므로, 복수의 사용자들이 접속하는 경우에도 네트워크 성능 저하의 문제가 발생하지 않는다. 또한, 일 실시예에 따르면, 분산된 환경에서 컴퓨팅을 수행할 수 있는 환경이 구축됨으로써, 인공 지능 모델의 학습을 고효율적으로 수행할 수 있다.In the method for constructing a computing environment according to an embodiment of the present invention described with reference to FIG. 2, a container orchestration system based on distributed computing is disclosed. According to an embodiment, since it is not a centralized computing technology in which all systems are connected to a single switch, a problem of network performance degradation does not occur even when a plurality of users access. In addition, according to an embodiment, an environment capable of performing computing in a distributed environment is established, so that artificial intelligence model learning can be performed with high efficiency.
이하 도 3 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 장치에 의해 구축된 컴퓨팅 환경을 활용하는 예를 구체적으로 설명하기로 한다. 도 3은 본 발명의 또 다른 실시예에 따른 구축된 컴퓨팅 환경을 활용한 인공 지능 학습 방법의 순서도이다.Hereinafter, with reference to FIGS. 3 and 4 , an example of utilizing a computing environment built by an apparatus for constructing a computing environment according to an embodiment of the present invention will be described in detail. 3 is a flowchart of an artificial intelligence learning method using a built computing environment according to another embodiment of the present invention.
도 3을 참조하면, 단계 S210에서 작업자 노드에서 수행되는 인공 지능 모델의 학습 결과가 관리자 노드에 전송된다. 다음으로, 단계 S220에서 관리자 노드에서 조정된 하이퍼파라미터가 작업자 노드에 전송된다.Referring to FIG. 3 , in step S210, the learning result of the artificial intelligence model performed on the worker node is transmitted to the manager node. Next, in step S220, the hyperparameters adjusted by the manager node are transmitted to the worker node.
도 3을 참조하여 설명된 실시예에 따르면, 컨테이너에 생성된 작업자 노드 및 관리자 노드에 의해 인공 지능 모델 학습이 수행된다. According to the embodiment described with reference to FIG. 3 , artificial intelligence model learning is performed by a worker node and a manager node created in a container.
보다 구체적으로 설명하면, 작업자 노드에서 인공 지능 모델에 학습 데이터가 입력된다. 작업자 노드에서 인공 지능 모델에 입력된 학습 데이터에 대응되는 데이터가 출력된다. 작업자 노드는 출력된 데이터인, 학습 결과를 관리자 노드에 전송한다. 관리자 노드는 복수의 작업자 노드들로부터 전송된 학습 결과를 수신한다. 관리자 노드는 수신된 복수의 학습 결과를 이용하여, 인공 지능 모델의 하이퍼파라미터를 조정한다. 관리자 노드는 조정된 하이퍼파라미터를 작업자 노드에 전송한다. 작업자 노드는 수신된 조정된 하이퍼파라미터를 인공 지능 모델에 적용한다.More specifically, training data is fed into an artificial intelligence model on worker nodes. Data corresponding to the training data input to the artificial intelligence model in the worker node is output. The worker node transmits the output data, the learning result, to the manager node. The manager node receives learning results transmitted from a plurality of worker nodes. The manager node uses the received plurality of learning results to adjust the hyperparameters of the artificial intelligence model. The manager node sends the tuned hyperparameters to the worker nodes. Worker nodes apply the received tuned hyperparameters to the artificial intelligence model.
몇몇 실시예들에서, 관리자 노드의 스토리지 기종과 작업자 노드의 스토리지 기종이 다른 경우에도, 노드 간의 정보 전송이 가능할 수 있다. 즉, 컨테이너 간의 정보 전송에 있어서, 이기종 스토리지 간에도 정보 전송이 가능할 수 있다. 본 실시예에서, 이기종 스토리지 간의 정보 공유 및 데이터 마이그레이션(Data Migration)와 관련된 공지된 모든 기술이 적용될 수 있다. 본 실시예에 따르면, 관리자 노드 및 작업자 노드가 클러스터에 포함된 서로 다른 기종의 스토리지를 갖는 컴퓨팅 장치에 개별적으로 존재하는 경우에도, 작업자 노드 및 관리자 노드 간의 정보 전송이 가능해질 수 있다.In some embodiments, even when a storage type of a manager node and a storage type of a worker node are different, information may be transmitted between nodes. That is, in information transmission between containers, information transmission may be possible between heterogeneous storages. In this embodiment, all known technologies related to information sharing and data migration between heterogeneous storages may be applied. According to this embodiment, even when a manager node and a worker node are individually located in a computing device having different types of storage included in a cluster, information transmission between the worker node and the manager node may be possible.
몇몇 실시예들에서, 관리자 노드와 작업자 노드를 연결하는 네트워크 망이 scienceDMZ 네트워크로 구성될 수 있다. 본 실시예에서, scienceDMZ와 관련된 모든 공지된 기술이 본 발명에 적용될 수 있다. 본 실시예에 따르면, scienceDMZ 네트워크에 의해 구성된 빅데이터 고속도로를 이용하여, 컨테이너 사이에서 대용량 데이터가 고속으로 전송될 수 있다.In some embodiments, a network network connecting manager nodes and worker nodes may be configured as a scienceDMZ network. In this embodiment, all known technologies related to scienceDMZ can be applied to the present invention. According to this embodiment, large-capacity data can be transmitted at high speed between containers using the big data highway constructed by the scienceDMZ network.
도 4는 본 발명의 또 다른 실시예에 따른 구축된 컴퓨팅 환경을 다른 사용자와 공유하는 방법의 순서도이다.4 is a flowchart of a method for sharing a built computing environment with other users according to another embodiment of the present invention.
도 4를 참조하면, 단계 S310에서 컨테이너로부터 구축된 컴퓨팅 환경에 관한 정보가 파일로 저장된다. 여기서, 파일은 이미지 형태의 파일일 수 있다. Referring to FIG. 4 , in step S310, information about a computing environment built from a container is stored as a file. Here, the file may be a file in the form of an image.
또한, 몇몇 실시예에서 파일은, 텐서플로우(tensorflow), 파이토치(pytorch), 주피터랩(jupyterlab), 주피터허브(jupyterhub), C, XLS 및 파이썬(python)에 의해 작성된 파일을 의미할 수 있다. 다만, 본 예시에 한정되는 것은 아니고, 컨테이너로 구축된 컴퓨팅 환경을 하나의 파일로 저장할 수 잇는 모든 방법이 본 발명에 포함될 수 있다. 여기서, 파일은 컨테이너에 할당한 리소스 및 저장하고 사용하고 있는 데이터에 관한 정보를 전부 포함할 수 있다.Also, in some embodiments, a file may mean a file created by tensorflow, pytorch, jupyterlab, jupyterhub, C, XLS, and python. . However, it is not limited to this example, and all methods capable of storing a computing environment built with containers as a single file may be included in the present invention. Here, the file may include all information about resources allocated to the container and data stored and used.
몇몇 실시예들에서, 구축된 컴퓨팅 환경에 관한 정보를 하나의 파일로 저장할 수 있다. 컴퓨팅 환경에 관한 정보를 하나의 파일로 저장함으로써, 사용자는 연구 또는 작업 환경을 쉽게 백업할 수 있다.In some embodiments, information about the built computing environment may be stored in a single file. By saving the information about the computing environment as a single file, the user can easily back up the research or work environment.
인공 지능 연구를 수행하는 사용자들은, 인공 지능 연구를 위한 컴퓨팅 환경을 구성하는데 굉장히 많은 시간이 소요된다. 본 실시예에 따르면, 구축된 컴퓨팅 환경을 그대로 저장하고, 이를 다시 복원함으로써, 컴퓨팅 환경의 연속성을 유지할 수 있다.Users who conduct artificial intelligence research spend a lot of time configuring a computing environment for artificial intelligence research. According to this embodiment, the continuity of the computing environment can be maintained by saving the constructed computing environment as it is and restoring it again.
다음으로 단계 S320에서 파일이 클러스터에 포함되지 않은 외부 컴퓨팅 장치로 전송된다.Next, in step S320, the file is transferred to an external computing device not included in the cluster.
본 실시예에 따르면, 클러스터에 편입되지 않은 컴퓨팅 장치에 구축된 컴퓨팅 환경을 이식함으로써, 컴퓨팅 환경의 연속성을 유지할 수 있다.According to this embodiment, the continuity of the computing environment can be maintained by transplanting the built computing environment to a computing device not incorporated into a cluster.
몇몇 실시예들에서, 클러스터에 포함된 컴퓨팅 장치에 의해 권한이 허가된 외부 컴퓨팅 장치로 파일이 전송될 수 있다. 권한이 허가되지 않은 장치에는 구축된 컴퓨팅 환경에 관한 파일을 전송하지 않음으로써, 구축된 컴퓨팅 환경에 적용된 기술의 외부 유출을 방지할 수 있다.In some embodiments, a file may be transferred to an external computing device authorized by a computing device included in the cluster. By not transmitting a file related to the built computing environment to an unauthorized device, leakage of technology applied to the built computing environment to the outside can be prevented.
이하 도 5 내지 도 7을 참조하여, 도 2 내지 도 4에서 설명된 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 방법을 보다 구체적으로 설명하기로 한다. 도 5는 도 2를 참조하여 설명된 컨테이너를 보다 구체적으로 설명하기 위한 도면이다.Hereinafter, with reference to FIGS. 5 to 7 , a method for constructing a computing environment according to an embodiment of the present invention described in FIGS. 2 to 4 will be described in more detail. FIG. 5 is a diagram for describing the container described with reference to FIG. 2 in more detail.
도 5를 참조하면, 컴퓨팅 환경 구축 장치(100)에 의해 클러스터에 포함된 복수의 컴퓨팅 장치 중 가용 리소스가 존재하는 컴퓨팅 장치에 컨테이너가 생성될 수 있다. 이때, 컨테이너에 복수의 노드가 생성될 수 있다.Referring to FIG. 5 , a container may be created in a computing device having available resources among a plurality of computing devices included in a cluster by the computing
도 5에 도시된 구체적인 예를 참조하면, 노드 1(10a), 노드 2(10b), 노드 3(10c), 노드 4(10d) 및 노드 5(10e)가 생성된다. 다만, 도 5를 참조하여 설명된 예시는 본 발명의 일 예시일 뿐 본 발명이 본 예시에 한정되지 않는다.Referring to the specific example shown in FIG. 5 , node 1 (10a), node 2 (10b), node 3 (10c), node 4 (10d), and node 5 (10e) are created. However, the example described with reference to FIG. 5 is only one example of the present invention, and the present invention is not limited to this example.
몇몇 실시예들에서, 복수의 작업자 노드가 생성될 수 있고, 하나의 관리자 노드가 생성될 수 있다. 예를 들어, 노드 1(10a)이 관리자 노드이고, 노드 2(10b) 내지 5(10e)가 작업자 노드일 수 있다. 복수의 작업자 노드를 둠으로써, 인공 지능 모델을 병렬적으로 학습할 수 있다. 또한, 단일한 컨테이너에는 단일한 관리자 노드를 둠으로써, 인공 지능 모델의 학습 효율이 증대될 수 있다.In some embodiments, multiple worker nodes may be created and one manager node may be created. For example, node 1 (10a) may be a manager node, and nodes 2 (10b) to 5 (10e) may be worker nodes. By having multiple worker nodes, AI models can be trained in parallel. In addition, by placing a single manager node in a single container, the learning efficiency of the artificial intelligence model can be increased.
도 6은 도 3을 참조하여 설명된 인공 지능 학습 방법을 보다 구체적으로 설명하기 위한 도면이다.6 is a diagram for explaining the artificial intelligence learning method described with reference to FIG. 3 in more detail.
도 6을 참조하면, 관리자 노드(30), 제1 작업자 노드(20a), 제2 작업자 노드(20b) 및 제3 작업자 노드(20c)가 도시된다.Referring to FIG. 6 , a
구체적으로 설명하면, 작업자 노드(20a, 20b, 20c)는 학습 데이터(23)를 인공 지능 모델(21)에 입력하여 학습 결과(25)를 출력한다. 작업자 노드는 학습 결과(25)를 관리자 노드(30)에 전송한다.Specifically, the
관리자 노드는 수신된 학습 결과(25)를 이용해, 하이퍼파라미터를 조정하여, 조정된 하이퍼파라미터(31)를 작업자 노드(20a, 20b, 20c)에 전송한다.The manager node uses the received learning
도 7은 도 4를 참조하여 설명된 컴퓨팅 환경을 공유하는 방법을 보다 구체적으로 설명하기 위한 도면이다.FIG. 7 is a diagram for explaining a method of sharing the computing environment described with reference to FIG. 4 in more detail.
도 7을 참조하면, 도 2를 참조하여 설명된 컴퓨팅 환경 구축 방법에 의해 구축된 컴퓨팅 환경(40a)이 도시된다. 구축된 컴퓨팅 환경(40a)은 도 4를 참조하여 설명된 것처럼 하나의 파일(41)로 저장될 수 있다. Referring to FIG. 7 , a
이때, 저장된 파일(41)을 이용하여, 구축된 컴퓨팅 환경(40a)과 동일한 복원된 컴퓨팅 환경(40b)을 구축할 수 있다.In this case, a restored
또한, 제1 사용자(51)에 의해 구축된 컴퓨팅 환경(40a)이 제2 사용자(53)에게 전송될 수 있다. 제2 사용자(53)에 의해 구축된 컴퓨팅 환경(40a)이 제1 사용자(51)에게 전송될 수도 있다. 여기서, 전송된 파일을 실행하여 구축된 컴퓨팅 환경(40a)과 동일한 컴퓨팅 환경이 구축될 수 있다.In addition, the
도 7을 참조하여 설명된 파일은, 텐서플로우(tensorflow), 파이토치(pytorch), 주피터랩(jupyterlab), 주피터허브(jupyterhub), C, XLS 및 파이썬(python)에 의해 작성된 파일을 의미할 수 있다. 다만, 본 예시에 한정되는 것은 아니고, 컨테이너로 구축된 컴퓨팅 환경을 하나의 파일로 저장할 수 잇는 모든 방법이 본 발명에 포함될 수 있다. 여기서, 파일은 컨테이너에 할당한 리소스 및 저장하고 사용하고 있는 데이터에 관한 정보를 전부 포함할 수 있다.The files described with reference to FIG. 7 may refer to files created by tensorflow, pytorch, jupyterlab, jupyterhub, C, XLS, and python. there is. However, it is not limited to this example, and all methods capable of storing a computing environment built with containers as a single file may be included in the present invention. Here, the file may include all information about resources allocated to the container and data stored and used.
지금까지 도 2 내지 도 7을 참조하여, 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 방법 및 그 응용분야에 대해서 설명하였다. 이하에서는 도 8 내지 도 9을 참조하여, 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 장치(100)를 보다 구체적으로 설명하기로 한다.So far, with reference to FIGS. 2 to 7 , a method for constructing a computing environment according to an embodiment of the present invention and its application fields have been described. Hereinafter, the computing
도 8에 개시된 컴퓨팅 환경 구축 장치의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 어느 하나 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현될 수 있다.Each component of the computing environment establishment apparatus disclosed in FIG. 8 represents functionally differentiated functional elements, and any one or more components may be integrated and implemented in an actual physical environment.
도 8을 참조하면, 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 장치(100)는 분산 시스템 관리 모듈(110), 리소스 관리 모듈(120), 컨테이너 관리 모듈(130) 및 파일 관리 모듈(140)을 포함할 수 있다. 이하, 각각의 구성 요소에 대하여 구체적으로 설명하기로 한다.Referring to FIG. 8 , the
분산 시스템 관리 모듈(110)은, 복수의 컴퓨팅 장치를 하나의 클러스터로 구성할 수 있다. The distributed
또한, 분산 시스템 관리 모듈(110)은, 클러스터에 포함된 제1 컴퓨팅 장치와 제2 컴퓨팅 장치 사이의 정보 전송을 관리하고, 제1 컴퓨팅 장치의 스토리지 기종과 제2 컴퓨팅 장치의 스토리지 기종이 상이한 경우라도, 제1 컴퓨팅 장치와 제2 컴퓨팅 장치 사이의 정보 전송을 가능하게 할 수도 있다.In addition, the distributed
또한, 분산 시스템 관리 모듈(110)은 scienceDMZ 네트워크를 이용하여 구성된 클러스터에 포함된 제1 컴퓨팅 장치와 제2 컴퓨팅 장치 사이의 정보 전송을 관리할 수도 있다. Also, the distributed
다음으로, 리소스 관리 모듈(120)은, 클러스터로 구성된 복수의 컴퓨팅 장치 각각의 리소스를 관리할 수 있다. 또한, 리소스 관리 모듈(120)은, 사용자가 요청한 리소스 정보를 사용자 장치에 표시할 수도 있다.Next, the
다음으로, 컨테이너 관리 모듈(130)은, 리소스 관리 모듈로부터 전송된 리소스 정보를 기초로, 가용 리소스가 존재하는 컴퓨팅 장치에 컨테이너를 생성할 수 있다. 또한, 컨테이너 관리 모듈(130)은 생성된 컨테이너를 삭제할 수도 있다.Next, the
다음으로, 파일 관리 모듈(140)은 컨테이너에 할당된 리소스 정보를 포함하는 컴퓨팅 환경 정보를 파일로 저장할 수 있다. 또한, 파일 관리 모듈(140)은 저장된 파일을 클러스터에 포함된 복수의 컴퓨팅 장치에서 열람 가능하게 할 수도 있다. 또한, 파일 관리 모듈(140)은 권한이 주어진 클러스터의 외부 컴퓨팅 장치에서도 저장된 파일을 열람 가능하게 할 수도 있다.Next, the
본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 장치에 의해서, 컨테이너의 생성, 리소스의 할당 및 모니터링을 효율적으로 관리할 수 있는 통합 플랫폼(platform)이 제공될 수 있다.An integrated platform capable of efficiently managing container creation, resource allocation, and monitoring may be provided by the computing environment construction apparatus according to an embodiment of the present invention.
도 9는 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 장치(100)를 구현할 수 있는 예시적인 컴퓨팅 장치(1500)를 나타내는 하드웨어 구성도이다.9 is a hardware configuration diagram illustrating an
도 9에 도시된 바와 같이, 컴퓨팅 장치(1500)는 하나 이상의 프로세서(1510), 버스(1550), 통신 인터페이스(1570), 프로세서(1510)에 의하여 수행되는 컴퓨터 프로그램(1591)을 로드(load)하는 메모리(1530)와, 컴퓨터 프로그램(1591)을 저장하는 스토리지(1590)를 포함할 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성 요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.As shown in FIG. 9, the
프로세서(1510)는 컴퓨팅 장치(1500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(1510)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1500)는 하나 이상의 프로세서를 구비할 수 있다.The
메모리(1530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1530)는 본 발명의 실시예들에 따른 방법을 실행하기 위하여 스토리지(1590)로부터 하나 이상의 프로그램(1591)을 로드 할 수 있다. 메모리(1530)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 발명의 기술적 범위가 이에 한정되는 것은 아니다.
버스(1550)는 컴퓨팅 장치(1500)의 구성 요소 간 통신 기능을 제공한다. 버스(1550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The
통신 인터페이스(1570)는 컴퓨팅 장치(1500)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(1570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The
몇몇 실시예들에 따르면, 통신 인터페이스(1570)는 생략될 수도 있다.According to some embodiments,
스토리지(1590)는 상기 하나 이상의 프로그램(1591)과 각종 데이터를 비임시적으로 저장할 수 있다. The
스토리지(1590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The
컴퓨터 프로그램(1591)은 메모리(1530)에 로드 될 때 프로세서(1510)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(1510)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다.
위와 같은 경우, 컴퓨팅 장치(1500)를 통해 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 장치(100)가 구현될 수 있다.In the above case, the computing
지금까지 도 1 내지 도 9를 참조하여 본 발명의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present invention and effects according to the embodiments have been described with reference to FIGS. 1 to 9 . Effects according to the technical idea of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
지금까지 도 1 내지 도 9를 참조하여 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical idea of the present invention described with reference to FIGS. 1 to 9 so far can be implemented as computer readable code on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disc, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet, installed in the other computing device, and thus used in the other computing device.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention have been described as being combined or operated as one, the technical spirit of the present invention is not necessarily limited to these embodiments. That is, within the scope of the object of the present invention, all of the components may be selectively combined with one or more to operate.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행 되어야만 하거나 또는 모든 도시 된 동작들이 실행 되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although actions are shown in a specific order in the drawings, it should not be understood that the actions must be performed in the specific order shown or in a sequential order, or that all depicted actions must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be understood as requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art can implement the present invention in other specific forms without changing the technical spirit or essential features. can understand that there is Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. The protection scope of the present invention should be construed according to the claims below, and all technical ideas within the equivalent range should be construed as being included in the scope of the technical ideas defined by the present invention.
Claims (15)
상기 컴퓨팅 장치를 포함하는 복수의 컴퓨팅 장치의 리소스 정보를 이용하여, 가용 리소스가 존재하는 제1 컴퓨팅 장치에 제1 컨테이너를 생성하고, 가용 리소스가 존재하는 제2 컴퓨팅 장치에 제2 컨테이너를 생성하되, 제2 컴퓨팅 장치에 존재하는 가용 리소스는 복수의 컴퓨팅 장치의 가용 리소스 중 최대인 단계;
인공 지능 모델의 학습이 수행되는 작업자 노드를 상기 제1 컨테이너에 생성하되, 상기 복수의 컴퓨팅 장치는 하나의 클러스터로 구성되는 것인 단계;
상기 작업자 노드에서 수행되는 상기 인공 지능 모델 학습의 결과를 이용하여, 상기 인공 지능 모델의 하이퍼파라미터(hyperparameter) 조정을 수행하는 관리자 노드를 상기 제2 컨테이너에 더 생성하되, 상기 제2 컨테이너에는 상기 관리자 노드 만을 생성하는 단계;
제1 기종의 스토리지를 가진 제1 관리자 노드가, 제2 기종의 스토리지를 가진 제1 작업자 노드에 조정된 하이퍼파라미터를 전송하고, 상기 제1 작업자 노드는, 상기 제1 작업자 노드에서 수행되는 상기 인공 지능 모델 학습의 결과를 상기 제1 관리자 노드에 전송하는 단계;
상기 제1 컴퓨팅 장치에 생성된 제1 컨테이너에 상기 작업자 노드가 생성된 것에 대한 정보와, 상기 제2 컴퓨팅 장치에 생성된 제2 컨테이너에 상기 관리자 노드가 생성된 것에 대한 정보를 포함하는 상기 클러스터의 컴퓨팅 환경 관련 정보를 파일로 저장하는 단계; 및
상기 저장된 파일을 상기 클러스터에 속하지 않는 외부 컴퓨팅 장치로서, 상기 클러스터에 포함된 컴퓨팅 장치에 의해 권한이 허가된 외부 컴퓨팅 장치에 송신하는 단계를 포함하되,
상기 저장된 파일을 이용하여 상기 클러스터에 편입되지 않은 컴퓨팅 장치를 이용하여 상기 클러스터의 환경이 이식되는 단계를 포함하는,
컴퓨팅 환경 구축 방법.In a method performed by a computing device,
Creating a first container on a first computing device having available resources and creating a second container on a second computing device having available resources by using resource information of a plurality of computing devices including the computing device; , the available resources present in the second computing device are the maximum among the available resources of the plurality of computing devices;
generating a worker node in which learning of an artificial intelligence model is performed in the first container, wherein the plurality of computing devices are configured as one cluster;
A manager node for adjusting hyperparameters of the artificial intelligence model is further created in the second container by using a result of learning the artificial intelligence model performed in the worker node, and the second container includes the manager node. creating only nodes;
A first manager node having a first type of storage transmits an adjusted hyperparameter to a first worker node having a second type of storage, and the first worker node transmits the artificial intelligence performed on the first worker node. transmitting a result of intelligence model learning to the first manager node;
of the cluster including information about the creation of the worker node in the first container created in the first computing device and information about creation of the manager node in the second container created in the second computing device Storing information related to the computing environment as a file; and
Transmitting the stored file to an external computing device that does not belong to the cluster and is authorized by the computing device included in the cluster;
Including the step of transplanting the environment of the cluster using a computing device not incorporated into the cluster using the stored file,
How to build a computing environment.
상기 리소스 정보는,
상기 복수의 컴퓨팅 장치의 CPU, GPU 및 스토리지 정보를 포함하는,
컴퓨팅 환경 구축 방법.According to claim 1,
The resource information,
Including CPU, GPU and storage information of the plurality of computing devices,
How to build a computing environment.
상기 리소스 정보를 이용하여, 상기 컨테이너를 생성하는 단계는,
복수의 컴퓨팅 장치 각각의 가용 리소스 정보를 표시하는 단계를 포함하는,
컴퓨팅 환경 구축 방법.According to claim 1,
The step of creating the container using the resource information,
Including displaying available resource information of each of a plurality of computing devices,
How to build a computing environment.
상기 관리자 노드에 전송하는 단계는,
ScienceDMZ 네트워크를 이용하여, 상기 학습의 결과를 상기 관리자 노드에 전송하는 단계를 포함하고,
상기 작업자 노드에 전송하는 단계는,
상기 ScienceDMZ 네트워크를 이용하여, 상기 조정된 하이퍼파라미터를 상기 작업자 노드에 전송하는 단계를 포함하는,
컴퓨팅 환경 구축 방법.According to claim 1,
The step of transmitting to the manager node,
Using the ScienceDMZ network, transmitting the result of the learning to the manager node,
The step of transmitting to the worker node,
Using the ScienceDMZ network, transmitting the adjusted hyperparameter to the worker node,
How to build a computing environment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200139912A KR102481870B1 (en) | 2020-10-27 | 2020-10-27 | Method and apparatus for building a computing environment for artificial intelligence learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200139912A KR102481870B1 (en) | 2020-10-27 | 2020-10-27 | Method and apparatus for building a computing environment for artificial intelligence learning |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220055627A KR20220055627A (en) | 2022-05-04 |
KR102481870B1 true KR102481870B1 (en) | 2022-12-28 |
Family
ID=81583998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200139912A KR102481870B1 (en) | 2020-10-27 | 2020-10-27 | Method and apparatus for building a computing environment for artificial intelligence learning |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102481870B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120204177A1 (en) | 2005-07-26 | 2012-08-09 | International Business Machines Corporation | Method, system and program product for capturing central processing unit (cpu) utilization for a virtual machine |
KR101256918B1 (en) * | 2011-12-15 | 2013-04-25 | 숭실대학교산학협력단 | Method for enhancing scalability and availability of cloud services and the system thereby |
KR101585160B1 (en) | 2015-03-12 | 2016-01-13 | 주식회사 모비젠 | Distributed Computing System providing stand-alone environment and controll method therefor |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11977958B2 (en) * | 2017-11-22 | 2024-05-07 | Amazon Technologies, Inc. | Network-accessible machine learning model training and hosting system |
KR102027303B1 (en) * | 2017-12-26 | 2019-10-01 | 경희대학교 산학협력단 | Migration System and Method by Fuzzy Value Rebalance in Distributed Cloud Environment |
-
2020
- 2020-10-27 KR KR1020200139912A patent/KR102481870B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120204177A1 (en) | 2005-07-26 | 2012-08-09 | International Business Machines Corporation | Method, system and program product for capturing central processing unit (cpu) utilization for a virtual machine |
KR101256918B1 (en) * | 2011-12-15 | 2013-04-25 | 숭실대학교산학협력단 | Method for enhancing scalability and availability of cloud services and the system thereby |
KR101585160B1 (en) | 2015-03-12 | 2016-01-13 | 주식회사 모비젠 | Distributed Computing System providing stand-alone environment and controll method therefor |
Also Published As
Publication number | Publication date |
---|---|
KR20220055627A (en) | 2022-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10635664B2 (en) | Map-reduce job virtualization | |
CN108139935B (en) | The extension of the resource constraint of service definition container | |
US10176004B2 (en) | Workload-aware load balancing to minimize scheduled downtime during maintenance of host or hypervisor of a virtualized computing system | |
US8862933B2 (en) | Apparatus, systems and methods for deployment and management of distributed computing systems and applications | |
WO2019204355A1 (en) | Training machine learning models in distributed computing systems | |
JP2022511716A (en) | Decentralized deep learning | |
CN109408205B (en) | Task scheduling method and device based on hadoop cluster | |
KR101794696B1 (en) | Distributed processing system and task scheduling method considering heterogeneous processing type | |
US20160085738A1 (en) | Cloud-Based Parallel Computation Using Actor Modules | |
US9459897B2 (en) | System and method for providing data analysis service in cloud environment | |
KR101432751B1 (en) | Load balancing method and system for hadoop MapReduce in the virtual environment | |
US20150277980A1 (en) | Using predictive optimization to facilitate distributed computation in a multi-tenant system | |
da Rosa Righi et al. | A lightweight plug-and-play elasticity service for self-organizing resource provisioning on parallel applications | |
WO2019027597A1 (en) | Workflows management framework | |
US10853137B2 (en) | Efficient resource allocation for concurrent graph workloads | |
US10901864B2 (en) | Light-weight mirror container | |
Deiab et al. | Energy efficiency in cloud computing | |
US20160004803A1 (en) | Simulation Sequence In Chemical Process Simulation For Chemical Process Flowsheet With Strongly Connected Components | |
CN111435315A (en) | Method, apparatus, device and computer readable medium for allocating resources | |
KR102481870B1 (en) | Method and apparatus for building a computing environment for artificial intelligence learning | |
CN114860401A (en) | Heterogeneous cloud desktop scheduling system, method, service system, device and medium | |
CN107967165A (en) | The offline moving method of virtual machine based on LVM | |
KR102553966B1 (en) | Server apparatus in energy management system and operating method of thereof | |
CN111552560A (en) | Load distribution method and system, computer device, node device, and storage medium | |
Sobers Smiles David et al. | Introduction to Cloud Resource Management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |