CN113379587A - 容器共享显存方法、装置、设备及系统 - Google Patents

容器共享显存方法、装置、设备及系统 Download PDF

Info

Publication number
CN113379587A
CN113379587A CN202110605348.3A CN202110605348A CN113379587A CN 113379587 A CN113379587 A CN 113379587A CN 202110605348 A CN202110605348 A CN 202110605348A CN 113379587 A CN113379587 A CN 113379587A
Authority
CN
China
Prior art keywords
container
memory
video memory
area
interactive area
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202110605348.3A
Other languages
English (en)
Inventor
田双太
何旻
郑晓
龙欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Innovation Co
Original Assignee
Alibaba Singapore Holdings Pte Ltd
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 Alibaba Singapore Holdings Pte Ltd filed Critical Alibaba Singapore Holdings Pte Ltd
Priority to CN202110605348.3A priority Critical patent/CN113379587A/zh
Publication of CN113379587A publication Critical patent/CN113379587A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

本申请公开了容器共享显存方法、装置、系统及设备。其中,所述方法包括:将GPU显存划分出显存交互区,所述显存交互区为多个容器分时复用;为多个容器分配内存交互区;针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。采用这种处理方式,使得GPU显存和系统内存之间具备交换分区的能力,使用系统内存充当GPU显存扩展空间,这样当多个容器共享使用物理GPU时,可以实现显存的超分使用,即实现了多容器复用GPU显存。此外,还使得同一GPU硬件可以被多个容器共享使用,同时又兼具隔离性,在不同容器内的硬件访问不会互相影响。

Description

容器共享显存方法、装置、设备及系统
技术领域
本申请涉及虚拟化技术领域,具体涉及容器共享显存方法和装置,容器共享异构计算设备主存方法、装置及系统,以及电子设备。
背景技术
容器技术是一种将软件打包成标准化单元的技术,以用于开发、交付和部署。它确保了应用运行环境一致性,能够更快速的启动,具有隔离性、可扩展性、迁移方便、可持续交付和部署等特点。传统的容器可对系统的CPU、内存、硬盘、网络等资源进行隔离。基于以上特性,容器技术被广泛的应用在云服务领域。
同时,由于人工智能的迅猛发展,异构计算成为了云服务的新兴热点。异构计算指使用不同类型指令集和体系架构的计算单元组成系统的计算方式,常见的计算单元类别包括中央处理器CPU、图像处理器GPU、神经网络处理器NPU等。
在容器技术和异构计算同时应用于云服务领域的情况下,多容器要分时复用异构计算设备。以异构计算设备GPU为例,目前已经可以实现GPU显存的划分和GPU算力的分时复用,现有方案包括统一计算架构vcuda和cGPU技术等。
然而,在实现本发明过程中,发明人发现上述技术方案至少存在如下问题:在多容器分时复用异构计算设备的场景中,还没有实现对异构计算设备的主存储器(如GPU显存)的复用技术,GPU硬件的显存无法得到充分利用,因而无法支持较大显存需求的应用正常运行。
发明内容
本申请提供容器共享显存方法,以解决现有技术存在的多容器无法复用GPU显存的问题。本申请另外提供容器共享显存装置和系统,容器共享异构计算设备主存方法、装置及系统,以及电子设备。
本申请提供一种容器共享显存方法,包括:
将图形处理器GPU显存划分出显存交互区,所述显存交互区为多个容器分时复用;
为多个容器分配内存交互区;
针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
可选的,还包括:
将所述GPU显存划分出非显存交互区;
为所述多个容器分配独占的显存非交互区。
可选的,所述显存非交互区采用如下方式分配:
根据容器中GPU进程的目标显存容量和显存交互区容量,确定容器的显存非交互区容量;
根据显存非交互区容量,为容器分配显存非交互区。
可选的,所述容器优先使用显存非交互区;
针对获得GPU使用权的第一容器,若第一容器的显存非交互区无可用空间,则将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
可选的,所述内存交互区采用如下方式分配:
确定显存交互区容量;
根据显存交互区容量,为容器分配内存交互区。
可选的,通过DMA通道,将容器数据在显存交互区与内存交互区之间置换。
本申请还提供一种容器共享异构计算设备主存方法,包括:
将异构计算设备的主存储器划分出主存交互区,所述主存交互区为多个容器分时复用;
为多个容器分配内存交互区;
针对获得异构计算设备使用权的第一容器,将第二容器的数据从主存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至主存交互区。
本申请还提供一种容器共享显存装置,包括:
显存区域划分单元,用于将图形处理器GPU显存划分出显存交互区,所述显存交互区为多个容器分时复用;
存储区域分配单元,用于为多个容器分配内存交互区;
容器数据交互单元,用于针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
本申请还提供一种电子设备,包括:
处理器和存储器;
存储器,用于存储实现根据上述方法的程序,该设备通电并通过所述处理器运行该方法的程序。
本申请还提供一种容器共享异构计算设备主存系统,包括:
中央处理器CPU共享装置,异构计算设备共享装置;
所述异构计算设备共享装置,用于将异构计算设备的主存储器划分出主存储器交互区,所述主存储器交互区为多个容器分时复用;为多个容器分配内存交互区;针对获得异构计算设备使用权的第一容器,将第二容器的数据从主存储器交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至主存储器交互区。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。
本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的容器共享显存方法,通过将GPU显存划分出显存交互区,所述显存交互区为多个容器分时复用;为多个容器分配内存交互区;针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。采用这种处理方式,使得在多容器分时复用GPU的场景下,可以进行GPU显存(graphics memory)和系统内存(systerm memory)之间的数据交互,使得GPU显存和系统内存之间具备交换分区Swap的能力,使用系统内存充当GPU显存扩展空间,实现显存的超分使用,即实现了多容器复用GPU显存;因此,可以有效提升GPU显存利用率,扩大GPU显存空间,从而支持运行较大显存需求的应用,提升应用运行效率。
附图说明
图1本申请提供的一种容器共享显存方法的实施例的流程示意图;
图2本申请提供的一种容器共享显存方法的实施例的系统架构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了容器共享显存方法和装置,容器共享异构计算设备主存方法、装置及系统,以及电子设备。在下面的实施例中逐一对各种方案进行详细说明。
第一实施例
请参考图1,其为本申请的容器共享显存方法的实施例的流程示意图。本实施例提供的方法可包括如下步骤:
步骤S101:将图形处理器GPU显存划分为显存交互区,所述显存交互区为多个容器分时复用。
图形处理器(graphics processing unit,GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
显存(显卡内存),也被叫做帧缓存(GPU Framebuffer),它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据。如同计算机的内存一样,显存是用来存储要处理的图形信息的部件。
本实施例提供的方法,为实现GPU显存被多个容器分时复用,将显存划分出显存交互区,多个容器可对应同一显存交互区,所述显存交互区可为多个容器分时复用,如tx时间段由容器1使用显存交互区,ty时间段由容器2使用显存交互区。
容器技术是一种将软件打包成标准化单元的技术,以用于开发、交付和部署。它确保了应用运行环境一致性,能够更快速的启动,具有隔离性、可扩展性、迁移方便、可持续交付和部署等特点。传统的容器可对系统的CPU、内存、硬盘、网络等资源进行隔离。基于以上特性,容器技术被广泛的应用在云服务领域。
具体实施时,本实施例提供的方法还可包括如下步骤:将所述GPU显存划分出非显存交互区;为所述多个容器分配独占的显存非交互区。也即,可进一步划分出显存非交互区,将划分的每个显存非交互区分配给不同的容器专用,不同容器占用不同的显存非交互区。这样,可使得同一GPU设备可以被多个容器共享使用,同时又兼具隔离性,使得在不同容器内的硬件访问不会互相影响。
如图2所示,本申请实施例提供的方法可应用在基于GPU集群的机器学习系统中。GPU集群可包括多个基于GPU的计算节点。每个GPU计算节点可包括至少一个CPU、及至少一个GPU,其中CPU又可称为GPU的宿主机。在图2中,在节点1上同时运行任务1和任务2,分别对应容器1中的GPU进程1和容器2中的GPU进程2。在任务1和任务2使用GPU显存资源时,对GPU显存资源进行分配和使用。由图2可见,容器1和容器2对应不同的显存非交互区,并对应同一显存交互区(显存GMswap区)。其中,GMswap模块可执行本申请实施例提供的方法,负责管理容器的对GPU显存的申请和释放,实现对GPU显存资源的复用。
步骤S103:为多个容器分配内存交互区。
本实施例提供的方法,为实现GPU显存被多个容器分时复用,还要为每个容器分配其对应的内存交互区,以便于将暂时失去GPU使用权的容器的数据从显存交互区调入与该容器对应的内存交互区,然后可将获得GPU使用权的另一容器的数据从该另一容器对应的内存交互区调入空闲的显存交互区。
由此可见,采用本申请实施例提供的方法时,不同容器对应不同的内存交互区,即内存交互区与容器可为一对一的关系;多个容器分时复用显存交互区,即显存交互区与容器可为一对多的关系;不同容器对应不同的显存非交互区,即显存非交互区与容器可为一对一的关系。表1示出了容器与存储区域的映射关系。
容器 显存非交互区 内存交互区
容器1 显存非交互区0xa1 内存交互区0xb1
容器2 显存非交互区0xa2 内存交互区0xb1
表1、容器与存储区域的映射关系
具体实施时,所述内存交互区可采用如下方式分配:确定显存交互区容量;根据显存交互区容量,为容器分配内存交互区。例如,可以设定GPU显存交互区的大小,并为每个容器申请和显存交互区一样大小的系统内存交互区。
步骤S105:针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
本实施例提供的方法,可以触发GPU显存和系统内存之间的数据交换。在本实施例中,除了GPU的显存,容器1和容器2还可分时复用GPU算力单元。当一个容器1获取GPU的使用权时,可先将GPU显存交互区中另一容器2的数据拷贝到容器2的内存交互区;然后,再将容器1的内存交互区中的数据拷贝到显存交互区中。此时容器1的数据都在显存之中,可包括显存非交互区中的数据和显存交互区中的数据。当容器2获取GPU使用权时,执行同样的动作。
如图2所示,容器1和容器2以分时复用的方式使用GPU设备,GPU的总显存是16G。在现有技术下,容器可以使用的GPU显存的上限值是16G。当均分时,容器1和容器2分别可以限制使用8G的显存。可见,现有技术下,容器1和容器2只是分时复用GPU的算力单元。而采用本实施例提供的方法时,可以设定GPU显存交互区的大小为4G,GPU非交互的显存为12G,同样如果均分显存非交互区时,容器1和容器2可以限制使用的显存大小为10G,10G是非交互的显存6G加上交互显存为4G。这样容器1和容器2总的可以使用最大显存总和为20G,比GPU物理显存多4G。
在本实施例中,所述容器优先使用与其对应的显存非交互区;当容器获得GPU使用权时,如果该容器的显存非交互区无可用空间,即使用已达上限,则触发GPU显存和系统内存之间的数据交换。可见,本实施例提供的方法对显存的使用是优先使用GPU非交换区的显存,只用当非交换区的显存使用完成后,才申请交互区的显存。所述方法使用系统内存充当显存使用,可为每一个容器维护一个使用交互区的显存的列表,建立系统内存和GPU显存交互区之间的对应关系。这样,容器内部不感知显存交互区的存在,不感知所述方法的交互逻辑。
具体实施时,可通过高性能的DMA通道,将容器数据在显存交互区与内存交互区之间置换。
本申请实施例提供的方法,可将显存非交互区均分为各个容器,也可采用其它方式分配所述显存非交互区。在一个示例中,所述显存非交互区可采用其它方式分配:根据容器中GPU进程的目标显存容量和显存交互区容量,确定容器的显存非交互区容量;根据显存非交互区容量,为容器分配显存非交互区。
具体实施时,所述根据容器中GPU进程的目标显存容量和显存交互区容量,确定容器的显存非交互区容量,可包括如下子步骤:1)根据目标显存容量和显存交互区容量,确定目标显存非交互区容量;2)若目标显存非交互区容量大于显存容量阈值与显存交互区容量之差值,则将所述显存非交互区容量设置为所述差值。
在本实施例中,所述容器要运行一个任务时,可向执行本申请实施例提供的方法的装置(如GMswap模块)发送显存申请指令,该指令可包括目标显存容量参数。如果目标显存容量未超过该容器对应的显存非交互区,则无需为该容器分配内存交互区,只需将该任务的数据存储在该容器对应的显存非交互区即可。如果目标显存容量超过该容器对应的显存非交互区,则要为该容器分配内存交互区(可与显存交互区大小相同),在该容器获得GPU使用权时,将该容器的数据从对应的内存交互区调入多个容器分时复用的显存非交互区。例如,GPU显存为16G,可设置显存交互区大小为4G,多个容器均分显存非交互区12G,如两个容器均分时,每个容器的显存非交互区为6G,如果容器1申请的目标显存容量大于6G,则要为容器1分配4G的内存分配区,如果容器2申请的目标显存容量为5G,则只需使用容器2的6G显存非交互区即可。
在一个示例中,所述方法还可包括如下步骤:确定显存交互区的使用情况数据;根据所述使用情况数据,调整所述显存交互区的容量。具体实施时,还可显示所述使用情况数据。例如,可统计显存交互区的使用上限值、当前可用容量、当前使用中容量等等。如果根据所述使用情况数据判定显存交互区空闲容量较多,则可减小显存交互区的容量,从而增大显存非交互区容量,这样可以有效减少交换分区的处理,降低系统资源消耗。如果根据所述使用情况数据判定显存交互区频繁满负荷使用,则可增大显存交互区的容量,这样可以提升GPU显存使用率,支持较大显存需求的应用正常运行。
从上述实施例可见,本申请实施例提供的容器共享显存方法,通过将GPU显存划分为显存非交互区和显存交互区,所述显存交互区为多个容器分时复用;为多个容器分配显存非交互区和内存交互区;针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。采用这种处理方式,使得在多容器分时复用GPU的场景下,可以进行GPU显存(graphics memory)和系统内存(systerm memory)之间的数据交互,使得GPU显存和系统内存之间具备swap(交换分区)的能力,使用系统内存充当GPU显存扩展空间,这样当多个容器共享使用物理GPU时,可以实现显存的超分使用,即实现了多容器复用GPU显存,这样同一硬件(如NPU、GPU等)可以被多个容器共享使用,同时又兼具隔离性,在不同容器内的硬件访问不会互相影响;因此,可以有效提升GPU显存利用率,扩大GPU显存空间,从而支持运行较大显存需求的应用,提升应用运行效率。
第二实施例
在上述的实施例中,提供了一种容器共享显存方法,与之相对应的,本申请还提供一种容器共享显存装置。该装置是与上述方法的实施例相对应。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
在本实施例中,所述容器共享显存装置包括:
显存区域划分单元,用于将图形处理器GPU显存划分出显存交互区,所述显存交互区为多个容器分时复用;
存储区域分配单元,用于为多个容器分配内存交互区;
容器数据交互单元,用于针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
第三实施例
在上述的实施例中,提供了一种容器共享显存方法,与之相对应的,本申请还提供一种电子设备。该装置是与上述方法的实施例相对应。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储实现容器共享显存方法的程序,该设备通电并通过所述处理器运行该方法的程序后,执行下述步骤:将图形处理器GPU显存划分出显存交互区,所述显存交互区为多个容器分时复用;为多个容器分配内存交互区;针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
第四实施例
在上述的实施例中,提供了一种容器共享显存方法,与之相对应的,本申请还提供一种容器共享异构计算设备主存方法。该方法是与上述方法的实施例一相对应。由于本方法实施例基本相似于方法实施例一,所以描述得比较简单,相关之处参见方法实施例一的部分说明即可。下述描述的方法实施例仅仅是示意性的。
在本实施例中,所述容器共享异构计算设备主存方法包括:
步骤1:将异构计算设备的主存储器划分出主存交互区,所述主存交互区为多个容器分时复用;
步骤2:为多个容器分配内存交互区;
步骤3:针对获得异构计算设备使用权的第一容器,将第二容器的数据从主存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至主存交互区。
所述异构计算设备,包括但不限于以下设备的任意一项:图形处理器GPU,神经网络处理器NPU,张量处理器TPU。以GPU设备为例,多个容器可共享GPU显存资源,即上述实施例一所述的相关处理。
张量处理器(tensor processing unit,TPU)是为机器学习定制的专用芯片(ASIC),专为深度学习框架TensorFlow而设计。与图形处理器(GPU)相比,TPU采用低精度(8位)计算,以降低每步操作使用的晶体管数量。降低精度对于深度学习的准确度影响很小,但却可以大幅降低功耗、加快运算速度。
嵌入式神经网络处理器(NPU)采用“数据驱动并行计算”的架构,特别擅长处理视频、图像类的海量多媒体数据。
第五实施例
与上述的容器共享异构计算设备主存方法相对应,本申请还提供一种容器共享异构计算设备主存装置。本实施例与第四实施例内容相同的部分不再赘述,请参见实施例四中的相应部分。
本申请提供的一种容器共享异构计算设备主存装置包括:
主存区域划分单元,用于将异构计算设备的主存储器划分出和主存交互区,所述主存交互区为多个容器分时复用;
存储区域分配单元,用于为多个容器分配内存交互区;
容器数据交互单元,用于针对获得异构计算设备使用权的第一容器,将第二容器的数据从主存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至主存交互区。
第六实施例
与上述的容器共享异构计算设备主存方法相对应,本申请还提供一种容器共享异构计算设备主存系统。本实施例与第四实施例内容相同的部分不再赘述,请参见实施例四中的相应部分。本申请提供的一种容器共享异构计算设备主存系统包括:中央处理器CPU共享装置1,异构计算设备共享装置2。
所述中央处理器CPU共享装置1和异构计算设备共享装置2,可部署在云服务器的操作系统(如Linux操作系统)中。
所述中央处理器CPU共享装置1,可用于对CPU算力的分时复用进行管理,以及对内存的分时复用进行管理。由于所述中央处理器CPU共享装置1实现的处理属于较为成熟的现有技术,因此此处不再赘述。
所述异构计算设备共享装置,用于将异构计算设备的主存储器划分出主存储器交互区,所述主存储器交互区为多个容器分时复用;为多个容器分配内存交互区;针对获得异构计算设备使用权的第一容器,将第二容器的数据从主存储器交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至主存储器交互区。
从上述实施例可见,本申请实施例提供的容器共享异构计算设备主存系统,通过将异构计算设备的主存储器划分出主存交互区,所述主存交互区为多个容器分时复用;为多个容器分配内存交互区;针对获得异构计算设备使用权的第一容器,将第二容器的数据从主存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至主存交互区。采用这种处理方式,使得在多容器分时复用异构计算设备的场景下,可以进行容器共享异构计算设备主存和系统内存之间的数据交互,使得异构计算设备主存和系统内存之间具备swap(交换分区)的能力,使用系统内存充当异构计算设备主存扩展空间,这样当多个容器共享使用物理异构计算设备时,可以实现异构计算设备主存的超分使用,即实现了多容器复用异构计算设备主存,这样同一硬件(如NPU、GPU等)可以被多个容器共享使用,同时又兼具隔离性,在不同容器内的硬件访问不会互相影响;因此,可以有效提升异构计算设备主存利用率,扩大异构计算设备主存空间,从而支持运行较大异构计算设备主存需求的应用,提升应用运行效率。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (10)

1.一种容器共享显存方法,其特征在于,包括:
将图形处理器GPU显存划分出显存交互区,所述显存交互区为多个容器分时复用;
为多个容器分配内存交互区;
针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
2.根据权利要求1的方法,其特征在于,还包括:
将所述GPU显存划分出非显存交互区;
为所述多个容器分配独占的显存非交互区。
3.根据权利要求2的方法,其特征在于,所述显存非交互区采用如下方式分配:
根据容器中GPU进程的目标显存容量和显存交互区容量,确定容器的显存非交互区容量;
根据显存非交互区容量,为容器分配显存非交互区。
4.根据权利要求2的方法,其特征在于,
所述容器优先使用显存非交互区;
针对获得GPU使用权的第一容器,若第一容器的显存非交互区无可用空间,则将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
5.根据权利要求1的方法,其特征在于,所述内存交互区采用如下方式分配:
确定显存交互区容量;
根据显存交互区容量,为容器分配内存交互区。
6.根据权利要求1的方法,其特征在于,
通过DMA通道,将容器数据在显存交互区与内存交互区之间置换。
7.一种容器共享异构计算设备主存方法,其特征在于,包括:
将异构计算设备的主存储器划分出主存交互区,所述主存交互区为多个容器分时复用;
为多个容器分配内存交互区;
针对获得异构计算设备使用权的第一容器,将第二容器的数据从主存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至主存交互区。
8.一种容器共享显存装置,其特征在于,包括:
显存区域划分单元,用于将图形处理器GPU显存划分出显存交互区,所述显存交互区为多个容器分时复用;
存储区域分配单元,用于为多个容器分配内存交互区;
容器数据交互单元,用于针对获得GPU使用权的第一容器,将第二容器的数据从显存交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至显存交互区。
9.一种电子设备,其特征在于,包括:
处理器和存储器;
存储器,用于存储实现根据权利要求2-7任一项所述方法的程序,该设备通电并通过所述处理器运行该方法的程序。
10.一种容器共享异构计算设备主存系统,其特征在于,包括:
中央处理器CPU共享装置,异构计算设备共享装置;
所述异构计算设备共享装置,用于将异构计算设备的主存储器划分出主存储器交互区,所述主存储器交互区为多个容器分时复用;为多个容器分配内存交互区;针对获得异构计算设备使用权的第一容器,将第二容器的数据从主存储器交互区置换至第二容器的内存交互区,将第一容器的数据从第一容器的内存交互区置换至主存储器交互区。
CN202110605348.3A 2021-05-31 2021-05-31 容器共享显存方法、装置、设备及系统 Pending CN113379587A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110605348.3A CN113379587A (zh) 2021-05-31 2021-05-31 容器共享显存方法、装置、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110605348.3A CN113379587A (zh) 2021-05-31 2021-05-31 容器共享显存方法、装置、设备及系统

Publications (1)

Publication Number Publication Date
CN113379587A true CN113379587A (zh) 2021-09-10

Family

ID=77575221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110605348.3A Pending CN113379587A (zh) 2021-05-31 2021-05-31 容器共享显存方法、装置、设备及系统

Country Status (1)

Country Link
CN (1) CN113379587A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934635A (zh) * 2021-10-21 2022-01-14 江苏安超云软件有限公司 基于异构处理器提供同等算力云服务的方法及应用
CN114398182A (zh) * 2022-01-21 2022-04-26 支付宝(杭州)信息技术有限公司 用于对gpu显存复用方案进行优化的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106572432A (zh) * 2016-11-10 2017-04-19 歌尔科技有限公司 蓝牙耳机、客户端装置、蓝牙耳机的防盗系统和防盗方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106572432A (zh) * 2016-11-10 2017-04-19 歌尔科技有限公司 蓝牙耳机、客户端装置、蓝牙耳机的防盗系统和防盗方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
薛墨池: "GPU虚拟化中可拓展性的研究与优化", 《中国优秀硕士学位论文全文数据库 信息科技辑》, pages 22 - 44 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934635A (zh) * 2021-10-21 2022-01-14 江苏安超云软件有限公司 基于异构处理器提供同等算力云服务的方法及应用
CN113934635B (zh) * 2021-10-21 2022-07-19 江苏安超云软件有限公司 基于异构处理器提供同等算力云服务的方法及应用
CN114398182A (zh) * 2022-01-21 2022-04-26 支付宝(杭州)信息技术有限公司 用于对gpu显存复用方案进行优化的方法及装置

Similar Documents

Publication Publication Date Title
US10347013B2 (en) Session idle optimization for streaming server
CN107077377B (zh) 一种设备虚拟化方法、装置、系统及电子设备、计算机程序产品
CN113674133B (zh) Gpu集群共享显存系统、方法、装置及设备
CN108462656B (zh) 基于容器的业务融合部署的资源调度方法及装置
US11281388B2 (en) Method for managing a multi-system shared memory, electronic device and non-volatile computer-readable storage medium
CN113379587A (zh) 容器共享显存方法、装置、设备及系统
CN104583979A (zh) 动态物理存储器分区技术
CN103577345A (zh) 提高由多个系统共享的存储高速缓存灵活性的方法和结构
CA2872019A1 (en) Pooling of memory resources across multiple nodes
CN104714846A (zh) 资源处理方法、操作系统及设备
JP2022516486A (ja) リソース管理方法と装置、電子デバイス、及び記録媒体
US10860352B2 (en) Host system and method for managing data consumption rate in a virtual data processing environment
CN103049328A (zh) 计算机系统中内存资源分配方法
CN113051195A (zh) 存储器、gpu及电子设备
WO2022121866A1 (zh) 一种基于加速卡的服务运行方法、装置、电子设备及计算机可读存储介质
CN109766179B (zh) 一种显存分配方法以及装置
CN113157428A (zh) 基于容器的资源调度方法、装置及容器集群管理装置
US10996865B2 (en) Application-specific memory scaling in multi-device systems
US20200201691A1 (en) Enhanced message control banks
US20150220442A1 (en) Prioritizing shared memory based on quality of service
CN113377529B (zh) 一种智能加速卡及基于智能加速卡的数据处理方法
US9122565B2 (en) Memory controller and memory control method
CN115904699A (zh) 一种服务器gpu算力分配系统、方法及服务器
CN117632457A (zh) 一种加速器调度方法及相关装置
CN111475277A (zh) 一种资源分配方法、系统、设备及机器可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40069937

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240302

Address after: 51 Belarusian Pasha Road, Singapore, Lai Zan Da Building 1 # 03-06, Postal Code 189554

Applicant after: Alibaba Innovation Co.

Country or region after: Singapore

Address before: Room 01, 45th Floor, AXA Building, 8 Shanton Road, Singapore

Applicant before: Alibaba Singapore Holdings Ltd.

Country or region before: Singapore