WO2020222407A1 - 머신 러닝 플랫폼 관리 시스템 및 방법 - Google Patents

머신 러닝 플랫폼 관리 시스템 및 방법 Download PDF

Info

Publication number
WO2020222407A1
WO2020222407A1 PCT/KR2020/002167 KR2020002167W WO2020222407A1 WO 2020222407 A1 WO2020222407 A1 WO 2020222407A1 KR 2020002167 W KR2020002167 W KR 2020002167W WO 2020222407 A1 WO2020222407 A1 WO 2020222407A1
Authority
WO
WIPO (PCT)
Prior art keywords
machine learning
node
session
worker
command
Prior art date
Application number
PCT/KR2020/002167
Other languages
English (en)
French (fr)
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 숭실대학교산학협력단
Publication of WO2020222407A1 publication Critical patent/WO2020222407A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • An embodiment of the present invention relates to a machine learning platform management system and method, and more particularly, to a machine learning platform management system and method that can be applied to a machine learning environment to which various frameworks are applied.
  • Mahout a sub-project of the Apache Software Foundation's Lusin project, was developed with the aim of implementing an extensible machine learning library, and in 2010, it was converted to a top-level Apache project stage.
  • Hadoop file system which is a large-capacity data processing system, is used, and the Spark system with improved performance and user convenience is used.
  • MLlib an internal project of the Apache Software Foundation's Spark Project, was developed to provide high-speed machine learning technology that utilizes large amounts of data, and was released in 2013. It is known to be faster than disk-based Mahout because it operates based on memory, but the deep learning technology it supports is limited.
  • Caffe2 which was unveiled by Facebook's artificial intelligence research group in July 2017, is a deep learning platform based on the existing Caffe. Researched and developed, and focused on improving the performance, portability, and usability of learning models.
  • An object of the present invention is to provide a machine learning platform management system and method capable of managing various machine learning related frameworks as a single platform.
  • the session node may analyze computational processing capability according to resource conditions reported from the worker node, and allocate the machine learning task information and the instruction based on the analyzed computational processing capability.
  • the session node may generate a list of worker nodes sequentially arranged according to the computational processing capability, and allocate the machine learning task information and the command according to the list of worker nodes.
  • the resource status may include at least one of CPU resource information, GPU resource information, memory resource information, disk resource information, package version, library version, Python language version, framework type, framework version, operating system type, and operating system version. have.
  • the session node may manage at least one worker node using the same framework.
  • the worker node may access an external network storage according to the allocated machine learning task information and the command to download the machine learning task and training data files.
  • the learning progress status may include at least one of a loss value, learning accuracy, validation value, and progress rate.
  • the command may include at least one of allocation, execution, suspension of the machine learning task, and reporting of a learning progress status.
  • a group may be formed using at least one worker node using the same framework.
  • the machine learning platform management system and method according to the present invention can manage various machine learning related frameworks with one platform.
  • machine learning tasks can be distributed to optimal nodes and execution results can be monitored in real time.
  • machine learning can be performed remotely through an external program.
  • FIG. 2 is a block diagram showing a configuration of a master node according to an embodiment
  • FIG. 3 is a diagram for describing an operation of a platform management database according to an embodiment.
  • FIG. 4 is a block diagram of a configuration of a session node according to an embodiment.
  • FIG. 5 is a block diagram of a worker node according to an embodiment.
  • FIG. 6 is a flowchart of a method for managing a machine learning platform according to an embodiment.
  • FIG. 7 is a diagram illustrating a process of connecting a worker node according to an embodiment.
  • FIG. 8 is a diagram for describing a process of assigning a machine learning task according to an embodiment.
  • the singular form may include the plural form unless specifically stated in the phrase, and when described as "at least one (or more than one) of A and (and) B and C", it is combined with A, B, and C. It may contain one or more of all possible combinations.
  • the task manager 12 may provide a function of registering a learning file and a data set to the platform through the external program 2.
  • the task manager 12 may transmit machine learning task information to the session node 20. Learning files and data sets registered through the external program 2 may be stored in a folder specific to each task in the external network storage 3.
  • the task manager 12 may update and store information about a corresponding unique folder and user information in the platform management database 15.
  • the worker node 30 accesses the external network storage 3 based on the task information stored in the platform management database 15 to download the corresponding task and perform learning.
  • Task-related information is managed as a task table, and Idx is connected to Task_idx in the log table, and the log is connected to the log, which is the result value of the task and machine learning, and is used to classify the log of the result information of the task that has been trained.
  • the task table is the user ID of the task, learning status, name, IP and connection port of the assigned session node, IP and connection port of the assigned worker node, process ID when running on the worker node, progress, accuracy of learning, task.
  • the session node 20 may analyze operation processing capability according to the resource situation reported from the worker node 30 and allocate machine learning task information and instructions based on the analyzed operation processing capability.
  • the session node 20 may generate a list of worker nodes sequentially arranged according to computational processing capability, and allocate machine learning task information and instructions according to the list of worker nodes.
  • the worker node manager 22 When the worker node manager 22 receives a command to reconfigure a worker node from the master node, the worker node manager 22 transmits connection information of a session node allocated to a worker node to change the session node.
  • the resource management module 32 may periodically report the hardware and software resource status of the worker node 30 to the session node 20.
  • the hardware resources are CPU/GPU computational processing capacity and real-time computational processing capacity utilization rate of the worker node 30, total memory and real-time memory utilization, and total disk and disk utilization. Real-time hardware resource status can be used as a key indicator for session nodes to allocate machine learning tasks to worker nodes.
  • the softwareware resource status is a list of installed packages, libraries, and virtual environments when the worker node registers with the session node. When the software resource is newly installed or removed, the changed software resource status of the worker node may be transmitted to the session node and updated.
  • FIG. 6 is a flowchart of a method for managing a machine learning platform according to an embodiment.
  • the worker node manager of the session node receives a connection request from the worker node.
  • the worker node manager of the session node checks whether a worker node has a framework that can execute machine learning tasks registered in the master node. When the worker node manager confirms that the worker node is capable of performing training, it adds the water node to the worker node list (S702).
  • the resource monitoring manager of the master node updates information on the worker node managed by the session node to reflect the resource status of the new worker node (S703).
  • the worker node manager delivers the task information to the selected worker node (S808).
  • FIG. 10 is a diagram illustrating an operation of a resource monitoring manager according to an embodiment of the present invention.
  • the session node A transmits connection information of the newly allocated session node B to the worker node (S1003).
  • components and functions provided in the' ⁇ units' may be combined into a smaller number of elements and' ⁇ units', or may be further divided into additional elements and' ⁇ units'.
  • components and' ⁇ units' may be implemented to play one or more CPUs in a device or a security multimedia card.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 실시예에 따르면, 외부 프로그램을 통해 등록된 머신러닝 테스크(task) 및 명령어를 관리하는 마스터 노드; 상기 마스터 노드로부터 전달받은 상기 머신러닝 테스크 정보 및 상기 명령어를 분석하여 실행 가능한 하위 노드에 할당하는 세션 노드; 및 상기 세션 노드로부터 할당받은 상기 머신러닝 테스크 정보 및 상기 명령어에 따라 머신러닝을 수행하고, 학습 진행 상황 및 자원 상황을 상기 세션 노드로 보고하는 워커노드를 포함하는 머신 러닝 플랫폼 관리 시스템을 제공한다.

Description

머신 러닝 플랫폼 관리 시스템 및 방법
본 발명의 일실시예는 머신 러닝 플랫폼 관리 시스템 및 방법에 관한 것으로, 더욱 구체적으로는 다양한 프레임 워크가 적용된 머신 러닝 환경에 적용될 수 있는 머신 러닝 플랫폼 관리 시스템 및 방법에 관한 것이다.
최근 구글(Google), 마이크로소프트(Microsoft) 등의 글로벌 IT 기업들과 학계 연구그룹들은 머신러닝 기술관련 플랫폼(프레임워크, 라이브러리 등)을 무료로 공개하였다. 공개된 머신러닝 플랫폼은 사용자가 복잡한 머신러닝 내부 기술을 알지 못해도 손쉽게 이용 가능한 인터페이스를 제공‘하여 기술사용에 대한 사용자의 진입장벽을 획기적으로 낮추었다. 오픈 플랫폼을 공개한 기업 또는 연구그룹은 깃허브(Github), 자사의 웹을 통해 새로운 또는 개선된 학습 알고리즘과 향상된 하드웨어 활용 기술을 꾸준하게 업데이트 중에 있으며 대다수의 오픈 플랫폼들은 직관적인 사용자 인터페이스 제공을 통한 사용성, CPU 및 GPU를 활용한 학습 모델의 성능, 분산 플랫폼 기반 확장성 등의 향상을 목표로 개발되었다.
구글 브레인팀은 2015년 11월 기존 딥러닝 플랫폼 DistBelief를 개선한 텐서플로우(TensorFlow)를 공개하여 유연하고 확장성이 향상된 결과를 도출하고 학습 과정에서 결과를 직관적인 그래프로 표현하였으며 2017년 5월 구글 개발자 컨퍼런스에서 안드로이드 모바일 플랫폼에서 머신러닝을 활용을 위해 개발한 텐서플로우 라이트 (TensorFlow Lite)를 공개하였다.
아파치 소프트웨어 재단 루씬 프로젝트의 하위 프로젝트인 머하웃(Mahout)은 확장 가능한 머신러닝 라이브러리 구현을 목표로 개발되어, 2010년 아파치 공식 프로젝트 단계인 탑-레벨로 전환하였다. 대용량 데이터 처리 시스템인 하둡 파일 시스템을 사용하였고, 최근 성능과 사용자 편의성이 향상된 스파크 시스템 등을 활용한다.
아파치 소프트웨어 재단 스파크 프로젝트의 내부 프로젝트인 MLlib는 대용량 데이터를 활용하는 빠른 성능의 머신러닝 기술을 제공하고자 개발되어 2013년에 공개되었다. 메모리 기반으로 동작하여 디스크 기반의 머하웃 보다 빠르다고 알려져 있지만, 지원하는 딥러닝 기술이 제한적이다.
페이스북 인공지능 연구그룹이 2017년 7월 공개한 Caffe2는 딥러닝 플랫폼으로써 기존의 Caffe를 기반으로 엔비디아(NVDIA), 퀄컴(Qualcumm), 인텔(Intel), 마이크로소프트(Microsoft) 등 여러 기업들과 연구, 개발하였으며, 학습 모델의 성능, 이식성, 활용성 등을 향상시키는 데에 초점을 맞췄다.
최근 몇 년 사이 머신러닝의 필요성이 높아지고, 동시에 기업 및 학계에서 다양한 머신러닝 플랫폼을 공개하면서, 이를 적용가능한 환경이라면 구체적인 기술을 알지 못하는 사용자도 머신러닝 기반의 애플리케이션 개발이 가능해졌다.
하지만, 머신러닝 플랫폼을 사용하기 위해서는 머신러닝 환경을 구성해야 한다. 예를 들어, 텐서플로우를 사용하기 위해 일반적으로 파이썬 언어가 필요하다. 파이썬 언어를 설치하기 위해 아나콘다와 같은 가상환경을 구축하거나 텐서플로우를 설치하고 텐서플로우 작업을 하기 위해 파이참(PyCharm)과 같은 IDE를 설치하는 복잡한 과정을 거친다. 이런 환경 구성 과정에서 일반 사용자들은 의존성 문제, 버전 호환성 문제 등의 각종 문제에 부딪혀 머신러닝을 수행할 환경 구축에는 진입장벽이 높은 편이다.
본 발명이 이루고자 하는 기술적 과제는 다양한 머신러닝 관련 프레임 워크들을 하나의 플랫폼으로 관리할 수 있는 머신 러닝 플랫폼 관리 시스템 및 방법을 제공하는데 있다.
또한, 머신 러닝 작업을 최적의 노드에 분배하고 실행 결과를 실시간으로 모니터링할 수 있는 머신 러닝 플랫폼 관리 시스템 및 방법을 제공하는데 있다.
또한, 외부 프로그램을 통하여 원격으로 머신러닝을 수행할 수 있는 머신 러닝 플랫폼 관리 시스템 및 방법을 제공하는데 있다.
본 발명의 실시예에 따르면, 외부 프로그램을 통해 등록된 머신러닝 테스크(task) 및 명령어를 관리하는 마스터 노드; 상기 마스터 노드로부터 전달받은 상기 머신러닝 테스크 정보 및 상기 명령어를 분석하여 실행 가능한 하위 노드에 할당하는 세션 노드; 및 상기 세션 노드로부터 할당받은 상기 머신러닝 테스크 정보 및 상기 명령어에 따라 머신러닝을 수행하고, 학습 진행 상황 및 자원 상황을 상기 세션 노드로 보고하는 워커노드를 포함하는 머신 러닝 플랫폼 관리 시스템을 제공한다.
상기 세션 노드는 상기 워커 노드로부터 보고받은 자원 상황에 따라 연산 처리 능력을 분석하고, 분석된 연산 처리 능력을 기준으로 상기 머신러닝 테스크 정보 및 상기 명령어를 할당할 수 있다.
상기 세션 노드는 상기 연산 처리 능력에 따라 순차적으로 정렬된 워커 노드 리스트를 생성하여 상기 워커 노드 리스트에 따라 상기 머신러닝 테스크 정보 및 상기 명령어를 할당할 수 있다.
상기 자원 상황은 CPU자원정보, GPU 자원정보, 메모리 자원정보, 디스크 자원정보, 패키지 버전, 라이브러리 버전, 파이썬 언어 버전, 프레임워크 종류, 프레임워크 버전, 운영체제 종류 및 운영체제 버전 중 적어도 하나를 포함할 수 있다.
상기 세션 노드는 동일한 프레임 워크를 사용하는 적어도 하나의 워커 노드를 관리할 수 있다.
상기 워커 노드는 할당받은 상기 머신 러닝 테스크 정보 및 상기 명령어에 따라 외부 네트워크 저장소에 액세스하여 상기 머신 러닝 테스크 및 학습 데이터 파일을 다운로드 받을 수 있다.
상기 학습 진행 상황은 Loss 값, 학습의 정확도, Validation 값 및 진행율 중 적어도 하나를 포함할 수 있다.
상기 명령어는 상기 머신 러닝 테스크의 할당, 실행, 중지 및 학습 진행 상황 보고 중 적어도 하나를 포함할 수 있다.
본 발명의 실시예에 따르면, 워커 노드가 자원 정보를 세션 노드에 전송하여 연결을 요청하는 단계; 상기 세션 노드가 상기 자원 정보를 통하여 상기 워커 노드가 머신 러닝 수행이 가능한 노드인지 확인하는 단계; 상기 세션 노드가 머신 러닝 수행이 가능한 적어도 하나의 워커 노드를 이용하여 그룹을 형성하는 단계; 마스터 노드가 외부 프로그램을 통하여 머신러닝 테스크(task) 및 명령어를 등록받는 단계; 상기 마스터 노드가 상기 머신러닝 테스크 정보 및 상기 명령어를 상기 세션 노드에 전달하는 단계; 상기 세션 노드가 상기 머신러닝 테스크 정보 및 상기 명령어를 분석하여 실행 가능한 워커 노드에 할당하는 단계; 상기 워커 노드가 상기 세션 노드로부터 할당받은 상기 머신러닝 테스크 정보 및 상기 명령어에 따라 머신러닝을 수행하는 단계; 및 상기 워커 노드가 학습 진행 상황 및 상기 자원 상황을 상기 세션 노드로 보고하는 단계를 포함하는 머신 러닝 플랫폼 관리 방법을 제공한다.
상기 그룹을 형성하는 단계는, 동일한 프레임 워크를 사용하는 적어도 하나의 워커 노드를 이용하여 그룹을 형성할 수 있다.
본 발명인 머신 러닝 플랫폼 관리 시스템 및 방법은 다양한 머신러닝 관련 프레임 워크들을 하나의 플랫폼으로 관리할 수 있다.
또한, 머신 러닝 작업을 최적의 노드에 분배하고 실행 결과를 실시간으로 모니터링할 수 있다.
또한, 외부 프로그램을 통하여 원격으로 머신러닝을 수행할 수 있다.
도1은 실시예에 따른 머신 러닝 플랫폼 관리 시스템의 개념도이다.
도2는 실시예에 따른 마스터 노드의 구성 블록도이다
도3은 실시예에 따른 플랫폼 관리 데이터베이스의 동작을 설명하기 위한 도면이다.
도4는 실시예에 따른 세션 노드의 구성 블록도이다.
도5는 실시예에 따른 워커 노드의 구성 블록도이다.
도6은 실시예에 따른 머신 러닝 플랫폼 관리 방법의 순서도이다.
도7은 실시예에 따른 워커 노드 연결 과정을 설명하기 위한 도면이다.
도8은 실시예에 따른 머신 러닝 테스크 할당 과정을 설명하기 위한 도면이다.
도9은 실시예에 따른 머신 러닝 명령어 실행 과정을 설명하기 위한 도면이다.
도10은 실시예에 따른 자원 모니터링 매니저의 동작을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
다만, 본 발명의 기술 사상은 설명되는 일부 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 기술 사상 범위 내에서라면, 실시 예들간 그 구성 요소들 중 하나 이상을 선택적으로 결합, 치환하여 사용할 수 있다.
또한, 본 발명의 실시예에서 사용되는 용어(기술 및 과학적 용어를 포함)는, 명백하게 특별히 정의되어 기술되지 않는 한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 일반적으로 이해될 수 있는 의미로 해석될 수 있으며, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미를 고려하여 그 의미를 해석할 수 있을 것이다.
또한, 본 발명의 실시예에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함할 수 있고, "A 및(와) B, C 중 적어도 하나(또는 한 개 이상)"로 기재되는 경우 A, B, C로 조합할 수 있는 모든 조합 중 하나 이상을 포함할 수 있다.
또한, 본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다.
이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등으로 한정되지 않는다.
그리고, 어떤 구성 요소가 다른 구성요소에 '연결', '결합' 또는 '접속'된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결, 결합 또는 접속되는 경우뿐만 아니라, 그 구성 요소와 그 다른 구성 요소 사이에 있는 또 다른 구성 요소로 인해 '연결', '결합' 또는 '접속' 되는 경우도 포함할 수 있다.
또한, 각 구성 요소의 "상(위) 또는 하(아래)"에 형성 또는 배치되는 것으로 기재되는 경우, 상(위) 또는 하(아래)는 두 개의 구성 요소들이 서로 직접 접촉되는 경우뿐만 아니라 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 형성 또는 배치되는 경우도 포함한다. 또한, "상(위) 또는 하(아래)"으로 표현되는 경우 하나의 구성 요소를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함할 수 있다.
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도1은 실시예에 따른 머신 러닝 플랫폼 관리 시스템의 개념도이다. 도1을 참조하면, 실시예에 따른 머신 러닝 플랫폼 관리 시스템(1)은 마스터 노드(10), 세션 노드(20) 및 워커 노드(30)를 포함하여 구성될 수 있다. 실시예에서 하나의 마스터 노드(10)는 복수개의 세션 노드(20)를 관리할 수 있으며, 하나의 세션 노드(20)는 복수개의 워커 노드(30)를 관리할 수 있다. 즉, 마스터 노드(10)의 하위 노드는 세션 노드(20)이고, 세션 노드(20)의 하위 노드는 워커 노드(30)로 정의될 수 있다.
마스터 노드(10)는 외부 프로그램(2)을 통해 등록된 머신러닝 테스크(task) 및 명령어를 관리할 수 있다. 실시예에서 외부 프로그램(2)은 웹 클라이언트일 수 있다.
도2는 실시예에 따른 마스터 노드의 구성 블록도이다. 도2를 참조하면, 마스터 노드(10)는 자원 모니터링 매니저(11), 테스크 매니저(12), 명령 처리기(13), 클라이언트 매니저(14) 및 플랫폼 관리 데이터베이스(15)를 포함하여 구성될 수 있다.
자원 모니터링 매니저(11)는 연결되어 있는 각 세션 노드(20)가 관리하는 워커 노드(30)들의 자원들을 모니터링할 수 있다. 또한, 자원 모니터링 매니저(11)는 플랫폼 내의 머신 러닝을 위해 사용할 수 있는 자원 상황을 확인할 수 있다.
자원 상황은 하드웨어 자원 상황 및 소프트웨어 자원 상황으로 분류할 수 있다. 하드웨어 자원 상황은 CPU자원정보, GPU 자원정보, 메모리 자원정보, 디스크 자원정보 등을 포함할 수 있다. 구체적으로 하드웨어 자원 상황은 각 CPU 및 GPU의 연산처리 능력 단위인 GFLOPS, 메모리의 사용량 및 전체 크기, 디스크의 사용량 및 전체 크기 정보로 나타낼 수 있다. 소프트웨어 자원 상황은 패키지 버전, 라이브러리 버전, 파이썬 언어 버전, 프레임워크 종류, 프레임워크 버전, 운영체제 종류 및 운영체제 버전 등을 포함할 수 있다.
자원 모니터링 매니저(11)는 플랫폼 내의 전체 가용자원을 파악함으로써 각 세션 노드(20) 및 워커 노드(30)의 가용자원을 파악할 수 있다. 자원 모니터링 매니저(11)는 자원 상황을 외부 프로그램(2)에 전송하여 사용자가 실시간으로 플랫폼 자원상황을 파악하도록 제공할 수 있다.
또한, 자원 모니터링 매니저(11)는 세션 노드(20)의 자원상황에 따라 머신러닝 테스크를 분배하며 프레임워크 별 머신러닝 테스크의 수행 요청량에 따라 세션 노드(20) 당 워커 노드(30)의 할당을 재구성할 수 있다.
테스크 매니저(12)는 외부 프로그램(2)을 통해 학습 파일 및 데이터 세트(Dataset)을 플랫폼에 등록하는 기능을 제공할 수 있다. 테스크 매니저(12)는 세션 노드(20)에 머신 러닝 테스크 정보를 전송할 수 있다. 외부 프로그램(2)을 통하여 등록된 학습 파일 및 데이터 세트는 외부 네트워크 저장소(3)에서 각 테스크별 고유 폴더에 저장될 수 있다. 테스크 매니저(12)는 해당 고유 폴더의 정보 및 사용자 정보를 플랫폼 관리 데이터베이스(15)에 갱신하여 저장할 수 있다. 워커 노드(30)는 머신 러닝 수행시 플랫폼 관리 데이터베이스(15)에 저장된 테스크 정보를 바탕으로 외부 네트워크 저장소(3)에 액세스하여 해당 테스크를 다운받아 학습을 진행할 수 있다.
명령 처리기(13)는 외부 프로그램(2)을 통해 사용자가 등록한 테스크에 대해 머신 러닝과 관련한 명령어를 처리할 수 있다. 사용자가 머신 러닝 실행과 관련한 명령어를 외부 프로그램을 통해 입력하면, 명령 처리기(13)는 해당 테스크 정보를 플랫폼 관리 데이터베이스(15)에서 확인하고 세션 노드(20)에 머신 러닝 테스크 정보 및 명령어를 전달할 수 있다.
클라이언트 매니저(14)는 외부 프로그램(2)으로부터 등록된 사용자 정보를 관리할 수 있다. 사용자 정보는 ID, Passwd, 권한과 관련한 정보를 포함할 수 있다. 등록된 사용자 정보는 플랫폼 관리 데이터베이스(15)에 갱신되어 저장될 수 있다.
플랫폼 관리 데이터베이스(15)는 플랫폼의 머신러닝 테스크, 사용자 정보, 데이터, 학습실행결과 Log 정보를 저장할 수 있다.
도3은 실시예에 따른 플랫폼 관리 데이터베이스의 동작을 설명하기 위한 도면이다. 도3을 참조하면, 사용자와 관련된 정보는 User Table로 관리되며 Idx 항목은 Task Table의 user_idx와 연결되어 사용자가 등록한 Task를 구분하는 데에 사용될 수 있다. User Table은 사용자의 id, 비밀번호, 권한을 관리한다.
테스크와 관련된 정보는 Task Table로 관리되며 Idx는 Log Table의 Task_idx와 연결되어 테스크와 머신러닝 수행으로 인한 결과값인 로그가 연결되어 학습을 실행한 테스크의 결과 정보 로그를 구분하는 데에 사용된다. Task Table은 테스크의 사용자id, 학습 상태, 명칭, 할당된 세션 노드의 Ip 및 연결 포트, 할당된 워커 노드의 Ip 및 연결 포트, 워커 노드에서 실행될 때의 프로세스 ID, 진행률, 학습의 정확도, Task의 등록된 시간으로 구성된 정보를 관리한다.
테스크의 수행 결과값은 Log Table로 관리되며 테스크의 idx와 Log Table의 Task_idx와 연결되어 각 테스크의 결과값들을 구분하는 데에 사용될 수 있다. Log Table은 결과값의 순서, 머신 러닝 수행으로 인한 결과의 출력물들을 관리한다.
Data Table은 테스크의 User_idx와 연결되어 관리되어 각 테스크의 데이터세트를 구분하는 데에 사용될 수 있다. Data Table은 머신러닝을 수행할 데이터에 대한 내용으로 데이터세트의 이름, 사용자의 메모, 등록된 시각, 외부 네트워크 저장소에 저장된 경로로 구성된 정보를 관리한다.
세션 노드(20)는 마스터 노드(10)로부터 전달받은 머신러닝 테스크 정보 및 명령어를 분석하여 실행 가능한 하위 노드에 할당할 수 있다.
세션 노드(20)는 워커 노드(30)로부터 보고받은 자원 상황에 따라 연산 처리 능력을 분석하고, 분석된 연산 처리 능력을 기준으로 머신러닝 테스크 정보 및 명령어를 할당할 수 있다.
또한, 세션 노드(20)는 연산 처리 능력에 따라 순차적으로 정렬된 워커 노드 리스트를 생성하여 워커 노드 리스트에 따라 머신러닝 테스크 정보 및 명령어를 할당할 수 있다.
세션 노드(20)는 동일한 프레임 워크를 사용하는 적어도 하나의 워커 노드를 관리할 수 있다.
도4는 실시예에 따른 세션 노드의 구성 블록도이다. 도4를 참조하면, 세션 노드(20)는 명령 분석기(21) 및 워커 노드 매니저(22)를 포함하여 구성될 수 있다.
명령 분석기(21)는 마스터 노드(10)로부터 전달받은 머신 러닝 테스크에 대한 명령어를 해석하여 적합한 워커 노드(30)에 전달할 수 있다. 명령어는 머신 러닝 테스크의 할당, 실행, 중지 및 학습 진행 상황 보고 중 적어도 하나를 포함할 수 있다. 마스터 노드(10)로부터 전달받은 명령어는 분석 과정을 거쳐 적합한 테스크를 수행할 수 있는 워커 노드(30)에 전달된다.
워커 노드 매니저(22)는 실시간으로 관리하는 워커 노드의 자원을 모니터링할 수있다. 워커 노드 매니저(22)는 실시간으로 각 워커 노드로부터 하드웨어 자원 상황은 CPU자원정보, GPU 자원정보, 메모리 자원정보, 디스크 자원정보, 패키지 버전, 라이브러리 버전, 파이썬 언어 버전, 프레임워크 종류, 프레임워크 버전, 운영체제 종류 및 운영체제 버전 중 적어도 하나를 포함하는 자원 상황을 보고받을 수 있다. 워커 노드 매니저(22)는 각 워커 노드로부터 보고받은 자원 상황을 바탕으로 관리하는 워커 노드(30)의 자원 상황에 따라 높은 연산처리 능력(GFLOPS) 순으로 워커 노드 리스트를 생성할 수 있다.
워커 노드 리스트는 워커 노드 매니저(22)가 모니터링 된 자원 상황을 바탕으로 연산처리 능력이 높은 순으로 워커 노드를 정렬시킨 리스트를 의미할 수 있다. 워커 노드 매니저(22)는 자원 상황을 모니터링 하는 주기에 따라 자원 상황이 변결될 때마다 워커 노드의 상황을 반영하여 워커 노드 리스트를 갱신할 수 있다. 이를 통하여 플랫폼 내에 부여되는 머신 러닝 테스크가 최적의 처리 능력을 보유한 워커 노드(30)에 의하여 실시간으로 빠르게 처리될 수 있도록 한다.
워커 노드 매니저(22)는 마스터 노드로부터 워커 노드 재구성 명령을 전송받게 되면 세션 노드를 변경할 워커 노드에 할당되는 세션 노드의 연결 정보를 전송한다.
워커 노드(30)는 세션 노드(20)로부터 할당받은 머신러닝 테스크 정보 및 명령어에 따라 머신러닝을 수행하고, 학습 진행 상황 및 자원 상황을 세션 노드로 보고할 수 있다.
워커 노드(30)는 할당받은 머신 러닝 테스크 정보 및 명령어에 따라 외부 네트워크 저장소에 액세스하여 머신 러닝 테스크 및 학습 데이터 파일을 다운로드 받을 수 있다.
학습 진행 상황은 Loss 값, 학습의 정확도, Validation 값 및 진행율 중 적어도 하나를 포함할 수 있다.
도5는 실시예에 따른 워커 노드의 구성 블록도이다. 도5를 참조하면, 실시예에 따른 워커 노드(30)는 테스크 실행기(31) 및 자원 관리 모듈(32)을 포함하여 구성될 수 있다.
테스크 실행기(31)는 세션 노드(20)로부터 주어진 머신 러닝 테스크 정보에 따라 머신 러닝을 수행할 환경을 세팅할 수 있다. 테스크 실행기(31)는 머신 러닝 테스크 정보에 따라 관련된 파이썬 버전 확인, 머신러닝 프레임워크 버전 확인, 외부 네트워크 저장소로부터 학습 데이터 세트 및 테스크 파일 다운로드를 수행하여 환경 세팅을 수행할 수 있다.
테스크 실행기(31)는 세션 노드(20)로부터 전달받은 머신러닝 수행 명령어에 따라 해당 테스크의 학습 실행, 학습 중지, 학습 진행 상황 보고를 수행할 수 있다. 테스크의 학습 실행은 세팅된 테스크의 환경에서 머신 러닝 수행을 요청하는 명령어이다. 테스크의 학습 중지는 진행 중인 학습 중단을 요청하는 명령어이다. 테스크의 학습 진행 상황 보고는 머신 러닝을 수행하면서 나오는 학습실행결과 Log의 보고를 요청하는 명령어이다. 테스크 실행기(31)는 학습 진행의 결과 모델 파일을 관리하며 플랫폼 관리 데이터베이스(15)에 해당 테스크와 학습 진행 결과 Log를 갱신할 수 있다.
자원 관리 모듈(32)은 주기적으로 워커 노드(30)의 하드웨어 및 소프트웨어 자원상황을 세션 노드(20)에 보고할 수 있다. 하드웨어 자원은 워커 노드(30)의 CPU/GPU의 연산처리 능력 및 실시간 연산처리 능력 사용률, 전체 메모리 및 실시간 메모리의 사용률, 전체 디스크 및 디스크의 사용률이다. 실시간 하드웨어 자원상황은 세션 노드가 워커 노드에 머신 러닝 테스크를 할당하는 주요 지표로 사용될 수 있다. 소프트웨어웨어 자원상황은 워커 노드가 세션 노드에 등록할 때의 설치된 패키지, 라이브러리, 가상환경 목록이다. 소프트웨어 자원이 새로 설치되거나 제거되는 경우, 워커 노드의 변경된 소프트웨어 자원 상황은 세션 노드에 전송되어 갱신될 수 있다.
도6은 실시예에 따른 머신 러닝 플랫폼 관리 방법의 순서도이다.
먼저, 워커 노드는 자원 정보를 세션 노드에 전송하여 연결을 플랫폼에 등록및 연결을 요청한다(S610).
다음으로, 세션 노드는 자원 정보를 통하여 워커 노드가 머신 러닝 수행이 가능한 노드인지 확인한다(S620).
다음으로, 세션 노드는 머신 러닝 수행이 가능한 적어도 하나의 워커 노드를 이용하여 그룹을 형성한다. 이 때, 세션 노드는 동일한 프레임 워크를 사용하는 적어도 하나의 워커 노드를 이용하여 그룹을 형성한다(S630).
다음으로, 마스터 노드는 외부 프로그램을 통하여 머신러닝 테스크(task) 및 명령어를 등록받는다(S640).
다음으로, 마스터 노드는 머신러닝 테스크 정보 및 명령어를 세션 노드에 전달한다(S650).
다음으로, 세션 노드는 머신러닝 테스크 정보 및 명령어를 분석하여 실행 가능한 워커 노드에 할당한다(S660).
다음으로, 워커 노드는 세션 노드로부터 할당받은 머신러닝 테스크 정보 및 명령어에 따라 머신러닝을 수행한다(S670).
다음으로, 워커 노드는 학습 진행 상황 및 자원 상황을 세션 노드로 보고한다(S680).
도7은 실시예에 따른 워커 노드 연결 과정을 설명하기 위한 도면이다. 도7을 참조하면, 워커 노드는 실행시 세션 노드에 자동으로 연결요청을 한다. 이 때 워커 노드는 자신의 하드웨어 자원 상황 및 소프트웨어 자원 상황을 연결 요청과 함께 전송한다(S701).
세션 노드의 워커 노드 매니저는 워커 노드의 연결요청을 수신한다. 세션 노드의 워커 노드 매니저는 마스터 노드에 등록된 머신 러닝 테스크를 실행할 수 있는 프레임워크가 설치된 워커 노드인지 확인한다. 워커 노드 매니저는 학습 수행이 가능한 워커 노드임을 확인하면 해당 워터 노드를 워커 노드 리스트에 추가한다(S702).
동시에 마스터 노드의 자원 모니터링 매니저는 세션 노드가 관리하는 워커 노드에 대한 정보를 갱신하여 새로운 워커 노드의 자원 상황을 반영한다(S703).
자원 모니터링 매니저는 외부 프로그램에 각 세션 노드 및 워커 노드의 연결을 반영한 자원 상황을 제공한다(S704).
도8은 실시예에 따른 머신 러닝 테스크 할당 과정을 설명하기 위한 도면이다. 도8을 참조하면, 외부 프로그램을 통해 사용자가 플랫폼에 등록되면 클라이언트 매니저로 사용자의 정보가 전달된다(S801).
사용자 정보는 플랫폼 관리 데이터베이스에 등록된다(S802).
등록된 사용자는 외부 프로그램을 통하여 머신 러닝 테스크를 등록할 수 있다(S803).
사용자가 머신 러닝 테스크를 등록하면 머신 러닝 테스크의 데이터 세트 및 학습 파일이 외부 네트워크 저장소에 업로드된다(S804).
또한 외부 네트워크 저장소에 해당 머신 러닝 테스크 파일의 위치가 포함된 머신 러닝 테스크 정보를 테스크 매니저로 전송하면, 테스크 매니저는 플랫폼 관리 데이터 베이스에 머신 러닝 테스크 정보를 등록한다(S805).
테스크 매니저는 등록된 테스크의 머신 러닝 실행환경을 확인하여 머신 러닝이 실행 가능한 워커 노드를 관리하는 세션 노드에 테스크 정보를 전달한다(S806).
워커 노드 매니저는 워커 노드 리스트를 통하여 테스크를 할당할 워커 노드를 선정한다(S807).
워커 노드 매니저는 선정된 워커 노드에 테스크 정보를 전달한다(S808).
워커 노드는 테스크 정보를 바탕으로 외부 네트워크 저장소에 액세스하여 테스크의 데이터 세트 및 학습 데이터 파일을 다운로드 받는다(S809).
도9은 실시예에 따른 머신 러닝 명령어 실행 과정을 설명하기 위한 도면이다. 도9를 참조하면, 외부 프로그램으로부터 마스터 노드에 등록된 테스크의 원격 수행 명령이 전송된다(S901).
명령 처리기는 플랫폼 관리 데이터베이스에 테스크 정보를 요청하고 테스크 정보를 로드하여, 테스크를 전달받은 세션 노드에 테스크 정보 및 명령어를 전송한다(S902~904).
명령 분석기는 명령어를 분석하여 테스크가 할당된 워커 노드에 명령을 전송한다(S905).
워커 노드는 등록된 테스크와 수신된 명령어를 수행한다. 테스크를 수행하면서 출력되는 학습 모델과 같은 학습 수행 결과 파일들은 외부 네트워크 저장소의 해당 테스크 폴더에 저장된다(S906).
학습 수행을 진행하면서 출력되는 중간 결과값과 같은 Log들은 플랫폼 관리 데이터베이스에 갱신된다(S907).
워커 노드는 명령 수행 결과를 명령 분석기에 전송하여 명령이 올바르게 수행되었는지 여부를 세션 노드에 보고한다(S908).
명령 분석기는 명령 처리기에 명령 수행 결과를 전송하여 마스터 노드에 전달한다(S909).
학습 수행 결과가 외부 프로그램에 전송되면 플랫폼 관리 데이터베이스에 접근하여 해당 학습 수행 Log를 전송받는다(S910~911).
사용자는 학습 수행 Log를 통해 현재 머신 러닝의 진행상황 및 중간 결과값 등을 확인할 수 있다. 또한 사용자는 외부 프로그램을 통하여 외부 네트워크 저장소에 저장된 학습 수행 결과 파일을 실시간으로 다운로드 받을 수 있다(S912).
도10은 본 발명의 실시예에 따른 자원 모니터링 매니저의 동작을 설명하기 위한 도면이다.
도10을 참조하면, 마스터 노드의 자원 모니터링 매니저는 자원상황을 바탕으로 특정 프레임워크에 머신러닝 테스크의 부하가 집중될 경우, 머신러닝 테스크의 부하 분산을 위한 필요성을 판단한다. 자원 모니터링 매니저는 GFLOPS의 사용률, 메모리 사용률 및 디스크 사용률 중 적어도 하나에 따라 머신 러닝 테스크에 대한 부하 분산의 필요성을 판단할 수 있다(S1001).
마스터 노드의 자원 모니터링 매니저는 부하 분산을 위하여 세션 노드 B를 추가하는 명령을 세션 노드 A 및 B에 전송하여 워커 노드 재구성 명령을 내린다. 이는 실시간으로 모니터링되는 자원상황과 플랫폼 내 부여된 머신 러닝 테스크에 따라 효율적으로 부하분산을 하기 위함이다. 마스터 노드는 세션 노드 B에 할당이 가능한 워커 노드를 선정한다. 마스터 노드는 재구성 명령을 위해 변경될 세션 노드 및 워커 노드의 정보를 각각의 세션 노드 A 및 B에게 전송한다(S1002).
세션 노드 A는 새로 할당되는 세션 노드 B의 연결 정보를 워커노드에 전송한다(S1003).
워커 노드는 새로 할당되는 세션 노드 B에 연결을 수행하고, 세션 노드 B에게 자원 상황을 보고한다(S1004).
세션 노드 B는 워커 노드 매니저를 통하여 워커 노드 리스트에 새로 할당된 워커 노드를 추가하고 자원을 관리한다(S1005).
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 외부 프로그램을 통해 등록된 머신러닝 테스크(task) 및 명령어를 관리하는 마스터 노드;
    상기 마스터 노드로부터 전달받은 상기 머신러닝 테스크 정보 및 상기 명령어를 분석하여 실행 가능한 하위 노드에 할당하는 세션 노드; 및
    상기 세션 노드로부터 할당받은 상기 머신러닝 테스크 정보 및 상기 명령어에 따라 머신러닝을 수행하고, 학습 진행 상황 및 자원 상황을 상기 세션 노드로 보고하는 워커노드를 포함하는 머신 러닝 플랫폼 관리 시스템.
  2. 제1항에 있어서,
    상기 세션 노드는 상기 워커 노드로부터 보고받은 자원 상황에 따라 연산 처리 능력을 분석하고, 분석된 연산 처리 능력을 기준으로 상기 머신러닝 테스크 정보 및 상기 명령어를 할당하는 머신 러닝 플랫폼 관리 시스템.
  3. 제2항에 있어서,
    상기 세션 노드는 상기 연산 처리 능력에 따라 순차적으로 정렬된 워커 노드 리스트를 생성하여 상기 워커 노드 리스트에 따라 상기 머신러닝 테스크 정보 및 상기 명령어를 할당하는 머신 러닝 플랫폼 관리 시스템.
  4. 제1항 또는 제2항에 있어서,
    상기 자원 상황은 CPU자원정보, GPU 자원정보, 메모리 자원정보, 디스크 자원정보, 패키지 버전, 라이브러리 버전, 파이썬 언어 버전, 프레임워크 종류, 프레임워크 버전, 운영체제 종류 및 운영체제 버전 중 적어도 하나를 포함하는 머신 러닝 플랫폼 관리 시스템.
  5. 제1항에 있어서,
    상기 세션 노드는 동일한 프레임 워크를 사용하는 적어도 하나의 워커 노드를 관리하는 머신 러닝 플랫폼 관리 시스템.
  6. 제1항에 있어서,
    상기 워커 노드는 할당받은 상기 머신 러닝 테스크 정보 및 상기 명령어에 따라 외부 네트워크 저장소에 액세스하여 상기 머신 러닝 테스크 및 학습 데이터 파일을 다운로드 받는 머신 러닝 플랫폼 관리 시스템.
  7. 제1항에 있어서,
    상기 학습 진행 상황은 Loss 값, 학습의 정확도, Validation 값 및 진행율 중 적어도 하나를 포함하는 머신 러닝 플랫폼 관리 시스템.
  8. 제1항에 있어서,
    상기 명령어는 상기 머신 러닝 테스크의 할당, 실행, 중지 및 학습 진행 상황 보고 중 적어도 하나를 포함하는 머신 러닝 플랫폼 관리 시스템.
  9. 워커 노드가 자원 정보를 세션 노드에 전송하여 연결을 요청하는 단계;
    상기 세션 노드가 상기 자원 정보를 통하여 상기 워커 노드가 머신 러닝 수행이 가능한 노드인지 확인하는 단계;
    상기 세션 노드가 머신 러닝 수행이 가능한 적어도 하나의 워커 노드를 이용하여 그룹을 형성하는 단계;
    마스터 노드가 외부 프로그램을 통하여 머신러닝 테스크(task) 및 명령어를 등록받는 단계;
    상기 마스터 노드가 상기 머신러닝 테스크 정보 및 상기 명령어를 상기 세션 노드에 전달하는 단계;
    상기 세션 노드가 상기 머신러닝 테스크 정보 및 상기 명령어를 분석하여 실행 가능한 워커 노드에 할당하는 단계;
    상기 워커 노드가 상기 세션 노드로부터 할당받은 상기 머신러닝 테스크 정보 및 상기 명령어에 따라 머신러닝을 수행하는 단계; 및
    상기 워커 노드가 학습 진행 상황 및 상기 자원 상황을 상기 세션 노드로 보고하는 단계를 포함하는 머신 러닝 플랫폼 관리 방법.
  10. 제9항에 있어서,
    상기 그룹을 형성하는 단계는,
    동일한 프레임 워크를 사용하는 적어도 하나의 워커 노드를 이용하여 그룹을 형성하는 머신 러닝 플랫폼 관리 방법.
PCT/KR2020/002167 2019-05-02 2020-02-14 머신 러닝 플랫폼 관리 시스템 및 방법 WO2020222407A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0051638 2019-05-02
KR1020190051638A KR102224487B1 (ko) 2019-05-02 2019-05-02 머신 러닝 플랫폼 관리 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2020222407A1 true WO2020222407A1 (ko) 2020-11-05

Family

ID=73028855

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/002167 WO2020222407A1 (ko) 2019-05-02 2020-02-14 머신 러닝 플랫폼 관리 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR102224487B1 (ko)
WO (1) WO2020222407A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022169136A1 (en) * 2021-02-02 2022-08-11 Samsung Electronics Co., Ltd. Method, system and apparatus for federated learning

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102538389B1 (ko) * 2020-11-12 2023-05-31 숭실대학교 산학협력단 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법, 이를 수행하기 위한 기록 매체 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090065133A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 분산 병렬 처리 시스템에서 태스크 스레드 그룹별 태스크분배 장치, 방법 및 처리 방법
JP2013073301A (ja) * 2011-09-27 2013-04-22 Hitachi Ltd 分散計算機システム及び分散計算機システムの制御方法
KR20180028004A (ko) * 2016-09-07 2018-03-15 한국전자통신연구원 복수의 워커 노드가 분산된 환경에서 데이터 스트림을 분석하고 처리하는 방법 및 장치, 그리고 태스크를 관리하는 방법 및 장치
US20180331897A1 (en) * 2016-01-30 2018-11-15 Huawei Technologies Co.,Ltd. Method and device for training model in distributed system
US20180341525A1 (en) * 2017-05-23 2018-11-29 Kla-Tencor Corporation Scalable and Flexible Job Distribution Architecture for a Hybrid Processor System to Serve High Bandwidth Real Time Computational Systems Used in Semiconductor Inspection and Metrology Systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090065133A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 분산 병렬 처리 시스템에서 태스크 스레드 그룹별 태스크분배 장치, 방법 및 처리 방법
JP2013073301A (ja) * 2011-09-27 2013-04-22 Hitachi Ltd 分散計算機システム及び分散計算機システムの制御方法
US20180331897A1 (en) * 2016-01-30 2018-11-15 Huawei Technologies Co.,Ltd. Method and device for training model in distributed system
KR20180028004A (ko) * 2016-09-07 2018-03-15 한국전자통신연구원 복수의 워커 노드가 분산된 환경에서 데이터 스트림을 분석하고 처리하는 방법 및 장치, 그리고 태스크를 관리하는 방법 및 장치
US20180341525A1 (en) * 2017-05-23 2018-11-29 Kla-Tencor Corporation Scalable and Flexible Job Distribution Architecture for a Hybrid Processor System to Serve High Bandwidth Real Time Computational Systems Used in Semiconductor Inspection and Metrology Systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022169136A1 (en) * 2021-02-02 2022-08-11 Samsung Electronics Co., Ltd. Method, system and apparatus for federated learning

Also Published As

Publication number Publication date
KR20200127467A (ko) 2020-11-11
KR102224487B1 (ko) 2021-03-08

Similar Documents

Publication Publication Date Title
WO2019117593A1 (ko) 컨테이너 기반의 자원 할당을 지원하는 클라우드 컴퓨팅 장치 및 방법
WO2017030252A1 (ko) 컨테이너 이미지 보안 검사 방법 및 그 장치
WO2020162680A1 (ko) 마이크로서비스 시스템 및 방법
WO2020222407A1 (ko) 머신 러닝 플랫폼 관리 시스템 및 방법
WO2013035904A1 (ko) 생명 정보 분석 파이프라인 처리 시스템 및 방법
WO2019198885A1 (ko) 블록체인 기반의 다수의 서비스 노드를 사용하는 탈중앙화 서비스 플랫폼
WO2014069827A1 (en) System and method for providing data analysis service in a cloud environment
WO2012033237A1 (ko) 시스템 테스트 방법
WO2020138605A1 (ko) 사용자 특성을 반영한 클러스터 기반 가상 네트워크 기능의 자원 할당 방법
WO2014142553A1 (ko) 워크 로드에 따라 동적 자원 할당 가능한 상호 연결 패브릭 스위칭 장치 및 방법
WO2011065660A2 (ko) 계산 시뮬레이션 모사 시스템 및 그 방법
WO2014181970A1 (ko) 휴대 단말의 어플리케이션 데이터 관리 방법 및 그 장치
WO2013168947A1 (ko) 모니터링 자원의 사용량 표현 방법, 컴퓨팅 장치 및 그 방법을 실행시키기 위한 프로그램을 기록한 기록 매체
WO2022124720A1 (ko) 운영체제 커널 메모리의 실시간 오류 검출 방법
WO2013027922A1 (ko) 클라우드 컴퓨팅 시스템의 압축 이미지 파일 관리 장치 및 방법
WO2016003127A1 (ko) 서버/스토리지 관리 시스템
WO2014092292A1 (ko) 클라우드 스트리밍 기반의 데이터 이동 방법, 시스템, 클라이언트 단말기 및 서비스장치
WO2013180359A1 (ko) 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법
WO2013085089A1 (ko) M2m 클라우드 환경에서 통신망 자원 활용 방법 및 그 시스템
WO2022124467A1 (ko) 오케스트레이터 환경에서의 프로세스 마이그레이션을 위한 컨테이너 관리 장치 및 관리 방법
Naydenov et al. Cloud Container Service Orchestrated with Kubernetes: A State-of-the-Art Technology Review and Application Proposal
WO2022234995A1 (ko) 트러블 슈팅을 위한 프로젝트 서버의 복제 방법 및 이를 이용한 클라우드 개발 플랫폼 시스템
WO2023090784A1 (ko) 단일 엔드포인트를 이용한 ai 모델 운영 장치 및 방법
WO2023120813A1 (ko) 네트워크 엣지간 상호 모니터링을 통한 서버리스 컴퓨팅 방법 및 장치
WO2020184982A1 (ko) 이종클러스터 시스템에서 실행되는 프로그램을 실행시키는 방법 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20798292

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20798292

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 220422)

122 Ep: pct application non-entry in european phase

Ref document number: 20798292

Country of ref document: EP

Kind code of ref document: A1