KR20210095690A - 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체 - Google Patents

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

Info

Publication number
KR20210095690A
KR20210095690A KR1020217020283A KR20217020283A KR20210095690A KR 20210095690 A KR20210095690 A KR 20210095690A KR 1020217020283 A KR1020217020283 A KR 1020217020283A KR 20217020283 A KR20217020283 A KR 20217020283A KR 20210095690 A KR20210095690 A KR 20210095690A
Authority
KR
South Korea
Prior art keywords
gpu
physical
target virtual
virtual gpu
video memory
Prior art date
Application number
KR1020217020283A
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 KR20210095690A publication Critical patent/KR20210095690A/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • 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/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 실시예는 리소스 관리 할당 방법과 장치, 전자 디바이스 및 기록 매체를 개시하는바, 당해 방법은 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 구성 파일을 판독하는 것; 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하는 것; 및 목표 고객의 처리 대기 태스크가 수신된 것에 응답하여, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하고, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.

Description

리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체
본 발명은 컴퓨터 기술 분야에 관한 것인바, 구체적으로는 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체에 관한 것이다.
과학 컴퓨팅, 빅 데이터, 금융 등 분야에서 화상 처리 유닛(Graphics Processing Unit, GPU)이 광범위하게 적용됨에 따라, 대량인 소규모 및 경부하의 컴퓨팅 태스크로 인해 GPU 리소스가 낮은 컴퓨팅 부하와 높은 사용 빈도에 직면하게 되었다. 한편으로, 단일한 소규모인 애플리케이션 태스크는 GPU의 컴퓨팅의 퍼포먼스를 최대한으로 활용하기 어려우며, 다른 한편으로는 대량의 작은 태스크는 GPU 클러스터의 소비 전력을 증가시키고, 전반적인 리소스 이용률을 저하시킨다.
상술한 문제를 해결하기 위하여, 업계에서는 GPU 가상화 기술을 제안하고 있다. 즉, 각 물리 GPU 리소스를 복수의 작은 가상 GPU컴퓨팅 리소스로 분할함으로써, 작은 태스크가 직접 가상 GPU에 의해 처리되도록 하여, 응용 프로그램의 병렬 처리와 GPU 클러스터의 리소스 이용 효율을 향상시키는 것이다.
본 발명의 실시예는 리소스 관리 할당 방법과 장치, 전자 디바이스 및 기록 매체를 제공한다.
본 발명의 실시예의 제1 양태는 리소스 관리 할당 방법을 제공하는바, 당해 방법은 게스트 디바이스의 가상 화상 처리 유닛(GPU)의 구성 파라미터를 포함하는 구성 파일을 판독하는 것; 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하는 것; 및 목표 사용자의 처리 대기 태스크가 수신된 것에 응답하여, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되, 상기 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 물리 GPU의 현재 상태 정보는 상기 물리 GPU의 비디오 메모리 용량, 상기 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 사용자 정보 및 상기 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 비디오 메모리 용량을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 상기 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 복수의 물리 GPU의 비디오 메모리가 최소한으로 사용되도록 하는 것을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 리소스 상태 테이블에 기반하여, 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하는 것; 및 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 방법은 상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정하는 것을 더 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 목표 사용자의 적어도 하나의 태스크가 상기 복수의 물리 GPU에 가능한 한 균등하게 할당되도록 하는 것을 포함하되, 상기 적어도 하나의 태스크는 상기 처리 대기 태스크를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 리소스 상태 테이블에 기반하여, 상기 목표 사용자의 현재 상기 복수의 물리 GPU 중의 각 물리 GPU에 할당된 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하는 것; 및 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 방법은 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 복수의 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 더 포함한다.
옵션의 일 실시 형태에 있어서, 상기 방법은 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 리소스 상태 테이블을 갱신하는 것; 또는 태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 리소스 상태 테이블을 갱신하는 것을 더 포함한다.
제2 양태에 있어서, 본 발명의 실시예는 게스트 디바이스에 적용되는 리소스 관리 할당 방법을 제공하는바, 당해 방법은 상기 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 호스트 컴퓨터의 구성 파일을 판독하는 것; 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하는 것; 및 목표 사용자의 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하는 것을 포함하되, 상기 리소스 할당 요구는 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구하기 위하여 사용되며, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하기 전에, 상기 방법은 제1 리소스 상태 테이블에 기반하여, 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU 중의 여유 상태에 있는 가상 GPU를 확정하는 것; 및 상기 여유 상태에 있는 가상 GPU 중에서 상기 목표 가상 GPU를 확정하는 것을 더 포함하되, 상기 제1 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 방법은 상기 호스트 컴퓨터로부터의 상기 제1 리소스 상태 테이블에 관한 제1 갱신 명령을 수신하는 것; 및 상기 제1 갱신 명령에 기반하여 상기 제1 리소스 상태 테이블을 갱신하는 것을 더 포함하되, 상기 제1 갱신 명령은 상기 호스트 컴퓨터에 의해 물리 GPU의 태스크 처리 상태가 변화된 것이 검출되었을 때에 송신된 것이다.
옵션의 일 실시 형태에 있어서, 상기 적어도 하나의 물리 GPU는 새로 추가된 태스크를 가지는 제1 물리 GPU를 포함하고, 상기 제1 갱신 명령에는, 상기 제1 물리 GPU의 새로 추가된 태스크에 대응하는 사용자 정보, 상기 제1 물리 GPU의 정보 및 상기 새로 추가된 태스크에 대응하는 가상 GPU의 비디오 메모리 용량 중의 적어도 하나가 부가되어 있으며, 및/또는, 상기 적어도 하나의 물리 GPU는 새로 완료된 태스크를 가지는 제2 물리 GPU를 포함하고, 상기 제1 갱신 명령에는 상기 새로 완성된 태스크에 대응하는 사용자 정보 및 상기 제2 물리 GPU의 정보 중의 적어도 하나가 부가되어 있다.
옵션의 일 실시 형태에 있어서, 상기 방법은 상기 가상 GPU를 스케줄링하여 상기 처리 대기 태스크를 실행하도록 하는 것; 및 상기 호스트 컴퓨터로부터의 상기 처리 대기 태스크의 처리 결과를 수신하는 것을 더 포함한다.
제3 양태에 있어서, 본 발명의 실시예는 호스트 컴퓨터에 적용되는 리소스 관리 할당 방법을 제공하는바, 당해 방법은 처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하는 것; 및 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당하는 것을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당하는 것은, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량, 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되, 상기 제2 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 제2 리소스 상태 테이블에 기반하여, 상기 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하는 것; 및 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정하는 것을 더 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 제2 리소스 상태 테이블에 기반하여, 목표 사용자의 현재 복수의 물리 GPU 중의 각 물리 GPU에 이미 할당한 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하는 것; 및 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU의 물리 GPU로 확정하는 것을 포함하되, 상기 목표 사용자는 상기 목표 가상 GPU에 대응하는 사용자이다.
옵션의 일 실시 형태에 있어서, 상기 방법은, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 더 포함한다.
옵션의 일 실시 형태에 있어서, 상기 방법은, 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것; 또는 태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것을 더 포함한다.
옵션의 일 실시 형태에 있어서, 상기 방법은, 복수의 물리 GPU 중의 각 물리 GPU의 태스크 대기열에 기반하여 태스크 스케줄링을 실행하는 것을 더 포함한다.
제4 양태에 있어서, 본 발명의 실시예는 리소스 관리 시스템을 제공하는바, 호스트 컴퓨터와 게스트 디바이스를 포함하며, 여기서, 상기 호스트 컴퓨터에는 복수의 물리 GPU가 설치되어 있으며, 상기 게스트 디바이스는 가상 머신 또는 컨테이너를 포함한다. 상기 게스트 디바이스는 상기 게스트 디바이스의 가상 화상 처리 유닛(GPU)의 구성 파라미터를 포함하는 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 목표 사용자의 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 할당 요구를 상기 호스트 컴퓨터 리소스에 송신하되, 상기 리소스 할당 요구는 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구하기 위하여 사용된다. 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함하고, 상기 호스트 컴퓨터는 상기 게스트 디바이스로부터의 리소스 할당 요구를 수신하고, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당하되, 상기 리소스 할당 요구에는 상기 처리 대기 태스크의 정보 및 상기 목표 가상 GPU의 정보가 부가되어 있다.
제5 양태에 있어서, 본 발명의 실시예는 리소스 관리 장치를 제공하는바, 당해 장치는 통신 유닛과 처리 유닛을 구비하며, 여기서, 상기 처리 유닛은 상기 통신 유닛을 이용하여 구성 파일을 취득하고, 게스트 디바이스의 가상 화상 처리 유닛(GPU)의 구성 파라미터를 포함하는 상기 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 목표 사용자의 처리 대기 태스크가 수신된 것에 응답하여, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하되, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
제6 양태에 있어서, 본 발명의 실시예는 리소스 관리 장치를 제공하는바, 당해 장치는 통신 유닛과 처리 유닛을 구비하며, 여기서, 상기 처리 유닛은 상기 통신 유닛을 이용하여 호스트 컴퓨터의 구성 파일을 취득하고, 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 상기 호스트 컴퓨터의 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 목표 사용자의 처리 대기 태스크가 수신되었을 경우, 상기 통신 유닛을 이용하여 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 할당 요구를 상기 호스트 컴퓨터 리소스에 송신하되, 상기 리소스 할당 요구는 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구하기 위하여 사용되며, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
제7 양태에 있어서, 본 발명의 실시예는 리소스 관리 장치를 제공하는바, 당해 장치는 통신 유닛과 처리 유닛을 구비하며, 여기서, 상기 처리 유닛은 상기 통신 유닛을 이용하여, 처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하고, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당한다.
제8양태에 있어서, 본 발명의 실시예는 리소스 관리 시스템을 제공하는바, 당해 시스템은 호스트 컴퓨터와 게스트 디바이스를 포함하되, 상기 호스트 컴퓨터에는 복수의 물리 GPU가 설치되어 있으며, 상기 게스트 디바이스는 본 발명의 실시예의 제6 양태의 임의의 하나의 장치이고, 상기 호스트 컴퓨터는 본 발명의 실시예의 제7 양태의 임의의 하나의 장치이다.
제9양태에 있어서, 본 발명의 실시예는 전자 디바이스를 제공하는바, 당해 전자 디바이스는 프로세서와 메모리를 구비하며, 상기 메모리는 컴퓨터 프로그램을 기억하고, 상기 컴퓨터 프로그램은 상술한 프로세서가 실행됨으로써, 상기 프로세서로 하여금 본 발명의 실시예의 제1 양태, 제2 양태 또는 제3 양태에 기재된 임의의 하나의 방법을 실행하도록 한다.
제10양태에 있어서, 본 발명의 실시예는 컴퓨터 판독 가능 기록 매체를 제공하는바, 상술한 컴퓨터 판독 가능 기록 매체는 컴퓨터 프로그램을 기억하고, 상술한 컴퓨터 프로그램은 컴퓨터로 하여금 본 발명의 실시예의 제1 양태, 제2 양태 또는 제3 양태에 기재된 임의의 하나의 방법을 실행하도록 한다.
제11양태에 있어서, 본 발명의 실시예는 컴퓨터 프로그램 제품을 제공하는바, 상술한 컴퓨터 프로그램 제품은 컴퓨터 프로그램이 기억된 비일시적인 컴퓨터 판독 가능 기록 매체를 포함하고, 상술한 컴퓨터 프로그램은 조작됨으로써, 컴퓨터가 본 발명의 실시예의 제1 양태, 제2 양태 또는 제3 양태에 기재된 임의의 하나의 방법을 실행하도록 한다. 당해 컴퓨터 프로그램 제품은 소프트웨어 설치 패키지일 수 있다.
본 발명의 실시예는, 먼저 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 구성 파일을 판독한 후, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 목표 고객으로의 처리 대기 태스크가 수신되면, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하되, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU에 대해 고정된 매핑 관계를 미리 구축하는 것이 아니라, 가상 GPU에 의해 처리 대기 태스크가 수신된 후, 동적으로 가상 GPU에 대응하는 물리 GPU를 할당하기 때문에, 현재 태스크의 특성에 기반하여 물리 GPU 리소스에 대해 유연하게 관리 할당을 실행할 수 있고, 물리 GPU의 리소스 이용률을 향상시키며, 시스템의 전체적인 퍼포먼스를 향상시킨다.
여기서의 도면은 명세서에 병합되어 명세서의 일부를 구성하며, 이러한 도면은 본 발명에 부합되는 실시예를 제시하는바, 명세서와 같이 본 발명의 기술적 해결방안을 설명하기 위하여 사용된다.
도 1은 본 발명의 실시예에 의해 제공되는 리소스 관리 시스템의 모식도이다.
도 2는 본 발명의 실시예에 의해 개시되는 리소스 관리 할당 방법의 플로우를 나타내는 모식도이다.
도 3은 본 발명의 실시예에 의해 제공되는 리소스 최소 관리 할당 전략의 아키텍처도이다.
도 4는 본 발명의 실시예에 의해 제공되는 부하 균등 할당 전략의 아키텍처도이다.
도 5는 본 발명의 다른 일 실시예에 의해 개시되는 리소스 관리 할당 방법의 플로우를 나타내는 모식도이다.
도 6은 본 발명의 다른 일 실시예에 의해 개시되는 리소스 관리 할당 방법의 플로우를 나타내는 모식도이다.
도 7은 본 발명의 실시예에 의해 제공되는 전자 디바이스의 구성을 나타내는 모식도이다.
도 8은 본 발명의 다른 일 실시예에 의해 제공되는 전자 디바이스의 구성을 나타내는 모식도이다.
도 9는 본 발명이 다른 일 실시예에 의해 제공되는 전자 디바이스의 구성을 나타내는 모식도이다.
도 10은 본 발명의 실시예에 영향을 미치는 리소스 관리 장치의 기능 유닛의 구성을 나타내는 블록도이다.
도 11은 본 발명의 다른 일 실시예에 영향을 미치는 리소스 관리 장치의 기능 유닛의 구성을 나타내는 블록도이다.
도 12는 본 발명이 다른 일 실시예에 영향을 미치는 리소스 관리 장치의 기능 유닛의 구성을 나타내는 블록도이다.
이하, 본 발명의 실시예의 도면을 참조하여, 본 발명의 실시예의 기술적 해결방안을 명확하고 완전히 설명한다.
본 발명 중의 "및/또는"이라는 용어는 단지 관련 대상의 관련 관계를 설명하는바, 세 가지의 관계가 존재할 가능성이 있음을 나타낸다. 예를 들면, A 및/또는 B는 A가 단독으로 존재하는 것, A와 B가 동시에 존재하는 것 및 B가 단독으로 존재 것과 같은 세 가지 경우를 포함한다. 또한, 본 명세서 중의 "적어도 하나"라고 하는 용어는 복수의 종류 내의 임의의 한 종류 또는 복수의 종류 중의 적어도 두 가지의 임의의 조합을 나타낸다. 예를 들면, A, B, C 중의 적어도 하나를 포함하는 것은, A, B 및 C로부터 구성된 세트로부터 선택한 임의의 하나 또는 복수의 요소를 포함하는 것을 나타낼 수 있다. 본 발명의 명세서, 특허 청구의 범위 및 상술한 도면에서의 "제1", "제2" 등의 용어는 특정 순서를 설명하는 것이 아니라, 서로 다른 대상을 구별하기 위하여 사용된다. 한편, "포함"과 "구비"라는 용어 및 그들의 임의의 변형은 비 배타적인 포함을 커버하려는 것을 의도하고 있다. 예를 들면, 일련의 단계 또는 유닛을 포함하는 과정, 방법, 시스템, 제품 또는 디바이스는 열거된 단계 또는 유닛에 한정되는 것이 아니라, 옵션으로 열거되지 않은 단계 또는 유닛을 포함하며, 또는 옵션으로 당해 과정, 방법, 제품 또는 디바이스의 고유의 기타 단계 또는 유닛을 더 포함한다.
본 명세서에서 언급되는 "실시예"는, 실시예와 결합시켜 설명하는 특정 특징, 구성 또는 특성을 의미하며, 본 발명의 적어도 하나의 실시예에 포함될 수 있음을 의미한다. 명세서의 각 위치에서의 당해 단어의 출현은 반드시 같은 실시예를 나타낸 것이 아니며, 다른 실시예와 서로 배타적이고 독립적인 실시예 또는 대체적인 실시예를 나타내는 것도 아니다. 당업자는 본 명세서에 설명된 실시예를 다른 실시예로 조합시킬 수 있음을 명확하고 암시적으로 이해할 수 있다.
본 발명의 실시예에 따른 리소스 관리 할당 장치는 리소스 관리 할당을 실행할 수 있는 장치인바, 전자 디바이스일 수 있다. 상술한 전자 디바이스는 단말 디바이스를 포함한다. 구체적인 구현에 있어서, 상술한 단말 디바이스는 터치 센시티브 표면(예를 들면, 터치 스크린 디스플레이 및/또는 터치 패드)을 가지는 휴대 전화, 랩탑 컴퓨터 또는 태블릿 컴퓨터 등의 기타 포터블 디바이스를 포함하지만 이에 한정되지 않는다. 몇몇의 실시예에 있어서, 상기 디바이스는 포터블 통신 디바이스가 아니라, 터치 센시티브 표면(예를 들면, 터치 스크린 디스플레이 및/또는 터치 패드)을 가지는 데스크톱 컴퓨터, 서버 등일 수 있음을 더 이해해야 한다.
도 1은 본 발명의 실시예에 의해 제공되는 리소스 관리 시스템의 모식도이다. 여기서, GPU 가상화 해결방안은 게스트 디바이스(Guest)(101) 및 호스트 컴퓨터(Host)(102)에 관련된다. 호스트 컴퓨터(102)는 물리 GPU(pGPU)(140)를 구비하는 디바이스의 물리 머신 노드를 나타내는바, 사용자는 호스트 컴퓨터 상에서 GPU 태스크를 직접 실행할 수 있다. 한편, 호스트 컴퓨터는 물리 GPU의 기동 및 게스트 디바이스와의 데이터 해석, 전송 등의 통신 조작을 담당하는 서비스 데몬을 더 포함한다. 게스트 디바이스(101)는 가상화 GPU를 사용할 수 있는 가상 머신 또는 컨테이너를 가리킨다. 게스트 디바이스(101)는 어떠한 GPU디바이스도 가지지 않으며, GPU 태스크를 직접 실행할 수 없다. 게스트 디바이스(101)는 GPU 가상화를 위한 프로세스를 포함하며, 당해 프로세스는 캡슐화된 GPU의 동적 링크 라이브러리 및 데이터 전송을 담당하고, 게스트 디바이스(101) 상의 태스크가 호스트 컴퓨터의 물리 GPU를 투명하게 사용하여 조작을 실행하도록 한다.
본 발명의 실시예에 의해 제공되는 리소스 관리 시스템에 있어서, Guest의 가상 GPU(vGPU) 리소스 관리 전략은 아래와 같이 선택할 수 있는바, 즉, Guest의 가상 GPU 리소스 관리 전략은, 구성 옵션에 따른 가상 전시 및 태스크에 따른 실제 할당과 같은 두 개의 단계이고 나뉠 수 있는바, 여기서, Guest는 가상 머신일 수 있다. 도 1에 나타낸 바와 같이, 주요한 할당 과정은, 먼저 게스트 디바이스의 가상 머신(Virtual Machine, VM)을 기동시키되, 여기서 110-1, 110-n 등의 복수의 가상 머신이 존재할 수 있다. 구성 파일 Config 121을 판독함으로써, 가상 GPU의 수량, 각 가상 GPU의 비디오 메모리 용량, 각 가상 GPU의 사용 지속 시간, 각 가상 GPU의 시간 슬라이스의 크기 등을 포함하는 현재 VM 상의 가상 GPU 관련 파라미터를 취득한다. 그 다음, VM의 가상 GPU 게스트 디바이스에서 가상의 가상 GPU 경상(122)를 생성하며, 이 때의 가상 GPU는 물리 GPU와 매핑되어 있지 않으며, 소프트웨어 수준에서 사용자에게 가상 GPU 정보를 가상적으로 할당하는 것이다. VM 상의 사용자가 GPU 리소스를 사용하는 태스크(123)의 실행을 시작하면, 가상 머신은 GPU 정보 초기화 요구를 송신하고, 이 때 VM은 Host와 접속을 구축하여, 가상 GPU-물리 GPU 리소스 할당 전략(130)에 따라 가상 GPU(124)와 물리 GPU(140)의 실제 관련을 구축한다. 여기서, 하나의 가상 GPU(124)는 하나의 물리 GPU와 관련시킬 수도 있고, 복수의 물리 GPU와 관련시킬 수도 있다. Host(102)는 VM에 물리 GPU(140)의 정보를 반환하는바, 예를 들면, GPU의 주소 ID, 물리 GPU의 디바이스 모델, 물리 GPU의 나머지 비디오 메모리 용량, 물리 GPU의 사용을 신청한 시작 시간 등의 파라미터를 반환한다. 가상 GPU는 상술한 정보를 갱신하고, 구성된 파라미터를 따라 GPU 가상화의 프로세스를 호출하며, Host에 태스크(123)의 데이터를 전송한다. Host의 서비스 데몬(daemon)은 전송하는 데이터에 기반하여, 관련된 물리 GPU를 기동하여 태스크(123)를 처리하고, 태스크 처리가 종료된 후, 태스크 처리 결과를 VM에 반환한다. VM 상의 사용자는 태스크(123)가 VM 상의 가상 GPU(124)에 의해 완료된 것으로 보이지만, 실제로는 태스크(123)은 호스트 컴퓨터의 물리 GPU(140)에 의해 완료된 것임에 주의할 필요가 있다.
상술한 Guest와 Host는 같은 디바이스에 설치된 것일 수 있음을 이해할 수 있는바, 예를 들면 호스트 컴퓨터 상의 물리 GPU와 당해 호스트 컴퓨터에 인스톨된 게스트 디바이스는 서로 다른 디바이스에 설치된 것일 수도 있다. 예를 들면, 사용자 디바이스에 인스톨된 게스트 디바이스와 네트워크에 설치된 각 물리 GPU 노드 디바이스일 수 있다.
도 2는 본 발명의 실시예에 의해 개시되는 리소스 관리 할당 방법의 플로우를 나타내는 모식도며, 도 2에 나타낸 바와 같이, 당해 리소스 관리 할당 방법은 이하의 단계를 포함한다.
201에 있어서, 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 구성 파일을 판독한다.
여기서, 상기 구성 파일은 현재 게스트 디바이스의 가상 GPU의 관련 파라미터를 포함하고, 가상 GPU관련 파라미터는 가상 GPU의 수량, 각 가상 GPU의 비디오 메모리 용량, 각 가상 GPU의 사용 지속 시간, 각 가상 GPU의 시간 슬라이스의 크기 등 중의 하나 또는 복수를 포함할 수 있지만 이에 한정되지 않는다.
옵션으로서, 상기 구성 파일은 시스템 기본값이거나, 사용자의 요건에 따라 생성될 수 있다.
202에 있어서, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성한다.
본 발명의 실시예에 있어서, 상술한 구성 파일을 판독한 후, 게스트 디바이스는 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성할 수 있으며, 상술한 가상 GPU는 소프트웨어 수준으로 사용자가 관찰할 수 있도록 표시한 가상의 GPU이다. 예를 들면, 상술한 적어도 하나의 사용 가능한 가상 GPU를 생성한 후, 사용자는 사용자 디바이스를 통해, 게스트 디바이스 상의 가상 GPU의 수량 및 각 가상 GPU의 비디오 메모리 용량, 각 가상 GPU의 사용 지속 시간, 각 가상 GPU의 시간 슬라이스의 크기 등의 파라미터를 관찰할 수 있다. 이 때의 가상 GPU는 물리 GPU와 매핑되어 있지 않다.
203에 있어서, 목표 사용자의 처리 대기 태스크가 수신된 것에 응답하여, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하되, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
본 발명의 실시예에 있어서, 게스트 디바이스는 처리 대기 태스크를 수신한 후, 상술한 처리 대기 태스크에 목표 가상 GPU를 할당함으로써, 상기 처리 대기 태스크에 대해 처리를 실행한다. 그 다음, 상술한 목표 가상 GPU가 구체적인 정보에 기반하여 상술한 목표 가상 GPU에 물리 GPU를 할당하는바, 즉, 가상 GPU와 물리 GPU의 매핑 관계를 구축한다. 상술한 목표 가상 GPU에 물리 GPU를 할당한 후, 상술한 목표 가상 GPU에 할당한 물리 GPU로 상술한 처리 대기 태스크를 처리하고, 게스트 디바이스에 처리 결과를 피드백한다. 즉, 호스트 컴퓨터의 분배된 물리 GPU로 상술한 처리 대기 태스크를 처리하고, 게스트 디바이스에 처리 결과를 피드백한다.
본 발명의 실시예는 게스트 디바이스의 가상 GPU의 파라미터를 포함하는 구성 파일을 판독하며, 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하되, 상기 게스트 디바이스는 적어도 하나의 가상 GPU를 포함하고, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU는 태스크를 수신하기 전에 매핑 관계가 구축되어 있지 않으며, 태스크가 수신된 후, 가상 GPU와 물리 도형의 가상 유닛에 대해 매핑 관계를 구축할 수 있다. 또한, 다른 리소스 할당 전략에 따라 GPU 리소스에 대해 유연하게 관리 할당을 실행할 수 있으며 물리 GPU의 사용 효율을 향상시킬 수 있다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 목표 가상 GPU의에 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되, 상기 리소스 상태 테이블은 호스트 컴퓨터 중의 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
여기서, 상기 현재 상태 정보는 상술한 복수의 물리 GPU 중의 각 물리 GPU의 비디오 메모리 용량, 각 물리 GPU 중의 당해 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 사용자 정보 및 각 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 비디오 메모리 용량을 포함한다. 또는 상기 현재 상태 정보에 기반하여, 상술한 복수의 물리 GPU 중의 각 물리 GPU의 비디오 메모리 용량, 각 물리 GPU 중의 당해 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 사용자ID, 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 비디오 메모리 용량 등의 정보를 도출할 수 있다. 옵션으로서, 상술한 현재 상태 정보는 각 물리 GPU 중의 당해 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 태스크 식별자를 더 포함할 수 있다.
표 1은 본 발명의 실시예에 의해 제공되는 리소스 상태 테이블의 구체적인 실시 형태다. 여기서, pGPU는 물리 GPU를 나타내고, vGPU는 가상 GPU를 나타내며, ID는 주소 또는 식별자를 나타낸다.
Figure pct00001
구체적인 실현에 있어서, 상술한 처리 대기 태스크를 수신하고, 목표 가상 GPU를 확정한 후, 목표 가상 GPU의 비디오 메모리 용량에 기반하여 상술한 리소스 상태 테이블로부터, 상기 처리 대기 태스크를 실행하는 조건을 충족시키는 물리 GPU를 목표 가상 GPU에 할당하는 물리 GPU로 확정할 수 있다. 예를 들면, 나머지 비디오 메모리가 상술한 목표 가상 GPU의 비디오 메모리보다 큰 물리 GPU를 목표 가상 GPU에 할당하는 물리 GPU로 확정할 수 있다.
또한, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 구체적으로 상기 목표 가상 GPU의 비디오 메모리 용량, 리소스 상태 테이블 및 리소스 할당 전략에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함할 수 있다.
여기서, 상술한 리소스 할당 전략은 특정 효과를 달성하기 위하여 고안된 리소스 가상 GPU와 물리 GPU 사이의 매핑 규칙을 나타낸다. 예를 들면, 물리 GPU의 사용의 최소화를 달성하기 위하여 고안된 최소 리소스 할당 전략일 수도 있고, 또다른 예를 들면, 같은 사용자의 복수의 태스크를 각 물리 GPU 에 균등하게 할당하기 위하여 고안된 부하 균등 할당 전략일 수도 있다. 일 예에 있어서, 리소스 할당 전략은 호스트 컴퓨터에 위치될 수 있으며, 게스트 디바이스에 리소스 할당 전략의 일부 매핑 관계가 기억될 수 있다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량, 리소스 상태 테이블 및 리소스 할당 전략에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 리소스 상태 테이블에 기반하여, 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하는 것; 및 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 포함한다. 상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 즉, 각 물리 GPU의 나머지 비디오 메모리가 모두 상기 목표 가상 GPU에 필요한 비디오 메모리보다 작을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정한다. 본 발명의 실시예에 있어서, 이러한 가상 GPU와 물리 GPU의 할당 방법 중의 리소스 할당 전략을 리소스 최소 할당 전략이라고 부른다
여기서, 상술한 복수의 물리 GPU의 배열 순서는 물리 GPU의 ID 번호의 순서일 수도 있고, 복수의 물리 GPU의 상술한 리소스 상태 테이블 내의 배열 순서일 수도 있는바, 예를 들면 표1 내의 pGPU1∼pGPUn일 수 있다. 표1 내의 물리 GPU의 배열 순서는 물리 GPU의 ID 번호의 순서에 따라 배열될 수도 있고, 물리 GPU의 호스트 컴퓨터 중의 위치 정보에 따라 배열될 수도 있으며, 물리 GPU가 호스트 컴퓨터에 추가된 시간의 전후에 따라 배열될 수도 있는바 본 발명은 이에 대해 한정하지 않는다.
구체적인 실현에 있어서, 상술한 처리 대기 태스크의 목표 가상 GPU의 비디오 메모리 용량을 확정한 후, 리소스 상태 테이블 중의 물리 GPU의 배열 순서에 따라 먼저 첫 번째 물리 GPU의 나머지 비디오 메모리 용량을 취득하고, 이어서 첫 번째 물리 GPU의 나머지 비디오 메모리 용량이 목표 가상 GPU의 필요한 비디오 메모리 용량 이상인지 여부를 판단하며, 목표 가상 GPU의 필요한 비디오 메모리 용량 이상이면, 첫 번째 물리 GPU를 목표 가상 GPU에 할당하는 물리 GPU로 확정하고, 그렇지 않으면, 두 번째 물리 GPU의 나머지 비디오 메모리 용량을 취득하고, 이어서 두 번째 물리 GPU의 나머지 비디오 메모리 용량이 목표 가상 GPU의 필요한 비디오 메모리 용량 이상인지 여부를 판단하며, 목표 가상 GPU의 필요한 비디오 메모리 용량 이상이면, 두 번째 물리 GPU를 목표 가상 GPU에 할당하는 물리 GPU로 확정하고, 그렇지 않으면, 계속하여, 다음 하나의 물리 GPU의 나머지 비디오 메모리 용량을 취득하여 동일한 판단 조작을 실행한다. 유사하게 모든 물리 GPU의 나머지 비디오 메모리 용량이 모두 상술한 목표 가상 GPU의 비디오 메모리 용량보다 작으면, 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정한다.
도 3은 본 발명의 실시예에 의해 제공되는 리소스 최소 관리 할당 전략의 아키텍처도이다. 여기서, 라벨이 있는 음영 직사각 형은 처리 대기 태스크를 나타내고, 직사각 형 내의 라벨은 태스크가 생성되는 전후 순서를 나타내며, VPT는 리소스 상태 테이블을 나타내고, pGPU는 물리 GPU를 나타내며, vGPU는 가상 GPU를 나타낸다. 아키텍처도로부터 알 수 있듯이, 태스크를 생성된 전후 순서에 따라 앞에 배열된 물리 GPU에 할당할 수 있다.
본 발명의 실시예에 있어서, 목표 가상 GPU에 물리 GPU를 할당하는 것으로 확정되었을 때에, 우선적으로 앞에 배열된 물리 GPU를 목표 가상 GPU에 할당함으로써, 각 GPU의 이용률을 최대화하고, GPU의 리소스를 절약한다.
옵션의 다른 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량, 리소스 상태 테이블 및 리소스 할당 전략에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 리소스 상태 테이블에 기반하여, 상기 목표 사용자의 현재 복수의 물리 GPU 중의 각 물리 GPU에 할당된 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리를 확정하는 것; 및 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 포함하되, 상기 사용자ID는 상기 목표 가상 GPU의 목표 사용자의 식별자이다. 상기 태스크 수량이 가장 적은 것은 목표 사용자의 당해 물리 GPU에서 운행되고 있는 태스크 수량이 가장 적은 것을 나타내는바, 당해 물리 GPU에서 운행하고 있는 모든 태스크의 수량이 가장 적은 것이 아니다. 본 발명의 실시예에 있어서, 이러한 가상 GPU와 물리 GPU의 할당 방법 중의 리소스 할당 전략을 부하 균등 할당 전략이라고 부른다.
구체적인 실현에 있어서, 상기 리소스 상태 테이블 중의 정보에 기반하여, 복수의 물리 GPU 중의 각 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 목표 사용자의 태스크 수를 확정하고, 상술한 목표 사용자의 태스크 상술한 복수의 물리 GPU중의 분포 상황을 통계하며, 그 다음, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정할 수 있다. 이렇게 함으로써, 상술한 목표 사용자의 태스크를 복수의 물리 GPU에 가능한 한 균등하게 할당함으로써, 같은 사용자의 복수 태스크가 같은 물리 GPU에 누적됨으로 인한 단일 사용자의 복수 태스크 대기열 현상을 줄이고, 사용자의 태스크 실행 효율을 향상시킨다.
또한, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU의 물리 GPU로 확정한다. 당해 복수의 물리 GPU의 배열 순서는 물리 GPU의 ID 번호의 순서일 수도 있고, 당해 복수의 물리 GPU의 상술한 리소스 상태 테이블 중의 배열 순서일 수도 있다.
도 4는 본 발명의 다른 일 실시예에 의해 제공되는 부하 균등 할당 전략의 아키텍처도이다. 여기서, 라벨이 붙은 음영 직사각 형은 처리 대기 태스크를 나타내고, 직사각 형 내의 라벨은 태스크가 생성되는 전후 순서를 나타내며, VPT는 리소스 상태 테이블을 나타내고, pGPU는 물리 GPU를 나타내며, vGPU는 가상 GPU를 나타낸다. 아키텍처도로부터 알 수 있듯이, 같은 사용자ID의 태스크는 각 물리 GPU에 균등하게 할당되어 있다.
옵션의 일 실시 형태에 있어서, 상술한 목표 가상 GPU의 물리 GPU를 확정한 후, 상술한 방법은 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 리소스 상태 테이블을 갱신하는 것을 더 포함한다.
구체적인 실현 형태에 있어서, 상술한 목표 가상 GPU의 물리 GPU를 확정한 후, 상술한 목표 가상 GPU의 물리 GPU-ID, 상술한 목표 가상 GPU의 ID, 목표 가상 GPU의 사용자ID, 목표 가상 GPU의 비디오 메모리 용량 등 정보를 이용하여, 상술한 리소스 상태 테이블을 갱신한다.
옵션의 일 실시 형태에 있어서, 상술한 복수의 물리 GPU에 존재하는 태스크의 실행이 완료되었을 경우, 실행이 완료된 태스크에 기반하여 상기 리소스 상태 테이블을 갱신한다.
구체적으로, 태스크의 실행을 완료한 물리 GPU-ID 및 실행이 완료된 태스크에 대응하는 가상 GPU의 ID를 이용하여, 상술한 리소스 상태 테이블 중의 상술한 태스크의 실행을 완료한 물리 GPU의 정보를 갱신할 수 있다.
도 5는 본 발명의 다른 일 실시예에 의해 개시되는 리소스 관리 할당 방법의 플로우를 나타내는 모식도며, 당해 방법은 게스트 디바이스에 적용된다. 도 5에 나타낸 바와 같이, 당해 리소스 관리 할당 방법은 이하의 단계를 포함한다.
501에 있어서, 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 호스트 컴퓨터의 구성 파일을 판독한다.
502에 있어서, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성한다.
본 발명의 실시예에 있어서, 501 및 502의 단계는 도 2 내의 단계201 및 202를 참고할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.
503에 있어서, 목표 사용자의 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하되, 상기 리소스 할당 요구는 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구하기 위하여 사용되며, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
본 발명의 실시예에 있어서, 상술한 게스트 디바이스는 도 1 내의 Guest에 대응될 수 있으며, 상술한 호스트 컴퓨터는 도 1 내의 Host에 대응될 수 있다.
하나의 예에 있어서, 게스트 디바이스는 가상 머신일 수 있고, 가상 머신은 적어도 하나의 가상 GPU를 포함한다. 상술한 가상 머신의 가상 GPU에 처리 대기 태스크가 없을 경우, 상술한 가상 머신의 가상 GPU에는 이에 대응하는 물리 GPU가 없다.
상술한 가상 머신은 처리 대기 태스크를 수신한 후, 상술한 처리 대기 태스크에 이에 대응하는 목표 가상 GPU를 할당한 후, 목표 가상 GPU의 비디오 메모리 용량 등이 할당한 목표 가상 GPU의 정보에 기반하여, 상술한 호스트 컴퓨터에 리소스 할당 요구를 송신함으로써, 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구한다.
여기서, 상술한 리소스 할당 요구에는 상술한 목표 가상 GPU의 ID 및 비디오 메모리 용량이 부가될 수 있으며, 또한 목표 가상 GPU의 사용자ID가 부가될 수 있다.
다른 일 예에 있어서, 게스트 디바이스는 컨테이너일 수 있고, 컨테이너는 적어도 하나의 가상 GPU를 포함한다. 컨테이너의 가상 GPU에 처리 대기 태스크가 없을 경우, 당해 컨테이너의 가상 GPU에는 이에 대응하는 물리 GPU가 없다. 당해 컨테이너는 처리 대기 태스크를 수신한 후, 상술한 처리 대기 태스크에 이에 대응하는 목표 가상 GPU를 할당한 후, 목표 가상 GPU의 비디오 메모리 용량 등과 같은 할당한 목표 가상 GPU의 정보에 기반하여, 상술한 호스트 컴퓨터에 리소스 할당 요구를 송신함으로써, 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구한다. 여기서, 상술한 리소스 할당 요구에는 상술한 목표 가상 GPU의 ID 및 비디오 메모리 용량이 부가될 수 있으며, 또한 목표 가상 GPU의 사용자ID가 부가될 수 있다.
본 발명의 실시예는 구성 파일을 판독하며, 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하되, 상기 구성 파일은 게스트 디바이스의 가상 GPU의 파라미터를 포함하고, 상기 게스트 디바이스는 적어도 하나의 가상 GPU를 포함한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU는 태스크를 수신하기 전에는 매핑 관계가 구축되어 있지 않으며, 태스크를 수신한 후, 리소스 할당 전략에 따라 가상 GPU와 물리 GPU에 대해 동적으로 매핑 관계를 구축한다. 따라서, 가상 GPU와 물리 GPU 사이의 매핑 관계를 유연하게 구축할 수 있고, 물리 GPU의 사용 효율을 향상시킬 수 있다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하기 전에, 상기 방법은 상기 게스트 디바이스의 가상 GPU의 수 및 제1 리소스 상태 테이블에 기반하여, 상기 게스트 디바이스의 미사용의 가상 GPU의 수를 확정하는 것; 및 상기 미사용의 가상 GPU의 수량이 제로보다 크면, 상기 미사용의 가상 GPU 중에서 상기 목표 가상 GPU를 확정하는 것을 더 포함하며, 여기서, 상기 제1 리소스 상태 테이블은 각 물리 GPU현재의 사용 상태 정보를 포함한다.
여기서, 상술한 제1 리소스 상태 테이블에 포함된 정보는 도 2 내의 리소스 상태 테이블에 포함된 정보와 일치하는바, 여기에서는 반복적으로 설명하지 않는다.
옵션으로서, 상기 방법은 상기 제1 리소스 상태 테이블에 관한 제1 갱신 명령을 수신하는 것; 및 상기 제1 갱신 명령에 기반하여 상기 제1 리소스 상태 테이블을 갱신하는 것을 더 포함하며, 상기 제1 갱신 명령은 상기 호스트 컴퓨터에 의해, 물리 GPU의 태스크 처리 상태가 변화된 것이 검출되었을 때에 송신된 것이다. 여기서, 태스크 처리 상태가 변화된 것은, 물리 GPU에 새로운 태스크가 추가된 것 또는 태스크가 완료된 것일 수 있다.
구체적으로, 상기 호스트 컴퓨터에 의해 물리 GPU에 새로 추가된 태스크가 존재하는 것이 검출되었을 경우, 상기 제1 갱신 명령에는 제1 물리 GPU의 새로 추가된 태스크에 대응하는 사용자 정보, 제1 물리 GPU의 정보, 상기 새로 추가된 태스크의 가상 GPU의 비디오 메모리 용량 중의 적어도 하나가 부가되어 있다. 상기 호스트 컴퓨터에 의해 물리 GPU의 비디오 메모리에 새로 완료된 태스크가 있는 것이 검출되었을 경우, 상기 제1 갱신 명령에는 새로 완료된 태스크에 대응하는 사용자 정보 및 새로 완료된 태스크에 대응하는 제2 물리 GPU의 정보 중의 적어도 하나가 부가되어 있다. 여기서, 상기 제1 물리 GPU는 새로 추가된 태스크의 GPU이며, 상기 제2 물리 GPU는 새로 완성된 태스크에 대응하는 GPU이다. 상기 사용자 정보는 사용자의 ID일 수 있고, 상기 물리 GPU의 정보는 물리 GPU의 ID일 수 있다.
옵션으로서, 상기 방법은 상기 가상 GPU를 스케줄링하여 상기 처리 대기 태스크를 실행하도록 하는 것; 및 상기 호스트 컴퓨터로부터의 상기 처리 대기 태스크의 처리 결과를 수신하는 것을 더 포함한다.
도 6은 본 발명이 다른 일 실시예에 의해 개시되는 리소스 관리 할당 방법의 플로우를 나타내는 모식도이며, 당해 방법은 호스트 컴퓨터에 적용된다. 도 6에 나타낸 바와 같이, 당해 리소스 관리 할당 방법은 이하의 단계를 포함한다.
601에 있어서, 처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하되, 상기 목표 가상 GPU는 게스트 디바이스에 포함되어 있는 가상 GPU이다.
본 발명의 실시예에 있어서, 상술한 게스트 디바이스는 도 1 내의 Guest에 대응될 수 있으며, 상술한 호스트 컴퓨터는 도 1 내의 Host에 대응될 수 있다.
상술한 게스트 디바이스는 적어도 하나의 가상 GPU를 포함한다. 상술한 게스트 디바이스의 가상 GPU에 처리 대기 태스크가 없으면, 상술한 게스트 디바이스의 가상 GPU에는 이에 대응하는 물리 GPU가 없다.
상술한 목표 가상 GPU의 정보는 목표 가상 GPU의 비디오 메모리 용량 및 목표 가상 GPU의 사용자ID를 포함할 수 있지만 이에 한정되지 않는다.
602에 있어서, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당한다.
본 발명의 실시예에 있어서, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당하는 것은, 상기 목표 가상 GPU의 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함한다. 여기서, 상기 목표 물리 GPU는 처리 대기 태스크의 정보에 기반하여 처리 대기 태스크를 처리하기 위하여 이용할 수 있다.
또한, 상기 목표 가상 GPU의 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량, 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되, 상기 제2 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
본 발명의 실시예에 있어서, 상술한 상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 구체적인 실현 과정은, 도 2 내의 "상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함"에 대응하는 조작을 참고할 수 있다. 여기서, 상기 목표 사용자의 현재 복수의 물리 GPU 중의 각 물리 GPU에 할당된 태스크 수량을 확정하는 조작은, 목표 사용자의 현재 복수의 물리 GPU 중의 각 물리 GPU에 할당된 태스크 수량을 확정하는 것이며, 당해 목표 사용자는 목표 가상 GPU에 대응하는 사용자인 것으로 이해할 수 있음에 주의할 필요가 있다. 여기서, 본 발명의 실시예 중의 "제2 리소스 상태 테이블"은 상술한 도 2 내의 "상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함" 중의 "리소스 상태 테이블"에 대응한다. 하나의 예에 있어서, 제2 리소스 상태 테이블은 제1 리소스 상태 테이블과 같으므로, 예를 들면 게스트 디바이스가 호스트 컴퓨터 상의 리소스 상태 테이블을 로컬에 복사하고, 호스트 컴퓨터가 제2 리소스 상태 테이블을 유지하며, 제2 리소스 상태 테이블이 갱신되면, 게스트 디바이스가 제1 리소스 상태 테이블에 대해 동기화 갱신을 실행하도록 당해 게스트 디바이스에 통지한다. 예를 들면, 제1 갱신 명령을 이용하여 게스트 디바이스가 제1 리소스 상태 테이블을 갱신하도록 통지할 수 있다.
옵션의 일 실시 형태에 있어서, 상기 방법은 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것; 또는 태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것을 더 포함한다. 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것은, 할당된 물리 GPU가 새로 추가된 태스크에 대응하는 사용자 정보, 할당된 물리 GPU의 정보 및 상기 새로 추가된 태스크에 대응하는 가상 GPU의 비디오 메모리 용량 중의 적어도 하나를 갱신하는 것을 포함한다. 태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것은, 새로 완료된 태스크에 대응하는 사용자 정보 및 태스크를 완료한 물리 GPU의 정보 중의 적어도 하나를 갱신하는 것을 포함한다. 물리 GPU의 정보는 물리 GPU의 ID를 포함하고, 사용자 정보는 사용자ID를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당한 후에, 상기 방법은 복수의 물리 GPU 중의 각 물리 GPU의 태스크 대기열에 기반하여 태스크 스케줄링을 실행하는 것을 더 포함할 수 있다.
여기서, 상기 태스크 대기열이란, 물리 GPU가 이미 점용된 비디오 메모리에 포함되어 있는 태스크를 의미한다.
본 발명의 실시예는 먼저 게스트 디바이스로부터의 리소스 할당 요구를 수신하며, 여기서, 상기 리소스 할당 요구에는 처리 대기 태스크 및 목표 가상 GPU의 정보가 부가되어 있고, 상기 목표 가상 GPU는 게스트 디바이스 중의 게스트 디바이스에 포함되어 있는 가상 GPU이다. 그 다음, 상기 목표 가상 GPU의 정보 및 리소스 관리 전략에 기반하여, 상기 목표 가상 GPU에 목표 물리 GPU를 할당한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU에 대해 고정된 매핑 관계를 미리 구축하는 것이 아니라, 가상 GPU가 태스크를 수신한 후, 동적으로 가상 GPU에 대응하는 물리 GPU를 할당하기 때문에, 유연하게 서로 다른 리소스 할당 전략을 통해 GPU 리소스를 관리 및 할당함으로써, 물리 GPU의 리소스 이용률을 향상시키며, 시스템의 전체적인 퍼포먼스를 향상시킨다.
상술한 도 2에 나타낸 실시예와 마찬가지로, 도 7은 본 발명의 실시예에 의해 제공되는 전자 디바이스(700)의 구성을 나타내는 모식도이며, 도 7에 나타낸 바와 같이, 상기 전자 디바이스(700)은 프로세서(710); 메모리(720); 통신 인터페이스(730) 및 물리 GPU(740)를 구비한다. 여기서, 상기 하나 또는 복수의 프로그램(721)은 상술한 메모리(720)에 기억되어 있으며, 상술한 프로세서(710)에 의해 실행된다. 상기 하나 또는 복수의 프로그램(721)은 이하의 단계를 실행하기 위한 명령을 포함한다.
게스트 디바이스의 GPU의 구성 파라미터를 포함하는 구성 파일을 판독하는 것; 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하는 것; 및 목표 사용자의 처리 대기 태스크가 수신된 것에 응답하여, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
본 발명의 실시예는 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하되, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU에 대해 고정된 매핑 관계를 미리 구축하는 것이 아니라, 가상 GPU에 의해 처리 대기 태스크가 수신된 후, 동적으로 가상 GPU에 대응하는 물리 GPU를 할당하기 때문에, 현재 태스크의 특성에 기반하여 GPU 리소스를 유연하게 할당할 수 있고, 물리 GPU의 리소스 이용률을 향상시키며, GPU시스템의 전체적인 퍼포먼스를 향상시켰다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 프로그램 중의 명령은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 실행하되, 상기 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 물리 GPU의 현재 상태 정보는 상기 물리 GPU의 비디오 메모리 용량, 상기 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 사용자 정보 및 상기 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 비디오 메모리 용량을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 프로그램 중의 명령은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 복수의 물리 GPU의 비디오 메모리가 최소한으로 사용되도록 하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 프로그램 중의 명령은 구체적으로, 상기 리소스 상태 테이블에 기반하여, 복수의 물리 GPU의 배열 순서에 따라, 확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하는 것; 및 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 프로그램 중의 명령은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 목표 사용자의 적어도 하나의 태스크가 상기 복수의 물리 GPU에 가능한 한 균등하게 할당되도록 하는 것을 실행하되, 상기 적어도 하나의 태스크는 상기 처리 대기 태스크를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 프로그램 중의 명령은 구체적으로, 상기 리소스 상태 테이블에 기반하여, 상기 목표 사용자의 현재 상기 복수의 물리 GPU 중의 각 물리 GPU에 할당된 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하는 것; 및 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 복수의 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 리소스 상태 테이블을 갱신하는 것; 또는 태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 리소스 상태 테이블을 갱신하는 것을 실행한다.
상술한 도 5에 나타낸 실시예와 마찬가지로, 도 8은 본 발명의 다른 일 실시예에 의해 제공되는 전자 디바이스(800)의 구성을 나타내는 모식도이며, 상기 전자 디바이스(800)는 게스트 디바이스일 수 있다. 도 8에 나타낸 바와 같이, 상기 전자 디바이스(800)는 프로세서(810); 메모리(820); 및 통신 인터페이스(830)를 구비한다. 여기서, 상기 하나 또는 복수의 프로그램(821)은 상술한 메모리(820)에 기억되어 있으며, 상술한 프로세서(810)에 의해 실행된다. 상기 하나 또는 복수의 프로그램(821)은 이하의 단계를 실행하기 위한 명령을 포함한다.
상기 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 호스트 컴퓨터의 구성 파일을 판독하는 것; 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하는 것; 및 목표 사용자의 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하는 것을 포함하되, 상기 리소스 할당 요구는 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구하기 위하여 사용되며, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
본 발명의 실시예는 게스트 디바이스의 가상 GPU의 파라미터를 포함하는 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU에 대해 고정된 매핑 관계를 미리 구축하는 것이 아니라, 가상 GPU가 태스크를 수신한 후, 동적으로, 리소스 할당 요구를 호스트 컴퓨터에 송신하기 위하여, 물리 GPU의 리소스 이용률을 향상시키며, GPU시스템의 전체적인 퍼포먼스를 향상시켰다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하기 전에, 상기 프로그램 중의 명령은 또한 제1 리소스 상태 테이블에 기반하여, 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU 중의 여유 상태에 있는 가상 GPU를 확정하는 것; 및 상기 여유 상태에 있는 가상 GPU 중에서 상기 목표 가상 GPU를 확정하는 것을 실행하되, 상기 제1 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 상기 호스트 컴퓨터로부터의 상기 제1 리소스 상태 테이블에 관한 제1 갱신 명령을 수신하는 것; 상기 제1 갱신 명령에 기반하여 상기 제1 리소스 상태 테이블을 갱신하는 것을 실행하되, 상기 제1 갱신 명령은 상기 호스트 컴퓨터에 의해, 물리 GPU의 태스크 처리 상태가 변화된 것이 검출되었을 때에 송신된 것이다.
옵션의 일 실시 형태에 있어서, 적어도 하나의 물리 GPU는 새로 추가된 태스크를 가지는 제1 물리 GPU를 포함하고, 상기 제1 갱신 명령에는 제1 물리 GPU의 새로 추가된 태스크에 대응하는 사용자 정보, 상기 제1 물리 GPU의 정보 및 상기 새로 추가된 태스크에 대응하는 가상 GPU의 비디오 메모리 용량 중의 적어도 하나가 부가되고 있어 및/또는 적어도 하나의 물리 GPU는 새로 완료된 태스크를 가지는 제2 물리 GPU를 포함하며, 상기 제1 갱신 명령에는 새로 완료된 태스크에 대응하는 사용자 정보 및 제2 물리 GPU의 정보 중의 적어도 하나가 부가되어 있다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 상기 가상 GPU를 스케줄링하여 상기 처리 대기 태스크를 실행하도록 하는 것; 및 상기 호스트 컴퓨터로부터의 상기 처리 대기 태스크의 처리 결과를 수신하는 것을 실행한다.
상술한 도 6에 나타낸 실시예와 마찬가지로, 도 9는 본 발명이 다른 일 실시예에 의해 제공되는 전자 디바이스(900)의 구성을 나타내는 모식도이며, 상기 전자 디바이스(900)는 호스트 컴퓨터일 수 있다. 도 9에 나타낸 바와 같이, 상기 전자 디바이스(900)는 프로세서(910); 메모리(920); 통신 인터페이스(930); 및 물리 GPU(940)를 구비한다. 여기서, 상기 하나 또는 복수의 프로그램(921)은 상술한 메모리(920)에 기억되어 있으며, 상술한 프로세서(910)에 의해 실행된다. 상기 하나 또는 복수의 프로그램(921)은 이하의 단계를 실행하기 위하여 명령을 포함한다.
처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하는 것; 및 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당하는 것을 포함한다.
본 발명의 실시예는 처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하고, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU에 대해 고정된 매핑 관계를 미리 구축하는 것이 아니라, 게스트 디바이스로부터의 리소스 할당 요구를 수신한 후, 동적으로 가상 GPU에 대응하는 물리 GPU를 할당하기 때문에, 현재 태스크의 특성에 기반하여 GPU 리소스를 유연하게 할당할 수 있고, GPU의 리소스 이용률을 향상시켜, GPU시스템의 전체적인 퍼포먼스를 향상시켰다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당할 경우, 상기 프로그램 중의 명령은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 프로그램 중의 명령은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 실행하되, 상기 제2 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 프로그램 중의 명령은 구체적으로, 확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 제2 리소스 상태 테이블에 기반하여, 상기 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하는 것; 및 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 경우, 상기 프로그램 중의 명령은 구체적으로, 상기 제2 리소스 상태 테이블에 기반하여, 목표 사용자의 현재 복수의 물리 GPU 중의 각 물리 GPU에 이미 할당한 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하는 것; 및 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU의 물리 GPU로 확정하는 것을 실행하되, 상기 목표 사용자는 상기 목표 가상 GPU에 대응하는 사용자다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것; 또는 태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것을 실행한다.
옵션의 일 실시 형태에 있어서, 상기 프로그램 중의 명령은 또한 복수의 물리 GPU 중의 각 물리 GPU의 태스크 대기열에 기반하여 태스크 스케줄링을 실행하는 것을 실행한다.
도 10은 본 발명의 실시예에 따른 리소스 관리 장치(1000)의 기능 유닛의 구성을 나타내는 블록도이다. 당해 리소스 관리 장치(1000)는 전자 디바이스에 적용된다. 상기 전자 디바이스는 처리 유닛(1010)과 통신 유닛(1020)을 구비한다.
상기 처리 유닛(1010)은 상기 통신 유닛(1020)을 이용하여 구성 파일을 취득하고, 게스트 디바이스의 GPU의 구성 파라미터를 포함하는 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 목표 사용자의 처리 대기 태스크가 수신된 것에 응답하여, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하되, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
본 발명의 실시예는 게스트 디바이스의 가상 GPU의 파라미터를 포함하는 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하되, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU에 대해 고정된 매핑 관계를 미리 구축하는 것이 아니라, 가상 GPU에 의해 처리 대기 태스크가 수신된 후, 동적으로 가상 GPU에 대응하는 물리 GPU를 할당하기 때문에, 현재 태스크의 특성에 기반하여 GPU 리소스를 유연하게 할당할 수 있고, GPU의 리소스 이용률을 향상시켜, GPU시스템의 전체적인 퍼포먼스를 향상시켰다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛(1010)은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하되, 상기 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 각 물리 GPU의 현재 상태 정보는 당해 물리 GPU의 비디오 메모리 용량, 당해 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 사용자 정보 및 당해 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 비디오 메모리 용량을 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛(1010)은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 복수의 물리 GPU의 비디오 메모리가 최소한으로 사용되도록 한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛(1010)은 구체적으로, 확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 리소스 상태 테이블에 기반하여, 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하고, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정한다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1010)은 또한 상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛(1010)은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 목표 사용자의 적어도 하나의 태스크가 상기 복수의 물리 GPU에 가능한 한 균등하게 할당되도록 하되, 상기 적어도 하나의 태스크는 상기 처리 대기 태스크를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛(1010)은 구체적으로, 상기 리소스 상태 테이블에 기반하여, 상기 목표 사용자의 현재 상기 복수의 물리 GPU 중의 각 물리 GPU에 할당된 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하고, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정한다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1010)은 또한 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 복수의 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정한다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1010)은 또한 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 리소스 상태 테이블을 갱신하고, 또는 태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 리소스 상태 테이블을 갱신한다.
도 11은 본 발명의 다른 일 실시예에 따른 리소스 관리 장치(1100)의 기능 유닛의 구성을 나타내는 블록도이다. 당해 리소스 관리 장치(1100)는 전자 디바이스에 적용되며, 상기 전자 디바이스는 처리 유닛(1110)과 통신 유닛(1120)을 구비한다.
상기 처리 유닛(1110)은 상기 통신 유닛(1120)을 이용하여 호스트 컴퓨터의 구성 파일을 취득하고, 상기 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 상기 호스트 컴퓨터의 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 목표 사용자의 처리 대기 태스크가 수신되었을 경우, 상기 통신 유닛(1120)을 이용하여 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 할당 요구를 상기 호스트 컴퓨터 리소스에 송신하되, 상기 리소스 할당 요구는 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구하기 위하여 사용되며, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함한다.
본 발명의 실시예는 게스트 디바이스의 가상 GPU의 파라미터를 포함하는 구성 파일을 판독하며, 상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고, 처리 대기 태스크가 수신되었을 경우, 상기 통신 유닛을 이용하여 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 할당 요구를 상기 호스트 컴퓨터 리소스에 송신한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU에 대해 고정된 매핑 관계를 미리 구축하는 것이 아니라, 가상 GPU가 태스크를 수신한 후, 리소스 할당 요구를 호스트 컴퓨터에 송신하기 위하여, 물리 GPU의 리소스 이용률을 향상시키며, GPU시스템의 전체적인 퍼포먼스를 향상시켰다.
옵션의 일 실시 형태에 있어서, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하기 전에, 상기 처리 유닛(1110)은 또한 제1 리소스 상태 테이블에 기반하여, 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU 중의 여유 상태에 있는 가상 GPU를 확정하고, 상기 여유 상태에 있는 가상 GPU 중에서 상기 목표 가상 GPU를 확정하되, 상기 제1 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1110)은 또한 상기 호스트 컴퓨터로부터의 상기 제1 리소스 상태 테이블에 관한 제1 갱신 명령을 수신하고, 상기 제1 갱신 명령에 기반하여 상기 제1 리소스 상태 테이블을 갱신하되, 상기 제1 갱신 명령은 상기 호스트 컴퓨터에 의해, 물리 GPU의 태스크 처리 상태가 변화된 것이 검출되었을 때에 송신된 것이다.
옵션의 일 실시 형태에 있어서, 상기 제1 갱신 명령에는 제1 물리 GPU의 새로 추가된 태스크에 대응하는 사용자 정보, 상기 제1 물리 GPU의 정보, 상기 새로 추가된 태스크에 대응하는 가상 GPU의 비디오 메모리 용량, 완료된 태스크에 대응하는 사용자 정보 및 상기 완료된 태스크에 대응하는 제2 물리 GPU의 정보 중의 적어도 하나가 부가되어 있으며, 여기서, 상기 제1 물리 GPU는 새로 추가된 태스크의 GPU이고, 상기 제2 물리 GPU는 태스크를 완료한 GPU다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1110)은 또한 상기 가상 GPU를 스케줄링하여 상기 처리 대기 태스크를 실행하도록 하고, 상기 호스트 컴퓨터로부터의 상기 처리 대기 태스크의 처리 결과를 수신한다.
도 12는 본 발명이 다른 일 실시예에 따른 리소스 관리 장치(1200)의 기능 유닛의 구성을 나타내는 블록도이다. 당해 리소스 관리 장치(1200)는 전자 디바이스에 적용된다. 상기 전자 디바이스는 처리 유닛(1210)과 통신 유닛(1220)을 구비하며, 여기서, 상기 처리 유닛(1210)은 상기 통신 유닛(1220)을 이용하여, 처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하고, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당한다.
본 발명의 실시예는 처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하고, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당한다. 본 발명의 실시예에 있어서, 가상 GPU와 물리 GPU에 대해 고정된 매핑 관계를 미리 구축하는 것이 아니라, 게스트 디바이스로부터의 리소스 할당 요구를 수신한 후, 동적으로 가상 GPU에 대응하는 물리 GPU를 할당하기 때문에, 현재 태스크의 특성에 기반하여 GPU 리소스를 유연하게 할당할 수 있고, 물리 GPU의 리소스 이용률을 향상시키며, GPU시스템의 전체적인 퍼포먼스를 향상시켰다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당할 경우, 상기 처리 유닛(1210)은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량에 기반하여 상기 처리 대기 태스크 물리 GPU를 할당할 경우, 상기 처리 유닛(1210)은 구체적으로, 상기 목표 가상 GPU의 필요한 비디오 메모리 용량, 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하되, 상기 제2 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛(1210)은 구체적으로, 확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 제2 리소스 상태 테이블에 기반하여, 상기 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하고, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정한다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1210)은 또한 상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정한다.
옵션의 일 실시 형태에 있어서, 상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛(1210)은 구체적으로, 상기 제2 리소스 상태 테이블에 기반하여, 목표 사용자의 현재 복수의 물리 GPU 중의 각 물리 GPU에 이미 할당한 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하고, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU의 물리 GPU로 확정하되, 상기 목표 사용자는 상기 목표 가상 GPU에 대응하는 사용자이다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1210)은 또한 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정한다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1210)은 또한 상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 제2 리소스 상태 테이블을 갱신하고, 또는 태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 제2 리소스 상태 테이블을 갱신한다.
옵션의 일 실시 형태에 있어서, 상기 처리 유닛(1210)은 또한 복수의 물리 GPU 중의 각 물리 GPU의 태스크 대기열에 기반하여 태스크 스케줄링을 실행한다.
본 발명의 실시예는 컴퓨터 기록 매체를 더 제공하는바, 여기서, 당해 컴퓨터 기록 매체는 컴퓨터 프로그램을 기억하고, 당해 컴퓨터 프로그램은 컴퓨터로 하여금 상술한 방법의 실시예에 기재된 임의의 하나의 방법의 일부 또는 모두의 단계를 실행하도록 한다. 상술한 컴퓨터는 전자 디바이스를 포함한다.
본 발명의 실시예는 컴퓨터 프로그램 제품을 더 제공하는바, 상술한 컴퓨터 프로그램 제품은 컴퓨터 프로그램이 기억된 비일시적인 컴퓨터 판독 가능 기록 매체를 포함한다. 상술한 컴퓨터 프로그램은 조작됨으로써, 컴퓨터로 하여금 상술한 방법의 실시예에 기재된 임의의 하나의 방법의 일부 또는 모두의 단계를 실행하도록 한다. 당해 컴퓨터 프로그램 제품은 하나의 소프트웨어 설치 패키지일 수 있고, 상술한 컴퓨터는 전자 디바이스를 포함한다.
전술한 각 방법의 실시예에 대하여, 설명의 간소화를 위하여, 이들을 일련의 동작 조합으로 나타냈지만, 당업자는 본 발명은 설명된 동작의 순서에 한정되지 않는바, 본 발명에 따른 몇몇의 단계는 다른 순서로 실행되거나 또는 동시에 실행될 수 있음을 이해해야 하는 것을 설명할 필요가 있다. 또한, 당업자는 명세서에 설명된 실시예는 모두 바람직한 실시예에 속하는바, 관련되는 동작 및 모듈은 본 발명에 있어서 반드시 필요로 하지 않음을 이해해야 한다.
상술한 실시예에 있어서, 각 실시예의 설명은 그 자체에 초점을 두고 있다. 어느 한 실시예에서 상세히 설명되지 않은 부분에 대하여는 기타 실시예의 관련된 설명을 참조할 수 있다.
본 발명에 의해 제공되는 실시예에 개시되는 시스템, 장치 및 방법은 기타 방식을 통해 실현될 수 있을 이해해야 한다. 상기의 장치의 실시예는 단지 모식적인 것이다. 예를 들면, 상기 유닛의 분할은 논리 기능의 분할에 불과할 뿐, 실제의 구현에서는 기타 분할 방법을 사용할 수 있다. 또다른 예를 들면, 복수의 유닛 또는 구성 요소는 조합되거나, 별도의 시스템에 통합되거나, 일부의 특징이 생략되거나 실행되지 않을 경우가 있다. 또한, 표시 또는 논의된 서로 간의 결합, 직접 결합 또는 통신 접속은, 몇몇의 통신 인터페이스, 디바이스 또는 유닛의 간접 결합 또는 통신 접속을 사용할 수 있고, 전기적, 기계적 또는 기타 형태일 수 있다.
상기의 분리된 부품으로 설명된 유닛은 물리적으로 분리되어 있는 경우와 물리적으로 분리되지 않은 경우가 있으며, 유닛으로 표시되는 부품은 물리적 유닛일 경우와 그렇지 않을 경우가 있다. 하나의 장소에 배치되거나, 복수의 네트워크 유닛에 분산 배치될 수 있다. 유닛의 일부 또는 전부는 본 발명의 실시예의 목적을 달성하기 위한 실제 필요에 따라 선택될 수 있다.
또한, 본 발명의 각 실시예의 각 기능 유닛은 하나의 처리 유닛에 통합되거나, 각 유닛이 물리적으로 단독으로 존재하거나, 또는 두 개 이상의 유닛이 하나의 유닛으로 통합될 수 있다. 상술한 통합된 유닛은 하드웨어의 형태 또는 소프트웨어 기능 유닛의 형태를 채용하여 구현할 수 있다.
상기 기능이 소프트웨어 기능 유닛의 형태로 구현되어, 독립적 제품으로 판매 또는 사용될 경우, 하나의 프로세서에 의해 실행 가능한 불 휘발성의 컴퓨터 판독 가능 기록 매체에 기록될 수 있다. 이러한 이해에 기반하여, 본 발명의 실시예는 본질적으로 소프트웨어 제품의 형태로 구현되거나, 또는 선행 기술에 기여하는 부분 또는 실시 형태의 일부가 소프트웨어 제품의 형태로 구현될 수 있다. 당해 컴퓨터 소프트웨어 제품은 기록 매체에 기록되어, 컴퓨터, 서버, 또는 네트워크 디바이스 등의 컴퓨터 디바이스로 하여금 이하의 다양한 실시 형태에 기재된 방법의 단계의 전부 또는 일부를 실행하도록 하기 위한 몇몇의 명령을 포함한다. 전술한 기록 매체는 U 디스크, 이동 하드 디스크, 판독 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 자기 디스크 또는 광학 디스크 등의 프로그램 코드를 기록할 수 있는 다양한 매체를 포함한다.
당업자는 상술한 실시예가 다양한 방법 중의 전부 또는 일부의 단계는 프로그램을 통해 명령에 관련된 하드웨어에 의해 완료될 수 있으며, 당해 프로그램은 컴퓨터 판독 가능 메모리에 저장될 수 있고, 메모리는 플래시 디스크, 판독 전용 메모리, 랜덤 액세스 메모리, 자기 디스크 또는 광 디스크 등을 포함할 수 있음을 이해해야 한다.
상기와 같이 본 발명의 실시예를 상세하게 설명하였는바, 본 명세서에서는 구체적인 예를 적용하여 본 발명의 원리 및 실시 형태를 설명했다. 이상의 실시예의 설명은 본 발명의 방법 및 그 본래의 취지를 이해하는 것을 돕기 위하여만 사용된다. 동시에, 당업자는 본 발명의 사상에 따라 구체적인 실시 형태 및 적용 범위를 변경할 수 있는바, 상기와 같이 본 명세서의 내용을 본 발명에 대한 한정으로 이해해서는 안된다.

Claims (51)

  1. 리소스 관리 방법으로서,
    게스트 디바이스의 가상 화상 처리 유닛(GPU)의 구성 파라미터를 포함하는 구성 파일을 판독하는 것;
    상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하는 것; 및
    목표 사용자의 처리 대기 태스크가 수신된 것에 응답하여, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되,
    상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  2. 제1항에 있어서,
    상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하는 것은,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되,
    상기 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  3. 제2항에 있어서,
    상기 물리 GPU의 현재 상태 정보는,
    상기 물리 GPU의 비디오 메모리 용량, 상기 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 사용자 정보 및 상기 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 비디오 메모리 용량을 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  4. 제2항 또는 제3항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 상기 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 복수의 물리 GPU의 비디오 메모리가 최소한으로 사용되도록 하는 것을 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은,
    확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 리소스 상태 테이블에 기반하여, 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하는 것; 및
    나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  6. 제5항에 있어서,
    상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정하는 것을 더 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  7. 제2항 또는 제3항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 목표 사용자의 적어도 하나의 태스크가 상기 복수의 물리 GPU에 가능한 한 균등하게 할당되도록 하는 것을 포함하되,
    상기 적어도 하나의 태스크는 상기 처리 대기 태스크를 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  8. 제2항, 제3항 또는 제7항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은,
    상기 리소스 상태 테이블에 기반하여, 상기 목표 사용자의 현재 상기 복수의 물리 GPU 중의 각 물리 GPU에 할당된 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하는 것; 및
    상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  9. 제8항에 있어서,
    상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 복수의 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 더 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  10. 제2항 내지 제9항 중 어느 한 항에 있어서,
    상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 리소스 상태 테이블을 갱신하는 것; 또는,
    태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 리소스 상태 테이블을 갱신하는 것을 더 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  11. 게스트 디바이스에 적용되는 리소스 관리 방법으로서,
    상기 게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 호스트 컴퓨터의 구성 파일을 판독하는 것;
    상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하는 것; 및
    목표 사용자의 처리 대기 태스크가 수신되었을 경우, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하는 것을 포함하되,
    상기 리소스 할당 요구는 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구하기 위하여 사용되며, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  12. 제11항에 있어서,
    상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하기 전에,
    상기 리소스 관리 방법은,
    제1 리소스 상태 테이블에 기반하여, 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU 중의 여유 상태에 있는 가상 GPU를 확정하는 것; 및
    상기 여유 상태에 있는 가상 GPU 중에서 상기 목표 가상 GPU를 확정하는 것을 더 포함하되,
    상기 제1 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  13. 제12항에 있어서,
    상기 호스트 컴퓨터로부터의 상기 제1 리소스 상태 테이블에 대한 제1 갱신 명령을 수신하는 것; 및
    상기 제1 갱신 명령에 기반하여 상기 제1 리소스 상태 테이블을 갱신하는 것을 더 포함하되,
    상기 제1 갱신 명령은 상기 호스트 컴퓨터에 의해 적어도 하나의 물리 GPU의 태스크 처리 상태가 변화된 것이 검출되었을 때에 송신된 것인
    것을 특징으로 하는, 리소스 관리 방법.
  14. 제13항에 있어서,
    상기 적어도 하나의 물리 GPU는 새로 추가된 태스크를 가지는 제1 물리 GPU를 포함하고, 상기 제1 갱신 명령에는, 상기 제1 물리 GPU의 새로 추가된 태스크에 대응하는 사용자 정보, 상기 제1 물리 GPU의 정보 및 상기 새로 추가된 태스크에 대응하는 가상 GPU의 비디오 메모리 용량 중의 적어도 하나가 부가되어 있으며, 및/또는,
    상기 적어도 하나의 물리 GPU는 새로 완료된 태스크를 가지는 제2 물리 GPU를 포함하고, 상기 제1 갱신 명령에는, 상기 새로 완료된 태스크에 대응하는 사용자 정보 및 상기 제2 물리 GPU의 정보 중의 적어도 하나가 부가되어 있는
    것을 특징으로 하는, 리소스 관리 방법.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 가상 GPU를 스케줄링하여 상기 처리 대기 태스크를 실행하도록 하는 것; 및
    상기 호스트 컴퓨터로부터의 상기 처리 대기 태스크의 처리 결과를 수신하는 것을 더 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  16. 호스트 컴퓨터에 적용되는 리소스 관리 방법으로서,
    처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하는 것; 및
    상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당하는 것을 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  17. 제16항에 있어서,
    상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당하는 것은,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  18. 제17항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량, 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것을 포함하되,
    상기 제2 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  19. 제18항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은,
    확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 제2 리소스 상태 테이블에 기반하여, 상기 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하는 것; 및
    나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  20. 제19항에 있어서,
    상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정하는 것을 더 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  21. 제18항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하는 것은,
    상기 제2 리소스 상태 테이블에 기반하여, 목표 사용자의 현재 복수의 물리 GPU 중의 각 물리 GPU에 이미 할당한 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하는 것; 및
    상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU의 물리 GPU로 확정하는 것을 포함하되,
    상기 목표 사용자는 상기 목표 가상 GPU에 대응하는 사용자인
    것을 특징으로 하는, 리소스 관리 방법.
  22. 제21항에 있어서,
    상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는 것을 더 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  23. 제16항 내지 제22항 중 어느 한 항에 있어서,
    상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것; 또는,
    태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는 것을 더 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  24. 제16항 내지 제23항 중 어느 한 항에 있어서,
    복수의 물리 GPU 중의 각 물리 GPU의 태스크 대기열에 기반하여 태스크 스케줄링을 실행하는 것을 더 포함하는
    것을 특징으로 하는, 리소스 관리 방법.
  25. 리소스 관리 장치로서,
    통신 유닛과 처리 유닛을 구비하며,
    상기 처리 유닛은,
    상기 통신 유닛을 이용하여 구성 파일을 취득하고,
    게스트 디바이스의 가상 화상 처리 유닛(GPU)의 구성 파라미터를 포함하는 상기 구성 파일을 판독하며,
    상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고,
    목표 사용자의 처리 대기 태스크가 수신된 것에 응답하여, 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당하되,
    상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함하는
    것을 특징으로 하는, 리소스 관리 장치.
  26. 제25항에 있어서,
    상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하되,
    상기 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함하는
    것을 특징으로 하는, 리소스 관리 장치.
  27. 제26항에 있어서,
    상기 물리 GPU의 현재 상태 정보는,
    상기 물리 GPU의 비디오 메모리 용량, 상기 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 사용자 정보 및 상기 물리 GPU의 이미 점용된 비디오 메모리에 대응하는 각 가상 GPU의 비디오 메모리 용량을 포함하는
    것을 특징으로 하는, 리소스 관리 장치.
  28. 제26항 또는 제27항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 상기 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 복수의 물리 GPU의 비디오 메모리가 최소한으로 사용되도록 하는
    것을 특징으로 하는, 리소스 관리 장치.
  29. 제26항 내지 제28항 중 어느 한 항에 있어서,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 리소스 상태 테이블에 기반하여, 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하고,
    나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는
    것을 특징으로 하는, 리소스 관리 장치.
  30. 제29항에 있어서,
    상기 처리 유닛은 또한
    상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정하는
    것을 특징으로 하는, 리소스 관리 장치.
  31. 제26항 또는 제27항에 있어서,
    상기 목표 가상 GPU의 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당함으로써, 상기 목표 사용자의 적어도 하나의 태스크가 상기 복수의 물리 GPU에 가능한 한 균등하게 할당되도록 하되, 상기 적어도 하나의 태스크는 상기 처리 대기 태스크를 포함하는
    것을 특징으로 하는, 리소스 관리 장치.
  32. 제26항, 제27항 또는 제31항에 있어서,
    상기 목표 가상 GPU의 비디오 메모리 용량 및 리소스 상태 테이블에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    상기 리소스 상태 테이블에 기반하여, 상기 목표 사용자의 현재 상기 복수의 물리 GPU 중의 각 물리 GPU에 할당된 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하고,
    상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는
    것을 특징으로 하는, 리소스 관리 장치.
  33. 제32항에 있어서,
    상기 처리 유닛은 또한
    상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 복수의 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는
    것을 특징으로 하는, 리소스 관리 장치.
  34. 제26항 내지 제33항 중 어느 한 항에 있어서,
    상기 처리 유닛은 또한
    상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 리소스 상태 테이블을 갱신하거나, 또는,
    태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 리소스 상태 테이블을 갱신하는
    것을 특징으로 하는, 리소스 관리 장치.
  35. 리소스 관리 장치로서,
    통신 유닛과 처리 유닛을 구비하며,
    상기 처리 유닛은,
    상기 통신 유닛을 이용하여 호스트 컴퓨터의 구성 파일을 취득하고,
    게스트 디바이스의 가상 GPU의 구성 파라미터를 포함하는 상기 호스트 컴퓨터의 구성 파일을 판독하며,
    상기 구성 파일에 기반하여 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU를 생성하고,
    목표 사용자의 처리 대기 태스크가 수신되었을 경우, 상기 통신 유닛을 이용하여 상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 할당 요구를 상기 호스트 컴퓨터 리소스에 송신하되,
    상기 리소스 할당 요구는 상기 호스트 컴퓨터가 상기 목표 가상 GPU에 물리 GPU를 할당하도록 상기 호스트 컴퓨터에 요구하기 위하여 사용되며, 상기 적어도 하나의 사용 가능한 가상 GPU는 상기 목표 가상 GPU를 포함하는
    것을 특징으로 하는, 리소스 관리 장치.
  36. 제35항에 있어서,
    상기 처리 대기 태스크에 대응하는 목표 가상 GPU에 기반하여 리소스 할당 요구를 호스트 컴퓨터에 송신하기 전에, 상기 처리 유닛은 또한,
    제1 리소스 상태 테이블에 기반하여, 상기 게스트 디바이스의 적어도 하나의 사용 가능한 가상 GPU 중의 여유 상태에 있는 가상 GPU를 확정하고,
    상기 여유 상태에 있는 가상 GPU 중에서 상기 목표 가상 GPU를 확정하되,
    상기 제1 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함하는
    것을 특징으로 하는, 리소스 관리 장치.
  37. 제36항에 있어서,
    상기 처리 유닛은 또한,
    상기 호스트 컴퓨터로부터의 상기 제1 리소스 상태 테이블에 관한 제1 갱신 명령을 수신하고,
    상기 제1 갱신 명령에 기반하여 상기 제1 리소스 상태 테이블을 갱신하되,
    상기 제1 갱신 명령은 상기 호스트 컴퓨터에 의해, 물리 GPU의 태스크 처리 상태가 변화된 것이 검출되었을 때에 송신된 것인
    것을 특징으로 하는, 리소스 관리 장치.
  38. 제37항에 있어서,
    상기 적어도 하나의 물리 GPU는 새로 추가된 태스크를 가지는 제1 물리 GPU를 포함하고, 상기 제1 갱신 명령에는, 상기 제1 물리 GPU의 새로 추가된 태스크에 대응하는 사용자 정보, 상기 제1 물리 GPU의 정보 및 상기 새로 추가된 태스크에 대응하는 가상 GPU의 비디오 메모리 용량 중의 적어도 하나가 부가되어 있으며, 및/또는,
    상기 적어도 하나의 물리 GPU는 새로 완료된 태스크를 가지는 제2 물리 GPU를 포함하고, 상기 제1 갱신 명령에는, 상기 새로 완료된 태스크에 대응하는 사용자 정보 및 상기 제2 물리 GPU의 정보 중의 적어도 하나가 부가되어 있는
    것을 특징으로 하는, 리소스 관리 장치.
  39. 제35항 내지 제38항 중 어느 한 항에 있어서,
    상기 처리 유닛은 또한
    상기 가상 GPU를 스케줄링하여 상기 처리 대기 태스크를 실행하도록 하고,
    상기 호스트 컴퓨터로부터의 상기 처리 대기 태스크의 처리 결과를 수신하는
    것을 특징으로 하는, 리소스 관리 장치.
  40. 리소스 관리 장치로서,
    통신 유닛과 처리 유닛을 구비하며,
    상기 처리 유닛은,
    상기 통신 유닛을 이용하여, 처리 대기 태스크의 정보 및 목표 가상 GPU의 정보가 부가된 게스트 디바이스로부터의 리소스 할당 요구를 수신하고,
    상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당하는
    것을 특징으로 하는, 리소스 관리 장치.
  41. 제40항에 있어서,
    상기 목표 가상 GPU의 정보에 기반하여 상기 목표 가상 GPU에 목표 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당하는
    것을 특징으로 하는, 리소스 관리 장치.
  42. 제41항에 있어서,
    상기 목표 가상 GPU의 비디오 메모리 용량에 기반하여 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    상기 목표 가상 GPU의 필요한 비디오 메모리 용량, 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당하되,
    상기 제2 리소스 상태 테이블은 복수의 물리 GPU 중의 각 물리 GPU의 현재 상태 정보를 포함하는
    것을 특징으로 하는, 리소스 관리 장치.
  43. 제42항에 있어서,
    상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    확정된 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시킬 때까지, 상기 제2 리소스 상태 테이블에 기반하여, 상기 복수의 물리 GPU의 배열 순서에 따라, 각 물리 GPU의 나머지 비디오 메모리 용량을 순차적으로 확정하고,
    나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는
    것을 특징으로 하는, 리소스 관리 장치.
  44. 제43항에 있어서,
    상기 처리 유닛은 또한,
    상기 복수의 물리 GPU 중에서 제일 뒤에 배열된 물리 GPU의 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키지 않는 것으로 확정되었을 경우, 상기 가상 GPU에 사용 가능한 물리 리소스가 없는 것으로 확정하는
    것을 특징으로 하는, 리소스 관리 장치.
  45. 제42항에 있어서,
    상기 목표 가상 GPU의 비디오 메모리 용량, 상기 리소스 할당 전략 및 제2 리소스 상태 테이블에 기반하여, 상기 목표 가상 GPU에 물리 GPU를 할당할 경우, 상기 처리 유닛은 구체적으로,
    상기 제2 리소스 상태 테이블에 기반하여, 목표 사용자의 현재 복수의 물리 GPU 중의 각 물리 GPU에 이미 할당한 태스크 수량 및 각 물리 GPU의 나머지 비디오 메모리 용량을 확정하고,
    상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU를 상기 목표 가상 GPU의 물리 GPU로 확정하되,
    상기 목표 사용자는 상기 목표 가상 GPU에 대응하는 사용자인
    것을 특징으로 하는, 리소스 관리 장치.
  46. 제45항에 있어서,
    상기 처리 유닛은 또한, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU의 수량이 복수일 경우, 상기 태스크 수량이 가장 적은 동시에, 나머지 비디오 메모리 용량이 상기 목표 가상 GPU의 필요한 비디오 메모리 용량을 충족시키는 물리 GPU 중의 제일 앞에 배열된 물리 GPU를 상기 목표 가상 GPU에 할당하는 물리 GPU로 확정하는
    것을 특징으로 하는, 리소스 관리 장치.
  47. 제40항 내지 제46항 중 어느 한 항에 있어서,
    상기 처리 유닛은 또한
    상기 목표 가상 GPU에 할당한 물리 GPU에 기반하여 상기 제2 리소스 상태 테이블을 갱신하거나, 또는,
    태스크 처리 상태가 변화되었을 경우, 상기 태스크 처리 상태의 변화에 기반하여 상기 제2 리소스 상태 테이블을 갱신하는
    것을 특징으로 하는, 리소스 관리 장치.
  48. 제40항 내지 제47항 중 어느 한 항에 있어서,
    상기 처리 유닛은 또한,
    복수의 물리 GPU 중의 각 물리 GPU의 태스크 대기열에 기반하여 태스크 스케줄링을 실행하는
    것을 특징으로 하는, 리소스 관리 장치.
  49. 리소스 관리 시스템로서,
    호스트 컴퓨터와 게스트 디바이스를 포함하고,
    상기 호스트 컴퓨터에는 복수의 물리 GPU가 설치되어 있으며,
    상기 게스트 디바이스는 제35항 내지 제39항 중 어느 한 항에 기재된 장치이며,
    상기 호스트 컴퓨터는 제40항 내지 제48항 중 어느 한 항에 기재된 장치인
    것을 특징으로 하는, 리소스 관리 시스템.
  50. 전자 디바이스로서,
    프로세서와 메모리를 구비하며,
    상기 메모리는 컴퓨터 프로그램을 기억하고,
    상기 컴퓨터 프로그램은 상기 프로세서에 의해 실행됨으로써, 상기 프로세서로 하여금 제1항 내지 제10항 중 어느 한 항 또는 제11항 내지 제15항 중 어느 한 항 또는 제16항 내지 제24항 중 어느 한 항에 기재된 방법을 실행하도록 하는
    것을 특징으로 하는, 전자 디바이스.
  51. 컴퓨터 판독 가능 기록 매체로서,
    상기 컴퓨터 판독 가능 기록 매체는 컴퓨터 프로그램을 기억하고,
    상기 컴퓨터 프로그램은 컴퓨터로 하여금 제1항 내지 제10항 중 어느 한 항 또는 11항 내지 제15항 중 어느 한 항 또는 제16항 내지 제24항 중 어느 한 항에 기재된 방법을 실행하도록 하는
    것을 특징으로 하는, 컴퓨터 판독 가능 기록 매체.
KR1020217020283A 2019-11-20 2020-05-29 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체 KR20210095690A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201911153197.1A CN112825042A (zh) 2019-11-20 2019-11-20 资源管理方法和装置、电子设备及存储介质
CN201911153197.1 2019-11-20
PCT/CN2020/093491 WO2021098182A1 (zh) 2019-11-20 2020-05-29 资源管理方法和装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
KR20210095690A true KR20210095690A (ko) 2021-08-02

Family

ID=75906499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217020283A KR20210095690A (ko) 2019-11-20 2020-05-29 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체

Country Status (5)

Country Link
JP (1) JP2022516486A (ko)
KR (1) KR20210095690A (ko)
CN (1) CN112825042A (ko)
TW (1) TWI748530B (ko)
WO (1) WO2021098182A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114595065A (zh) * 2022-03-15 2022-06-07 北京有竹居网络技术有限公司 数据获取方法、装置、存储介质以及电子设备
CN114579319B (zh) * 2022-05-07 2022-07-19 北京象帝先计算技术有限公司 显存管理方法、显存管理模块、soc及电子设备
CN115220911A (zh) * 2022-06-17 2022-10-21 中科驭数(北京)科技有限公司 资源管理方法、装置、设备及介质
CN115437781B (zh) * 2022-06-30 2023-10-31 北京九章云极科技有限公司 一种gpu资源管理方法及***
CN115499388B (zh) * 2022-08-30 2024-04-12 阿里巴巴(中国)有限公司 虚拟主机资源分配方法、装置、设备及存储介质
CN115373860B (zh) * 2022-10-26 2023-01-10 小米汽车科技有限公司 Gpu任务的调度方法、装置、设备和存储介质
CN116188240B (zh) * 2022-12-28 2024-04-05 摩尔线程智能科技(北京)有限责任公司 一种用于容器的gpu虚拟化方法及装置、电子设备
CN116755843B (zh) * 2023-08-17 2023-12-19 摩尔线程智能科技(北京)有限责任公司 虚拟资源创建方法及装置、电子设备、芯片、存储介质
CN117687804B (zh) * 2024-02-02 2024-06-14 北京趋动智能科技有限公司 资源管理方法、装置、***及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727385B2 (en) * 2011-07-18 2017-08-08 Apple Inc. Graphical processing unit (GPU) implementing a plurality of virtual GPUs
WO2013097208A1 (zh) * 2011-12-31 2013-07-04 华为技术有限公司 基于虚拟化技术的图形显示方法及***
JP5839119B2 (ja) * 2012-05-11 2016-01-06 富士通株式会社 情報処理装置、電池残量通知方法および電池残量通知プログラム
CN102819460B (zh) * 2012-08-07 2015-05-20 清华大学 一种基于预算功率指导的高能效gpu集群***调度方法
DE112013005689T5 (de) * 2012-11-28 2015-09-10 Nvidia Corporation Tragbare Spielekonsole
US9142004B2 (en) * 2012-12-20 2015-09-22 Vmware, Inc. Dynamic allocation of physical graphics processing units to virtual machines
WO2016145632A1 (en) * 2015-03-18 2016-09-22 Intel Corporation Apparatus and method for software-agnostic multi-gpu processing
CN107807840B (zh) * 2016-09-09 2022-01-25 阿里巴巴集团控股有限公司 一种应用于虚拟机网络的设备直通方法以及装置
US10176550B1 (en) * 2017-03-20 2019-01-08 Nutanix, Inc. GPU resource usage display and dynamic GPU resource allocation in a networked virtualization system
US10891773B2 (en) * 2017-04-07 2021-01-12 Intel Corporation Apparatus and method for efficient graphics virtualization
US10304421B2 (en) * 2017-04-07 2019-05-28 Intel Corporation Apparatus and method for remote display and content protection in a virtualized graphics processing environment
CN108984264B (zh) * 2017-06-02 2022-11-15 阿里巴巴集团控股有限公司 虚拟gpu的实现方法、装置及***
CN109766179B (zh) * 2017-11-09 2023-03-14 阿里巴巴集团控股有限公司 一种显存分配方法以及装置
CN110389825B (zh) * 2018-04-20 2023-08-04 伊姆西Ip控股有限责任公司 管理专用处理资源的方法、设备和计算机程序产品
US11720408B2 (en) * 2018-05-08 2023-08-08 Vmware, Inc. Method and system for assigning a virtual machine in virtual GPU enabled systems
CN109766183A (zh) * 2018-12-28 2019-05-17 郑州云海信息技术有限公司 一种集群gpu复用及智能负载的方法及***
CN110196753B (zh) * 2019-01-21 2024-07-12 腾讯科技(北京)有限公司 基于容器的图形处理器gpu虚拟化方法、装置和可读介质

Also Published As

Publication number Publication date
TW202121407A (zh) 2021-06-01
TWI748530B (zh) 2021-12-01
CN112825042A (zh) 2021-05-21
JP2022516486A (ja) 2022-02-28
WO2021098182A1 (zh) 2021-05-27

Similar Documents

Publication Publication Date Title
KR20210095690A (ko) 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체
US10901802B2 (en) Method and apparatus for implementing virtual GPU and system
CN107231815B (zh) 用于图形渲染的***和方法
Park et al. Locality-aware dynamic VM reconfiguration on MapReduce clouds
US11093297B2 (en) Workload optimization system
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
CN106371894B (zh) 一种配置方法、装置和数据处理服务器
US20200356402A1 (en) Method and apparatus for deploying virtualized network element device
US20220164208A1 (en) Coordinated container scheduling for improved resource allocation in virtual computing environment
US20220004431A1 (en) Techniques for container scheduling in a virtual environment
CN110162397B (zh) 资源分配方法、装置及***
CN108351810B (zh) 用于虚拟化图形处理的扩展
WO2022041507A1 (zh) 3d渲染方法及***
US8352702B2 (en) Data processing system memory allocation
EP3304294A1 (en) Method and system for allocating resources for virtual hosts
CN111176829A (zh) 虚拟化处理***中的物理功能和虚拟功能的灵活资源分配
CN110990114A (zh) 一种虚拟机资源分配方法、装置、设备及可读存储介质
CN113296926B (zh) 一种资源分配方法、计算设备及存储介质
JP2008107966A (ja) 計算機システム
CN105677481B (zh) 一种数据处理方法、***及电子设备
US20190391851A1 (en) System and method for managing memory in virtual machines
KR20220161070A (ko) 클라우드 환경에서 컨테이너 기반의 gpu 자원 공유 방법 및 장치
US20150220442A1 (en) Prioritizing shared memory based on quality of service
CN107766122B (zh) 一种宿主机的可用内存空间设置方法和装置
US11868805B2 (en) Scheduling workloads on partitioned resources of a host system in a container-orchestration system

Legal Events

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