KR20210094639A - 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체 - Google Patents

리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체 Download PDF

Info

Publication number
KR20210094639A
KR20210094639A KR1020217020244A KR20217020244A KR20210094639A KR 20210094639 A KR20210094639 A KR 20210094639A KR 1020217020244 A KR1020217020244 A KR 1020217020244A KR 20217020244 A KR20217020244 A KR 20217020244A KR 20210094639 A KR20210094639 A KR 20210094639A
Authority
KR
South Korea
Prior art keywords
resource
task
node
scheduling
tasks
Prior art date
Application number
KR1020217020244A
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 KR20210094639A publication Critical patent/KR20210094639A/ko

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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • 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]
    • 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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체에 관한 것인바, 상기 방법은 목표 태스크의 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 각 리소스 노드의 제1 스케줄링 스코어를 확정하는 것; 및 각 리소스 노드의 상기 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 목표 리소스 노드를 확정하는 것을 포함한다.

Description

리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체
본 발명은 컴퓨터 기술 분야에 관한 것인바, 특히 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체에 관한 것이다.
응용 프로그램의 규모의 급속한 성장에 따라, 처리해야 할 리소스에 대한 스케줄링의 중요성이 점점 높아지고 있으며, 적절한 스케줄링은 시스템이 안정되고 효율적인 실행을 서포트할 수 있다. 관련 기술에서는 리소스를 스케줄링할 때에 리소스의 조각화가 발생하기 쉽고, 따라서 리소스 이용률이 상대적으로 낮다.
본 발명은 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체를 제안한다.
본 발명의 제1 양태에 따르면, 리소스 스케줄링 방법을 제공하는바, 당해 방법은 목표 태스크의 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 확정하는 것; 및 상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 상기 복수의 리소스 노드 중에서 상기 목표 태스크를 처리하기 위한 목표 리소스 노드를 확정하는 것을 포함하되, 상기 제1 리소스는 심층 학습 리소스를 포함하고, 상기 제2 리소스는 범용 리소스를 포함한다.
본 발명의 실시예의 리소스 스케줄링 방법에 따르면, 처리 리소스를 스케줄링할 때에, 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량을 종합적으로 고려하여 제1 스케줄링 스코어를 확정할 수 있기에, 리소스의 조각화를 줄이는 데에 도움이 되며, 리소스의 이용률을 향상시킨다.
가능한 일 실현 형태에 있어서, 상기 목표 태스크의 리소스 수요량은 제1 리소스 수요량 및 제2 리소스 수요량을 포함하고, 상기 목표 태스크의 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 확정하는 것은, 상기 목표 태스크의 상기 제1 리소스 수요량 및 상기 제1 리소스의 상기 현재 리소스 나머지량에 기반하여 제1 스코어를 얻는 것; 상기 목표 태스크의 상기 제2 리소스 수요량 및 상기 제2 리소스의 상기 사용 가능 리소스 합계량에 기반하여 제2 스코어를 확정하는 것; 및 상기 제1 스코어 및 상기 제2 스코어에 기반하여 가중치 합산을 실행하여 상기 제1 스케줄링 스코어를 얻는 것을 포함한다.
이러한 방식에 따라, 제1 리소스의 나머지량 및 제2 리소스 합계량을 종합적으로 고려하여 각 리소스 노드의 제1 스케줄링 스코어를 확정할 수 있기에, 목표 태스크의 각 태스크 유닛을 같은 리소스 노드에 집중적으로 할당하여 처리를 실행할 수 있으며, 조각화되는 리소스를 감소시키고, 리소스의 이용 효율을 향상시켜, 후속의 태스크 대기 시간을 단축한다.
가능한 일 실현 형태에 있어서, 상기 방법은 상기 복수의 리소스 노드 중의 각 리소스 노드에 할당하는 태스크 타입 및 상기 목표 태스크의 타입에 기반하여, 상기 각 리소스 노드의 제2 스케줄링 스코어를 확정하는 것을 더 포함하며, 상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 상기 복수의 리소스 노드 중에서 상기 목표 태스크를 처리하기 위한 목표 리소스 노드를 확정하는 것은, 각 리소스 노드의 상기 제1 스케줄링 스코어 및 상기 제2 스케줄링 스코어에 기반하여, 상기 각 리소스 노드의 합계 스케줄링 스코어를 확정하는 것; 및 상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 합계 스케줄링 스코어에 기반하여, 상기 목표 리소스 노드를 확정하는 것을 포함한다.
가능한 일 실현 형태에 있어서, 제1 노드의 제2 스케줄링 스코어는 제2 노드의 제2 스케줄링 스코어보다 크고, 여기서, 상기 제1 노드는 상기 복수의 리소스 노드 중에서 할당된 태스크 타입이 상기 목표 태스크의 타입과 동일한 노드이며, 상기 제2 노드는 상기 복수의 리소스 노드 중에서 할당된 태스크 타입이 상기 목표 태스크의 타입과 다른 노드이다.
가능한 일 실현 형태에 있어서, 상기 방법은 복수의 태스크 중의 각 태스크의 우선도 및 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것; 및 상기 목표 태스크의 상기 제1 태스크 대기열 중의 순서에 기반하여, 상기 목표 태스크에 대해 스케줄링을 실행하는 것을 더 포함하되, 상기 복수의 태스크는 상기 목표 태스크를 포함한다.
이러한 방식에 따라, 태스크 유닛 평균 리소스 수요량을 정렬 기준으로 사용할 수 있으며, 처리 리소스를 충분히 이용하여 리소스의 이용률을 향상시키며, 리소스의 낭비를 줄인다.
가능한 일 실현 형태에 있어서, 상기 복수의 태스크 중의 각 태스크의 우선도 및 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것은, 상기 복수의 태스크 중의 각 태스크의 우선도에 기반하여, 상기 복수의 태스크 초기 순서를 확정하는 것; 및 상기 초기 순서 중에 적어도 두 개의 태스크의 우선도가 동일한 상황이 존재할 경우, 상기 적어도 두 개의 태스크의 각각의 평균 리소스 수요량에 기반하여, 상기 적어도 두 개의 태스크의 목표 순서를 확정하는 것을 포함한다.
가능한 일 실현 형태에 있어서, 상기 복수의 태스크 중의 각 태스크의 우선도 및 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것은, 상기 복수의 태스크 중의 각 태스크의 우선도, 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 및 상기 복수의 태스크 중의 각 태스크의 생성 타임 스탬프 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 상기 제1 태스크 대기열을 얻는 것을 포함한다.
본 발명의 제2 양태에 따르면, 리소스 스케줄링 장치를 제공하는바, 당해 장치는 목표 태스크의 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 확정하기 위한 제1 확정 모듈; 및 상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 상기 복수의 리소스 노드 중에서 상기 목표 태스크를 처리하기 위한 목표 리소스 노드를 확정하기 위한 제2 확정 모듈을 구비하되, 상기 제1 리소스는 심층 학습 리소스를 포함하고, 상기 제2 리소스는 범용 리소스를 포함한다.
본 발명의 제3 양태에 따르면, 전자 디바이스를 제공하는바, 당해 전자 디바이스는 프로세서; 및 상기 프로세서에 의해 실행 가능한 명령을 기억하기 위한 메모리를 구비하되, 상기 프로세서는 상술한 제1 양태의 리소스 스케줄링 방법을 실행하도록 구성된다.
본 발명의 제4 양태에 따르면, 컴퓨터 프로그램 명령이 기억되어 있는 컴퓨터 판독 가능 기록 매체를 제공하는바, 상기 컴퓨터 프로그램 명령이 프로세서에 의해 실행되면, 상기 프로세서로 하여금 상술한 제1 양태의 리소스 스케줄링 방법을 구현하도록 한다.
본 발명의 제5 양태에 따르면, 컴퓨터 판독 가능 코드를 포함하는 컴퓨터 프로그램 제품을 제공하는바, 컴퓨터 판독 가능 코드가 디바이스 상에서 실행되면, 상기 디바이스 중의 프로세서로 하여금 상술한 제1 양태의 리소스 스케줄링 방법을 구현하기 위한 명령을 실행하도록 한다.
상술한 일반적인 서술과 이하의 상세한 서술은 단지 예시적 및 해석적인 것에 불과하며, 본 발명을 제한하기 위한 것이 아님을 이해해야 한다.
이하의 도면을 참조하여 예시적인 실시예를 상세하게 설명함으로써, 본 발명의 기타 특징 및 양태가 명료해지도록 한다.
여기서의 도면은 명세서에 병합되어 명세서의 일부를 구성하고, 본 발명에 부합되는 실시예를 나타내며, 명세서의 기재와 함께 본 발명의 기술적 방안을 설명하는 데에 이용할 수 있다.
도 1은 본 발명의 실시예에 따른 리소스 스케줄링 방법을 나타내는 플로우 챠트이다.
도 2는 본 발명의 실시예에 따른 목표 노드 선택을 나타내는 모식도이다.
도 3은 본 발명의 실시예에 따른 리소스 스케줄링 방법을 나타내는 적용 모식도이다.
도 4는 본 발명의 실시예에 따른 리소스 스케줄링 장치를 나타내는 블록도이다.
도 5는 본 발명의 실시예에 따른 전자 디바이스를 나타내는 블록도이다.
도 6은 본 발명 다른 일 실시예의 전자 디바이스를 나타내는 블록도이다.
이하에서는 도면을 참조하여 본 발명의 각 예시적인 실시예, 특징 및 양태를 상세하게 설명한다. 도면에서의 같은 부호는 기능이 같거나 유사한 소자를 나타낸다. 도면에 실시예의 각 양태를 나타냈지만, 특별히 지적하지 않는 한, 반드시 축척대로 도면을 그릴 필요가 없다.
여기서의 "예시적"이라는 용어는 "예시, 실시예인 것 또는 설명적인 것"을 의미한다. 여기서 "예시적"으로 설명되는 어느 실시예는 기타 실시예보다 뛰어나거나 우수한 것으로 해석해서는 안된다.
본 발명 중의 "및/또는"이라는 용어는 단지 관련 대상의 관련 관계를 설명하는바, 세 가지의 관계가 존재할 가능성이 있음을 나타낸다. 예를 들면, A 및/또는 B는 A가 단독으로 존재하는 것, A와 B가 동시에 존재하는 것 및 B가 단독으로 존재하는 것과 같은 세 가지 경우를 포함한다. 또한, 본 명세서 중의 "적어도 하나"라고 하는 용어는 복수의 종류 내의 임의의 한 종류 또는 복수의 종류 중의 적어도 두 가지의 임의의 조합을 나타낸다. 예를 들면, A, B, C 중의 적어도 하나를 포함하는 것은, A, B 및 C로부터 구성된 세트로부터 선택한 임의의 하나 또는 복수의 요소를 포함하는 것을 나타낼 수 있다.
또한, 본 발명을 더 잘 설명하기 위하여, 아래의 구체적인 실시 형태에서 대량의 구체적인 세부 사항이 주어져 있다. 당업자라면 이해할 수 있듯이, 몇몇의 구체적인 세부 사항이 없어도, 본 발명은 마찬가지로 실시 가능하다. 몇몇의 실시예에서는 본 발명의 요지가 상대적으로 두드러져 있으며, 당업자에게 잘 알려진 방법, 수단, 소자 및 회로에 대하여 상세하게 기술되어 있지 않다.
도 1은 본 발명의 실시예에 따른 리소스 스케줄링 방법을 나타내는 플로우 챠트로서, 도 1에 나타낸 바와 같이, 상기 방법은 이하의 단계를 포함한다.
단계 S11에 있어서, 목표 태스크의 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 확정하되, 상기 제1 리소스는 심층 학습 리소스를 포함하고, 상기 제2 리소스는 범용 리소스를 포함한다.
단계 S12에 있어서, 상기 복수의 리소스 노드 중의 각 리소스 노드의 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 상기 복수의 리소스 노드 중에서 상기 목표 태스크를 처리하기 위한 목표 리소스 노드를 확정한다.
본 발명의 실시예의 리소스 스케줄링 방법에 따르면, 리소스를 스케줄링할 때에, 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량을 종합적으로 고려하여 제1 스케줄링 스코어를 확정할 수 있기에, 리소스의 조각화를 줄이는 데에 도움이 되며, 리소스의 이용률을 향상시킨다.
가능한 일 실현 형태에 있어서, 상기 리소스 스케줄링 방법은 단말 디바이스 또는 기타 처리 디바이스에 의해 실행될 수 있으며, 여기서, 단말 디바이스는 사용자 디바이스(User Equipment, UE), 모바일 디바이스, 사용자 단말, 단말, 휴대 전화, 휴대폰, 퍼스널 디지털 처리(Personal Digital Assistant, PDA), 핸드 헬드 디바이스, 컴퓨팅 디바이스, 차량용 디바이스, 웨어러블 디바이스 등일 수 있다. 다른 처리 디바이스는 데스크탑, 서버 또는 클라우드 서버 등일 수 있다. 몇몇의 가능의 실현 형태에 있어서, 당해 리소스 스케줄링 방법은 프로세서에 의해 메모리에 기억되어 있는 컴퓨터 판독 가능 명령을 호출하는 방법을 통해 구현될 수 있다.
가능한 일 실현 형태에 있어서, 상기 리소스 스케줄링 방법은 서버에 이용할 수 있으며, 태스크 처리 요구가 수신되었을 때에, 처리 대기의 태스크에 리소스를 스케줄링하고, 당해 리소스를 이용하여 태스크를 처리한다.
가능한 일 실현 형태에 있어서, 상기 서버에는 복수의 리소스 노드가 포함되고 있으며, 각 리소스 노드는 모두 상기 태스크의 처리에 사용되고, 상기 리소스 노드에는 제1 리소스 및 제2 리소스가 포함될 수 있다. 일 예에 있어서, 상기 제1 리소스는 심층 학습 리소스(예를 들면, GPU 리소스, TPU(Tensor Processing Unit) 리소스, FPGA(Field Programmable Gate Array) 등)일 수 있고, 제2 리소스는 범용 리소스(예를 들면, CPU(Central Processing Unit) 리소스 및/또는 메모리 리소스)일 수 있다. 본 발명은 처리 리소스의 타입에 대해 한정하지 않는다. 예를 들면, 리소스 노드가 물리 머신 노드일 경우, 당해 리소스 노드는 물리 머신 노드의 모든 리소스를 포함한다. 또다른 예를 들면, 리소스 노드가 가상 머신일 경우, 특정 소프트웨어 및/또는 하드웨어CPU 가상화 기술을 통해, 가상 머신의 하나 또는 복수의 가상CPU가 물리CPU를 재이용할 수 있다. GPU의 경우는 물리 GPU의 관련 디바이스 정보를 직접 가상 머신에 패스스루(passthrough) 하여 가상 머신이 사용하도록 할 수 있다. 또다른 예를 들면, 리소스 노드가 가상 머신일 경우, GPU 가상화 기술을 통해, 가상 머신의 하나 또는 복수의 가상 GPU가 물리 GPU를 재이용할 수 있는바, 본 발명의 실시예는 이에 한정되지 않는다.
가능한 일 실현 형태에 있어서, 상기 서버의 태스크 대기열에는 복수의 태스크가 존재할 수 있고, 태스크 대기열 중의 태스크를 정렬함으로써, 태스크의 처리 순서를 확정하여, 태스크 처리의 효율을 향상시킨다.
가능한 일 실현 형태에 있어서, 상기 태스크는 각각의 우선도를 가질 수 있다. 예를 들면, 특정 태스크의 우선도가 "높음"이고, 또 다른 하나의 태스크의 우선도가 "중간"이면, 우선도가 "높음"인 태스크가 우선적으로 처리된다. 관련 기술에서는 두 개 또는 복수의 태스크 우선도가 동일하면, 태스크의 생성 시간(예를 들면, 태스크가 생성된 타임 스탬프)에 기반하여 우선도가 동일한 태스크를 정렬할 수 있다. 예를 들면, 생성 시간이 상대적으로 이른 태스크가 생성 시간이 상대적으로 늦은 태스크 앞에 배열된다. 그러나, 이러한 정렬 방법은 유연성이 상대적으로 낮으며, 리소스의 조각화가 발생하기 쉽다. 예를 들면, 리소스 노드 A 및 리소스 노드 B에 각각 8개의 여유 GPU 리소스가 있으며, 현재 태스크 T1과 태스크 T2가 있고, 태스크 T1과 태스크 T2의 우선도가 동일하지만, 태스크 T1의 생성 시간이 태스크 T2보다 빠르고, T1은 두 개의 태스크 유닛을 포함하고, 각 태스크 유닛이 하나의 GPU 리소스를 요구하지만, 태스크 T2는 하나의 태스크 유닛을 포함하고, 7개의 GPU 리소스를 요구한다고 가정한다. 상술한 태스크 정렬 방법에 따르면, 태스크 T1을 태스크 T2 앞에 배열하여, 태스크 T1에 처리 리소스를 우선적으로 스케줄링할 수 있다. 태스크 T1에 두 개의 태스크 유닛을 같은 리소스 노드(예를 들면, 리소스 노드 A)에 할당하여 처리를 실행할 가능성이 있으며, 이 때 당해 리소스 노드에는 6개의 GPU 리소스가 남아 있는바, 태스크 T2의 태스크 유닛을 처리하기에는 불충분하다. 따라서, 태스크 T2의 태스크 유닛은 다른 하나의 리소스 노드(예를 들면, 리소스 노드 B)에 할당되어 처리가 실행된다. 상술한 스케줄링 방법에 따르면, 리소스 노드 B는 하나의 여유 GPU 리소스가 남아 있기에, 후속의 태스크가 상대적으로 큰 수량의 GPU를 요구할 경우(예를 들면, 태스크 유닛의 리소스 수요량이 하나의 GPU 리소스보다 클 경우), 당해 조각화된 GPU 리소스(즉, 리소스 노드 B의 하나의 여유 GPU 리소스)는 리소스의 낭비를 초래할 가능성이 있다. 몇몇의 예에 있어서, 하나의 여유 GPU 리소스는 하나의 여유 GPU를 가리킬 수 있다.
가능한 일 실현 형태에 있어서, 태스크 유닛 평균 리소스 수요량에 따라 정렬할 수 있고, 상기 방법은 복수의 태스크 중의 각 태스크의 우선도 및 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 복수의 태스크를 정렬하고, 제1 태스크 대기열을 얻는 것; 및 상기 목표 태스크의 상기 제1 태스크 대기열 중의 순서에 기반하여, 상기 목표 태스크에 대해 스케줄링을 실행하는 것을 더 포함하되, 상기 복수의 태스크는 상기 목표 태스크를 포함한다.
가능한 일 실현 형태에 있어서, 두 개 또는 복수의 태스크 우선도가 동일하면, 태스크 유닛 평균 리소스 수요량에 기반하여 정렬할 수 있다. 복수의 태스크 중의 각 태스크의 우선도 및 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것은, 복수의 태스크 중의 각 태스크의 우선도에 기반하여, 복수의 태스크 초기 순서를 확정하는 것; 및 상기 초기 순서 중에 적어도 두 개의 태스크의 우선도가 동일한 상황이 존재할 경우, 상기 적어도 두 개의 태스크의 각각의 평균 리소스 수요량에 기반하여, 상기 적어도 두 개의 태스크의 목표 순서를 확정하는 것을 포함한다.
가능한 일 실현 형태에 있어서, 먼저 우선도에 따라 복수의 태스크를 정렬하여 초기 순서를 얻는바, 즉 우선도가 상대적으로 높은 태스크를 우선도가 상대적으로 낮은 태스크 앞에 배열할 수 있다. 상기 초기 순위에는 우선도가 동일한 적어도 두 개의 태스크가 존재할 가능성이 있다. 예를 들면, 우선도가 "높음"인 태스크가 두 개 있고, 우선도가 "중간"인 태스크가 3개 있으며, 우선도가 "낮음"인 태스크가 5개 있으며, 초기 순위에서는 우선도가 동일한 태스크의 전후 순서를 구분하지 않는다.
가능한 일 실현 형태에 있어서, 초기 순위에 적어도 두 개의 우선도가 동일한 태스크가 존재하면, 태스크 유닛 평균 리소스 수요량에 따라 우선도가 동일한 적어도 두 개의 태스크를 정렬하고, 상기 적어도 두 개의 태스크의 목표 순서를 확정할 수 있는바, 예를 들면, 태스크 유닛 평균 리소스 수요량이 상대적으로 큰 태스크를 태스크 유닛 평균 리소스 수요량이 상대적으로 작은 태스크 앞에 배열한다.
일 예에 있어서, 리소스 노드 A 및 리소스 노드 B에 각각 8개의 여유 GPU 리소스가 있으며, 현재 태스크 T1과 태스크 T2이 있고, 그 중에서 태스크 T1과 태스크 T2의 우선도가 동일하며, T1이 두 개의 태스크 유닛을 포함하고, 각 태스크 유닛이 하나의 GPU 리소스를 요구하면, 태스크 T1의 태스크 유닛 평균 리소스 수요량은 하나의 GPU 리소스이다. 태스크 T2가 하나의 태스크 유닛을 포함하고, 7개의 GPU 리소스를 요구하면, 태스크 T2의 태스크 유닛 평균 리소스 수요량은 7개의 GPU 리소스이다. 태스크 T2를 태스크 T1 앞에 배열하여, 태스크 T2에 처리 리소스를 우선적으로 스케줄링할 수 있다. 예를 들면, 태스크 T2에 하나의 태스크 유닛을 리소스 노드 A에 할당하여 처리를 실행하며, 이 때 당해 리소스 노드에는 하나의 GPU 리소스가 남아 있다. 그 다음, 태스크 T1에 하나의 태스크 유닛을 리소스 노드 A에 할당하여 처리를 실행하고, 태스크 T1의 또 다른 하나의 태스크 유닛을 다른 일 리소스 노드(예를 들면, 리소스 노드 B)에 할당하여 처리를 실행할 수 있다. 상술한 스케줄링 방법에 따르면, 리소스 노드 A에 나머지 GPU 리소스가 없고, 조각화된 GPU 리소스가 발생하지 않게 되므로, 리소스 이용률을 향상시켜 리소스의 낭비를 줄일 수 있다.
가능한 일 실현 형태에 있어서, 초기 순위에서 적어도 두 개의 태스크의 우선도가 동일하고, 또한 태스크 유닛 평균 리소스 수요량이 동일하면, 태스크의 생성 시간에 기반하여 정렬할 수 있다. 복수의 태스크 중의 각 태스크의 우선도 및 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것은, 복수의 태스크 중의 각 태스크의 우선도, 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 및 복수의 태스크 중의 각 태스크의 생성 타임 스탬프 중의 적어도 일부에 기반하여, 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것을 포함한다.
가능한 일 실현 형태에 있어서, 상기 초기 순위에서 적어도 두 개의 우선도가 동일하고, 또한 태스크 유닛 평균 리소스 수요량이 동일한 태스크가 존재할 가능성이 있다. 예를 들면, 우선도가 "높음"인 태스크가 두 개 있고, 우선도가 "중간"인 태스크가 3개 있으며, 우선도가 "낮음"인 태스크가 5개 있는바, 여기서 우선도가 "높음"인 두 개의 태스크(예를 들면, 태스크 T3과 태스크 T4)의 태스크 유닛 평균 리소스 수요량도 동일하다. 일 예에 있어서, 이 두 개의 태스크의 생성 시간에 기반하여 두 개의 태스크의 순서를 확정할 수 있다. 예를 들면, 태스크 T3의 생성 시간이 태스크 T4보다 이르면, 태스크 T3과 태스크 T4의 각각의 타임 스탬프에 따라 태스크 T3을 태스크 T4 앞에 배열할 수 있다.
가능한 일 실현 형태에 있어서, 상기 목표 태스크의 상기 제1 태스크 대기열 중의 순서에 기반하여, 상기 목표 태스크에 대해 스케줄링을 실행할 수 있다. 예를 들면, 목표 태스크 앞 태스크 처리가 완료된 후, 상기 목표 태스크에 리소스 노드를 스케줄링하여 목표 태스크를 처리할 수 있다.
이러한 방식에 따라, 태스크 유닛 평균 리소스 수요량에 대해 정렬 기준을 도입하여, 처리 리소스를 충분히 이용하여 리소스의 이용률을 향상시키며, 리소스의 낭비를 줄인다.
가능한 일 실현 형태에 있어서, 태스크를 정렬한 후, 처리 리소스를 스케줄링하여 제1 태스크 대기열 중의 태스크를 순차적으로 처리할 수 있다. 예를 들면, 리소스 노드를 스케줄링하여, 목표 태스크 등의 현재 태스크를 처리할 수 있다.
하나의 예에 있어서, 목표 태스크에 대해, 각 리소스 노드의 스코어를 계산하고, 스코어가 가장 높은 리소스 노드를 사용하여 목표 태스크를 처리할 수 있다. 일 예에 있어서, 태스크 유닛의 리소스 수요량 및 각 리소스 노드의 리소스 합계량에 기반하여 각 리소스 노드의 스코어를 계산할 수 있는바, 예를 들면, 태스크 유닛의 리소스 수요량과 각 리소스 노드의 리소스 합계량 사이의 비율에 기반하여 각 리소스 노드의 스코어를 확정할 수 있다. 이러한 계산 방법에 따르면, 리소스 합계량이 상대적으로 작은 리소스 노드의 스코어를 상대적으로 높게 하는바, 즉 리소스 합계량이 상대적으로 작은 리소스 노드를 먼저 스케줄링하여, 목표 태스크의 각 태스크 유닛을 처리함으로써, 리소스 합계량이 상대적으로 큰 리소스 노드를 후속의 다른 태스크에 스케줄링할 수 있으며, 후속의 다른 태스크에서 리소스 수요량이 상대적으로 큰 태스크가 나타나면, 리소스 합계량이 상대적으로 큰 리소스 노드를 사용하여 처리할 수 있기에, 리소스 수요량이 상대적으로 큰 태스크의 대기 시간을 줄일 수 있다. 그러나, 당해 스케줄링 방법은 리소스 노드의 리소스 합계량(일반적으로 고정된 값임)만을 고려하며, 리소스 합계량이 상대적으로 큰 리소스 노드에 리소스 나머지량이 상대적으로 적을 경우, 여전히 리소스 합계량이 상대적으로 작은 여유 리소스 노드를 우선적으로 스케줄링할 가능성이 있으며, 리소스 합계량이 상대적으로 큰 리소스 노드 중의 소량의 나머지 리소스의 낭비를 야기한다.
한편, 상술한 스케줄링 방법은 또한 복수의 리소스 노드를 균등하게 점용할 경우가 존재할 가능성이 있으며, 후속의 태스크 대기 시간이 지나치게 길어질 가능성이 있다. 예를 들면, 서버에는 8개의 노드가 포함되고, 각 노드에는 8개의 GPU 리소스가 포함된다. 목표 태스크에는 8개의 태스크 유닛이 있으며, 각 태스크 유닛의 리소스 수요량이 모두 하나의 GPU 리소스이다. 당해 경우, 각 노드의 스코어를 확정할 때에, 각 노드의 스코어가 동일하며, 8개의 태스크 유닛을 8개의 리소스 노드에 균등한 할당할 가능성이 있는바, 각 리소스 노드가 모두 하나의 GPU가 점용된다. 후속의 태스크 중의 특정 태스크 유닛의 리소스 수요량이 8개의 GPU이면, 각 리소스 노드가 모두 당해 태스크를 처리할 수 없고, 목표 태스크의 태스크 유닛의 처리가 완료 될 때까지 대기한 후에 당해 태스크를 처리할 필요가 있으며, 당해 태스크의 대기 시간이 지나치게 길게 된다.
몇몇의 예에 있어서, 몇몇의 특정 태스크(예를 들면, 심층 학습 태스크 또는 신경망 훈련 태스크 등)의 필요한 리소스 타입이 GPU 리소스 등의 심층 학습 리소스(즉, 제1 리소스임)이지만, 다른 몇몇의 태스크는 CPU 리소스 및/또는 메모리 리소스 등 범용 리소스(즉, 제2 리소스임)을 이용하여 처리할 수 있으며, 또한 제1 리소스와 제2 리소스로 함께 처리할 태스크가 존재할 가능성이 있다. 신경망 기술의 발전에 따라 이러한 특정 태스크의 GPU 리소스에 대한 요구가 점점 많아지고 있으며, GPU 리소스의 스케줄링을 최적화하여, GPU 리소스의 이용률을 향상시킬 필요가 있다.
가능한 일 실현 형태에 있어서, 목표 태스크의 제1 리소스 수요량 및 제2 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 각각 확정한다. 바로, 제1 리소스의 나머지량 및 제2 리소스의 사용 가능 리소스 합계량을 종합적으로 고려하여 리소스 노드의 제1 스케줄링 스코어를 확정한다.
가능한 일 실현 형태에 있어서, 단계 S11은, 상기 목표 태스크의 제1 리소스 수요량 및 상기 제1 리소스의 현재 리소스 나머지량에 기반하여, 제1 스코어를 얻는 것; 및 상기 목표 태스크의 제2 리소스 수요량 및 상기 제2 리소스의 사용 가능 리소스 합계량에 기반하여, 제2 스코어를 확정하는 것; 제1 스코어 및 제2 스코어에 기반하여 상기 제1 스케줄링 스코어를 얻는 것을 포함한다.
가능한 일 실현 형태에 있어서, 상기 목표 태스크의 제1 리소스 수요량 및 상기 제1 리소스의 현재 리소스 나머지량에 기반하여, 각 리소스 노드의 제1 스코어를 얻을 수 있는바, 예를 들면, 목표 태스크의 제1 리소스 수요량과 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 사이의 비율에 기반하여, 상기 각 리소스 노드의 제1 스코어를 얻을 수 있다.
가능한 일 실현 형태에 있어서, 상기 목표 태스크의 제2 리소스 수요량 및 상기 제2 리소스의 사용 가능 리소스 합계량에 기반하여, 각 리소스 노드의 제2 스코어를 확정할 수 있기에, 예를 들면 목표 태스크의 제2 리소스 수요량과 각 리소스 노드의 제2 리소스의 사용 가능 리소스 합계량 사이의 비율에 기반하여, 상기 각 리소스 노드의 제2 스코어를 얻을 수 있다. 리소스 노드에 복수의 타입 제2 리소스(예를 들면, CPU와 메모리임)가 포함되어 있으면, 제각기 제2 리소스 수요량과 제각기 제2 리소스의 사용 가능 리소스 합계량 사이의 비율의 평균치에 기반하여 상기 각 리소스 노드의 제2 스코어를 확정할 수 있다.
가능한 일 실현 형태에 있어서, 목표 태스크에 대해, 제1 가중치 값 β(0≤β≤1)를 설정하는바, 예를 들면 β는 1, 0.9, 0.6, 0.5, 0.3, 0 등일 수 있다. β는 관리자가 사전에 설정할 수 있다.
가능한 일 실현 형태에 있어서, 제1 스코어 및 제2 스코어의 가중치 합산을 통해, 제1 스케줄링 스코어를 얻을 수 있는바, 예를 들면 이하의 식 (1)에 따라 제1 스케줄링 스코어를 확정할 수 있다.
Figure pct00001
(1)
여기서,
Figure pct00002
는 i 번째(i는 양의 정수임) 리소스 노드의 제1 스케줄링 스코어이고,
Figure pct00003
는 제1 리소스 수요량이며,
Figure pct00004
는 i 번째 리소스 노드 제1 리소스의 나머지량이며,
Figure pct00005
는 CPU 리소스에 대한 수요량이며,
Figure pct00006
는 i 번째 리소스 노드 CPU사용 가능 리소스 합계량이며,
Figure pct00007
는 메모리 수요량이며,
Figure pct00008
는 i 번째 리소스 노드 사용 가능 메모리 합계량이며, PW는 목표 태스크의 가중치 값인바, 즉 제2 가중치 값이다.
β는 조정 가능한 파라미터이며, 실제 필요에 따라 설정할 수 있는바, 그 수치는 어느 구체적인 적용 장면에서 고정되거나 동적으로 변화할 수 있다. 몇몇의 예에 있어서, 태스크의 타입에 기반하여 제1 가중치 값 β를 확정할 수 있다. 예를 들면, 신경망 훈련 태스크의 경우, 제1 가중치 값 β는 상대적으로 큰 값일 수 있다. GPU 리소스를 필요로 하지 않는 태스크의 경우, 제1 가중치 값은 상대적으로 작은 값일 수 있다. 본 발명은 제1 가중치 값 β의 값에 대해 한정하지 않는다.
기타 몇몇의 실시예에 있어서, 제1 스코어 및 제2 스코어의 가중 평균값 또는 산술 평균치에 기반하여, 제1 스케줄링 스코어를 얻을 수 있는바, 본 발명의 실시예는 제1 스케줄링 스코어가 구체적인 구현에 대해 한정하지 않는다.
일 예에 있어서, 제1 스케줄링 스코어에 기반하여 목표 태스크 리소스 노드를 스케줄링할 수 있다. 예를 들면, 서버에 8개의 리소스 노드가 포함되고 있고, 각 리소스 노드에 8개의 GPU 리소스가 포함되어 있다고 가정한다. 목표 태스크에는 8개의 태스크 유닛이 있고, 각 태스크 유닛의 리소스 수요량은 모두 하나의 GPU 리소스이다. 제1 스케줄링 스코어를 계산할 때에, 제1 리소스 수요량과 제1 리소스의 나머지량과의 비율을 고려하면, 첫 번째 태스크 유닛이 특정 리소스 노드에 할당된 후에, 당해 리소스 노드의 제1 리소스의 나머지량이 감소하기 때문에, 당해 리소스 노드의 제1 스케줄링 스코어가 증가되며, 후속의 태스크 유닛이 당해 리소스 노드에 우선적으로 할당할 수 있기에, 각 태스크 유닛이 가능한 한 같은 리소스 노드에 할당되는 것에 유리하며, 각 태스크 유닛이 복수의 리소스 노드에 할당되는 것을 줄이며, 복수의 리소스 노드를 점용하는 것을 줄일 수 있다.
이러한 방식에 따라, 제1 리소스의 나머지량 및 제2 리소스의 사용 가능 리소스 합계량을 종합적으로 고려하여 각 리소스 노드의 제1 스케줄링 스코어를 확정할 수 있기에, 목표 태스크의 각 태스크 유닛을 가능한 한 같은 리소스 노드에 할당하여 처리를 실행할 수 있으며, 조각화되는 리소스를 감소시키고, 리소스의 이용 효율을 향상시켜, 후속의 태스크 대기 시간을 단축한다.
가능한 일 실현 형태에 있어서, 같은 태스크에 대해, 적어도 두 개의 리소스 노드의 제1 스케줄링 스코어가 동일할 경우가 나타날 가능성이 있다. 당해 경우에는 제2 스케줄링 스코어에 기반하여, 태스크를 이미 같은 타입 태스크를 처리한 적이 있는 리소스 노드에 할당하여 처리를 실행함으로써, 조각화되는 리소스를 감소시킬 수 있다.
몇몇의 실시예에 있어서, 복수의 스케줄링 전략에 기반하여 리소스 노드의 스케줄링 스코어를 각각 확정한 후, 리소스 노드의 복수 스케줄링 전략에 대응하는 스케줄링 스코어를 종합적으로 고려하여 당해 리소스 노드의 합계 스케줄링 스코어를 얻고, 당해 합계 스케줄링 스코어에 기반하여 목표 노드를 확정할 수 있다.
가능한 일 실현 형태에 있어서, 상기 방법은 상기 복수의 리소스 노드 중의 각 리소스 노드에 할당하는 태스크 타입 및 상기 목표 태스크의 타입에 기반하여, 상기 각 리소스 노드의 제2 스케줄링 스코어를 확정하는 것을 더 포함한다.
몇몇의 실시예에 있어서, 리소스 노드의 제1 스케줄링 스코어 및 제2 스케줄링 스코어에 기반하여, 당해 리소스 노드의 합계 스케줄링 스코어를 얻는다. 예를 들면, 제1 스케줄링 스코어 및 제2 스케줄링 스코어의 가중치 합산에 기반하여, 합계 스케줄링 스코어를 얻거나, 제1 스케줄링 스코어 및 제2 스케줄링 스코어의 가중 평균값에 기반하여, 합계 스케줄링 스코어를 얻을 수 있지만, 본 발명의 실시예는 이에 대해 한정하지 않는다.
일 예에 있어서, 목표 태스크의 각 태스크 유닛을 목표 태스크와 같은 타입의 태스크를 처리하고 있는 리소스 노드에 집중시킬 수 있는바, 예를 들면 목표 태스크가 심층 학습 타입의 태스크일 경우, 두 개의 리소스 노드의 제1 스케줄링 스코어가 동일하면, 목표 태스크의 태스크 유닛을 심층 학습 태스크를 처리하고 있는 리소스 노드에 할당할 수 있다.
가능한 일 실현 형태에 있어서, 상기 목표 태스크가 필요로 하는 리소스 타입에 기반하여, 상기 목표 태스크의 목표 타입을 확정하고, 상기 적어도 두 개의 리소스 노드 중에서, 처리하고 있는 태스크의 타입이 상기 목표 타입인 리소스 노드를 상기 목표 노드로 확정할 수 있다.
일 예에 있어서, 목표 태스크가 심층 학습 타입의 태스크이고, 심층 학습 타입의 태스크가 주로 GPU 리소스를 필요로 하면, 태스크에 필요한 리소스 타입에 기반하여 목표 태스크 및 각 리소스 노드에서 처리하고 있는 태스크의 타입을 확정할 수 있다. 예를 들면, 리소스 노드 A에서 처리하고 있는 태스크가 두 개의 GPU 리소스를 점용하고 있고, 리소스 노드 B가 여유일 경우, 리소스 노드 A에서 처리하고 있는 태스크와 목표 태스크 타입이 같다고 간주할 수 있다. 또는 리소스 노드 A에서 처리하고 있는 태스크가 두 개의 GPU 리소스를 점용하고 있고, 리소스 노드 B에서 실행하고 있는 태스크가 CPU 리소스를 점용하고 있으며, GPU 리소스를 점용하지 않고 있으면, 리소스 노드 A에서 처리하고 있는 태스크와 목표 태스크 타입이 같다고 간주할 수 있다. 제1 노드의 제2 스케줄링 스코어는 제2 노드의 제2 스케줄링 스코어보다 크며, 여기서 상기 제1 노드는 상기 복수의 리소스 노드 중에서 분배된 태스크 타입이 상기 목표 태스크의 타입과 동일한 노드이며, 상기 제2 노드는 상기 복수의 리소스 노드 중에서 분배된 태스크 타입이 상기 목표 태스크의 타입과 다른 노드이다. 즉, 리소스 노드 A가 상대적으로 높은 제2 스케줄링 스코어를 얻도록 할 수 있다.
가능한 일 실현 형태에 있어서, 단계 S12는 각 리소스 노드의 제1 스케줄링 스코어 및 상기 제2 스케줄링 스코어에 기반하여, 상기 각 리소스 노드의 합계 스케줄링 스코어를 확정하는 것; 및 상기 복수의 리소스 노드 중의 각 리소스 노드의 합계 스케줄링 스코어에 기반하여, 상기 목표 리소스 노드를 확정하는 것을 포함할 수 있다. 예를 들면, 제2 스케줄링 스코어는 자신의 계산 전략에 대한 제2 가중치 값을 포함할 수 있으며, 제1 스케줄링 스코어와 제2 스케줄링 스코어에 대해 가중치 합산을 실행하여 합계 스케줄링 스코어를 얻고, 합계 스케줄링 스코어에 기반하여 리소스 노드를 선택할 수 있다.
일 예에 있어서, 합계 스케줄링 스코어를 계산할 때에, 또한 상기에 설명된 계산 전략 이외의 기타 계산 전략을 사용할 수 있으며, 각 계산 전략에 따라 얻은 스코어에 대해 가중치 합산을 실행하여, 합계 스케줄링 스코어를 얻을 수 있다. 예를 들면, 제1 스케줄링 스코어 및 제2 스케줄링 스코어에 기반하여 제3 스케줄링 스코어를 얻고, 제3 스케줄링 스코어 및 기타 적어도 하나의 계산 전략에 따라 얻은 적어도 하나의 제4 스케줄링 스코어에 기반하여, 합계 스케줄링 스코어를 얻을 수 있다. 또한 합계 스케줄링 스코어가 가장 높은 리소스 노드를 사용하여 목표 태스크를 처리할 수 있는바, 즉 목표 리소스 노드로 사용할 수 있다. 본 발명은 계산 전략에 대해 한정하지 않는다.
도 2는 본 발명의 실시예에 따른 목표 노드 선택을 나타내는 모식도이다. 도 2에 나타낸 바와 같이, 태스크 1과 태스크 2는 모두 심층 학습 타입의 태스크이며, 리소스 수요량은 모두 하나의 GPU 리소스이다. 리소스 노드 A는 6개의 GPU 리소스를 포함하고, 리소스 노드 B는 3개의 GPU 리소스를 포함하지만, 리소스 노드 A에서 실행하고 있는 태스크에 의해 이미 3개의 GPU 리소스가 점용되어 있으면, 리소스 노드 A와 리소스 노드 B의 제1 스케줄링 스코어를 확정할 때에, GPU 리소스의 나머지량이 같기 때문에, 리소스 노드 A의 제1 스케줄링 스코어와 리소스 노드 B의 제1 스케줄링 스코어가 같을 가능성이 있다.
일 예에 있어서, 리소스 노드 A에서 처리하고 있는 태스크에 의해 3개의 GPU 리소스가 점용되어 있는 것은, 리소스 노드 A에서 처리하고 있는 태스크와 태스크 1의 타입이 같다고 간주할 수 있으며, 리소스 노드 A가 상대적으로 높은 제2 스케줄링 스코어를 얻도록 할 수 있다. 제1 스케줄링 스코어와 가산한 후, 리소스 노드 A의 합계 스케줄링 스코어가 상대적으로 높아지기 때문에, 리소스 노드 A를 스케줄링하여 태스크 1을 처리할 수 있다. 또한 리소스 노드 A의 리소스의 나머지량이 두 개의 GPU 리소스이며, 리소스의 나머지량이 리소스 노드 B보다 작기 때문에, 여전히 리소스 노드 A를 스케줄링하여 태스크 2를 처리할 수 있다. 태스크 1과 태스크 2를 리소스 노드 A에 집중시켜 처리를 실행함으로써, 목표 태스크에 의해 점용되는 리소스 노드가 지나치게 분산되어, 너무 많은 리소스 노드를 점용하는 것을 피하고, 조각화되는 리소스가 발생하여 리소스의 낭비를 일으키는 것을 피할 수 있다.
본 발명의 실시예의 리소스 스케줄링 방법에 따르면, 태스크 유닛 평균 리소스 수요량을 정렬 기준으로 사용할 수 있으며, 처리 리소스를 충분히 이용하여 리소스의 이용률을 향상시키며, 리소스의 낭비를 줄인다. 제1 리소스의 나머지량 및 제2 리소스의 사용 가능 리소스 합계량을 종합적으로 고려하여 각 리소스 노드의 제1 스케줄링 스코어를 확정하고, 목표 태스크의 각 태스크 유닛을 가능한 한 같은 리소스 노드에 할당하여 처리를 실행함으로써, 조각화되는 리소스를 감소시키고, 리소스의 이용 효율을 향상시키며, 후속의 태스크 대기 시간을 단축한다. 또한 목표 태스크의 리소스 타입 및 각 리소스 노드 처리하고 있는 태스크의 리소스 타입을 확정함으로써, 태스크를 가능한 한 같은 리소스 노드에 집중시켜서 처리를 실행함으로써, 너무 많은 리소스 노드를 점용하고, 조각화되는 리소스가 발생하여 리소스의 낭비를 일으키는 것을 피할 수 있다.
도 3은 본 발명의 실시예에 따른 리소스 스케줄링 방법을 나타내는 적용 모식도이며, 도 3에 나타낸 바와 같이, 서버의 태스크 대기열에는 복수의 태스크(예를 들면, M개이며, M은 양의 정수임)이 존재할 수 있고, 태스크 대기열 중의 태스크를 정렬할 수 있다. 예를 들면, 태스크 우선도 및 태스크 유닛 평균 리소스 수요량에 기반하여 정렬할 수 있는바, 즉 먼저, 태스크 우선도에 기반하여 정렬하고, 시퀀스 중에 우선도가 같은 적어도 두 개의 태스크가 존재하면, 태스크 유닛 평균 리소스 수요량이 상대적으로 큰 태스크를 태스크 유닛 평균 리소스 수요량이 상대적으로 작은 태스크 앞에 배열할 수 있다.
가능한 일 실현 형태에 있어서, 태스크 i에 대해, 복수의 계산 전략을 사용하여 각 리소스 노드의 제1 스케줄링 스코어를 계산할 수 있다. 예를 들면, 먼저 식(1)을 이용하여 각 리소스 노드(예를 들면, 합계N개의 리소스 노드이며, N은 양의 정수임)의 각 계산 전략에 따른 제1 스케줄링 스코어를 계산할 수 있다.
가능한 일 실현 형태에 있어서, 적어도 두 개의 리소스 노드의 제1 스케줄링 스코어가 동일하면, 제2 스케줄링 스코어에 기반하여, 태스크를 이미 같은 타입 태스크를 처리한 적이 있는 리소스 노드에 할당하여 처리를 실행함으로써, 조각화되는 리소스를 감소시킬 수 있다. 예를 들면, 기타 계산 전략을 채용할 수 있는바, 예를 들면 태스크 i가 심층 학습 타입의 태스크이고, 요구하는 리소스가 GPU 리소스인 것으로 가정한다. 리소스 노드 A에서 처리하고 있는 태스크에 의해 두 개의 GPU 리소스가 점용되어 있고, 리소스 노드 B가 여유이면, 리소스 노드 A에서 처리하고 있는 태스크와 목표 태스크 타입이 동일하다고 간주할 수 있으며, 리소스 노드 A가 상대적으로 높은 제2 스케줄링 스코어를 얻도록 할 수 있다. 리소스 노드 A의 제1 스케줄링 스코어와 리소스 노드 B의 제1 스케줄링 스코어가 동일하면, 각각의 제2 스케줄링 스코어와 가산하여 각각의 합계 스케줄링 스코어를 얻고, 리소스 노드 A가 얻은 합계 스케줄링 스코어가 상대적으로 높으면, 리소스 노드 A를 사용하여 목표 태스크를 처리할 수 있다. 즉, 태스크를 가능한 한 같은 리소스 노드에 집중시켜서 처리를 실행함으로써, 조각화되는 리소스를 감소시킬 수 있다.
가능한 일 실현 형태에 있어서, 또한 복수의 계산 전략을 사용할 수 있는바, 예를 들면 K개의 계산 전략을 사용하며, 각 계산 전략을 통해 얻은 스케줄링 스코어에 대해 가중치 합산을 실행하여, 각 리소스 노드의 합계 스케줄링 스코어를 얻을 수 있다. 합계 스케줄링 스코어가 가장 높은 리소스 노드를 목표 리소스 노드(예를 들면, 리소스 노드 j이며, j는 정수이고, j≤N임)로 확정할 수 있다.
가능한 일 실현 형태에 있어서, 본 발명의 리소스 스케줄링 방법은 서버에 사용할 수 있으며, 각 리소스 노드를 스케줄링하여 서버 중의 각 태스크를 처리할 수 있다. 예를 들면, 인공 지능 교육 플랫폼의 서버에 이용할 수 있으며, 리소스 노드를 스케줄링하여 각 인공 지능 교육 태스크 또는 실험 태스크를 처리할 때에 사용할 수 있다. 또다른 예를 들면, 감시 시스템의 서버에 이용할 수 있으며, 각 리소스 노드를 스케줄링하여 얼굴 인식 또는 얼굴 클러스터링 등의 태스크를 처리할 때에 사용할 수 있다. 본 발명은 스케줄링 방법의 적용 장면에 대해 한정하지 않는다.
본 발명에 언급된 상기의 각 방법의 실시예는 원리적 논리를 위반하지 않는 전제 하에서, 모두 서로 조합시켜 조합시킨 후의 실시예를 형성할 수 있으며, 스페이스의 제한에 의해 본 발명은 반복적으로 설명하지 않음을 이해해야 한다.
한편, 본 발명은 리소스 스케줄링 장치, 전자 디바이스, 컴퓨터 판독 가능 기록 매체 및 프로그램을 더 제공하는바, 상술한 것은 모두 본 발명에 의해 제공되는 임의의 리소스 스케줄링 방법을 구현할 수 있으며, 해당하는 기술적 해결책과 설명은 방법의 부분 해당하는 기재를 참조할 수 있는바, 여기에서 반복적으로 설명하지 않는다.
당업자는 구체적인 실시 형태의 상술한 방법에 있어서 각 단계의 서술 순서는 엄밀한 실행 순서를 의미하는 것이 아니며, 실시 과정에 대해 어떠한 한정도 구성하지 않는바, 각 단계의 구체적인 실행 순서는 그 기능과 가능한 내부 로직에 의해 확정됨을 이해해야 한다.
도 4는 본 발명의 실시예에 따른 리소스 스케줄링 장치를 나타내는 블록도이며, 도 4에 나타낸 바와 같이, 상기 장치는 제1 확정 모듈(41) 및 제2 확정 모듈(42)을 구비한다.
제1 확정 모듈(41)은 목표 태스크의 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 확정하되, 상기 제1 리소스는 심층 학습 리소스를 포함하고, 상기 제2 리소스는 범용 리소스를 포함한다.
제2 확정 모듈(42)은 상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 상기 복수의 리소스 노드 중에서 상기 목표 태스크를 처리하기 위한 목표 리소스 노드를 확정한다.
가능한 일 실현 형태에 있어서, 상기 목표 태스크의 리소스 수요량은 제1 리소스 수요량 및 제2 리소스 수요량을 포함하고, 상기 제1 확정 모듈은 또한 상기 목표 태스크의 제1 리소스 수요량 및 상기 제1 리소스의 현재 리소스 나머지량에 기반하여, 제1 스코어를 얻으며, 상기 목표 태스크의 제2 리소스 수요량 및 상기 제2 리소스의 사용 가능 리소스 합계량에 기반하여 제2 스코어를 확정하고, 상기 제1 스코어 및 상기 제2 스코어에 대해 가중치 합산을 실행하여 상기 제1 스케줄링 스코어를 얻는다.
가능한 일 실현 형태에 있어서, 상기 장치는 상기 복수의 리소스 노드 중의 각 리소스 노드에 할당하는 태스크 타입 및 상기 목표 태스크의 타입에 기반하여, 상기 각 리소스 노드의 제2 스케줄링 스코어를 확정하기 위한 제3 확정 모듈을 더 구비하며, 상기 제2 확정 모듈은 또한 각 리소스 노드의 제1 스케줄링 스코어 및 상기 제2 스케줄링 스코어에 기반하여, 상기 각 리소스 노드의 합계 스케줄링 스코어를 확정하며, 상기 복수의 리소스 노드 중의 각 리소스 노드의 합계 스케줄링 스코어에 기반하여, 상기 목표 리소스 노드를 확정한다.
가능한 일 실현 형태에 있어서, 제1 노드의 제2 스케줄링 스코어는 제2 노드의 제2 스케줄링 스코어보다 크고, 여기서, 상기 제1 노드는 상기 복수의 리소스 노드 중에서 할당된 태스크 타입이 상기 목표 태스크의 타입과 동일한 노드이며, 상기 제2 노드는 상기 복수의 리소스 노드 중에서 할당된 태스크 타입이 상기 목표 태스크의 타입과 다른 노드이다.
가능한 일 실현 형태에 있어서, 상기 장치는 복수의 태스크 중의 각 태스크의 우선도 및 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻기 위한 제1 취득 모듈; 및 상기 목표 태스크의 상기 제1 태스크 대기열 중의 순서에 기반하여, 상기 목표 태스크에 대해 스케줄링을 실행하기 위한 스케줄링 모듈을 더 구비하되, 상기 복수의 태스크는 상기 목표 태스크를 포함한다.
가능한 일 실현 형태에 있어서, 상기 제1 취득 모듈은 또한 상기 복수의 태스크 중의 각 태스크의 우선도에 기반하여, 상기 복수의 태스크 초기 순서를 확정하고, 또한 상기 초기 순서 중에 적어도 두 개의 태스크의 우선도가 동일한 상황이 존재할 경우, 상기 적어도 두 개의 태스크의 각각의 평균 리소스 수요량에 기반하여, 상기 적어도 두 개의 태스크의 목표 순서를 확정한다.
가능한 일 실현 형태에 있어서, 상기 제1 취득 모듈은 또한 상기 복수의 태스크 중의 각 태스크의 우선도, 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 및 상기 복수의 태스크 중의 각 태스크의 생성 타임 스탬프 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는다.
몇몇의 실시예에 있어서, 본 발명의 실시예에 의해 제공되는 장치에 포함되는 기능 또는 모듈은 상기의 방법의 실시예에 기재된 방법을 실행할 수 있고, 그 구체적인 실시에 대하여는 상기의 방법의 실시예의 설명을 참조할 수 있는바, 간소화를 위하여 여기에서는 반복적으로 설명하지 않는다.
본 발명의 실시예는 또한 컴퓨터 프로그램 명령이 기억되어 있는 컴퓨터 판독 가능 기록 매체를 제안하고, 상기 컴퓨터 프로그램 명령이 프로세서에 의해 실행되면, 상기 프로세서로 하여금 상술한 리소스 스케줄링 방법을 구현하도록 한다. 컴퓨터 판독 가능 기록 매체는 비휘발성 컴퓨터 판독 가능 기록 매체일 수 있다.
본 발명의 실시예는 또한 전자 디바이스를 제안하고, 당해 전자 디바이스는 프로세서; 및 프로세서에 의해 실행 가능한 명령을 기억하기 위한 메모리를 구비하되, 상기 프로세서는 상술한 리소스 스케줄링 방법을 실행하도록 구성된다.
전자 디바이스는 단말, 서버 또는 기타 타입의 디바이스로 제공될 수 있다.
도 5는 본 발명의 실시예의 전자 디바이스(500)의 블록도이다. 예를 들어, 전자 디바이스(500)는 휴대폰, 컴퓨터, 디지털 브로드캐스팅 단말, 메시지 송수신 장치, 게임 콘솔, 태블릿 디바이스, 의료 설비, 헬스 기기, 개인 디지털 비서 등 단말일 수 있다.
도 5를 참조하면, 전자 디바이스(500)는 프로세싱 컴포넌트(502), 메모리(504), 전원 컴포넌트(506), 멀티미디어 컴포넌트(508), 오디오 컴포넌트(510), 입출력(I/O) 인터페이스(512), 센서 컴포넌트(514) 및 통신 컴포넌트(516) 중의 하나 또는 복수를 포함할 수 있다.
프로세싱 컴포넌트(502)는 일반적으로 전자 디바이스(500)의 디스플레이, 전화 호출, 데이터 통신, 카메라 조작 및 기록 조작에 관련된 조작과 같은 전반적인 조작을 제어할 수 있다. 프로세싱 컴포넌트(502)는 하나 또는 복수의 프로세서(520)를 구비하여 명령을 실행함으로써 상기 방법의 전부 또는 일부 단계를 완성할 수 있다. 또한, 프로세싱 컴포넌트(502)는 기타 유닛과의 인터랙션을 편리하게 하도록 하는 하나 또는 복수의 모듈을 포함할 수 있다. 예를 들면, 프로세싱 컴포넌트(502)는 멀티미디어 컴포넌트(508)와의 인터랙션을 편리하게 할 수 있도록 멀티미디어 모듈을 포함할 수 있다.
메모리(504)는 전자 디바이스(500)의 조작을 지원하기 위하여 각종 유형의 데이터를 저장한다. 이러한 데이터는 예를 들어 전자 디바이스(500)에서 임의의 애플리케이션이나 방법을 조작하기 위한 명령, 연락처 데이터, 전화번호부 데이터, 메시지, 사진, 동영상 등을 포함할 수 있다. 메모리(504)는 예를 들면 정적 랜덤 액세스 메모리(SRAM), 전기적으로 지울 수 있는 프로그래밍 가능 읽기 전용 메모리(EEPROM), 지울 수 있는 프로그래밍 가능 읽기 전용 메모리(EPROM), 프로그래밍 가능 읽기 전용 메모리(PROM), 읽기 전용 메모리(ROM), 자기 메모리, 플래시 메모리, 자기 디스크 또는 콤팩트 디스크와 같은 임의의 유형의 휘발성 또는 비 휘발성 메모리 및 이들의 조합에 의해 실현될 수 있다.
전원 컴포넌트(506)는 전자 디바이스(500)의 각 유닛에 전력을 공급한다. 전원 컴포넌트(506)는 전원 관리 시스템, 하나 또는 복수의 전원 및 전자 디바이스(500)를 위하여 전력을 생성, 관리 및 분배하는 데에 관련된 기타 유닛을 포함할 수 있다.
멀티미디어 컴포넌트(508)는 전자 디바이스(500)와 사용자 사이에 출력 인터페이스를 제공하는 스크린을 포함할 수 있다. 일부 실시예에 있어서, 스크린은 액정 디스플레이(LCD) 또는 터치 패널(TP)을 포함할 수 있다. 스크린이 터치 패널을 포함하는 경우, 사용자의 입력 신호를 수신하도록 터치 스크린으로 실현될 수 있다. 또한 터치 패널은 터치, 슬라이딩 및 터치 패널 상의 제스처를 감지할 수 있는 하나 또는 복수의 터치 센서를 포함할 수 있다. 상기 터치 센서는 터치 또는 슬라이딩 동작의 경계 위치를 감지할 수 있을 뿐만 아니라, 터치 또는 슬라이딩 조작에 관련된 지속 시간 및 압력을 검출할 수 있다. 일부 실시예에 있어서, 멀티미디어 컴포넌트(508)는 전면 카메라 및/또는 후면 카메라를 포함할 수 있다. 전자 디바이스(500)가 예를 들어 촬영 모드 또는 동영상 모드 등 조작 모드 상태에 있을 때, 전면 카메라 및/또는 후면 카메라는 외부의 멀티미디어 데이터를 수신할 수 있다. 전면 카메라 및 후면 카메라 각각은 고정된 광학 렌즈 시스템 또는 가변 초점 거리 및 광학 줌 기능을 구비할 수 있다.
전원 컴포넌트(506)는 전자 디바이스(500)의 각 유닛에 전력을 공급한다. 전원 컴포넌트(506)는 전원 관리 시스템, 하나 또는 복수의 전원 및 전자 디바이스(500)를 위하여 전력을 생성, 관리 및 분배하는 데에 관련된 기타 유닛을 포함할 수 있다.
멀티미디어 컴포넌트(508)는 전자 디바이스(500)와 사용자 사이에 출력 인터페이스를 제공하는 스크린을 포함할 수 있다. 일부 실시예에 있어서, 스크린은 액정 디스플레이(LCD) 또는 터치 패널(TP)을 포함할 수 있다. 스크린이 터치 패널을 포함하는 경우, 사용자의 입력 신호를 수신하도록 터치 스크린으로 실현될 수 있다. 또한 터치 패널은 터치, 슬라이딩 및 터치 패널 상의 제스처를 감지할 수 있는 하나 또는 복수의 터치 센서를 포함할 수 있다. 상기 터치 센서는 터치 또는 슬라이딩 동작의 경계 위치를 감지할 수 있을 뿐만 아니라, 터치 또는 슬라이딩 조작에 관련된 지속 시간 및 압력을 검출할 수 있다. 일부 실시예에 있어서, 멀티미디어 컴포넌트(508)는 전면 카메라 및/또는 후면 카메라를 포함할 수 있다. 전자 디바이스(500)가 예를 들어 촬영 모드 또는 동영상 모드 등 조작 모드 상태에 있을 때, 전면 카메라 및/또는 후면 카메라는 외부의 멀티미디어 데이터를 수신할 수 있다. 전면 카메라 및 후면 카메라 각각은 고정된 광학 렌즈 시스템 또는 가변 초점 거리 및 광학 줌 기능을 구비할 수 있다.
통신 컴포넌트(516)는 전자 디바이스(500)와 기타 기기 사이의 무선 또는 유선 통신을 편리하게 진행하게 하도록 설치될 수 있다. 전자 디바이스(500)는 통신 표준을 기반으로 하는 무선 네트워크 예를 들어 WiFi, 2G, 3G 또는 이들의 조합에 액세스할 수 있다. 일 예시적인 실시예에 있어서, 통신 컴포넌트(516)는 브로드캐스팅 채널을 통해 외부의 브로드캐스팅 관리 시스템에서의 브로드캐스팅 신호 또는 브로드캐스팅 관련 정보를 수신할 수 있다. 일부 예시적인 실시예에 있어서, 상기 통신 컴포넌트(516)는 근거리 통신을 촉진하기 위한 근거리 무선 통신(NFC) 모듈을 더 포함할 수 있다. 예를 들면, NFC 모듈은 무선 주파수 식별(RFID) 기술, 적외선 데이터 연관(IrDA) 기술, 초 광대역(UWB) 기술, 블루투스(BT) 기술 및 기타 기술에 의해 실현될 수 있다.
예시적인 실시예에 있어서, 전자 디바이스(500)는 상기 임의의 어느 한 실시예가 제공한 방법을 실행하기 위하여, 하나 또는 복수의 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP), 디지털 신호 처리 장치(DSPD), 프로그램 가능 논리 장치(PLD), 필드 프로그램 가능 게이트 어레이(FPGA), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서, 또는 기타 전자 소자에 의해 실현될 수 있다.
일 예시적인 실시예에 있어서, 명령을 포함한 비일시적인 컴퓨터 판독 가능한 기록 매체를 더 제공하는바, 예를 들면 명령을 포함한 메모리(504)를 더 제공한다. 상기 명령이 전자 디바이스(500)의 프로세서(520)에 의해 실행됨으로써, 상기 임의의 어느 한 실시예에 의해 제공되는 방법이 완성될 수 있다.
본 발명의 실시예는 컴퓨터 판독 가능 코드를 포함하는 컴퓨터 프로그램 제품을 더 제공하는바, 컴퓨터 판독 가능 코드가 디바이스 상에서 실행될 때에, 디바이스 중의 프로세서에 의해, 상기의 임의의 실시예에 의해 제공되는 방법을 구현하기 위한 명령이 실행된다.
당해 컴퓨터 프로그램 제품은 구체적으로, 하드웨어, 소프트웨어 및 양자의 조합에 의해 구현될 수 있다. 하나의 옵션의 실시예에 있어서, 상기 컴퓨터 프로그램 제품은 구체적으로, 컴퓨터 기록 매체로 구체화될 수 있으며, 또 다른 하나의 옵션의 실시예에 있어서, 컴퓨터 프로그램 제품은 구체적으로 예를 들면 소프트웨어 개발 키트(Software Development Kit, SDK) 등의 소프트웨어 제품으로 구체화될 수 있다.
도 6은 본 발명의 실시예의 전자 디바이스(1900)의 블록도이다. 예를 들면, 전자 디바이스(600)는 서버로 제공될 수 있다. 도 6을 참조하면, 전자 디바이스(600)는 하나 또는 하나 이상의 프로세서를 포함하는 프로세싱 컴포넌트(622) 및 프로세싱 컴포넌트(622)에 의해 실행 가능한 인스트럭션, 예를 들면 애플리케이션 프로그램을 기억하기 위한 메모리(632)를 대표로 하는 메모리 자원을 포함한다. 메모리(632)에 저장되어 있는 애플리케이션 프로그램은 각각 한 세트의 인스트럭션에 대응하는 하나 또는 하나 이상의 모듈을 포함할 수 있다. 또한, 프로세싱 컴포넌트(622)는 인스트럭션을 실행하여 상기 방법을 수행하도록 구성된다.
전자 디바이스(600)는 전자 디바이스(600)의 전원 관리를 실행하도록 구성된 전원 컴포넌트(626), 전자 디바이스(600)를 네트워크에 접속하도록 구성되는 하나의 유선 또는 무선 네트워크 인터페이스(650), 하나의 입출력(I/O) 인터페이스(658)를 더 포함한다. 전자 디바이스(600)는 메모리(632)에 저장되어 있는 OS, 예를 들면 Windows Server™,Mac OS X™,Unix™, Linux™,FreeBSD™ 등 혹은 유사한 OS를 조작할 수 있다.
예시적인 실시예에 있어서, 컴퓨터 프로그램 명령을 포함하는 메모리(632)와 같은 비 휘발성 컴퓨터 판독 가능 저장 매체를 더 제공하는바, 상기 컴퓨터 프로그램 명령이 전자 장치(600)의 프로세싱 컴포넌트(622)에 의해 실행됨으로써 상기 방법이 완성된다.
본 발명은 시스템, 방법 및/또는 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품은 컴퓨터 판독 가능 기록 매체를 포함할 수 있다. 컴퓨터 판독 가능 기록 매체에는 프로세서로 하여금 본 발명의 각 양태를 구현하도록 하기 위한 컴퓨터 판독 가능 프로그램 명령이 로드되어 있다.
컴퓨터 판독 가능 기록 매체는 명령 실행 디바이스에 의해 사용되는 명령을 보유 및 기억하는 유형 디바이스일 수 있다. 컴퓨터 판독 가능 기록 매체는 예를 들면 전기 저장 장치, 자기 저장 장치, 광학 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 이들의 임의의 적절한 조합일 수 있지만 이에 한정되지 않는다. 컴퓨터 판독 가능 기록 매체의 더 구체적인 예(비 완전한 목록)는 휴대용 컴퓨터 디스크, 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 삭제 가능한 프로그래밍 가능 읽기 전용 메모리(EPROM또는 플래시 메모리), 정적 랜덤 액세스 메모리(SRAM), 휴대용 컴팩트 디스크 읽기 전용 메모리(CD-ROM), 디지털 다기능 디스크(DVD), 메모리 스틱, 플로피 디스크, 기계식 인코딩 디바이스, 명령이 저장된 펀치 카드 또는 홈에 돌출된 구조 및 상기의 임의의 적절한 조합을 포함한다. 여기에 사용되는 컴퓨터 판독 가능 기록 매체는 순간 신호 자체로 해석되지 않는바, 예를 들면 무선 전파 또는 기타 자유롭게 전파되는 전자기 파, 도파관 또는 기타 전송 매체를 통해 전파되는 전자파(예를 들면, 광 케이블을 통한 빛 펄스) 또는 전선을 통해 전송되는 전기 신호로 해석되지 않는다.
여기에 설명되는 컴퓨터 판독 가능 프로그램 명령은 컴퓨터 판독 가능 기록 매체에서 각 연산/처리 디바이스에 다운로드되거나, 또는 인터넷, 근거리 통신망, 광역 통신망 및/또는 무선 네트워크와 같은 네트워크를 통해 외부 컴퓨터 또는 외부 기억 디바이스에 다운로드될 수 있다. 네트워크는 구리 전송 케이블, 광섬유 전송, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 에지 서버를 포함할 수 있다. 각 연산/처리 디바이스 중의 네트워크 어댑터 카드 또는 네트워크 인터페이스는, 네트워크에서 컴퓨터 판독 가능 프로그램 명령을 수신하여 당해 컴퓨터 판독 가능 프로그램 명령을 전송함으로써, 각 연산/처리 디바이스 중의 컴퓨터 판독 가능 기록 매체에 기억시킨다.
본 발명의 조작을 수행하는 데에 사용되는 컴퓨터 프로그램 명령은 어셈블리 명령, 명령 세트 아키텍처(ISA) 명령, 머신 명령, 머신 관련 명령, 마이크로 코드, 펌웨어 명령, 상태 설정 데이터 또는 하나 또는 복수의 종류의 프로그래밍 언어가 임의의 조합으로 작성된 소스 코드 또는 목표 코드일 수 있다. 상기 프로그래밍 언어는 Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어 및 "C"언어 또는 유사하는 프로그래밍 언어와 같은 기존의 절차 프로그래밍 언어를 포함한다. 컴퓨터 판독 가능 프로그램 명령은 완전히 사용자 컴퓨터 상에서 실행될 수도 있고, 부분적으로는 사용자 컴퓨터 상에서 실행될 수도 있으며, 하나의 독립적인 소프트웨어 패키지로 실행될 수도 있고, 부분적으로 사용자 컴퓨터 상에서 실행되고 또 부분적으로 원격 컴퓨터 상에서 실행될 수도 있으며, 또는 완전히 원격 컴퓨터 또는 서버 상에서 실행될 수도 있다. 원격 컴퓨터에 관련되는 경우, 원격 컴퓨터는 근거리 통신망 또는 광역 통신망(WAN)과 같은 임의의 종류의 네트워크를 통해 사용자 컴퓨터에 접속되거나, 또는 외부 컴퓨터에 접속될 수 있다(예를 들면, 인터넷 서비스 프로바이더를 이용하여 인터넷에 접속된다). 몇몇의 실시예에 있어서, 컴퓨터 판독 가능 프로그램 명령의 상태 인원 정보를 이용하여, 프로그램 가능 논리 회로, 필드 프로그램 가능 게이트 어레이(FPGA) 또는 프로그램 가능 논리 어레이(PLA)와 같은 전자 회로는 개인화된다. 당해 전자 회로는 컴퓨터 판독 가능 프로그램 명령을 실행함으로써, 본 발명의 각 양태를 실시 가능하다.
여기서 본 발명의 실시예에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 플로우 챠트 및/또는 블록도를 참조하여 본 발명의 각 양태를 설명했다. 이해할 수 있듯이, 플로우 챠트 및/또는 블록도의 각 블록 및 플로우 챠트 및/또는 블록도 중의 각 블록의 조합은 모두 컴퓨터 판독 가능 프로그램 명령에 의해 실현될 수 있다.
이러한 컴퓨터 판독 가능 프로그램 명령은 범용 컴퓨터, 특수 목적 컴퓨터 또는 기타 프로그래밍 가능한 데이터 처리 장치의 프로세서에 제공되어, 하나의 기계를 생성할 수 있다. 당해 기계는, 이러한 명령이 컴퓨터 또는 기타 프로그래밍 가능 데이터 처리 장치의 프로세서에 의해 실행될 때에, 플로우 챠트 및/또는 블록도 중의 하나 또는 복수의 블록에 의해 규정된 기능/동작이 실현되도록 한다. 이러한 컴퓨터 판독 가능 프로그램 명령을 컴퓨터 판독 가능 기록 매체에 저장할 수 있다. 이러한 명령은, 컴퓨터, 프로그램 가능 데이터 처리 장치 및/또는 기타 디바이스가 특정 방식으로 가동하도록 한다. 따라서, 명령이 기억된 컴퓨터 판독 가능 매체는 하나의 제조품을 포함하며, 당해 제조품은 플로우 챠트 및/또는 블록도 중의 하나 또는 복수의 블록에 의해 규정된 기능/동작을 실현하는 각 양태의 명령을 포함한다.
컴퓨터 판독 가능 프로그램 명령은 또한 컴퓨터, 기계 프로그래밍 가능 데이터 처리 장치, 또는 기타 디바이스에 로드될 수 있다. 따라서, 컴퓨터, 기타 프로그래밍 가능 데이터 처리 장치 또는 기타 디바이스 상에서 일련의 조작 단계가 실행되어, 컴퓨터에 의한 실현의 과정이 구현된다. 이렇게 함으로써, 컴퓨터, 기타 프로그래밍 가능 데이터 처리 장치 또는 기타 디바이스 상에서 실행된 명령이, 플로우 챠트 및/또는 블록도 중의 하나 또는 복수의 블록에 의해 규정된 기능/동작을 구현하도록 한다.
도면 중의 플로우 챠트 및 블록도는 본 발명의 복수 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 구현 가능한 체계 아키텍처, 기능 및 조작을 나타낸다. 이 점에서 플로우 챠트 또는 블록도 중의 각 블록은 하나의 모듈, 프로그램 세그먼트 또는 명령의 일부를 대표할 수 있다. 상기 모듈, 프로그램 세그먼트 또는 명령의 일부는 규정된 논리 기능을 실시하기 위한 하나 또는 복수의 실행 가능 명령을 포함한다. 몇몇의 대안적인 구현에 있어서, 블록 중에 표시된 기능은 도면에 표시된 순서 및 이와 다른 순서로 발생할 수 있다. 예를 들면, 두 개의 연속된 블록은 실제로 병렬로 실행될 수 있으며, 관련된 기능에 따라 때때로 역순으로 실행될 수 있다. 주의해야 할 점이라면, 블록도 및/또는 플로우 챠트 중의 각 블록 및 블록도 및/또는 플로우 챠트 중의 블록의 조합은, 규정된 기능 또는 동작을 실행하는 전용의 하드웨어에 기반 시스템에 의해 구현될 수 있으며, 전용 하드웨어와 컴퓨터 명령의 조합으로 실현될 수도 있다.
상기와 같이 본 발명의 각 실시예를 설명하였으나, 상기 설명은 전체적인 것이 아니라, 예시적인 것이며, 개시된 각 실시예에 의해 한정되지 않는다. 설명된 각 실시예의 범위 및 사상을 벗어나지 않는 많은 수정 및 변경은 당업자에 있어서 자명한 것이다. 본 명세서에서 사용된 용어는 각 실시예의 원리, 실제 응용 또는 시장에서의 기술에 대한 기술적 개선을 최선으로 설명하기 위한 것이거나, 또는 당업자에게 본 명세서에 개시된 각 실시예를 이해하도록 하기 위한 것이다.

Claims (16)

  1. 리소스 스케줄링 방법으로서,
    목표 태스크의 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 확정하는 것; 및
    상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 상기 복수의 리소스 노드 중에서 상기 목표 태스크를 처리하기 위한 목표 리소스 노드를 확정하는 것을 포함하되,
    상기 제1 리소스는 심층 학습 리소스를 포함하고, 상기 제2 리소스는 범용 리소스를 포함하는
    것을 특징으로 하는, 리소스 스케줄링 방법.
  2. 제1항에 있어서,
    상기 목표 태스크의 리소스 수요량은 제1 리소스 수요량 및 제2 리소스 수요량을 포함하고,
    상기 목표 태스크의 리소스 수요량, 상기 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 확정하는 것은,
    상기 목표 태스크의 상기 제1 리소스 수요량 및 상기 제1 리소스의 상기 현재 리소스 나머지량에 기반하여 제1 스코어를 얻는 것;
    상기 목표 태스크의 상기 제2 리소스 수요량 및 상기 제2 리소스의 상기 사용 가능 리소스 합계량에 기반하여 제2 스코어를 확정하는 것; 및
    상기 제1 스코어 및 상기 제2 스코어에 기반하여 가중치 합산을 실행하여 상기 제1 스케줄링 스코어를 얻는 것을 포함하는
    것을 특징으로 하는, 리소스 스케줄링 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 복수의 리소스 노드 중의 각 리소스 노드에 할당하는 태스크 타입 및 상기 목표 태스크의 타입에 기반하여, 상기 각 리소스 노드의 제2 스케줄링 스코어를 확정하는 것을 더 포함하며,
    상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 상기 복수의 리소스 노드 중에서 상기 목표 태스크를 처리하기 위한 목표 리소스 노드를 확정하는 것은,
    각 리소스 노드의 상기 제1 스케줄링 스코어 및 상기 제2 스케줄링 스코어에 기반하여, 상기 각 리소스 노드의 합계 스케줄링 스코어를 확정하는 것; 및
    상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 합계 스케줄링 스코어에 기반하여, 상기 목표 리소스 노드를 확정하는 것을 포함하는
    것을 특징으로 하는, 리소스 스케줄링 방법.
  4. 제3항에 있어서,
    제1 노드의 제2 스케줄링 스코어는 제2 노드의 제2 스케줄링 스코어보다 크고,
    상기 제1 노드는 상기 복수의 리소스 노드 중에서 분배된 태스크 타입이 상기 목표 태스크의 타입과 동일한 노드이며, 상기 제2 노드는 상기 복수의 리소스 노드 중에서 분배된 태스크 타입이 상기 목표 태스크의 타입과 다른 노드인
    것을 특징으로 하는, 리소스 스케줄링 방법.
  5. 제1항에 있어서,
    복수의 태스크 중의 각 태스크의 우선도 및 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것; 및
    상기 목표 태스크의 상기 제1 태스크 대기열 중의 순서에 기반하여, 상기 목표 태스크에 대해 스케줄링을 실행하는 것을 더 포함하되,
    상기 복수의 태스크는 상기 목표 태스크를 포함하는
    것을 특징으로 하는, 리소스 스케줄링 방법.
  6. 제5항에 있어서,
    상기 복수의 태스크 중의 각 태스크의 우선도 및 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것은,
    상기 복수의 태스크 중의 각 태스크의 우선도에 기반하여, 상기 복수의 태스크 초기 순서를 확정하는 것; 및
    상기 초기 순서 중에 적어도 두 개의 태스크의 우선도가 동일한 상황이 존재할 경우, 상기 적어도 두 개의 태스크의 각각의 평균 리소스 수요량에 기반하여, 상기 적어도 두 개의 태스크의 목표 순서를 확정하는 것을 포함하는
    것을 특징으로 하는, 리소스 스케줄링 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 복수의 태스크 중의 각 태스크의 우선도 및 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻는 것은,
    상기 복수의 태스크 중의 각 태스크의 우선도, 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 및 상기 복수의 태스크 중의 각 태스크의 생성 타임 스탬프 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 상기 제1 태스크 대기열을 얻는 것을 포함하는
    것을 특징으로 하는, 리소스 스케줄링 방법.
  8. 리소스 스케줄링 장치로서,
    목표 태스크의 리소스 수요량, 복수의 리소스 노드 중의 각 리소스 노드의 제1 리소스의 현재 리소스 나머지량 및 제2 리소스의 사용 가능 리소스 합계량 중의 적어도 일부에 기반하여, 상기 각 리소스 노드의 상기 목표 태스크에 대한 제1 스케줄링 스코어를 확정하기 위한 제1 확정 모듈; 및
    상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 제1 스케줄링 스코어 중의 적어도 일부에 기반하여, 상기 복수의 리소스 노드 중에서 상기 목표 태스크를 처리하기 위한 목표 리소스 노드를 확정하기 위한 제2 확정 모듈을 구비하되,
    상기 제1 리소스는 심층 학습 리소스를 포함하고, 상기 제2 리소스는 범용 리소스를 포함하는
    것을 특징으로 하는, 리소스 스케줄링 장치.
  9. 제8항에 있어서,
    상기 목표 태스크의 리소스 수요량은 제1 리소스 수요량 및 제2 리소스 수요량을 포함하고,
    상기 제1 확정 모듈은 또한,
    상기 목표 태스크의 상기 제1 리소스 수요량 및 상기 제1 리소스의 상기 현재 리소스 나머지량에 기반하여 제1 스코어를 얻고,
    상기 목표 태스크의 상기 제2 리소스 수요량 및 상기 제2 리소스의 상기 사용 가능 리소스 합계량에 기반하여 제2 스코어를 확정하며,
    상기 제1 스코어 및 상기 제2 스코어에 기반하여 가중치 합산을 실행하여 상기 제1 스케줄링 스코어를 얻는
    것을 특징으로 하는, 리소스 스케줄링 장치.
  10. 제8항 또는 제9항에 있어서,
    상기 복수의 리소스 노드 중의 각 리소스 노드에 할당하는 태스크 타입 및 상기 목표 태스크의 타입에 기반하여, 상기 각 리소스 노드의 제2 스케줄링 스코어를 확정하기 위한 제3 확정 모듈을 더 구비하며,
    상기 제2 확정 모듈은 또한,
    각 리소스 노드의 상기 제1 스케줄링 스코어 및 상기 제2 스케줄링 스코어에 기반하여, 상기 각 리소스 노드의 합계 스케줄링 스코어를 확정하고,
    상기 복수의 리소스 노드 중의 각 리소스 노드의 상기 합계 스케줄링 스코어에 기반하여, 상기 목표 리소스 노드를 확정하는
    것을 특징으로 하는, 리소스 스케줄링 장치.
  11. 제10항에 있어서,
    제1 노드의 제2 스케줄링 스코어는 제2 노드의 제2 스케줄링 스코어보다 크고,
    상기 제1 노드는 상기 복수의 리소스 노드 중에서 분배된 태스크 타입이 상기 목표 태스크의 타입과 동일한 노드이며, 상기 제2 노드는 상기 복수의 리소스 노드 중에서 분배된 태스크 타입이 상기 목표 태스크의 타입과 다른 노드인
    것을 특징으로 하는, 리소스 스케줄링 장치.
  12. 제8항에 있어서,
    복수의 태스크 중의 각 태스크의 우선도 및 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 제1 태스크 대기열을 얻기 위한 제1 취득 모듈; 및
    상기 목표 태스크의 상기 제1 태스크 대기열 중의 순서에 기반하여, 상기 목표 태스크에 대해 스케줄링을 실행하기 위한 스케줄링 모듈을 더 구비하되,
    상기 복수의 태스크는 상기 목표 태스크를 포함하는
    것을 특징으로 하는, 리소스 스케줄링 장치.
  13. 제12항에 있어서,
    상기 제1 취득 모듈은 또한,
    상기 복수의 태스크 중의 각 태스크의 우선도에 기반하여, 상기 복수의 태스크 초기 순서를 확정하고,
    상기 초기 순서 중에 적어도 두 개의 태스크의 우선도가 동일한 상황이 존재할 경우, 상기 적어도 두 개의 태스크의 각각의 평균 리소스 수요량에 기반하여, 상기 적어도 두 개의 태스크의 목표 순서를 확정하는
    것을 특징으로 하는, 리소스 스케줄링 장치.
  14. 제12항 또는 제13항에 있어서,
    상기 제1 취득 모듈은 또한,
    상기 복수의 태스크 중의 각 태스크의 우선도, 상기 복수의 태스크 중의 각 태스크에 포함되어 있는 복수의 태스크 유닛의 평균 리소스 수요량 및 상기 복수의 태스크 중의 각 태스크의 생성 타임 스탬프 중의 적어도 일부에 기반하여, 상기 복수의 태스크를 정렬하여 상기 제1 태스크 대기열을 얻는
    것을 특징으로 하는, 리소스 스케줄링 장치.
  15. 전자 디바이스로서,
    프로세서; 및
    상기 프로세서에 의해 실행 가능한 명령을 기억하기 위한 메모리를 구비하되,
    상기 프로세서는 제1항 내지 제7항 중 어느 한 항에 기재된 방법을 실행하도록 구성되는
    것을 특징으로 하는, 전자 디바이스.
  16. 컴퓨터 프로그램 명령이 기억되어 있는 컴퓨터 판독 가능 기록 매체로서,
    상기 컴퓨터 프로그램 명령이 프로세서에 의해 실행되면, 상기 프로세서로 하여금 제1항 내지 제7항 중 어느 한 항에 기재된 방법을 구현하도록 하는
    것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체.
KR1020217020244A 2019-12-25 2020-06-03 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체 KR20210094639A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201911357908.7A CN113032112A (zh) 2019-12-25 2019-12-25 资源调度方法及装置、电子设备和存储介质
CN201911357908.7 2019-12-25
PCT/CN2020/094181 WO2021128737A1 (zh) 2019-12-25 2020-06-03 资源调度方法及装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
KR20210094639A true KR20210094639A (ko) 2021-07-29

Family

ID=76458238

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217020244A KR20210094639A (ko) 2019-12-25 2020-06-03 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체

Country Status (5)

Country Link
JP (1) JP2022518127A (ko)
KR (1) KR20210094639A (ko)
CN (1) CN113032112A (ko)
TW (1) TW202125274A (ko)
WO (1) WO2021128737A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756347A (zh) * 2022-04-19 2022-07-15 中国联合网络通信集团有限公司 基于集群的服务器资源调度方法、装置、云平台及介质
CN116501478A (zh) * 2023-06-28 2023-07-28 中国电信股份有限公司 任务分配方法、装置、设备、介质及数字孪生系统

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114995997A (zh) * 2022-04-24 2022-09-02 阿里巴巴(中国)有限公司 任务处理方法
CN115242662B (zh) * 2022-09-22 2023-02-17 音信云(武汉)信息技术有限公司 基于云计算的数据资源分配方法及装置
CN115686799B (zh) * 2022-12-29 2023-04-07 中国华能集团清洁能源技术研究院有限公司 一种大数据平台中的任务调度方法、装置、设备及介质
CN117714452A (zh) * 2023-12-14 2024-03-15 摩尔线程智能科技(北京)有限责任公司 一种流量负载均衡方法、系统及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007364A (ja) * 2000-06-22 2002-01-11 Fujitsu Ltd 並列計算機システムのジョブスケジューリングを行うスケジューリング装置
JP5722247B2 (ja) * 2012-02-10 2015-05-20 株式会社野村総合研究所 仮想サーバ管理システム
US9104491B2 (en) * 2012-02-21 2015-08-11 Disney Enterprises, Inc. Batch scheduler management of speculative and non-speculative tasks based on conditions of tasks and compute resources
CN106354729B (zh) * 2015-07-16 2020-01-07 阿里巴巴集团控股有限公司 一种图数据处理方法、装置和系统
JP6339978B2 (ja) * 2015-07-17 2018-06-06 日本電信電話株式会社 リソース割当管理装置およびリソース割当管理方法
CN107168777B (zh) * 2016-03-07 2021-04-30 阿里巴巴集团控股有限公司 分布式系统中资源的调度方法以及装置
CN105791447B (zh) * 2016-05-20 2019-03-01 北京邮电大学 一种面向视频服务的云资源调度方法及装置
US10963309B2 (en) * 2016-09-16 2021-03-30 Advanced Micro Devices, Inc. Network interface controller-based scheduling of processing tasks in a distributed computing system
JP6969268B2 (ja) * 2017-10-11 2021-11-24 日本電信電話株式会社 計算機およびcpuコア割当方法
US20190332420A1 (en) * 2018-04-27 2019-10-31 Advanced Micro Devices, Inc. Feedback guided split workgroup dispatch for gpus
CN109743751B (zh) * 2018-06-26 2021-08-03 国网江苏省电力有限公司南京供电分公司 无线接入网的资源分配方法及装置
CN109582452B (zh) * 2018-11-27 2021-03-02 北京邮电大学 一种容器调度方法、调度装置及电子设备
CN109857551B (zh) * 2019-01-09 2023-12-19 平安科技(深圳)有限公司 基于云计算的服务资源的调度方法及装置、电子设备
CN110221915B (zh) * 2019-05-21 2020-11-10 新华三大数据技术有限公司 节点调度方法和装置
CN110191500B (zh) * 2019-05-25 2021-03-23 西安电子科技大学 支持资源碎片消减的自组织网络时频资源调度方法
CN110413391B (zh) * 2019-07-24 2022-02-25 上海交通大学 基于容器集群的深度学习任务服务质量保证方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756347A (zh) * 2022-04-19 2022-07-15 中国联合网络通信集团有限公司 基于集群的服务器资源调度方法、装置、云平台及介质
CN116501478A (zh) * 2023-06-28 2023-07-28 中国电信股份有限公司 任务分配方法、装置、设备、介质及数字孪生系统

Also Published As

Publication number Publication date
WO2021128737A1 (zh) 2021-07-01
TW202125274A (zh) 2021-07-01
JP2022518127A (ja) 2022-03-14
CN113032112A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
KR20210094639A (ko) 리소스 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체
US20240160948A1 (en) Processing computational graphs
JP6539236B2 (ja) 効果的なニューラルネットワークの配置に用いるシステム及び方法
US10678589B2 (en) Leveraging directed acyclic graph (DAG) information to group tasks for execution
US9501318B2 (en) Scheduling and execution of tasks based on resource availability
EP3430511A1 (en) Batching inputs to a machine learning model
EP3374933A2 (en) Training neural networks represented as computational graphs
CN110391938B (zh) 用于部署服务的方法和装置
CN112148468B (zh) 一种资源调度方法、装置、电子设备及存储介质
US20150277980A1 (en) Using predictive optimization to facilitate distributed computation in a multi-tenant system
CN109727376B (zh) 生成配置文件的方法、装置及售货设备
CN112379982B (zh) 任务处理方法、装置、电子设备及计算机可读存储介质
CN110764892A (zh) 任务处理方法、设备及计算机可读存储介质
CN114514536A (zh) 分布式系统中的神经网络训练
KR20210095687A (ko) 스케줄링 방법 및 장치, 전자 디바이스 및 기록 매체
CN109165723B (zh) 用于处理数据的方法和装置
US20210064981A1 (en) Controlling performance of deployed deep learning models on resource constrained edge device via predictive models
US20170230304A1 (en) Context-aware task processing for multiple devices
CN109729110B (zh) 管理专用处理资源的方法、设备以及计算机可读介质
CN111813541B (zh) 一种任务调度方法、装置、介质和设备
CA3071061C (en) Identifying a media item to present to a user device via a communication session
CN113051245A (zh) 用于迁移数据的方法、装置及系统
CN115564635A (zh) 一种gpu资源调度方法、装置、电子设备及存储介质
CN110716699A (zh) 用于写入数据的方法和装置
CN110597521B (zh) 数据处理方法、电子设备和介质

Legal Events

Date Code Title Description
A201 Request for examination
WITB Written withdrawal of application