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 PDF

Info

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
Application number
KR1020200139912A
Other languages
Korean (ko)
Other versions
KR20220055627A (en
Inventor
문정훈
석우진
김기현
홍원택
이상권
Original Assignee
한국과학기술정보연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Priority to KR1020200139912A priority Critical patent/KR102481870B1/en
Publication of KR20220055627A publication Critical patent/KR20220055627A/en
Application granted granted Critical
Publication of KR102481870B1 publication Critical patent/KR102481870B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution 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

인공 지능 학습을 위한 컴퓨팅 환경 구축 방법 및 장치{METHOD AND APPARATUS FOR BUILDING A COMPUTING ENVIRONMENT FOR ARTIFICIAL INTELLIGENCE LEARNING}Method and apparatus for constructing a computing environment for artificial intelligence learning

본 발명은 인공 지능 학습을 위한 컴퓨팅 환경을 구축하는 방법 및 그 장치에 관한 것이다. 보다 구체적으로는, 분산 컴퓨팅을 기반으로 하는 컨테이너 오케스트레이션 시스템에 의해 컴퓨팅 환경을 구축하는 방법 및 그 장치에 관한 것이다.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 environment construction device 100 and user devices 200a, 200b, 200c, 200d or less (200 for convenience of explanation). there is. Hereinafter, each component will be described in detail.

컴퓨팅 환경 구축 장치(100)는 복수의 컴퓨팅 장치를 하나의 클러스터로 구성할 수 있다. 보다 구체적으로, 컴퓨팅 환경 구축 장치(100)는 분산 컴퓨팅 기술을 이용해, 복수의 컴퓨팅 장치의 처리 능력을 이용하여 작업을 수행할 수 있다. 특히, 인공 지능 모델 학습과 같은 대규모 리소스가 요구되는 작업이 수행될 수 있다. 여기서, 본 실시예에 따른 컴퓨팅 환경 구축 장치(100)에 공지된 모든 분산 컴퓨팅 기술이 적용될 수 있다.The computing environment establishment apparatus 100 may configure a plurality of computing devices as one cluster. More specifically, the computing environment establishment apparatus 100 may perform a task by using the processing capabilities of a plurality of computing devices using distributed computing technology. In particular, tasks requiring large-scale resources such as artificial intelligence model training can be performed. Here, all known distributed computing technologies may be applied to the computing environment construction apparatus 100 according to the present embodiment.

구체적인 예를 들어, 컴퓨팅 환경 구축 장치(100)는 사용자 장치1(200a), 사용자 장치2(200b), 사용자 장치3(200c) 및 사용자 장치4(200d)가 포함된 클러스터를 구성할 수 있다.For example, the computing environment construction apparatus 100 may configure a cluster including user device 1 200a, user device 2 200b, user device 3 200c, and user device 4 200d.

또한, 컴퓨팅 환경 구축 장치(100)는 클러스터에 포함된 복수의 컴퓨팅 장치의 리소스 정보를 이용해, 컨테이너를 생성할 수 있다. 여기서, 리소스 정보는 복수의 컴퓨팅 장치의 CPU, GPU, 스토리지에 관한 정보를 포함할 수 있다.Also, the computing environment construction apparatus 100 may create a container by using resource information of a plurality of computing devices included in the cluster. Here, the resource information may include information about CPUs, GPUs, and storage of a plurality of computing devices.

추후 설명될 몇몇 실시예들에서, 컨테이너에 생성된 노드에 의해, 인공 지능 학습이 수행될 수 있다. 이와 관련된 구체적인 설명은 추후 명세서를 통해 구체화될 것이다.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 environment construction apparatus 100 may display available resource information of each of a plurality of computing devices included in the cluster. The computing environment construction device 100 may transmit the available resource information to the user device 200 .

또한, 컴퓨팅 환경 구축 장치(100)는 컨테이너 생성에 의해 구축된 컴퓨팅 환경에 관한 정보를 파일로 저장할 수 있다. 여기서, 파일은 이미지 형태의 파일일 수 있다.In addition, the computing environment building apparatus 100 may store information about the computing environment built by container creation as a file. Here, the file may be a file in the form of an image.

또한, 컴퓨팅 환경 구축 장치(100)는 컨테이너 생성에 의해 구축된 컴퓨팅 환경에 관한 정보를 파일로 저장하고, 저장된 파일을 다른 사용자와 공유할 수 있다.Also, the computing environment construction apparatus 100 may store information about the computing environment built by container creation as a file, and share the stored file with other users.

이와 같은, 본 발명의 몇몇 실시예들에 따른, 컴퓨팅 환경 구축 장치(100)에 대해서는 추후 도 2 내지 도 9를 참조하여 구체적으로 설명하기로 한다.The computing environment construction apparatus 100 according to some embodiments of the present invention will be described in detail later with reference to FIGS. 2 to 9 .

다음으로, 사용자 장치(200)는 컴퓨팅 환경 구축 장치(100)가 구성한 클러스터에 포함될 수 있다. 분산 컴퓨팅 기술이 적용되어 사용자 장치(200)는 대규모 리소스가 요구되는 작업을 부분적으로 수행할 수 있다.Next, the user device 200 may be included in the cluster configured by the computing environment building device 100 . Distributed computing technology is applied so that the user device 200 can partially perform tasks requiring large-scale resources.

사용자 장치(200)는 컴퓨팅 환경 구축 장치(100)가 제공하는 플랫폼 UI를 표시할 수 있다. 여기서, 사용자 장치(200)는 컴퓨팅 환경 구축 장치(100)가 제공하는 플랫폼 UI를 통해 클러스터에 포함된 복수의 컴퓨팅 장치의 리소스 정보를 표시할 수 있다. 또한, 사용자 장치(200)는 컴퓨팅 환경 구축 장치(100)가 제공하는 플랫폼 UI를 통해 컴퓨팅 환경 구축 장치(100)가 생성한 컨테이너 정보를 표시할 수 있다. The user device 200 may display a platform UI provided by the computing environment construction device 100 . Here, the user device 200 may display resource information of a plurality of computing devices included in the cluster through a platform UI provided by the computing environment construction device 100 . In addition, the user device 200 may display container information generated by the computing environment building device 100 through a platform UI provided by the computing environment building device 100 .

사용자 장치(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 environment construction device 100 through a network, any Any device may be acceptable. For example, the user device 200 that may be referred to in some embodiments of the present invention includes a desktop, a workstation, a server, a laptop, a tablet, and a smart phone. It may be any one of a smart phone or a phablet, but is not limited thereto, and is not limited to, a portable multimedia player (PMP), a personal digital assistant (PDA), or an e-book terminal (E -Book Reader) and the like.

다음으로, 컴퓨팅 환경 구축 장치(100) 및 사용자 장치(200)를 연결하는 네트워크 망은, scienceDMZ 네트워크로 구성될 수 있다. ScienceDMZ 네트워크가 구성됨으로써, 컨테이너 사이에서 대용량 데이터가 고속으로 전송될 수 있다. 여기서, scienceDMZ 네트워크와 관련된 공지된 모든 기술이 본 발명에 적용될 수 있다. 다만, 본 발명이 scienceDMZ 네트워크에 한정되는 것은 아니다.Next, a network connecting the computing environment building device 100 and the user device 200 may be configured as a scienceDMZ network. By configuring the ScienceDMZ network, large amounts of data can be transmitted between containers at high speed. Here, all known technologies related to the scienceDMZ network can be applied to the present invention. However, the present invention is not limited to the scienceDMZ network.

도 1에 도시된 컴퓨팅 환경 구축 시스템은 컴퓨팅 환경 구축 장치(100)와 각각의 사용자 장치(200)만을 연결하는 네트워크 망으로 도시되어 있으나, 본 발명이 도 1에 한정되는 것은 아니고, 사용자 장치(200) 사이에도 네트워크 망이 연결되어 시스템이 구성될 수 있다.The computing environment construction system shown in FIG. 1 is shown as a network connecting only the computing environment construction device 100 and each user device 200, but the present invention is not limited to FIG. 1, and the user device 200 ), a network can be connected between them to form a system.

이하 도 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 environment construction device 100 described with reference to FIG. 1 . Also, the method according to this embodiment may be performed separately by the first computing device and the second computing device. Hereinafter, in performing each operation of the method according to the present embodiment, if the description of the subject is omitted, the subject may be interpreted as the computing device.

도 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 environment construction apparatus 100 . At this time, a plurality of nodes may be created in the container.

도 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 manager node 30 , a first worker node 20a , a second worker node 20b and a third worker node 20c are shown.

구체적으로 설명하면, 작업자 노드(20a, 20b, 20c)는 학습 데이터(23)를 인공 지능 모델(21)에 입력하여 학습 결과(25)를 출력한다. 작업자 노드는 학습 결과(25)를 관리자 노드(30)에 전송한다.Specifically, the worker nodes 20a, 20b, and 20c input learning data 23 to the artificial intelligence model 21 and output a learning result 25. The worker node transmits the learning result 25 to the manager node 30 .

관리자 노드는 수신된 학습 결과(25)를 이용해, 하이퍼파라미터를 조정하여, 조정된 하이퍼파라미터(31)를 작업자 노드(20a, 20b, 20c)에 전송한다.The manager node uses the received learning result 25 to adjust the hyperparameter, and transmits the adjusted hyperparameter 31 to the worker nodes 20a, 20b, and 20c.

도 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 computing environment 40a built by the method for constructing a computing environment described with reference to FIG. 2 is illustrated. The built computing environment 40a may be stored as one file 41 as described with reference to FIG. 4 .

이때, 저장된 파일(41)을 이용하여, 구축된 컴퓨팅 환경(40a)과 동일한 복원된 컴퓨팅 환경(40b)을 구축할 수 있다.In this case, a restored computing environment 40b identical to the built computing environment 40a may be constructed using the stored file 41 .

또한, 제1 사용자(51)에 의해 구축된 컴퓨팅 환경(40a)이 제2 사용자(53)에게 전송될 수 있다. 제2 사용자(53)에 의해 구축된 컴퓨팅 환경(40a)이 제1 사용자(51)에게 전송될 수도 있다. 여기서, 전송된 파일을 실행하여 구축된 컴퓨팅 환경(40a)과 동일한 컴퓨팅 환경이 구축될 수 있다.In addition, the computing environment 40a built by the first user 51 may be transmitted to the second user 53 . The computing environment 40a built by the second user 53 may be transmitted to the first user 51 . Here, the same computing environment as the computing environment 40a built by executing the transmitted file may be built.

도 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 environment construction apparatus 100 according to an embodiment of the present invention will be described in more detail with reference to FIGS. 8 to 9 .

도 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 apparatus 100 for constructing a computing environment according to an embodiment of the present invention includes a distributed system management module 110, a resource management module 120, a container management module 130, and a file management module 140. can include Hereinafter, each component will be described in detail.

분산 시스템 관리 모듈(110)은, 복수의 컴퓨팅 장치를 하나의 클러스터로 구성할 수 있다. The distributed system management module 110 may configure a plurality of computing devices as one cluster.

또한, 분산 시스템 관리 모듈(110)은, 클러스터에 포함된 제1 컴퓨팅 장치와 제2 컴퓨팅 장치 사이의 정보 전송을 관리하고, 제1 컴퓨팅 장치의 스토리지 기종과 제2 컴퓨팅 장치의 스토리지 기종이 상이한 경우라도, 제1 컴퓨팅 장치와 제2 컴퓨팅 장치 사이의 정보 전송을 가능하게 할 수도 있다.In addition, the distributed system management module 110 manages information transmission between the first computing device and the second computing device included in the cluster, and when the storage type of the first computing device and the storage type of the second computing device are different. Even so, it may enable information transmission between the first computing device and the second computing device.

또한, 분산 시스템 관리 모듈(110)은 scienceDMZ 네트워크를 이용하여 구성된 클러스터에 포함된 제1 컴퓨팅 장치와 제2 컴퓨팅 장치 사이의 정보 전송을 관리할 수도 있다. Also, the distributed system management module 110 may manage information transmission between a first computing device and a second computing device included in a cluster configured using the scienceDMZ network.

다음으로, 리소스 관리 모듈(120)은, 클러스터로 구성된 복수의 컴퓨팅 장치 각각의 리소스를 관리할 수 있다. 또한, 리소스 관리 모듈(120)은, 사용자가 요청한 리소스 정보를 사용자 장치에 표시할 수도 있다.Next, the resource management module 120 may manage the resources of each of the plurality of computing devices configured in a cluster. Also, the resource management module 120 may display resource information requested by the user on the user device.

다음으로, 컨테이너 관리 모듈(130)은, 리소스 관리 모듈로부터 전송된 리소스 정보를 기초로, 가용 리소스가 존재하는 컴퓨팅 장치에 컨테이너를 생성할 수 있다. 또한, 컨테이너 관리 모듈(130)은 생성된 컨테이너를 삭제할 수도 있다.Next, the container management module 130 may create a container in a computing device having available resources based on the resource information transmitted from the resource management module. Also, the container management module 130 may delete the created container.

다음으로, 파일 관리 모듈(140)은 컨테이너에 할당된 리소스 정보를 포함하는 컴퓨팅 환경 정보를 파일로 저장할 수 있다. 또한, 파일 관리 모듈(140)은 저장된 파일을 클러스터에 포함된 복수의 컴퓨팅 장치에서 열람 가능하게 할 수도 있다. 또한, 파일 관리 모듈(140)은 권한이 주어진 클러스터의 외부 컴퓨팅 장치에서도 저장된 파일을 열람 가능하게 할 수도 있다.Next, the file management module 140 may store computing environment information including resource information allocated to the container as a file. Also, the file management module 140 may allow a plurality of computing devices included in the cluster to view stored files. In addition, the file management module 140 may allow viewing of stored files even in an external computing device of a cluster to which authority is given.

본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 장치에 의해서, 컨테이너의 생성, 리소스의 할당 및 모니터링을 효율적으로 관리할 수 있는 통합 플랫폼(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 exemplary computing device 1500 capable of implementing the computing environment construction apparatus 100 according to an embodiment of the present invention.

도 9에 도시된 바와 같이, 컴퓨팅 장치(1500)는 하나 이상의 프로세서(1510), 버스(1550), 통신 인터페이스(1570), 프로세서(1510)에 의하여 수행되는 컴퓨터 프로그램(1591)을 로드(load)하는 메모리(1530)와, 컴퓨터 프로그램(1591)을 저장하는 스토리지(1590)를 포함할 수 있다. 다만, 도 7에는 본 발명의 실시예와 관련 있는 구성 요소들 만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 7에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.As shown in FIG. 9, the computing device 1500 loads one or more processors 1510, a bus 1550, a communication interface 1570, and a computer program 1591 executed by the processor 1510. It may include a memory 1530 for storing and a storage 1590 for storing the computer program 1591 . However, only components related to the embodiment of the present invention are shown in FIG. 7 . Therefore, those skilled in the art to which the present invention pertains can know that other general-purpose components may be further included in addition to the components shown in FIG. 7 .

프로세서(1510)는 컴퓨팅 장치(1500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(1510)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1500)는 하나 이상의 프로세서를 구비할 수 있다.The processor 1510 controls the overall operation of each component of the computing device 1500 . The processor 1510 includes a Central Processing Unit (CPU), a Micro Processor Unit (MPU), a Micro Controller Unit (MCU), a Graphic Processing Unit (GPU), or any type of processor well known in the art. It can be. Also, the processor 1510 may perform an operation for at least one application or program for executing a method according to embodiments of the present invention. Computing device 1500 may include one or more processors.

메모리(1530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1530)는 본 발명의 실시예들에 따른 방법을 실행하기 위하여 스토리지(1590)로부터 하나 이상의 프로그램(1591)을 로드 할 수 있다. 메모리(1530)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 발명의 기술적 범위가 이에 한정되는 것은 아니다.Memory 1530 stores various data, commands and/or information. Memory 1530 may load one or more programs 1591 from storage 1590 to execute a method according to embodiments of the present invention. The memory 1530 may be implemented as a volatile memory such as RAM, but the technical scope of the present invention is not limited thereto.

버스(1550)는 컴퓨팅 장치(1500)의 구성 요소 간 통신 기능을 제공한다. 버스(1550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 1550 provides a communication function between components of the computing device 1500 . The bus 1550 may be implemented as various types of buses such as an address bus, a data bus, and a control bus.

통신 인터페이스(1570)는 컴퓨팅 장치(1500)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(1570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(1570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The communication interface 1570 supports wired and wireless Internet communication of the computing device 1500 . Also, the communication interface 1570 may support various communication methods other than internet communication. To this end, the communication interface 1570 may include a communication module well known in the art.

몇몇 실시예들에 따르면, 통신 인터페이스(1570)는 생략될 수도 있다.According to some embodiments, communication interface 1570 may be omitted.

스토리지(1590)는 상기 하나 이상의 프로그램(1591)과 각종 데이터를 비임시적으로 저장할 수 있다. The storage 1590 may non-temporarily store the one or more programs 1591 and various data.

스토리지(1590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 1590 may be a non-volatile memory such as read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, or the like, a hard disk, a removable disk, or a device well known in the art. It may be configured to include any known type of computer-readable recording medium.

컴퓨터 프로그램(1591)은 메모리(1530)에 로드 될 때 프로세서(1510)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(1510)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다.Computer program 1591 may include one or more instructions that when loaded into memory 1530 cause processor 1510 to perform methods/operations in accordance with various embodiments of the invention. That is, the processor 1510 may perform methods/operations according to various embodiments of the present disclosure by executing the one or more instructions.

위와 같은 경우, 컴퓨팅 장치(1500)를 통해 본 발명의 일 실시예에 따른 컴퓨팅 환경 구축 장치(100)가 구현될 수 있다.In the above case, the computing environment construction apparatus 100 according to an embodiment of the present invention may be implemented through the computing device 1500 .

지금까지 도 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.
제1 항에 있어서,
상기 리소스 정보는,
상기 복수의 컴퓨팅 장치의 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.
삭제delete 제1 항에 있어서,
상기 리소스 정보를 이용하여, 상기 컨테이너를 생성하는 단계는,
복수의 컴퓨팅 장치 각각의 가용 리소스 정보를 표시하는 단계를 포함하는,
컴퓨팅 환경 구축 방법.
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.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제1 항에 있어서,
상기 관리자 노드에 전송하는 단계는,
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.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020200139912A 2020-10-27 2020-10-27 Method and apparatus for building a computing environment for artificial intelligence learning KR102481870B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)