KR20220064859A - 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법, 이를 수행하기 위한 기록 매체 및 장치 - Google Patents

이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법, 이를 수행하기 위한 기록 매체 및 장치 Download PDF

Info

Publication number
KR20220064859A
KR20220064859A KR1020200186862A KR20200186862A KR20220064859A KR 20220064859 A KR20220064859 A KR 20220064859A KR 1020200186862 A KR1020200186862 A KR 1020200186862A KR 20200186862 A KR20200186862 A KR 20200186862A KR 20220064859 A KR20220064859 A KR 20220064859A
Authority
KR
South Korea
Prior art keywords
machine learning
task
server
level
load balancing
Prior art date
Application number
KR1020200186862A
Other languages
English (en)
Other versions
KR102538389B1 (ko
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 KR20220064859A publication Critical patent/KR20220064859A/ko
Application granted granted Critical
Publication of KR102538389B1 publication Critical patent/KR102538389B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법은, 하나의 바텀 레벨(Bottom level) 서버 및 상기 바텀 레벨 서버를 공유하는 두 개의 탑 레벨(Top level) 서버로 구성되는 완전 이진 트리 구조를 가지는 기계학습 플랫폼의 모든 서버에 대해 가중치를 계산하는 단계; 상기 기계학습 플랫폼에 기계학습 태스크가 입력되면, 서로 다른 두 개의 해시 값을 반환하는 단계; 반환된 해시 값을 기초로 선택된 탑 레벨 서버의 가중치를 비교하여 기계학습 태스크를 할당할 서버를 초기 할당하는 단계; 및 일정 시간마다 또는 기계학습 태스크의 초기 할당에 실패하는 경우, 수행 중인 전체 기계학습 태스크를 대상으로 태스크 재배치를 수행하는 단계;를 포함한다. 이에 따라, 기계학습 플랫폼의 구조를 레벨 해시 구조로 변경하여 로드 밸런싱을 수행하므로 효율적인 기계학습 태스크 수행을 제공할 수 있다.

Description

이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법, 이를 수행하기 위한 기록 매체 및 장치{METHOD OF LOAD BALANCING FOR HETEROGENEOUS DISTRIBUTE MACHINE LEARNING PLATFORM ENVIRONMENT, RECORDING MEDIUM AND DEVICE FOR PERFORMING THE METHOD}
본 발명은 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 기존 머신러닝을 위한 통합 원격 학습 실행관리 플랫폼의 구조를 레벨 해시 구조 기반으로 변경하고 그에 따른 로드 밸런싱 방법을 도입하여 기계학습 플랫폼의 성능을 향상시키기 위한 기술에 관한 것이다.
머신러닝을 위한 통합 원격 실행 플랫폼은 마스터 노드, 세션 노드, 워커 노드로 구성되며 별도의 외부 네트워크 저장소를 가진다. 외부 프로그램을 통해 사용자는 손쉽게 플랫폼에 접근한다. 사용자는 머신러닝을 수행할 대상인 태스크(Task)를 등록한다.
태스크 는 머신러닝을 수행할 프레임워크에 맞게 세션 노드에 할당된다. 세션 노드는 해당 태스크를 수행이 가능하며 연산처리 능력이 가장 좋은 워커 노드에 할당한다. 사용자는 외부 프로그램을 통해 워커 노드에서 수행할 머신러닝 관련 명령어를 내리면 워커 노드에 전달된다. 워커 노드는 사용자의 명령어를 수행한다.
마스터 노드는 플랫폼 내의 연결된 워커 노드들의 자원을 모니터링하는 기능, 태스크 학습 진행 상황을 확인하는 기능, 태스크를 플랫폼에 업로드하는 기능, 외부 프로그램으로부터 사용자의 명령을 받아 사용자의 태스크를 수행 명령을 전달하는 기능, 사용자의 태스크 및 데이터 셋을 관리하는 기능을 가진다.
세션 노드는 같은 프레임워크로 구성된 워커 노드들을 관리한다. 각 세션 노드는 관리하는 워커 노드들의 자원을 모니터링하는 기능, 마스터 노드로부터 받은 명령어를 워커 노드에 전달하는 기능을 제공한다.
워커 노드는 세션 노드로부터 전달받은 태스크에 해당하는 머신러닝을 수행한다. 워커 노드는 플랫폼의 태스크에 대한 머신러닝을 수행하는 기능과 주기적으로 워커 노드의 자원상황을 세션 노드에 보고하는 기능을 제공한다. 태스크 실행기를 통해 태스크의 머신러닝 수행환경을 세팅하고 머신러닝의 데이터 셋을 외부 네트워크 저장소로부터 다운로드 받는다.
세션 노드로부터 머신러닝 수행 명령어가 전달되면 준비된 머신러닝 수행환경에서 학습이 진행된다. 자원관리 모듈을 통해 정해진 실시간으로 워커 노드의 자원상황을 세션 노드에 보고한다. 자원상황은 주기적으로 세션 노드에 보고되며 플랫폼에 할당된 태스크를 수행하기 위한 워커 노드 선정에 활용된다.
일반적으로 사용되는 네트워크 로드 밸런싱으로는 최소 반응 시간, 최소 로드 수, 라운드 로빈, 가중치 서버, 해시 등이 있다. 최소 반응 시간은 로드 분산 요청을 각 서버에 보냈을 때 가장 빠르게 응답하는 서버에 로드를 할당하는 방법이다. 최소 로드 수는 현재 수행중인 로드가 가장 적은 서버에 로드를 할당하는 방법이다.
라운드 로빈은 각 서버에 정해진 순서대로 로드를 할당하는 방법이다. 가중치 서버는 각 서버에 가중치를 부여하고 로드를 할당할 때 각 서버의 가중치를 참고하여 가중치에 따라 로드를 할당하는 방법이다. 마지막으로 해시는 로드의 특정 값에 해시 함수를 적용하여 로드의 할당 대상 서버를 결정하는 방법이다.
기존 머신러닝을 위한 통합 원격 실행 플랫폼은 워커 노드를 CPU/GPU 연산처리능력인 GFLOPS 기준으로 정렬하여 할당하였다. 그러나, 이는 단순한 방법의 로드 밸런싱 기법으로써 균형 있게 로드를 분배한다고 할 수 없으며 기계학습 태스크 수행 중 로드 재분배를 수행하지 않는다.
또한, 해시 기법을 포함한 기존의 네트워크 로드 밸런싱의 경우 일반적으로 로드의 계산이 단순하다. 기존의 네트워크 로드 밸런싱은 로드의 계산이 단순하고 시간이 적게 소요됨에 따라 서버의 로드 정보 및 시스템 정보를 짧은 주기로 확인하며 로드의 재분배도 자주 발생한다. 따라서, 대부분 계산이 복잡하고 시간이 오래 소요되는 기계학습 태스크에 기존의 네트워크 로드 밸런싱을 적용하는 것은 적절하지 않다.
KR 10-2114482 B1 JP 6173958 B2 KR 10-2085132 B1
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법을 수행하기 위한 장치를 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법은, 하나의 바텀 레벨(Bottom level) 서버 및 상기 바텀 레벨 서버를 공유하는 두 개의 탑 레벨(Top level) 서버로 구성되는 완전 이진 트리 구조를 가지는 기계학습 플랫폼의 모든 서버에 대해 가중치를 계산하는 단계; 상기 기계학습 플랫폼에 기계학습 태스크가 입력되면, 서로 다른 두 개의 해시 값을 반환하는 단계; 반환된 해시 값을 기초로 선택된 탑 레벨 서버의 가중치를 비교하여 기계학습 태스크를 할당할 서버를 초기 할당하는 단계; 및 일정 시간마다 또는 기계학습 태스크의 초기 할당에 실패하는 경우, 수행 중인 전체 기계학습 태스크를 대상으로 태스크 재배치를 수행하는 단계;를 포함한다.
본 발명의 실시예에서, 상기 기계학습 태스크를 할당할 서버를 초기 할당하는 단계는, 할당 대상이 되는 탑 레벨의 두 서버의 가중치를 서로 비교하여 가중치가 더 큰 서버에 기계학습 태스크를 할당하는 단계;를 포함할 수 있다.
본 발명의 실시예에서, 상기 기계학습 태스크를 할당할 서버를 초기 할당하는 단계는, 최소 할당 가중치에 대한 임계값을 설정하는 단계; 및 상기 탑 레벨의 두 서버의 가중치가 상기 임계값 이하인 경우 할당 불가능한 것으로 판단하는 단계;를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 기계학습 태스크를 할당할 서버를 초기 할당하는 단계는, 상기 탑 레벨의 두 서버에 모두 할당이 불가능한 경우, 각 탑 레벨의 서버에 대응하는 바텀 레벨의 서버의 가중치를 비교하는 단계; 및 가중치가 더 높은 바텀 레벨의 서버에 기계학습 태스크를 할당하는 단계;를 포함할 수 있다.
본 발명의 실시예에서, 상기 태스크 재배치를 수행하는 단계는, 현재 태스크를 수행 중인 서버가 아닌 반대편 서버의 가중치가 현재 태스크를 수행 중인 서버의 가중치보다 큰 경우, 해당 태스크를 상기 반대편 서버에 재할당할 수 있다.
본 발명의 실시예에서, 상기 태스크 재배치를 수행하는 단계는, 상기 반대편 서버의 가중치가 현재 태스크를 수행 중인 서버의 가중치보다 2배 이상 또는 3배 이상 큰 경우에만 태스크를 이동할 수 있다.
본 발명의 실시예에서, 상기 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법은, 기계학습 태스크의 초기 할당 실패 후 태스크 재배치에도 실패한 태스크는 할당 대기 상태가 되어 할당이 가능해질 때까지 대기 상태를 유지하는 단계;를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 가중치는 각 서버의 CPU와 GPU의 성능에 의해 결정되며 시스템 자원 사용량에 비례하여 감소할 수 있다.
본 발명의 실시예에서, 상기 서로 다른 두 개의 해시 값을 반환하는 단계는, 기계학습 태스크의 데이터 셋 크기를 해시 키(key)로 사용하여 해시 함수에 적용할 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 상기 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치는, 하나의 바텀 레벨(Bottom level) 서버 및 상기 바텀 레벨 서버를 공유하는 두 개의 탑 레벨(Top level) 서버로 구성되는 완전 이진 트리 구조를 가지는 기계학습 플랫폼의 모든 서버에 대해 가중치를 계산하는 가중치 계산부; 상기 기계학습 플랫폼에 기계학습 태스크가 입력되면, 서로 다른 두 개의 해시 값을 반환하는 해시 함수 적용부; 반환된 해시 값을 기초로 선택된 탑 레벨 서버의 가중치를 비교하여 기계학습 태스크를 할당할 서버를 초기 할당하는 태스크 할당부; 및 일정 시간마다 또는 기계학습 태스크의 초기 할당에 실패하는 경우, 수행 중인 전체 기계학습 태스크를 대상으로 태스크 재배치를 수행하는 태스크 재배치부;를 포함한다.
본 발명의 실시예에서, 상기 태스크 할당부는, 할당 대상이 되는 탑 레벨의 두 서버의 가중치를 서로 비교하여 가중치가 더 큰 서버에 기계학습 태스크를 할당할 수 있다.
본 발명의 실시예에서, 상기 태스크 할당부는, 상기 탑 레벨의 두 서버의 가중치가 최소 할당 가중치에 대해 설정된 임계값 이하인 경우 할당 불가능한 것으로 판단하고, 상기 탑 레벨의 두 서버에 모두 할당이 불가능한 경우, 각 탑 레벨의 서버에 대응하는 바텀 레벨의 서버의 가중치를 비교하여 가중치가 더 높은 바텀 레벨의 서버에 기계학습 태스크를 할당할 수 있다.
본 발명의 실시예에서, 상기 태스크 재배치부는, 현재 태스크를 수행 중인 서버가 아닌 반대편 서버의 가중치가 현재 태스크를 수행 중인 서버의 가중치의 미리 설정된 배수보다 큰 경우, 해당 태스크를 상기 반대편 서버에 재할당할 수 있다.
이와 같은 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법에 따르면, 기계학습 플랫폼의 구조를 레벨 해시 테이블 구조로 변경하여 일반 해시 기법에서 발생할 수 있는 충돌 및 쏠림 문제를 방지한다. 또한, 두 개의 해시 함수를 적용하여 마찬가지로 자주 발생할 수 있는 충돌 문제를 방지한다.
본 발명은 레벨 해시 기법과 유사한 방법으로 로드 밸런싱을 수행하여 효율적인 분산을 위해 총 4개의 서버를 참조하였으며 태스크의 충돌이나 태스크 수행 중 이동을 최소화한다.
이러한 로드 밸런싱을 통해 기계학습 플랫폼에서 기계학습 태스크를 수행할 때 적절하게 태스크를 분산하여 전체 기계학습 플랫폼의 성능을 향상시키고 기존에 발생할 수 있었던 충돌, 이동 등을 최소화하여 효율적인 기계학습 플랫폼의 운영이 가능하다.
도 1은 본 발명의 일 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치의 블록도이다.
도 2는 본 발명의 레벨 해시 구조로 구성한 기계학습 플랫폼을 보여주는 도면이다.
도 3은 도 2의 기계학습 플랫폼에서 바텀 레벨의 서버에 새로운 태스크를 할당하는 것을 보여주는 도면이다.
도 4는 도 2의 기계학습 플랫폼에서 수행 중인 모든 태스크에 대해 리밸런싱을 수행하는 것을 보여주는 도면이다.
도 5는 도 2의 기계학습 플랫폼에서 새로운 태스크의 할당을 재시도하는 것을 보여주는 도면이다.
도 6은 본 발명에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱의 알고리즘을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법의 흐름도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치의 블록도이다. 도 2는 본 발명의 레벨 해시 구조로 구성한 기계학습 플랫폼을 보여주는 도면이다.
본 발명에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치(10, 이하 장치)는 기계학습 플랫폼의 구조를 레벨 해시 구조로 변경하여 로드 밸런싱을 수행한다. 이에 따라, 효율적으로 기계학습 태스크를 수행할 수 있다.
도 1을 참조하면, 본 발명에 따른 장치(10)는 가중치 계산부(110), 해시 함수 적용부(130), 태스크 할당부(150) 및 태스크 재배치부(170)를 포함한다.
본 발명의 상기 장치(10)는 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱을 수행하기 위한 소프트웨어(애플리케이션)가 설치되어 실행될 수 있으며, 상기 가중치 계산부(110), 상기 해시 함수 적용부(130), 상기 태스크 할당부(150) 및 상기 태스크 재배치부(170)의 구성은 상기 장치(10)에서 실행되는 상기 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱을 수행하기 위한 소프트웨어에 의해 제어될 수 있다.
상기 장치(10)는 별도의 단말이거나 또는 단말의 일부 모듈일 수 있다. 또한, 상기 가중치 계산부(110), 상기 해시 함수 적용부(130), 상기 태스크 할당부(150) 및 상기 태스크 재배치부(170)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.
상기 장치(10)는 이동성을 갖거나 고정될 수 있다. 상기 장치(10)는, 서버(server) 또는 엔진(engine) 형태일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다.
상기 장치(10)는 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.
레벨 해시는 쿠쿠 해시에 기반한 2-레벨 공유 해시 기법이다. 레벨 해시는 뒤집힌 완전 이진 트리 구조의 상위 2 레벨 형태의 테이블로 구성된다. 이 중 뒤집힌 완전 이진 트리 구조의 리프에 해당하는 상위 레벨은 탑 레벨(Top level), 하위 레벨은 바텀 레벨(Bottom level)이 된다. 각 레벨의 버킷은 여러 개의 슬롯을 가진다.
레벨 해시는 해시 테이블에 아이템을 삽입하기 위해 두 개의 해시 함수를 아이템에 적용한다. 각 해시 함수는 서로 다른 값을 반환하며 반환된 값은 해시 테이블의 서로 다른 탑 레벨 버킷을 가리킨다. 아이템은 해시 테이블의 삽입 대상이 되는 두 버킷 중 빈 슬롯이 있는 버킷에 삽입된다.
만약, 탑 레벨의 두 버킷 모두 빈 슬롯이 없다면 탑 레벨의 두 버킷에 각각 대응되는 바텀 레벨의 두 버킷을 참조한다. 대응되는 바텀 레벨의 두 버킷의 빈 슬롯을 찾아 아이템을 삽입하며 바텀 레벨의 버킷에도 빈 슬롯이 없어 할당이 불가능하다면 다시 탑 레벨의 기존 아이템 중 하나를 다른 슬롯으로 이동시킨다.
이동은 해시 테이블에 이미 삽입되어있던 기존의 아이템에 두 개의 해시 함수를 적용하여 현재 삽입된 버킷의 반대편 버킷에 삽입을 시도한다. 만약, 삽입 시도되는 버킷이 비어있다면 아이템을 이동하며 해당 버킷도 빈 슬롯이 없다면 다른 아이템에 대해 해당 과정을 반복한다. 이 과정을 통해 기존 아이템 중 하나가 이동이 되었다면 원래 삽입 시도 중이던 아이템을 이동이 완료된 빈 슬롯에 삽입한다.
도 2를 참조하면, 본 발명은 기계학습 플랫폼을 위한 로드 밸런싱을 수행하기 위해 기계학습 플랫폼의 서버 구조를 레벨 해시 테이블과 동일하게 구성하였다.
각 버킷은 하나의 서버가 되며 레벨 해시와 동일하게 탑 레벨의 두 서버는 하나의 바텀 레벨의 서버를 공유하여 대기 서버로 활용한다. 각 서버는 시스템 성능에 따른 가중치를 가진다. 가중치는 CPU 및 GPU의 FLOPS에 기반하여 결정되며 CPU 및 GPU 사용량에 비례하여 가중치가 감소한다. 각 서버의 가중치는 기계학습 태스크를 할당하기 위해 참조된다.
기계학습 플랫폼의 서버 구조를 레벨 해시 테이블 구조와 동일한 뒤집힌 완전 이진 트리 구조로 구성한다. 탑 레벨의 두 서버는 바텀 레벨의 서버 하나를 공유하며 해당 바텀 레벨의 서버를 대기 서버로 사용한다. 탑 레벨 서버에 할당할 수 없는 경우 바텀 레벨 서버에 할당한다.
상기 가중치 계산부(110)는 완전 이진 트리 구조를 가지는 기계학습 플랫폼의 모든 서버에 대해 가중치를 계산한다. 각 서버는 시스템 성능에 따라 서로 다른 가중치를 가진다.
가중치는 CPU와 GPU의 성능에 의해 결정되며 시스템 자원 사용량에 비례하여 감소한다. 각 서버의 가중치 계산식은 다음의 수학식 1과 같다.
[수학식 1]
Figure pat00001
계산된 가중치를 바탕으로 기계학습 태스크를 각 서버에 할당한다. 가중치가 클수록 서버의 성능이 더 좋다고 판단하며 서버의 가중치를 비교하여 가중치가 더 큰 서버로 기계학습 태스크를 할당한다.
상기 해시 함수 적용부(130)는 기계학습 플랫폼에 기계학습 태스크가 입력되면 기계학습 태스크의 데이터셋 크기에 서로 다른 값을 반환하는 두 개의 해시 함수를 아래의 수학식 2와 같이 적용한다(여기서,
Figure pat00002
).
[수학식 2]
Figure pat00003
상기 태스크 할당부(150)는 반환된 두 해시 함수의 값을 바탕으로 기계학습 태스크를 할당할 탑 서버의 두 서버를 결정한다. 할당 대상이 되는 탑 레벨의 두 서버의 가중치를 서로 비교하여 가중치가 더 큰 서버로 기계학습 태스크의 할당을 결정한다.
이 때 최소 할당 가중치를 설정하여 가중치가 이 임계값 이하라면 할당 불가능한 것으로 판단한다. 탑 레벨의 두 서버에 모두 할당이 불가능하다면 각 탑 레벨의 서버에 대응하는 바텀 레벨의 대기 서버를 참조한다(도 3 참조).
탑 레벨의 할당 과정과 마찬가지로 바텀 레벨의 대기 서버의 가중치를 서로 비교하며 가중치가 더 높은 서버로 기계학습 태스크를 할당한다. 만약 바텀 레벨의 서버에도 할당이 불가능하다면 전체 태스크 재배치 수행 후 다시 할당을 시도한다.
상기 태스크 재배치부(170)는 일정 시간마다, 혹은 기계학습 태스크 초기 할당에 실패하면 수행중인 전체 기계학습 태스크를 대상으로 태스크 재배치 알고리즘을 수행한다. 레벨 해시의 아이템 이동 방법과 마찬가지로 이미 서버에 할당되어 수행 중이던 태스크를 다른 서버로 재할당한다.
재할당을 위해 수행중인 태스크에 대해 초기 할당 알고리즘과 마찬가지로 서로 다른 값을 반환하는 두 해시 함수를 적용한다. 적용된 해시 함수의 반환값 중 하나는 기존에 태스크가 수행 중이던 서버이다.
마찬가지로 두 서버의 가중치를 비교하며 최소 할당 가중치보다 가중치가 클 때 현재 태스크가 수행 중인 서버가 아닌 반대편 서버의 가중치가 현재 수행중인 서버의 가중치보다 크다면 해당 태스크를 반대편 서버에 재할당한다.
이 때 태스크가 이동한 후 기존 서버의 가중치가 반대편 서버의 가중치보다 큰 경우를 방지하기 위해 반대편 서버의 가중치가 기존 서버의 가중치보다 2배 또는 3배 이상 큰 경우에만 태스크를 이동한다. 그러나, 상기 배수는 필요에 따라 조정 가능하다.
이러한 과정을 수행중인 모든 태스크에 대해 수행하며 기계학습 태스크 초기 할당에 실패해서 태스크 재배치 알고리즘이 수행된 경우 초기 할당에 실패한 태스크의 할당을 다시 시도한다. 이 때에도 태스크 할당에 실패하면 해당 태스크는 할당 대기 상태가 되어 할당이 가능해질 때까지 대기 상태가 유지된다.
도 2 내지 도 5는 로드 밸런싱 조정의 예를 보여준다. 각 서버의 기계학습 태스크의 삽입 임계값은 30 %로 설정하고, 현재 할당된 모든 기계학습 태스크는 20 %의 컴퓨팅 리소스를 사용한다고 가정한다. 또한, 각 서버의 가중치는 서버 수에 비례하고 서버 3, 9, 12는 80 %를 사용하고, 서버 7 및 10은 컴퓨팅 리소스를 100 % 사용한다고 가정한다.
새로운 태스크가 입력되면 도 2와 같이 할당할 서버 S1 및 S2를 선택하기 위해 두 개의 해시 함수가 적용된다. 서버 3은 컴퓨팅 리소스의 80 %를 사용하고 서버 7은 컴퓨팅 리소스를 100 % 사용하므로, 사용 가능한 컴퓨팅 리소스가 삽입 임계값인 30 % 미만이므로 태스크 할당이 실패하게 된다.
탑 레벨의 서버에 대한 태스크 할당이 실패하면 태스크는 탑 레벨의 바텀 레벨에 있는 해당 대기 서버에 태스크를 할당하려고 시도한다. 그러나, 대기 서버의 가중치가 삽입 임계값보다 작으면 태스크 할당이 역시 실패하게 된다.
예를 들어, 도 3에서 서버 3의 해당 대기 서버인 서버 10은 100 %를 사용하고 서버 7의 해당 대기 서버인 서버 12는 컴퓨팅 리소스의 80 %를 사용한다. 따라서, 사용 가능한 컴퓨팅 리소스가 삽입 임계값보다 작기 때문에 태스크 할당이 실패한다.
탑 레벨의 서버와 바텀 레벨의 서버가 모두 기계학습 태스크를 할당하지 못하면, 도 4와 같이 모든 태스크에 대해 재조정 작업이 필요하다. 대체 서버의 가중치는 이미 실행중인 기계학습 태스크에 두 개의 해시 함수를 적용하여 확인한다.
예를 들어, 도 4에서 서버 3의 태스크 중 하나인 1은 해시 함수를 적용한 후 서버 3의 대체 서버이므로 서버 8의 가중치를 나타낸다. 서버 8의 컴퓨팅 리소스 사용률은 0 %이므로 서버 3의 태스크는 서버 8로 이동된다. 마찬가지로, 서버 12의 태스크 중 하나인 2의 해시 결과는 서버 9와 12이므로 서버 12의 대체 서버는 서버 9이다. 서버 9의 컴퓨팅 리소스 사용률이 80 %이기 때문에 기계학습 태스크 T2는 이동되지 않는다.
도 4에서 볼 수 있듯이 모든 기계학습 태스크에 대해 재조정을 수행하면 새로운 태스크 할당이 다시 시도된다. 서버 3의 기계학습 태스크 중 하나는 사용된 컴퓨팅 리소스의 60 %로 이동되고, 서버 7의 기계학습 태스크는 다른 서버로 이동되지 사용률은 100 %로 유지된다. 따라서, 새로운 태스크는 서버 3에 할당된다.
본 발명에서는 머신러닝 태스크의 초기 할당과 태스크 수행시 재조정을 수행할 수 있는 부하 분산 기법을 제안하였다. 본 발명에서 제안된 로드 밸런싱 기법에서는 머신러닝 태스크를 수행하는 머신러닝 플랫폼을 레벨 해시 구조로 구성하고, 플랫폼의 각 서버의 처리 성능을 기반으로 가중치를 계산하여 머신러닝 태스크를 초기에 적절하게 할당한다.
또한, 기계 학습 태스크 중 일부 서버에 기계 학습 태스크가 집중되어 컴퓨팅 리소스가 과도하게 사용되는 것을 방지하기 위해 태스크 리밸런싱이 수행된다. 레벨 해시 방식을 기반으로 제안된 태스크 리밸런싱은 기존 머신러닝 플랫폼의 속도를 향상시킬 수 있다.
도 6은 본 발명에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱의 알고리즘을 보여주는 도면이다. 도 7은 본 발명의 일 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법의 흐름도이다.
본 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법은, 도 1의 장치(10) 및 도 2의 기계학습 플랫폼과 실질적으로 동일한 구성에서 진행될 수 있다. 따라서, 도 1의 장치(10) 및 도 2의 기계학습 플랫폼과 동일한 구성요소는 동일한 도면부호를 부여하고, 반복되는 설명은 생략한다.
또한, 본 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법은 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱을 수행하기 위한 소프트웨어(애플리케이션)에 의해 실행될 수 있다.
본 발명은 기계학습 플랫폼의 구조를 레벨 해시 구조로 변경하여 로드 밸런싱을 수행한다. 이에 따라, 효율적으로 기계학습 태스크를 수행할 수 있다.
도 6 및 도 7을 참조하면, 본 실시예에 따른 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법은, 하나의 바텀 레벨(Bottom level) 서버 및 상기 바텀 레벨 서버를 공유하는 두 개의 탑 레벨(Top level) 서버로 구성되는 완전 이진 트리 구조를 가지는 기계학습 플랫폼의 모든 서버에 대해 가중치를 계산한다(단계 S10).
상기 가중치는 각 서버의 CPU와 GPU의 성능에 의해 결정되며 시스템 자원 사용량에 비례하여 감소할 수 있다.
상기 기계학습 플랫폼에 기계학습 태스크가 입력되면, 서로 다른 두 개의 해시 값을 반환한다(단계 S10). 이 경우, 기계학습 태스크의 데이터 셋 크기를 해시 키(key)로 사용하여 해시 함수에 적용할 수 있다.
반환된 해시 값을 기초로 선택된 탑 레벨 서버의 가중치를 비교하여 기계학습 태스크를 할당할 서버를 초기 할당한다(단계 S30).
상기 기계학습 태스크를 할당할 서버를 초기 할당하는 단계(단계 S30)는, 할당 대상이 되는 탑 레벨의 두 서버의 가중치를 서로 비교하여 가중치가 더 큰 서버에 기계학습 태스크를 할당한다.
이 경우, 최소 할당 가중치에 대한 임계값을 설정하고, 상기 탑 레벨의 두 서버의 가중치가 상기 임계값 이하인 경우 할당 불가능한 것으로 판단한다. 상기 탑 레벨의 두 서버에 모두 할당이 불가능한 경우, 각 탑 레벨의 서버에 대응하는 바텀 레벨의 서버의 가중치를 비교하고, 가중치가 더 높은 바텀 레벨의 서버에 기계학습 태스크를 할당한다.
일정 시간마다 또는 기계학습 태스크의 초기 할당에 실패하는 경우, 수행 중인 전체 기계학습 태스크를 대상으로 태스크 재배치를 수행한다(단계 S40).
상기 태스크 재배치를 수행하는 단계(단계 S40)는, 현재 태스크를 수행 중인 서버가 아닌 반대편 서버의 가중치가 현재 태스크를 수행 중인 서버의 가중치보다 큰 경우, 해당 태스크를 상기 반대편 서버에 재할당한다.
이 경우, 상기 반대편 서버의 가중치가 현재 태스크를 수행 중인 서버의 가중치보다 2배 이상 또는 3배 이상 큰 경우에만 태스크를 이동할 수 있으며, 배수의 크기는 필요에 따라 조정 가능하다.
기계학습 태스크의 초기 할당 실패 후 태스크 재배치에도 실패한 태스크는 할당 대기 상태가 되어 할당이 가능해질 때까지 대기 상태를 유지한다.
이와 같은 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법에 따르면, 기계학습 플랫폼의 구조를 레벨 해시 테이블 구조로 변경하여 일반 해시 기법에서 발생할 수 있는 충돌 및 쏠림 문제를 방지한다. 또한, 두 개의 해시 함수를 적용하여 마찬가지로 자주 발생할 수 있는 충돌 문제를 방지한다.
본 발명은 레벨 해시 기법과 유사한 방법으로 로드 밸런싱을 수행하여 효율적인 분산을 위해 총 4개의 서버를 참조하였으며 태스크의 충돌이나 태스크 수행 중 이동을 최소화한다.
이러한 로드 밸런싱을 통해 기계학습 플랫폼에서 기계학습 태스크를 수행할 때 적절하게 태스크를 분산하여 전체 기계학습 플랫폼의 성능을 향상시키고 기존에 발생할 수 있었던 충돌, 이동 등을 최소화하여 효율적인 기계학습 플랫폼의 운영이 가능하다.
이와 같은, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
본 발명은 기계학습 플랫폼의 구조를 레벨 해시 구조로 변경하여 로드 밸런싱을 수행하므로, 기계학습의 태스크를 수행하는데 효율적으로 활용될 수 있다.
10: 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치
110: 가중치 계산부
130: 해시 함수 적용부
150: 태스크 할당부
170: 태스크 재배치부

Claims (14)

  1. 하나의 바텀 레벨(Bottom level) 서버 및 상기 바텀 레벨 서버를 공유하는 두 개의 탑 레벨(Top level) 서버로 구성되는 완전 이진 트리 구조를 가지는 기계학습 플랫폼의 모든 서버에 대해 가중치를 계산하는 단계;
    상기 기계학습 플랫폼에 기계학습 태스크가 입력되면, 서로 다른 두 개의 해시 값을 반환하는 단계;
    반환된 해시 값을 기초로 선택된 탑 레벨 서버의 가중치를 비교하여 기계학습 태스크를 할당할 서버를 초기 할당하는 단계; 및
    일정 시간마다 또는 기계학습 태스크의 초기 할당에 실패하는 경우, 수행 중인 전체 기계학습 태스크를 대상으로 태스크 재배치를 수행하는 단계;를 포함하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  2. 제1항에 있어서, 상기 기계학습 태스크를 할당할 서버를 초기 할당하는 단계는,
    할당 대상이 되는 탑 레벨의 두 서버의 가중치를 서로 비교하여 가중치가 더 큰 서버에 기계학습 태스크를 할당하는 단계;를 포함하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  3. 제2항에 있어서, 상기 기계학습 태스크를 할당할 서버를 초기 할당하는 단계는,
    최소 할당 가중치에 대한 임계값을 설정하는 단계; 및
    상기 탑 레벨의 두 서버의 가중치가 상기 임계값 이하인 경우 할당 불가능한 것으로 판단하는 단계;를 더 포함하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  4. 제3항에 있어서, 상기 기계학습 태스크를 할당할 서버를 초기 할당하는 단계는,
    상기 탑 레벨의 두 서버에 모두 할당이 불가능한 경우, 각 탑 레벨의 서버에 대응하는 바텀 레벨의 서버의 가중치를 비교하는 단계; 및
    가중치가 더 높은 바텀 레벨의 서버에 기계학습 태스크를 할당하는 단계;를 포함하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  5. 제1항에 있어서, 상기 태스크 재배치를 수행하는 단계는,
    현재 태스크를 수행 중인 서버가 아닌 반대편 서버의 가중치가 현재 태스크를 수행 중인 서버의 가중치보다 큰 경우, 해당 태스크를 상기 반대편 서버에 재할당하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  6. 제5항에 있어서, 상기 태스크 재배치를 수행하는 단계는,
    상기 반대편 서버의 가중치가 현재 태스크를 수행 중인 서버의 가중치보다 2배 이상 또는 3배 이상 큰 경우에만 태스크를 이동하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  7. 제1항에 있어서,
    기계학습 태스크의 초기 할당 실패 후 태스크 재배치에도 실패한 태스크는 할당 대기 상태가 되어 할당이 가능해질 때까지 대기 상태를 유지하는 단계;를 더 포함하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  8. 제1항에 있어서,
    상기 가중치는 각 서버의 CPU와 GPU의 성능에 의해 결정되며 시스템 자원 사용량에 비례하여 감소하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  9. 제1항에 있어서, 상기 서로 다른 두 개의 해시 값을 반환하는 단계는,
    기계학습 태스크의 데이터 셋 크기를 해시 키(key)로 사용하여 해시 함수에 적용하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법.
  10. 제1항에 따른 상기 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
  11. 하나의 바텀 레벨(Bottom level) 서버 및 상기 바텀 레벨 서버를 공유하는 두 개의 탑 레벨(Top level) 서버로 구성되는 완전 이진 트리 구조를 가지는 기계학습 플랫폼의 모든 서버에 대해 가중치를 계산하는 가중치 계산부;
    상기 기계학습 플랫폼에 기계학습 태스크가 입력되면, 서로 다른 두 개의 해시 값을 반환하는 해시 함수 적용부;
    반환된 해시 값을 기초로 선택된 탑 레벨 서버의 가중치를 비교하여 기계학습 태스크를 할당할 서버를 초기 할당하는 태스크 할당부; 및
    일정 시간마다 또는 기계학습 태스크의 초기 할당에 실패하는 경우, 수행 중인 전체 기계학습 태스크를 대상으로 태스크 재배치를 수행하는 태스크 재배치부;를 포함하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치.
  12. 제11항에 있어서, 상기 태스크 할당부는,
    할당 대상이 되는 탑 레벨의 두 서버의 가중치를 서로 비교하여 가중치가 더 큰 서버에 기계학습 태스크를 할당하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치.
  13. 제12항에 있어서, 상기 태스크 할당부는,
    상기 탑 레벨의 두 서버의 가중치가 최소 할당 가중치에 대해 설정된 임계값 이하인 경우 할당 불가능한 것으로 판단하고,
    상기 탑 레벨의 두 서버에 모두 할당이 불가능한 경우, 각 탑 레벨의 서버에 대응하는 바텀 레벨의 서버의 가중치를 비교하여 가중치가 더 높은 바텀 레벨의 서버에 기계학습 태스크를 할당하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치.
  14. 제11항에 있어서, 상기 태스크 재배치부는,
    현재 태스크를 수행 중인 서버가 아닌 반대편 서버의 가중치가 현재 태스크를 수행 중인 서버의 가중치의 미리 설정된 배수보다 큰 경우, 해당 태스크를 상기 반대편 서버에 재할당하는, 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 장치.
KR1020200186862A 2020-11-12 2020-12-29 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법, 이를 수행하기 위한 기록 매체 및 장치 KR102538389B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200151102 2020-11-12
KR1020200151102 2020-11-12

Publications (2)

Publication Number Publication Date
KR20220064859A true KR20220064859A (ko) 2022-05-19
KR102538389B1 KR102538389B1 (ko) 2023-05-31

Family

ID=81804740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200186862A KR102538389B1 (ko) 2020-11-12 2020-12-29 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법, 이를 수행하기 위한 기록 매체 및 장치

Country Status (1)

Country Link
KR (1) KR102538389B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6173958B2 (ja) 2014-03-27 2017-08-02 Kddi株式会社 複数のハッシュテーブルを用いて検索するプログラム、装置及び方法
KR102085132B1 (ko) 2018-11-13 2020-04-20 인하대학교 산학협력단 버킷 내부에서 해시 함수의 분류를 이용한 효율적인 쿠쿠 해시 방법
KR102114482B1 (ko) 2016-04-29 2020-05-22 사이트릭스 시스템스, 인크. 서비스 체인을 로드 밸런싱하기 위한 시스템 및 방법
KR102145795B1 (ko) * 2016-09-07 2020-08-19 한국전자통신연구원 복수의 워커 노드가 분산된 환경에서 데이터 스트림을 분석하고 처리하는 방법 및 장치, 그리고 태스크를 관리하는 방법 및 장치
KR20200127467A (ko) * 2019-05-02 2020-11-11 숭실대학교산학협력단 머신 러닝 플랫폼 관리 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6173958B2 (ja) 2014-03-27 2017-08-02 Kddi株式会社 複数のハッシュテーブルを用いて検索するプログラム、装置及び方法
KR102114482B1 (ko) 2016-04-29 2020-05-22 사이트릭스 시스템스, 인크. 서비스 체인을 로드 밸런싱하기 위한 시스템 및 방법
KR102145795B1 (ko) * 2016-09-07 2020-08-19 한국전자통신연구원 복수의 워커 노드가 분산된 환경에서 데이터 스트림을 분석하고 처리하는 방법 및 장치, 그리고 태스크를 관리하는 방법 및 장치
KR102085132B1 (ko) 2018-11-13 2020-04-20 인하대학교 산학협력단 버킷 내부에서 해시 함수의 분류를 이용한 효율적인 쿠쿠 해시 방법
KR20200127467A (ko) * 2019-05-02 2020-11-11 숭실대학교산학협력단 머신 러닝 플랫폼 관리 시스템 및 방법

Also Published As

Publication number Publication date
KR102538389B1 (ko) 2023-05-31

Similar Documents

Publication Publication Date Title
US11455193B2 (en) Method for deploying virtual machines in cloud computing systems based on predicted lifetime
JP3944175B2 (ja) コンピュータ・システムにおける区画間の動的プロセッサ再配分
US7748005B2 (en) System and method for allocating a plurality of resources between a plurality of computing domains
US11966792B2 (en) Resource processing method of cloud platform, related device, and storage medium
Jung et al. Agent-based adaptive resource allocation on the cloud computing environment
US20150234670A1 (en) Management apparatus and workload distribution management method
CN108780386A (zh) 一种数据存储的方法、装置和系统
KR101941282B1 (ko) 가상 데스크톱 서비스 제공 방법 및 장치
KR20130136449A (ko) 데이터-센터 서비스의 제어된 자동 힐링
JP2004062911A (ja) コンピュータ資源の割り当てを管理するシステム
US9690608B2 (en) Method and system for managing hosts that run virtual machines within a cluster
CN106133693A (zh) 虚拟机的迁移方法、装置及设备
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
US20180054477A1 (en) Statistical resource balancing of constrained microservices in cloud paas environments
US11093288B2 (en) Systems and methods for cluster resource balancing in a hyper-converged infrastructure
KR20130073449A (ko) 상호 의존 관계가 있는 컴포넌트 분배 및 관리 방법
CN105893155B (zh) 虚拟机负载均衡控制方法与装置
Mollamotalebi et al. Multi-objective dynamic management of virtual machines in cloud environments
CN104702691A (zh) 分布式负载均衡方法和装置
CN107920129A (zh) 一种数据存储的方法、装置、设备以及云存储系统
US9563532B1 (en) Allocation of tasks in large scale computing systems
Bhatia et al. Perspective study on load balancing paradigms in cloud computing
CN114116173A (zh) 动态调整任务分配的方法、装置和系统
CN107491352B (zh) 一种资源调度方法及装置
KR102538389B1 (ko) 이기종 분산 기계학습 플랫폼 환경을 위한 로드 밸런싱 방법, 이를 수행하기 위한 기록 매체 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant