KR20190070251A - 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치 - Google Patents

스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20190070251A
KR20190070251A KR1020180120758A KR20180120758A KR20190070251A KR 20190070251 A KR20190070251 A KR 20190070251A KR 1020180120758 A KR1020180120758 A KR 1020180120758A KR 20180120758 A KR20180120758 A KR 20180120758A KR 20190070251 A KR20190070251 A KR 20190070251A
Authority
KR
South Korea
Prior art keywords
learning
task
resource
artificial intelligence
resources
Prior art date
Application number
KR1020180120758A
Other languages
English (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 한국전자통신연구원
Publication of KR20190070251A publication Critical patent/KR20190070251A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • G06N3/0427
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치가 개시된다. 본 발명의 일실시예에 따른 스케줄링 방법은 클라우드 컴퓨팅 장치가, 클라이언트로부터 요청된 인공 지능 서비스에 할당 가능한 복수개의 워커(WORKER) 노드들에 기반한 가용 자원이 존재하는지 여부를 판단하는 단계; 상기 가용 자원이 존재하지 않는 경우, 상기 인공 지능 서비스의 펑션(FUNCTION) 타입을 고려하여 스냅샷 기반의 학습 작업 지연을 수행하는 단계; 및 상기 학습 작업 지연으로 반납된 자원을 이용하여 상기 인공 지능 서비스를 수행하는 단계를 포함한다.

Description

스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치 {METHOD FOR SCHEDULING USING LEARNING DELAY BASED ON SNAPSHOT AND APPARATUS USING THE SAME}
본 발명은 스냅샷 기반의 학습 지연을 이용한 스케줄링 기술에 관한 것으로, 특히 인공 지능 응용과 같은 딥 러닝 학습과 추론 작업이 동시에 수행되는 환경에서 추론 작업의 안정적인 수행을 보장하기 위한 작업 스케줄링 기술에 관한 것이다.
최근 구글 딥마인드 인공지능(AI) 알파고로 인해 인공지능이 IT 분야의 핫 트렌드로 떠오르고 있다. 이런 알파고의 연산 능력은 머신 러닝을 구현할 수 있는 분산형 클라우드 컴퓨팅 기반 인프라가 있기에 가능했다. 자율 주행 및 맞춤 의료에서 슈퍼 휴먼 음성 인식에 이르는 인공지능 워크로드가 클라우드에서 인기를 끌면서, 딥 러닝 트레이닝, 추론, 고급 분석 및 고성능 컴퓨팅을 포함하는 거의 모든 가속화된 워크로드에 최적의 성능과 유연성을 제공할 수 있다.
클라우드 컴퓨팅이란, 데이터를 실제 자신의 컴퓨터나 서버가 아닌 네트워크 상에 연결된 다른 컴퓨터에서 가상화를 통해 처리하는 기술을 말한다. 구글 딥마인드는, 인공지능과 머신 러닝을 연구하는 연구원들이 컴퓨팅, 저장 공간 및 네트워킹 기술을 필요로 할 때마다 사용할 수 있도록 구글 클라우드 플랫폼을 폭넓게 활용했다. 인공지능의 또 다른 강자 IBM의 인지컴퓨팅 시스템 '왓슨'도 클라우드 컴퓨팅을 기반으로 작동된다. IBM의 초기 인공지능이었던 '제퍼디'는 클라우드 컴퓨팅 기술이 상용화가 되지 않았던 시기에 개발되어 일반 단일 서버에서 구현됐지만, 왓슨부터는 클라우드 컴퓨팅으로 전환됐다. 실제로 IBM은 엔터프라이즈 하이브리드 클라우드 서비스를 왓슨을 기반으로 연결하고 있다.
딥 러닝은, 인공 지능(AI)에서 가장 빠르게 성장하고 있는 분야로, 컴퓨터가 이미지, 소리, 텍스트 등의 형태로 되어 있는 무한한 양의 데이터를 이해할 수 있도록 돕는 기술이다. 이제 컴퓨터는 여러 단계의 신경망을 사용해서 복잡한 상황을 인간 이상의 수준으로 보고, 학습하고, 반응할 수 있다. 그 결과로 데이터, 기술, 우리가 제공하는 제품과 서비스를 보는 방식이 크게 달라지고 있다. 다양한 산업에서 미래지향적인 회사들이 기계 학습 알고리즘과 컴퓨터 하드웨어의 발전을 활용하여 기하급수적으로 증가하는 데이터를 처리하기 위해 딥 러닝을 채택하고 있다.
종래 FaaS 형태의 클라우드 컴퓨팅 플랫폼 기술에서는 자원의 할당 및 회수, 재사용을 위한 지연 해제 등의 자원 할당 및 관리에 대한 많은 연구 및 실제 제품의 적용이 이루어졌지만, 딥 러닝 기반의 인공 지능 응용 서비스에 대한 작업 스케줄링 관점에서는 작업 및 도메인 특성을 반영한 스케줄링이 아니라 전통적인 스케줄링 방식을 제공하고 있다. 특히, 딥 러닝을 통한 인공 지능 분야에서는 학습(training)과 추론(inference)의 자원 사용 규모와 작업 시간의 차이가 크게 나타난다. 학습 작업의 경우, 대규모의 계산 자원 및 메모리 자원을 짧게는 몇 시간부터 길게는 수일 이상이 소요되는 기간 동안 점유하면서 수행하게 된다.
따라서, 단일 기관에서 점유하여 사용하는 전용 시스템이라면 이러한 작업들을 시기적으로 조정해서 작업에 대한 스케줄링을 조절할 수 있다. 하지만, 다수의 기관들이 공유해서 사용하는 공용 클라우드의 경우, 각 기관에서 발생하는 학습 작업이 동시에 요청된다면 시스템 대부분의 자원을 학습 작업이 할당 받아 장기간 수행하게 되고, 실제 서비스를 수행하는 추론 작업은 수행되기 어려운 경우가 발생할 수 있다. 학습의 경우, 일반적으로 사용자 요청에 의해 이루어지기도 하지만, 일정 규모 이상의 데이터가 누적되면 학습이 시스템적으로 진행되는 경우도 존재하여 학습 작업의 요청 시점 및 스케줄링이 어려워진다.
이러한 요인들로 인해 클라우드 인프라를 구축할 때, 적절한 시스템 자원 규모의 산정을 어렵게 한다. 학습의 요청 작업을 처리하기 위해서는 대규모 자원 구축 및 운영 비용이 필요하지만 특정 시점 이외에는 대부분의 자원 활용률이 현저히 떨어지는 상황이 발생한다. 또한, 자원을 소규모로 구축하면, 학습 작업이 몰리는 특정 기간에는 장시간 동안 추론 작업의 수행이 불가능한 상황이 발생한다. 기존 클라우드 플랫폼의 스케줄러에는 이러한 인공지능 작업 특성을 반영한 스케줄링의 고려가 없어서, 시스템 자원 할당 상황을 반영한 학습 및 추론 작업의 스케줄링이 지원되지 않는다.
한국 공개 특허 제10-2013-0084796호, 2013년 7월 26일 공개(명칭: 클라우드 환경에서의 클라우드 사용자를 위한 컴퓨팅 자원 할당 검증 장치 및 방법)
본 발명의 목적은 장기간 수행되는 인공 지능 학습 펑션 서비스의 시스템 자원 독점 수행으로 인해 의료 진단과 같은 추론 펑션 서비스의 수행이 제한되거나 지연되는 것을 방지하는 것이다.
또한, 본 발명의 목적은 의료 인공 지능 분야의 진단 및 학습 작업의 수행 특성을 고려하여 인공 지능 진단 서비스를 보장하고, 시스템 자원을 효율적으로 활용하는 것이다.
또한, 본 발명의 목적은 다수의 노드로 구성된 클러스터 형상의 클라우드 컴퓨팅 시스템을 기반으로 서비스되는 인공 지능 환경에서 시스템 자원 할당 상황을 반영한 스케줄링 방법을 제공하는 것이다.
또한, 본 발명의 목적은 인공 지능 서비스 지원 공유 클라우드 플랫폼의 작업 스케줄러를 대체하여 사용될 수 있으며, 자원 격리형 가상 클라우드 인프라 서비스를 필요로 하는 서비스/시스템, 다기관 의료 지능 특화형 학습/진단 공유 플랫폼에 적용되어 사용 가능한 스케줄링 기술을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법은 클라우드 컴퓨팅 장치가, 클라이언트로부터 요청된 인공 지능 서비스에 할당 가능한 복수개의 워커(WORKER) 노드들에 기반한 가용 자원이 존재하는지 여부를 판단하는 단계; 상기 가용 자원이 존재하지 않는 경우, 상기 클라우드 컴퓨팅 장치가, 상기 인공 지능 서비스의 펑션(FUNCTION) 타입을 고려하여 스냅샷 기반의 학습 작업 지연을 수행하는 단계; 및 상기 클라우드 컴퓨팅 장치가, 상기 학습 작업 지연으로 반납된 자원을 이용하여 상기 인공 지능 서비스를 수행하는 단계를 포함한다.
이 때, 학습 작업 지연을 수행하는 단계는 상기 펑션 타입이 추론(INFERENCE)에 상응하는 경우, 학습 자원 한계 계수에 기반하여 학습 자원 허용 한계 초과 여부를 검사하는 단계; 및 전체 학습 작업에 할당된 자원이 학습 작업 허용 한계를 초과한 경우, 작업 수행량 및 자원 사용량 중 적어도 하나를 고려하여 지연시킬 학습 작업을 선택하는 단계를 포함할 수 있다.
이 때, 검사하는 단계는 학습 작업 자원 총 사용량을 상기 클라우드 컴퓨팅 장치의 자원 총량으로 나눈 값이 기설정된 학습 작업 한계 계수를 초과한 경우에 상기 전체 학습 작업에 할당된 자원이 학습 작업 허용 한계를 초과한 것으로 판단할 수 있다.
이 때, 학습 작업 지연을 수행하는 단계는 지연시킬 학습 작업의 수행 상태를 프로세스에 대한 스냅샷에 상응하게 저장하고, 상기 지연시킬 학습 작업을 중단시킨 후 학습 작업 대기 큐에 추가하는 단계를 더 포함하고, 상기 스냅샷은 상기 지연시킬 학습 작업에서 수행중인 프로세스에 대한 모든 컨텍스트 정보를 포함할 수 있다.
이 때, 상기 추론에 상응하는 인공 지능 서비스의 수행이 완료된 경우, 상기 학습 작업 대기 큐에서 상기 학습 작업 지연으로 인해 중단된 학습 작업을 획득하고, 획득한 학습 작업을 재수행하는 단계를 더 포함할 수 있다.
이 때, 재수행하는 단계는 상기 인공 지능 서비스의 수행이 완료됨에 따라 반납된 자원을 포함한 가용 자원을 기반으로 상기 중단된 학습 작업을 재수행 가능한지 여부를 판단하는 단계; 및 재수행 가능하다고 판단되는 경우, 상기 스냅샷을 기반으로 상기 중단된 학습 작업의 수행을 위한 프로세스 컨텍스트를 복구하는 단계를 포함할 수 있다.
이 때, 상기 가용 자원이 존재하지 않되, 상기 인공 지능 서비스의 펑션 타입이 학습(TRAINING)에 상응하는 경우, 상기 클라우드 컴퓨팅 장치가, 상기 인공 지능 서비스에 상응하는 학습 작업을 상기 학습 작업 대기 큐에 추가하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 클라우드 컴퓨팅 장치는, 클라이언트와 인공 지능 서비스의 제공을 위한 통신을 수행하는 API 게이트웨이부; 상기 인공 지능 서비스에 할당 가능한 복수개의 워커(WORKER) 노드들에 기반한 가용 자원이 존재하는지 여부를 판단하고, 상기 가용 자원이 존재하지 않는 경우에 상기 인공 지능 서비스의 펑션(FUNCTION) 타입을 고려하여 스냅샷 기반의 학습 작업 지연을 수행하는 작업 스케줄링부; 상기 학습 작업 지연으로 반납된 자원을 상기 복수개의 워커 노드들 중 상기 인공 지능 서비스를 수행하기 위한 워커 노드로 할당하는 자원 할당부; 및 상기 복수개의 워커(WORKER) 노드들을 기반으로 상기 인공 지능 서비스의 펑션 타입에 상응하는 작업을 수행하는 워커(WORKER) 관리부를 포함한다.
이 때, 작업 스케줄링부는 상기 펑션 타입이 추론(INFERENCE)에 상응하는 경우, 학습 자원 한계 계수에 기반하여 학습 자원 허용 한계 초과 여부를 검사하고, 전체 학습 작업에 할당된 자원이 학습 작업 허용 한계를 초과한 경우, 작업 수행량 및 자원 사용량 중 적어도 하나를 고려하여 지연시킬 학습 작업을 선택할 수 있다.
이 때, 작업 스케줄링부는 학습 작업 자원 총 사용량을 상기 클라우드 컴퓨팅 장치의 자원 총량으로 나눈 값이 기설정된 학습 작업 한계 계수를 초과한 경우에 상기 전체 학습 작업에 할당된 자원이 학습 작업 허용 한계를 초과한 것으로 판단할 수 있다.
이 때, 작업 스케줄링부는 지연시킬 학습 작업의 수행 상태를 프로세스에 대한 스냅샷에 상응하게 저장하고, 상기 지연시킬 학습 작업을 중단시킨 후 학습 작업 대기 큐에 추가하고, 상기 스냅샷은 상기 지연시킬 학습 작업에서 수행중인 프로세스에 대한 모든 컨텍스트 정보를 포함할 수 있다.
이 때, 작업 스케줄링부는 상기 추론에 상응하는 인공 지능 서비스의 수행이 완료된 경우, 상기 학습 작업 대기 큐에서 상기 학습 작업 지연으로 인해 중단된 학습 작업을 획득하고, 획득한 학습 작업을 재수행할 수 있다.
이 때, 작업 스케줄링부는 상기 인공 지능 서비스의 수행이 완료됨에 따라 반납된 자원을 포함한 가용 자원을 기반으로 상기 중단된 학습 작업을 재수행 가능한지 여부를 판단하고, 재수행 가능하다고 판단되는 경우에 상기 스냅샷을 기반으로 상기 중단된 학습 작업의 수행을 위한 프로세스 컨텍스트를 복구할 수 있다.
이 때, 작업 스케줄링 부는 상기 가용 자원이 존재하지 않되, 상기 인공 지능 서비스의 펑션 타입이 학습(TRAINING)에 상응하는 경우, 상기 인공 지능 서비스에 상응하는 학습 작업을 상기 학습 작업 대기 큐에 추가할 수 있다.
본 발명에 따르면, 장기간 수행되는 인공 지능 학습 펑션 서비스의 시스템 자원 독점 수행으로 인해 의료 진단과 같은 추론 펑션 서비스의 수행이 제한되거나 지연되는 것을 방지할 수 있다.
또한, 본 발명은 의료 인공 지능 분야의 진단 및 학습 작업의 수행 특성을 고려하여 인공 지능 진단 서비스를 보장하고, 시스템 자원을 효율적으로 활용할 수 있다.
또한, 본 발명은 다수의 노드로 구성된 클러스터 형상의 클라우드 컴퓨팅 시스템을 기반으로 서비스되는 인공 지능 환경에서 시스템 자원 할당 상황을 반영한 스케줄링 방법을 제공할 수 있다.
또한, 본 발명은 인공 지능 서비스 지원 공유 클라우드 플랫폼의 작업 스케줄러를 대체하여 사용될 수 있으며, 자원 격리형 가상 클라우드 인프라 서비스를 필요로 하는 서비스/시스템, 다기관 의료 지능 특화형 학습/진단 공유 플랫폼에 적용되어 사용 가능한 스케줄링 기술을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 시스템을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법을 나타낸 동작 흐름도이다.
도 3은 본 발명의 일실시예에 따른 스케줄링 시스템을 상세하게 나타낸 도면이다.
도 4는 본 발명에 따른 학습 작업 지연을 수행하는 과정을 나타낸 도면이다.
도 5는 본 발명에 따른 중단된 학습 작업을 재수행하는 과정을 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 학습 작업 지연을 수행하는 방법을 상세하게 나타낸 동작흐름도이다.
도 7은 본 발명의 일실시예에 따른 중단된 학습 작업을 재수행하는 과정을 상세하게 나타낸 동작흐름도이다.
도 8은 본 발명에 따른 스케줄링 방법을 적용한 의료 인공 지능 공유 진단/학습 클라우드 환경의 일 예를 나타낸 도면이다.
도 9는 본 발명의 일실시예에 따른 클라우드 컴퓨팅 장치를 나타낸 블록도이다.
도 10은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 시스템을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 시스템은 다수의 성능 가속 장치(116)와 프로세서(114)와 메모리(115)가 장착된 대규모 물리적인 노드들(113)로 구성된 클러스터 시스템으로 하부 인프라 시스템이 구성될 수 있다.
이와 같은 물리적인 클러스터 인프라를 기반으로 네트워크를 통해 원격의 병원과 같은 클라이언트(120, 130, 140)에게 클라우드 자원을 인스턴스로 할당하고, 관리하고, 운영할 수 있으며, 시스템의 상태를 모니터링 하거나 클라이언트의 요청을 처리하는 클라우드 인프라(112)가 제공될 수 있다.
또한, 본 발명의 일실시예에 따른 시스템은 클라우드 인프라(112) 상에서 다양한 인공 지능 학습 및 추론을 제공하는 인공 지능 학습 플랫폼(111)을 통해 다양한 클라이언트들 사이에 클라우드 인프라를 공유하면서도 각 클라이언트의 데이터는 격리 제공할 수 있는 인공 지능 지원 고성능 클라우드 컴퓨팅 환경에 상응할 수 있다.
예를 들어, 도 1에 도시된 클라이언트(120, 130, 140)에 상응하는 각 병원들은 독립적인 환자 정보(PHR) 및 의료 정보(EMR)(121)를 유지하고 관리할 수 있다. 따라서, 진단 및 학습 서비스(122)를 환자 정보 및 의료 정보(121)를 기반으로 공유된 클라우드 시스템의 개별적인 작업으로 요청될 수 있다.
이 때, 클라우드 인프라(112)에서는 인공 지능 학습 플랫폼(111)을 통해 진단 및 학습을 수행하되, 컨테이너와 같은 경량의 인스턴스를 자원 할당이 가능한 물리적인 노드(113)에서 수행할 수 있고, 수행된 결과를 클라우드 저장소에 저장하거나 클라이언트(120, 130, 140)의 요청에 의해 진단 결과로 전송할 수도 있다.
도 2는 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법을 나타낸 동작 흐름도이다.
본 발명은 의료 인공 지능 응용과 같은 딥 러닝(Deep Learning) 학습 및 추론 작업이 동시에 수행되는 환경에서, 의료 진단과 같은 추론 작업의 안정적인 수행을 보장하기 위한 스케줄링 방법에 관한 것이다. 즉, 추론 작업과 비교하여 장기간 수행되는 인공 지능 학습 작업에 의한 자원의 과다 점유 사용을 방지함으로써 추론 작업이 보다 안정적으로 수행될 수 있도록 하는 효율적인 스케줄링 기법을 제공하기 위한 것이다.
이하에서는 의료 인공 지능 분야의 진단 및 학습 작업의 수행 특성을 고려하여 진단 서비스 보장 및 시스템 자원의 효율적인 활용을 지원하는 스케줄링 방법에 대해 상세하게 설명하도록 한다.
도 2를 참조하면, 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법은 클라우드 컴퓨팅 장치가, 클라이언트로부터 요청된 인공 지능 서비스에 할당 가능한 복수개의 워커(worker) 노드들에 기반한 가용 자원이 존재하는지 여부를 판단한다(S210).
이 때, 클라이언트는 본 발명의 일실시예에 따른 클라우드 컴퓨팅 장치에 접속하여 클러스터 인프라에 의한 서비스를 이용하는 사용자에 해당할 수 있다.
이 때, 인공 지능 서비스는 기본적으로 추론(inference)과 학습(training)에 상응하는 형태로 제공되되, 클라이언트의 업무와 관련된 형태로 제공될 수 있다.
예를 들어, 클라이언트가 병원과 같은 의료 기관에 해당하는 경우, 딥 러닝을 통한 인공 지능을 기반으로 환자 정보와 의료 정보를 학습하여 의료 인공 지능 모델의 파라미터를 결정하고, 학습된 의료 인공 지능 모델로 환자에 대한 데이터를 입력하면 추론을 통해 진단 서비스를 제공할 수 있다.
이 때, 복수개의 워커 노드들은 프로세서와 메모리를 이용하여 클라이언트로부터 요청된 인공 지능 서비스를 실질적으로 처리하는 물리적인 노드에 상응할 수 있다. 따라서, 복수개의 워커 노드들은 본 발명에 따른 클라우드 컴퓨팅 장치를 통해 제어 및 관리될 수 있으며, 클라이언트로부터 요청된 인공 지능 서비스에 상응하게 할당되어 동작할 수 있다.
예를 들어, 본 발명에 따른 클라우드 컴퓨팅 장치는 복수개의 워커 노드들 중 인공 지능 서비스를 수행하기 위해 할당된 워커 노드의 에이전트를 기반으로 워커 노드 내의 펑션 실행기를 동작시킴으로써 요청된 서비스에 상응하는 작업을 수행할 수 있다. 이 때, 펑션 실행기는 요청된 인공 지능 서비스에 따라 추론 작업 또는 학습 작업을 수행할 수 있다.
이 때, 본 발명에 따른 클라우드 컴퓨팅 장치와 복수개의 워커 노드들은 1:N의 연결 구조로 동작하거나 또는 클라우드 컴퓨팅 장치를 중복하여 물리적인 단일 노드 에러에 대응하는 구조로 동작할 수 있다. 그러나, 본 발명에서는 스케줄링 방법에 대한 설명의 편의를 위해 하나의 클라우드 컴퓨팅 장치를 이용한 형태로 설명하도록 한다.
이 때, 가용 자원은 클라우드 컴퓨팅 장치에서 제공되는 전체 자원 중 현재 할당 가능한 자원에 해당할 수 있다. 예를 들어, 클라우드 컴퓨팅 장치의 전체 자원이 100에 상응하고, 클라이언트로부터 요청된 인공 지능 서비스를 수행하기 위해 이미 할당된 자원이 40이라고 가정한다면, 나머지 60이 가용 자원에 상응할 수 있다.
이 때, 클라이언트로부터 요청된 인공 지능 서비스를 수행하기 위해 필요한 자원이 어느 정도인지를 먼저 파악하고, 필요한 자원량과 가용 자원을 비교하여 인공 지능 서비스에 할당 가능한 가용 자원이 존재하는지 여부를 판단할 수 있다.
예를 들어, 본 발명에 따른 클라우드 컴퓨팅 장치의 API 게이트웨이는 클라이언트로부터 요청된 인공 지능 서비스, 즉 펑션 실행 요청을 전달받아 클라우드 컴퓨팅 장치 내의 자원 할당 모듈에게 자원 할당 및 워커 노드의 실행을 요청할 수 있다. 이 때, 자원 할당 모듈은 요청된 펑션의 자원 정보와 시스템 자원 현황 정보를 기반으로 자원 할당 가능 여부를 검사할 수 있다.
또한, 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법은 가용 자원이 존재하지 않는 경우, 클라우드 컴퓨팅 장치가, 인공 지능 서비스의 펑션(function) 타입을 고려하여 스냅샷 기반의 학습 작업 지연을 수행한다(S220).
이 때, 펑션 타입이 추론(INFERENCE)에 상응하는 경우, 학습 자원 한계 계수에 기반하여 학습 자원 허용 한계 초과 여부를 검사할 수 있다.
본 발명의 일실시예에 따른 스케줄링 방법에서는 추론 작업을 수행하기 위한 가용 자원이 부족한 경우, 학습 작업의 중단을 통한 지연 수행이 필요한지 여부에 대한 판단이 필요한데, 이를 판단하기 위한 조건으로 학습 작업 한계 계수를 이용할 수 있다.
이 때, 학습 작업 한계 계수는, 학습 작업으로 인한 자원의 과다 사용으로 인해 가용 자원이 한계에 이른 시점에서 추론 작업을 수행하기 위해 필요한 자원 용량을 보장하기 위한 기준 값으로 사용될 수 있다. 즉, 새롭게 요청된 추론 작업의 수행을 위한 시스템의 가용 자원이 부족한 경우에 수행중인 학습 작업 중에서 학습 자원 한계 계수 이상 할당된 자원을 회수하고, 해당 학습 작업은 지연 수행되도록 스케줄링하여 추론 작업의 안정적인 수행을 보장할 수 있다.
예를 들어, 학습 작업 한계 계수가 0.5로 설정되었다고 가정한다면, 전체 자원 중 50%까지 학습 작업에 할당할 수 있다는 것을 의미할 수 있다. 따라서, 추론 작업에 상응하는 인공 지능 서비스 요청이 많지 않은 시점에는 50% 이상의 자원이 학습 작업에 할당될 수 있다. 그러나, 학습 작업 한계 계수를 초과하도록 학습 작업에 자원이 할당된 상태에서 추론 작업에 상응하는 인공 지능 서비스 요청이 증가한다면, 허용 한계를 초과하여 수행중인 학습 작업에 대해서는 지연 수행이 필요하게 된다.
이 때, 학습 자원 한계 계수는 클라우드 인프라 구축 시 예상되는 추론 작업 및 학습 작업의 단위 기간 동안의 자원 사용 비율에 의해 결정될 수 있다.
예를 들어, [수학식 1]을 참조하면, 클라이언트의 수가 n이라고 가정할 때, 기준이 되는 특정 단위 기간 T 동안, N개의 노드로 구성된 전체 시스템의 자원 총 요구량을 T로 나눠서 단위 기간 동안 시스템 자원 요구량 RaSys를 구할 수 있다. 이 후, 단위 기간 T 동안 예상되는 모든 추론 작업 요청 횟수와 각 추론 작업 요청에서 요구되는 자원 할당 용량의 합을 전체 시스템의 자원 요구량으로 나눈 값을 1에서 뺀 값을 학습 자원 한계 계수로 산출할 수 있다.
[수학식 1]
Figure pat00001
상기의 [수학식 1]에서 RaSys는 단위 시간의 시스템 자원 총 요구량, RlimitTF는 학습 자원 한계 계수, CrIF(i)는 추론 작업 자원 요청 횟수, AuIF(i)는 추론 작업 자원 할당 용량, CrTF(i)는 학습 작업 자원 요청 횟수, AuTF(i)는 학습 작업 자원 할당 용량, Tif는 추론 작업 서비스 보장 기간에 상응할 수 있다.
이 때, 학습 작업 자원 총 사용량을 클라우드 컴퓨팅 장치의 자원 총량으로 나눈 값이 기설정된 학습 작업 한계 계수를 초과한 경우에 전체 학습 작업에 할당된 자원이 학습 작업 허용 한계를 초과한 것으로 판단할 수 있다.
이 때, 전체 학습 작업에 할당된 자원이 학습 작업 허용 한계를 초과한 경우, 작업 수행량 및 자원 사용량 중 적어도 하나를 고려하여 지연시킬 학습 작업을 선택할 수 있다.
예를 들어, 작업 수행량을 고려하여 전체 학습 작업 중 가장 늦게 수행된 학습 작업을 지연시킬 대상으로 선택하거나 또는 자원 사용량을 고려하여 전체 학습 작업 중 자원을 가장 많이 사용 중인 학습 작업을 지연시킬 대상으로 선택할 수도 있다.
이 때, 지연시킬 학습 작업의 수행 상태를 프로세서에 대한 스냅샷에 상응하게 저장하고, 지연시킬 학습 작업을 중단시킨 후 학습 작업 대기 큐에 추가할 수 있다.
이 때, 스냅샷은 지연시킬 학습 작업에서 수행중인 프로세서에 대한 모든 컨텍스트 정보를 포함할 수 있다.
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법은 가용 자원이 존재하지 않되, 인공 지능 서비스의 펑션 타입이 학습(TRAINING)에 상응하는 경우, 클라우드 컴퓨팅 장치가, 인공 지능 서비스에 상응하는 학습 작업을 학습 작업 대기 큐에 추가할 수 있다.
이 때, 학습 작업 대기 큐에 추가된 학습 작업은 자원 할당에 기반하여 작업 수행이 가능한 시점까지 중단되어 대기 상태를 유지할 수 있다.
또한, 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법은 클라우드 컴퓨팅 장치가, 학습 작업 지연으로 반납된 자원을 이용하여 인공 지능 서비스를 수행한다(S230).
예를 들어, 학습 작업 지연을 통해 중단된 학습 작업에 대한 스냅샷 생성이 정상적으로 완료되면, 중단된 학습 작업에 할당되었던 자원에 대한 반납이 이루어질 수 있다. 이 후, 반납된 자원을 포함하는 가용 자원 상황에 의해 자원 할당을 요청했던 추론 작업에 대한 자원 할당이 수행됨으로써 워커 노드로 펑션 처리를 요청할 수 있다.
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법은 추론에 상응하는 인공 지능 서비스의 수행이 완료된 경우, 학습 작업 대기 큐에서 학습 작업 지연으로 인해 중단된 학습 작업을 획득하고, 획득한 학습 작업을 재수행할 수 있다.
이 때, 인공 지능 서비스의 수행이 완료됨에 따라 반납된 자원을 포함한 가용 자원을 기반으로 중단된 학습 작업을 재수행 가능한지 여부를 판단할 수 있다.
이 때, 재수행 가능하다고 판단되는 경우, 스냅샷을 기반으로 중단된 학습 작업의 수행을 위한 프로세서 컨텍스트를 복구할 수 있다.
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법은 가용 자원이 존재하는 경우, 인공 지능 서비스에 상응하는 펑션에 대한 자원을 할당하고, 이에 상응하게 할당된 워커 노드의 펑션 실행기 구동을 요청할 수 있다.
이 때, 펑션을 수행하기 위해 할당된 워커 노드의 펑션 실행기가 구동되면, 클라우드 컴퓨팅 장치의 API 게이트웨이를 통해 클라이언트로 펑션 작업의 실행이 전달될 수 있다. 또한, 펑션 실행기에서 펑션 작업을 프로세서로 수행할 수 있다.
또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법은 상술한 바와 같이 본 발명의 일실시예에 따른 스케줄링 과정에서 발생하는 다양한 정보를 별도의 저장 모듈에 저장할 수 있다.
이와 같은 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법을 통해 장기간 수행되는 인공 지능 학습 펑션 서비스의 시스템 자원 독점 수행으로 인해 의료 진단과 같은 추론 펑션 서비스의 수행이 제한되거나 지연되는 것을 방지할 수 있다.
또한, 의료 인공 지능 분야의 진단 및 학습 작업의 수행 특성을 고려하여 인공 지능 진단 서비스를 보장하고, 시스템 자원을 효율적으로 활용할 수도 있다.
도 3은 본 발명의 일실시예에 따른 스케줄링 시스템을 상세하게 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 스케줄링 시스템은 각 수행 역할에 따라 클라우드 컴퓨팅 장치(310), 클라이언트(320) 그리고 클라우드 인프라(330)에 상응하는 워커 노드(331~333)로 구분된다.
먼저, 클라이언트(320)는 도 1에 도시된 시스템 구성에서 병원과 같이 클러스터 인프라를 이용하는 사용자 개념에 해당할 수 있다.
클라우드 컴퓨팅 장치(310)와 워커 노드(331~333)는 클러스터 노드에 설치, 구축되어 다기관 공유 진단/학습 클라우드 인프라를 클라이언트(320)가 네트워크를 통해 접속하여 사용할 수 있도록 할 수 있다.
기본적으로 클라우드 컴퓨팅 장치(310)와 워커 노드(331~333)는 1:N의 연결 구조로 동작할 수 있다. 고가용성의 제공을 위해 동일한 클라우드 컴퓨팅 장치를 중복하여 물리적인 단일 노드 에러에 대응하는 구조를 갖지만 본 발명에서는 핵심인 작업 스케줄링의 설명을 위해 단일 클라우드 컴퓨팅 장치 형상을 통해 설명하도록 한다.
상기에서도 설명하였듯이 클라이언트(320)는 인공 지능 진단/학습 클라우드 인프라에 접근하여 서비스를 제공받는 사용자에 상응한다.
예를 들어, 클라이언트(320)가 병원이라고 가정하면, 인공 지능 서비스는 도 3에 도시된 것처럼 추론에 상응하는 진단 서비스(321)와 학습 서비스(322)로 이루어질 수 있다. 즉, 학습 서비스(322)를 통해 대규모 데이터에 대한 학습을 수행함으로써 인공 지능 서비스 모델의 파라미터가 결정될 수 있고, 학습된 모델 파라미터에 특정 데이터를 입력하는 경우, 추론을 통해 진단 서비스(321)를 제공하는 서비스 형태에 상응할 수 있다.
본 발명의 일실시예에 따른 클라우드 컴퓨팅 장치(310)는 API 게이트웨이, 메타데이터 저장소를 포함하는 펑션 관리기, 자원 할당기, 작업 스케줄러 및 워커 관리기의 블록으로 구성될 수 있다.
이 때, 클라우드 컴퓨팅 장치(310)는 FaaS(Function as a Service) 형태의 클라우드 서비스를 제공하는 핵심 컴포넌트에 상응할 수 있다.
클라우드 컴퓨팅 장치(310)의 API 게이트웨이는 클라이언트(320)가 클라우드 인프라에 접근하기 위한 연결 통로에 상응하는 것으로, 유일하게 클라우드에서 외부에 노출되는 부분에 해당한다. 예를 들어, Rest API와 같은 공용 API를 통해 클라이언트(320)에 서비스를 제공할 수 있으며, 인증, 접근 권한 제어 등의 보안 업무와 로드 밸런싱 기능을 담당할 수 있다.
이 때, API 게이트웨이의 핵심적인 역할은 클라우드 컴퓨팅 장치(310) 내부의 컴포넌트로 클라이언트(320)의 펑션 등록, 펑션 실행, 펑션 실행 결과 가져오기 등의 요청을 전달하는 것에 상응할 수 있다.
클라우드 컴퓨팅 장치(310)의 펑션 관리기는 FaaS(Function as a Service) 형태로 제공되는 펑션을 등록 및 저장하고 관련 메타데이터를 관리할 수 있다. 예를 들어, 펑션에 대한 코드 정보와 펑션을 실행하기 위한 자원 및 환경 등의 컨텍스트 정보, 그리고 펑션이 실행 요청될 때 처리되는 호출을 전달하는 경로에 대한 매핑 정보 등을 저장할 수 있다.
도 3을 참조하면, 펑션 관리기는 클라이언트(320)가 작성한 진단 서비스(321)나 학습 서비스(322)에 관련된 펑션 코드를 API 게이트웨이를 통해 전달받아 독립적인 프로젝트 형태의 펑션으로 저장하고 관리할 수 있다. 이 때, 펑션 실행 요청 시 필요한 자원 할당에 대한 정보와 각 워커 노드에서 펑션 실행기에 의해 펑션이 수행될 때 필요한 환경 정보 또한 관리될 수 있다.
클라우드 컴퓨팅 장치(310)의 자원 할당기는 펑션이 수행될 워커 노드 및 자원을 할당하는 역할을 담당할 수 있다. 예를 들어, 자원 할당기는 클라우드 인프라 구축 단계에서 각 워커 노드(331~333)의 에이전트로부터 등록 요청을 받아 전체 워커 노드의 자원 정보를 유지하고, 클라이언트(320)의 펑션 서비스 실행 요청 시 API 게이트웨이의 자원 할당 요청에 의해 해당 펑션을 수행할 최적의 워커 노드로 자원을 할당할 수 있다.
클라우드 컴퓨팅 장치(310)의 워커 관리기는 각 워커 노드(331~333)의 펑션 실행기에 대한 작동 및 종료를 제어할 수 있다. 예를 들어, 자원 할당기에 의해 결정된 워커 노드(331)의 에이전트를 기반으로 펑션을 수행하기 위한 펑션 실행기를 기동시킬 수 있다. 이 때, 한번 구동된 펑션 실행기는 자원이 부족하여 종료되는 경우가 아니면, 펑션 수행이 종료된 이후에도 빠른 재수행을 위해 백엔드에서 요청을 대기할 수 있다.
클라우드 컴퓨팅 장치(310)의 작업 스케줄러는 API 게이트웨이의 요청에 의해 워커 노드(331~333)의 펑션 실행기에서 수행되는 펑션 프로세스를 스케줄링 할 수 있다. 예를 들어, 진단 서비스를 위한 펑션이나 학습 서비스를 위한 펑션이 특정 워커 노드의 자원을 할당 받아 수행되도록 할 수 있다. 이 때, 컨테이너와 같은 클라우드 인스턴스에서 구동하는 작업 프로세스에 상응하게 동작할 수 있다.
또한, 작업 스케줄러는 시스템 자원 상황과 스케줄링 정책 및 알고리즘에 의해 작업 프로세스의 실제 수행을 관리하는 역할을 수행할 수도 있다.
도 4는 본 발명에 따른 학습 작업 지연을 수행하는 과정을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 API 게이트웨이(410)는 클라이언트 C1으로부터 C1F1에 상응하는 추론 서비스 수행 요청을 수신할 수 있다.
이 후, API 게이트웨이(410)에서 인공 지능 서비스 수행을 위한 추론 작업 IF21을 자원 요청 큐(421)에 추가하여 자원 할당을 요청하면, 자원 할당 모듈(420)은 시스템의 가용 자원을 판단하여 자원을 할당할 수 있다.
그러나, 도 4에 도시된 것처럼 시스템의 가용 자원이 부족하여 이벤트가 발생하는 경우, 작업 스케줄러(430)에서는 현재 학습 작업에 할당된 자원의 총 사용량을 시스템의 자원 총량으로 나눈 값이 기설정된 학습 자원 한계 계수를 초과하는지 검사할 수 있다.
만약, 현재 학습 작업에 할당된 자원의 총 사용량을 시스템의 자원 총량으로 나눈 값이 학습 자원 한계 계수를 초과하는 경우, 도 4에 도시된 것과 같이 학습 작업 중 가장 늦게 수행된 학습 작업 TF5를 지연 수행될 대상으로 선택할 수 있다.
이 때, 작업 스케줄러(430)는 학습 작업 TF5에 할당된 자원을 반납했을 경우에 학습 자원 한계 계수를 초과하지 않게 되는지 여부를 판단하여 지연될 학습 작업을 선택할 수 있다.
이 후, 작업 스케줄러(430)는 학습 작업 TF5에 대한 프로세스의 컨텍스트를 스냅샷으로 생성하여 스냅샷 저장 DB(440)에 기록할 수 있다.
이 후, 작업 스케줄러(430)는 학습 작업 TF5의 작업 정보를 학습 작업 대기 큐(431)의 엔트리에 추가하고, 학습 작업 TF5에 할당된 자원을 반납할 수 있다.
이 후, 학습 작업 TF5에 의해 반납된 자원을 시스템의 가용 자원에 더함으로써 시스템의 가용 자원 용량이 추론 작업 IF21을 수행할 수 있을 정도로 증가하면, 워커 노드 N10으로 추론 작업 IF21을 할당하여 추론 서비스가 정상적으로 이루어지도록 할 수 있다.
도 5는 본 발명에 따른 중단된 학습 작업을 재수행하는 과정을 나타낸 도면이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 워커 노드(550) N1에서 수행되던 추론 작업 IF1, 4, 6이 종료됨에 따라 API 게이트웨이(510)를 기반으로 종료된 작업들에 대한 자원 반납이 수행될 수 있다.
이 때, API 게이트웨이(510)는 자원 할당 모듈(520)로 추론 작업 IF1, 4, 6에 대한 자원 해제 요청을 전달할 수 있다.
이 후, 자원 할당 모듈(520)에서는 워커 노드 N1에 대해 자원 해제를 수행할 수 있고, 시스템의 가용 자원이 중단된 학습 작업 TF5을 재개할 수 있는지 여부를 검사할 수 있다.
만약, 학습 작업 TF5의 수행을 위해 요구되는 충분한 가용 자원이 존재하는 경우, 자원 할당 모듈(520)이 자원 스케줄러(530)로 학습 작업 TF5에 대한 복원 및 재수행 요청을 전달할 수 있다.
이 후, 작업 스케줄러(530)는 학습 작업 대기 큐(531)에 저장된 학습 작업 TF5의 정보를 로딩할 수 있고, 스냅샷 저장 DB(540)로부터 중단된 학습 작업 TF5에 대한 스냅샷을 획득하여 워커 노드 N1에 복원함으로써 학습 작업 TF5를 재수행할 수 있도록 작업을 스케줄링 할 수 있다.
도 5에 도시된 것과 같은 작업 스케줄링 절차를 통해, 추론 서비스 요청이 줄어드는 상황에서 시스템의 가용 자원을 이용하여 중단된 학습 작업을 수행하는 것이 가능해진다. 이와 같이, 추론 서비스 요청이 많은 시점을 피해서 많은 자원을 장기간 점유하여 수행되는 학습 작업이 수행되도록 스케줄링 함으로써 작업 특성과 시스템 자원 가용 현황을 고려한 효율적인 작업 스케줄링이 가능함을 확인할 수 있다.
도 6은 본 발명의 일실시예에 따른 학습 작업 지연을 수행하는 방법을 상세하게 나타낸 동작흐름도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 학습 작업 지연을 수행하는 방법은 클라이언트로부터 인공 지능 서비스에 해당하는 펑션 실행 요청을 수신하여 펑션 실행을 위한 자원 및 워커 노드 할당을 요청할 수 있다(S610).
이 후, 요청된 펑션을 수행하기 위한 자원 정보와 시스템 자원 현황 정보를 고려하여 펑션을 수행하기 위한 가용 자원이 존재하는지 여부를 판단할 수 있다(S615).
단계(S615)의 판단결과 가용 자원이 존재하지 않아 펑션을 수행하기 위한 자원 할당이 불가능하면, 클라이언트로부터 요청된 인공 지능 서비스에 대한 펑션 타입이 학습인지 여부를 판단할 수 있다(S625).
단계(S625)의 판단결과 펑션 타입이 학습이 아닌 추론이라면, 현재 시스템에서 학습 작업에 할당된 자원이 허용 한계를 초과하였는지 여부를 검사할 수 있다(S630).
이 후, 학습 자원 허용 한계 초과 사용으로 학습 작업 지연 수행이 필요한지 여부를 판단하고(S635), 학습 작업 지연이 필요하면 현재 시스템에서 수행중인 학습 작업 중 지연시킬 학습 작업을 선택할 수 있다(S640).
이 때, 가장 늦게 수행되거나 최다 자원 사용중인 학습 작업을 지연 대상 작업으로 선택할 수 있다.
이 후, 지연 대상으로 선택된 학습 작업의 수행 상태를 프로세스에 대한 스냅샷을 이용하여 스냅샷 저장 DB에 저장하고, 중단된 학습 작업에 대한 정보를 학습 작업 대기 큐에 추가할 수 있다(S650).
이 때, 스냅샷은 수행중인 프로세스에 대한 모든 컨텍스트 정보를 포함할 수 있다.
이 때, 시스템의 자원 상황이 학습 작업에 대한 재수행이 가능한 상태가 되면, 중단된 학습 작업에 대한 상태 복원 및 수행이 재개될 수 있다.
이 후, 중단된 학습 작업에 할당되었던 자원에 대한 반납이 수행되고, 반납된 자원을 포함하는 시스템의 가용 자원을 기반으로 클라이언트로부터 요청된 추론 작업에 대한 자원 할당이 수행될 수 있다.
이 후, 자원이 할당된 워커 노드의 에이전트로 펑션 실행기에 의한 펑션 처리를 요청함으로써 클라이언트로부터 요청된 인공 지능 서비스를 수행할 수 있다(S670).
또한, 단계(S615)의 판단결과 가용 자원이 존재하여 펑션을 수행하기 위한 자원 할당이 가능하면, 가용 자원을 할당하고(S680) 펑션을 수행하기 위해 할당된 워커 노드의 펑션 실행기를 구동하여 인공 지능 서비스를 수행할 수 있다(S670).
이 때, 펑션 실행기가 구동되면 API 게이트웨이를 통해 실제 펑션 작업의 실행이 전달될 수 있고, 펑션 실행기에서 펑션 작업을 프로세스로 수행할 수 있다.
또한, 단계(S625)의 판단결과 펑션 타입이 학습이라면, 학습 작업 대기 큐의 엔트리에 요청된 학습 작업을 추가하고(S690), 시스템 자원 상황에 의해 해당 학습 작업에 대한 자원 할당 및 수행이 가능한 시점까지 대기 상태를 유지할 수 있다.
도 7은 본 발명의 일실시예에 따른 중단된 학습 작업을 재수행하는 과정을 상세하게 나타낸 동작흐름도이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 중단된 학습 작업을 재수행하는 과정은, 클라이언트로부터 요청된 인공 지능 서비스에 대한 수행 종료 후 자원 반납이 요청 되었을 경우, 시스템의 가용 자원이 충분하다면 중단된 학습 작업을 복원하여 재수행 시키는 작업 스케줄링이 이루어지는 방법을 설명한다.
먼저 워커 노드에서 동작중인 인공 지능 서비스에 대한 펑션 작업의 수행이 완료되면(S710), 펑션 작업에서 할당 받은 자원을 반납하고, 반납된 자원에 상응하게 시스템의 자원 정보를 업데이트할 수 있다(S720).
이 후, 학습 작업 대기 큐에서 수행이 중단 또는 지연된 학습 작업 엔트리의 자원 할당 정보를 로딩할 수 있다(S730).
이 후, 시스템의 가용 자원을 기반으로 학습 작업 대기 큐에서 대기중인 중단된 학습 작업을 재수행 가능한지 판단할 수 있다(S735).
이 때, 시스템의 가용 자원과 학습 작업에 필요한 자원을 비교하여 시스템의 자원 할당 가능 여부를 검사할 수 있다.
단계(S735)의 판단결과 중단된 학습 작업의 재수행이 가능하면, 해당 학습 작업을 위한 워커 노드 및 자원을 할당할 수 있다(S740).
이 후, 중단된 학습 작업에 상응하게 저장된 스냅샷에서 중단된 학습 작업 수행을 위한 프로세스 컨텍스트를 할당된 워커 노드에 복구시킬 수 있다(S750).
이 후, 복구된 학습 작업의 엔트리를 학습 작업 대기 큐에서 삭제하고(S760), 중단된 학습 작업의 복구가 완료되면 학습 작업을 재수행 시킬 수 있다(S770).
도 8은 본 발명에 따른 스케줄링 방법을 적용한 의료 인공 지능 공유 진단/학습 클라우드 환경의 일 예를 나타낸 도면이다.
도 8을 참조하면, 본 발명에 따른 스케줄링 방법을 적용한 의료 인공 지능 공유 진단/학습 클라우드 환경은, 다수의 병원들에 의료 인공 지능 공유 진단/학습 클라우드 인프라를 기반으로 펑션 형태의 진단 및 학습 서비스를 제공할 수 있다.
이 때, 공유 클라우드 인프라의 자원 규모는 서비스되는 진단과 학습 서비스 수행 규모를 예측하여 결정될 수 있다. 예를 들어, 병원과 같은 의료 분야에서는 진단 작업의 대부분이 진료 시간에 집중적으로 이루어진다. 즉, 비진료 시간에는 진단 작업이 거의 수행되지 않을 수 있다. 또한, 학습 작업은 초기나 명시적인 요청에 의해 수행되거나 의료/진료 정보 데이터가 일정 규모 이상 누적된 경우에 시스템적으로 수행될 수 있다. 따라서, 클라우드 인프라의 자원 규모를 결정할 경우, 공유하는 병원에서 발생하는 진단 작업과 학습 작업의 자원 사용량을 예측하여 결정할 수 있다.
이 때, 본 발명에서는 클라우드 초기 구축 단계에서 학습 자원 한계 계수를 결정하고, 이를 기반으로 스냅샷 기반의 학습 지연을 이용한 서비스를 제공할 수 있다.
예를 들어, 도 8과 같이, 학습 1과 학습 2가 수행되는 상황에서 학습 3이 수행되는 경우, 학습 서비스에 학습 자원 한계 계수를 초과하는 자원이 할당될 수 있지만 학습 3이 수행되는 시간은 병원의 비진료 시간에 해당하여 진단 서비스가 거의 수행되지 않기 때문에 무리 없이 학습 작업 수행이 가능할 수 있다.
그러나, 진료 시간이 되어 병원으로부터 다수의 진단 서비스가 요청되면, 시스템 가용 자원이 부족한 상황이 발생할 수 있다. 따라서, 이러한 경우에 작업 스케줄러는 가장 마지막으로 수행되고, 자원을 반납했을 때 학습 자원 한계 계수를 만족시킬 수 있는 학습 3의 수행을 중단시킬 수 있다.
이를 통해 확보한 시스템의 가용 자원을 이용하여 진단 서비스가 정상적으로 수행될 수 있다.
만약, 학습 3으로부터 반납된 자원으로도 학습 자원 한계 계수를 만족시킬 수 없다면, 학습 1이나 학습 2 중에서 하나를 더 선택하여 중단시키는 작업 스케줄링 작업을 수행할 수 있다.
이 후, 병원의 진료 시간이 종료됨에 따라 시스템의 가용 자원이 증가하고, 가용 자원이 중단 되었던 학습 3을 수행할 수 있을 정도로 확보되면, 저장된 스냅샷을 복원하여 학습 3의 작업 수행을 재개할 수 있다.
이와 같은 스케줄링 방법을 다수의 의료기관에서 공유된 클라우드 인프라를 기반으로 하는 클라우드 플랫폼에 적용하면, 시스템 자원의 규모가 진단과 학습을 동시에 처리할 수 있을 정도가 아니라 할지라도 진단 서비스와 같은 우선적인 작업을 효율적으로 지원하는 것이 가능할 수 있다.
도 9는 본 발명의 일실시예에 따른 클라우드 컴퓨팅 장치를 나타낸 블록도이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 클라우드 컴퓨팅 장치는 API 게이트웨이부(910), 작업 스케줄링부(920), 자원 할당부(930), 워커 관리부(940) 및 스냅샷 저장부(950)를 포함한다.
API 게이트웨이부(910)는 클라이언트와 인공 지능 서비스의 제공을 위한 통신을 수행한다.
이 때, 클라이언트는 본 발명의 일실시예에 따른 클라우드 컴퓨팅 장치에 접속하여 클러스터 인프라에 의한 서비스를 이용하는 사용자에 해당할 수 있다.
이 때, 인공 지능 서비스는 기본적으로 추론(inference)과 학습(training)에 상응하는 형태로 제공되되, 클라이언트의 업무와 관련된 형태로 제공될 수 있다.
예를 들어, 클라이언트가 병원과 같은 의료 기관에 해당하는 경우, 딥 러닝을 통한 인공 지능을 기반으로 환자 정보와 의료 정보를 학습하여 의료 인공 지능 모델의 파라미터를 결정하고, 학습된 의료 인공 지능 모델로 환자에 대한 데이터를 입력하면 추론을 통해 진단 서비스를 제공할 수 있다.
자원 할당부(930)는 인공 지능 서비스에 할당 가능한 복수개의 워커(Worker) 노드들에 기반한 가용 자원이 존재하는지 여부를 판단한다.
이 때, 복수개의 워커 노드들은 프로세서와 메모리를 이용하여 클라이언트로부터 요청된 인공 지능 서비스를 실질적으로 처리하는 물리적인 노드에 상응할 수 있다. 따라서, 복수개의 워커 노드들은 워커 관리부(940)를 통해 제어 및 관리될 수 있으며, 클라이언트로부터 요청된 인공 지능 서비스에 상응하게 할당되어 동작할 수 있다.
예를 들어, 워커 관리부(940)는 복수개의 워커 노드들 중 인공 지능 서비스를 수행하기 위해 할당된 워커 노드의 에이전트를 기반으로 워커 노드 내의 펑션 실행기를 동작시킴으로써 요청된 서비스에 상응하는 작업을 수행할 수 있다. 이 때, 펑션 실행기는 요청된 인공 지능 서비스에 따라 추론 작업 또는 학습 작업을 수행할 수 있다.
이 때, 본 발명에 따른 클라우드 컴퓨팅 장치와 복수개의 워커 노드들은 1:N의 연결 구조로 동작하거나 또는 클라우드 컴퓨팅 장치를 중복하여 물리적인 단일 노드 에러에 대응하는 구조로 동작할 수 있다. 그러나, 본 발명에서는 스케줄링 방법에 대한 설명의 편의를 위해 하나의 클라우드 컴퓨팅 장치를 이용한 형태로 설명하도록 한다.
이 때, 가용 자원은 클라우드 컴퓨팅 장치에서 제공되는 전체 자원 중 현재 할당 가능한 자원에 해당할 수 있다. 예를 들어, 클라우드 컴퓨팅 장치의 전체 자원이 100에 상응하고, 클라이언트로부터 요청된 인공 지능 서비스를 수행하기 위해 이미 할당된 자원이 40이라고 가정한다면, 나머지 60이 가용 자원에 상응할 수 있다.
이 때, 자원 할당부(930)는 클라이언트로부터 요청된 인공 지능 서비스를 수행하기 위해 필요한 자원이 어느 정도인지를 먼저 파악하고, 필요한 자원량과 가용 자원을 비교하여 인공 지능 서비스에 할당 가능한 가용 자원이 존재하는지 여부를 판단할 수 있다.
예를 들어, API 게이트웨이부(910)는 클라이언트로부터 요청된 인공 지능 서비스, 즉 펑션 실행 요청을 전달받아 자원 할당부(930)에게 자원 할당 및 워커 노드의 실행을 요청할 수 있다. 이 때, 자원 할당부(930)는 요청된 펑션의 자원 정보와 시스템 자원 현황 정보를 기반으로 자원 할당 가능 여부를 검사할 수 있다.
작업 스케줄링부(920)는 가용 자원이 존재하지 않는 경우에 인공 지능 서비스의 펑션(Function) 타입을 고려하여 스냅샷 기반의 학습 작업 지연을 수행한다.
이 때, 펑션 타입이 추론(INFERENCE)에 상응하는 경우, 학습 자원 한계 계수에 기반하여 학습 자원 허용 한계 초과 여부를 검사할 수 있다.
본 발명에서는 추론 작업을 수행하기 위한 가용 자원이 부족한 경우, 학습 작업의 중단을 통한 지연 수행이 필요한지 여부에 대한 판단이 필요한데, 이를 판단하기 위한 조건으로 학습 작업 한계 계수를 이용할 수 있다.
이 때, 학습 작업 한계 계수는, 학습 작업으로 인한 자원의 과다 사용으로 인해 가용 자원이 한계에 이른 시점에서 추론 작업을 수행하기 위해 필요한 자원 용량을 보장하기 위한 기준 값으로 사용될 수 있다. 즉, 새롭게 요청된 추론 작업의 수행을 위한 시스템의 가용 자원이 부족한 경우에 수행중인 학습 작업 중에서 학습 자원 한계 계수 이상 할당된 자원을 회수하고, 해당 학습 작업은 지연 수행되도록 스케줄링하여 추론 작업의 안정적인 수행을 보장할 수 있다.
예를 들어, 학습 작업 한계 계수가 0.5로 설정되었다고 가정한다면, 전체 자원 중 50%까지 학습 작업에 할당할 수 있다는 것을 의미할 수 있다. 따라서, 추론 작업에 상응하는 인공 지능 서비스 요청이 많지 않은 시점에는 50% 이상의 자원이 학습 작업에 할당될 수 있다. 그러나, 학습 작업 한계 계수를 초과하도록 학습 작업에 자원이 할당된 상태에서 추론 작업에 상응하는 인공 지능 서비스 요청이 증가한다면, 허용 한계를 초과하여 수행중인 학습 작업에 대해서는 지연 수행이 필요하게 된다.
이 때, 학습 자원 한계 계수는 클라우드 인프라 구축 시 예상되는 추론 작업 및 학습 작업의 단위 기간 동안의 자원 사용 비율에 의해 결정될 수 있다.
예를 들어, [수학식 1]을 참조하면, 클라이언트의 수가 n이라고 가정할 때, 기준이 되는 특정 단위 기간 T 동안, N개의 노드로 구성된 전체 시스템의 자원 총 요구량을 T로 나눠서 단위 기간 동안 시스템 자원 요구량 RaSys를 구할 수 있다. 이 후, 단위 기간 T 동안 예상되는 모든 추론 작업 요청 횟수와 각 추론 작업 요청에서 요구되는 자원 할당 용량의 합을 전체 시스템의 자원 요구량으로 나눈 값을 1에서 뺀 값을 학습 자원 한계 계수로 산출할 수 있다.
[수학식 1]
Figure pat00002
상기의 [수학식 1]에서 RaSys는 단위 시간의 시스템 자원 총 요구량, RlimitTF는 학습 자원 한계 계수, CrIF(i)는 추론 작업 자원 요청 횟수, AuIF(i)는 추론 작업 자원 할당 용량, CrTF(i)는 학습 작업 자원 요청 횟수, AuTF(i)는 학습 작업 자원 할당 용량, Tif는 추론 작업 서비스 보장 기간에 상응할 수 있다.
이 때, 학습 작업 자원 총 사용량을 클라우드 컴퓨팅 장치의 자원 총량으로 나눈 값이 기설정된 학습 작업 한계 계수를 초과한 경우에 전체 학습 작업에 할당된 자원이 학습 작업 허용 한계를 초과한 것으로 판단할 수 있다.
이 때, 전체 학습 작업에 할당된 자원이 학습 작업 허용 한계를 초과한 경우, 작업 수행량 및 자원 사용량 중 적어도 하나를 고려하여 지연시킬 학습 작업을 선택할 수 있다.
예를 들어, 작업 수행량을 고려하여 전체 학습 작업 중 가장 늦게 수행된 학습 작업을 지연시킬 대상으로 선택하거나 또는 자원 사용량을 고려하여 전체 학습 작업 중 자원을 가장 많이 사용 중인 학습 작업을 지연시킬 대상으로 선택할 수도 있다.
이 때, 지연시킬 학습 작업의 수행 상태를 프로세서에 대한 스냅샷에 상응하게 저장하고, 지연시킬 학습 작업을 중단시킨 후 학습 작업 대기 큐에 추가할 수 있다.
이 때, 스냅샷은 지연시킬 학습 작업에서 수행중인 프로세서에 대한 모든 컨텍스트 정보를 포함할 수 있고, 생성이 완료되면 스냅샷 저장부(950)에 저장될 수 있다.
또한, 작업 스케줄링부(920)는 가용 자원이 존재하지 않되, 인공 지능 서비스의 펑션 타입이 학습(TRAINING)에 상응하는 경우, 인공 지능 서비스에 상응하는 학습 작업을 학습 작업 대기 큐에 추가할 수 있다.
이 때, 학습 작업 대기 큐에 추가된 학습 작업은 자원 할당에 기반하여 작업 수행이 가능한 시점까지 중단되어 대기 상태를 유지할 수 있다.
자원 할당부(930)는 학습 작업 지연으로 반납된 자원을 복수개의 워커 노드들 중 인공 지능 서비스를 수행하기 위한 워커 노드로 할당한다.
워커 관리부(940)는 복수개의 워커 노드들을 기반으로 인공 지능 서비스의 펑션 타입에 상응하는 작업을 수행한다.
예를 들어, 학습 작업 지연을 통해 중단된 학습 작업에 대한 스냅샷 생성이 정상적으로 완료되면, 중단된 학습 작업에 할당되었던 자원에 대한 반납이 이루어질 수 있다. 이 후, 반납된 자원을 포함하는 가용 자원 상황에 의해 자원 할당을 요청했던 추론 작업에 대한 자원 할당이 수행됨으로써 워커 노드로 펑션 처리를 요청할 수 있다.
또한, 작업 스케줄링부(920)는 추론에 상응하는 인공 지능 서비스의 수행이 완료된 경우, 학습 작업 대기 큐에서 학습 작업 지연으로 인해 중단된 학습 작업을 획득하고, 획득한 학습 작업을 재수행할 수 있다.
이 때, 인공 지능 서비스의 수행이 완료됨에 따라 반납된 자원을 포함한 가용 자원을 기반으로 중단된 학습 작업을 재수행 가능한지 여부를 판단할 수 있다.
이 때, 재수행 가능하다고 판단되는 경우, 스냅샷을 기반으로 중단된 학습 작업의 수행을 위한 프로세서 컨텍스트를 복구할 수 있다.
또한, 자원 할당부(930)는 가용 자원이 존재하는 경우, 인공 지능 서비스에 상응하는 펑션에 대한 자원을 할당하고, 워커 관리부(940)를 통해 워커 노드의 펑션 실행기 구동을 요청할 수 있다.
이 때, 펑션을 수행하기 위해 할당된 워커 노드의 펑션 실행기가 구동되면, API 게이트웨이부(910)를 통해 클라이언트로 펑션 작업의 실행이 전달될 수 있다. 또한, 펑션 실행기에서 펑션 작업을 프로세서로 수행할 수 있다.
또한, 도 9에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 클라우드 컴퓨팅 장치는 상술한 바와 같이 본 발명의 실시예에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링을 위한 기능을 지원하는 메모리를 더 포함할 수 있다. 이 때, 메모리는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다.
한편, 클라우드 컴퓨팅 장치는 메모리가 탑재되어 그 장치 내에서 정보를 저장할 수 있다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
도 10은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 도면이다.
도 10을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템에서 구현될 수 있다. 도 10에 도시된 바와 같이, 컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 입력 장치(1040), 사용자 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 측면에 따른 방법을 수행할 수 있다.
이상에서와 같이 본 발명에 따른 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
110, 310: 클라우드 컴퓨팅 장치 111: 인공 지능 학습 플랫폼
112, 330: 클라우드 인프라 113: 물리적인 노드들
116: 성능 가속 장치 120, 130, 140, 320: 클라이언트
121: 환자정보 및 의료정보 122: 진단 및 학습 서비스
321: 진단 서비스 322: 학습 서비스
331~333, 450, 550: 워커 노드 410, 510: API 게이트웨이
420, 520: 자원 할당 모듈 421: 자원 요청 큐
430, 530: 작업 스케줄러 431, 531: 학습 작업 대기 큐
440, 540: 스냅샷 저장 데이터베이스
910: API 게이트웨이부 920: 작업 스케줄링부
930: 자원 할당부 940: 워커 관리부
950: 스냅샷 저장부 1000: 컴퓨터 시스템
114, 1010: 프로세서 1020: 버스
115, 1030: 메모리 1031: 롬
1032: 램 1040: 사용자 입력 장치
1050: 사용자 출력 장치 1060: 스토리지
1070: 네트워크 인터페이스 1080: 네트워크

Claims (1)

  1. 클라우드 컴퓨팅 장치가, 클라이언트로부터 요청된 인공 지능 서비스에 할당 가능한 복수개의 워커(WORKER) 노드들에 기반한 가용 자원이 존재하는지 여부를 판단하는 단계;
    상기 가용 자원이 존재하지 않는 경우, 상기 클라우드 컴퓨팅 장치가, 상기 인공 지능 서비스의 펑션(FUNCTION) 타입을 고려하여 스냅샷 기반의 학습 작업 지연을 수행하는 단계; 및
    상기 클라우드 컴퓨팅 장치가, 상기 학습 작업 지연으로 반납된 자원을 이용하여 상기 인공 지능 서비스를 수행하는 단계
    를 포함하는 것을 특징으로 하는 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법.
KR1020180120758A 2017-12-12 2018-10-10 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치 KR20190070251A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170170399 2017-12-12
KR1020170170399 2017-12-12

Publications (1)

Publication Number Publication Date
KR20190070251A true KR20190070251A (ko) 2019-06-20

Family

ID=67104081

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180120758A KR20190070251A (ko) 2017-12-12 2018-10-10 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR20190070251A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210066502A (ko) * 2019-11-28 2021-06-07 한국전자통신연구원 강화학습 기반 이타적 스케줄링 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130084796A (ko) 2012-01-18 2013-07-26 한국과학기술원 클라우드 환경에서의 클라우드 사용자를 위한 컴퓨팅 자원 할당 검증 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130084796A (ko) 2012-01-18 2013-07-26 한국과학기술원 클라우드 환경에서의 클라우드 사용자를 위한 컴퓨팅 자원 할당 검증 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210066502A (ko) * 2019-11-28 2021-06-07 한국전자통신연구원 강화학습 기반 이타적 스케줄링 장치 및 방법
US11711795B2 (en) 2019-11-28 2023-07-25 Electronics And Telecommunications Research Institute Apparatus and method for altruistic scheduling based on reinforcement learning

Similar Documents

Publication Publication Date Title
US11681562B2 (en) Resource manager for managing the sharing of resources among multiple workloads in a distributed computing environment
US20220300334A1 (en) System and Method for a Self-Optimizing Reservation in Time of Compute Resources
US10120904B2 (en) Resource management in a distributed computing environment
US9886322B2 (en) System and method for providing advanced reservations in a compute environment
JP6254949B2 (ja) 仮想マシンプールにおけるリソースの価格設定
US10241812B2 (en) Assignment of resources in virtual machine pools
JP5256744B2 (ja) 資源割当てシステム、資源割当て方法及びプログラム
US8108869B2 (en) System and method for enforcing future policies in a compute environment
US20100114849A1 (en) Allocating Priorities to Prevent Deadlocks in a Storage System
US20130179881A1 (en) Decoupling paas resources, jobs, and scheduling
US20130179894A1 (en) Platform as a service job scheduling
US20130179895A1 (en) Paas hierarchial scheduling and auto-scaling
US11175960B2 (en) Worker-scheduling method in cloud-computing system and apparatus for the same
Pandey et al. RACE: A concurrency control protocol for time-constrained transactions
KR20190070251A (ko) 스냅샷 기반의 학습 지연을 이용한 스케줄링 방법 및 이를 위한 장치
US10831557B2 (en) Task management using a virtual node
KR102014246B1 (ko) 리소스 통합관리를 위한 메소스 처리 장치 및 방법
Janardhanan et al. Analysis and modeling of resource management overhead in Hadoop YARN Clusters
CN114138400A (zh) 资源调度系统及方法
CN118152139A (zh) 任务配置方法、装置、介质和计算设备