CN114463159B - 一种gpu资源共享方法 - Google Patents
一种gpu资源共享方法 Download PDFInfo
- Publication number
- CN114463159B CN114463159B CN202210010700.3A CN202210010700A CN114463159B CN 114463159 B CN114463159 B CN 114463159B CN 202210010700 A CN202210010700 A CN 202210010700A CN 114463159 B CN114463159 B CN 114463159B
- Authority
- CN
- China
- Prior art keywords
- kernel
- ipc
- information table
- kernels
- tps
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000010187 selection method Methods 0.000 claims abstract description 8
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明通过构建第一信息表和第二信息表,根据所述第一信息表和所述第二信息表通过内核组选择方法确定最优内核组,所述第一信息表存储内核单独执行时的内核信息,所述第二信息表存储两个内核一起执行时的内核信息,所述内核包括内存密集型内核与计算密集型内核。与现有技术相比,本发明从多核内核中选择最优的内核组,通过高效的GPU多核之间的资源共享方法,进一步提升了GPU的资源利用率。
Description
技术领域
本发明属于资源共享领域,具体涉及一种GPU资源共享方法。
背景技术
图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。用途是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板的重要元件,也是“人机对话”的重要设备之一。
GPU主要进行浮点运算和并行运算,其浮点运算和并行运算速度可以比CPU强上百倍之多,使用GPU虚拟化技术之后,可以让运行在数据中心服务器上的虚拟机实例共享使用同一块或多块GPU处理器进行图形运算,这种安全且高效的桌面访问方式,被越来越多的用户追捧。虽然此策略提高了物理服务器的总资源利用率,但由于来自多个虚拟机的大量请求,总体性能可能会急剧下降。
为了提升GPU的资源利用率,提出了多核技术,该技术将计算资源划分为多个核,通过多个内核之间高效的GPU资源共享提升资源利用率。然而,随着虚拟机数量的增长,另一个挑战是如何从多核内核中选择最优的内核组,现有技术中多数将内存密集型内核与计算密集型内核进行搭配运行,然而,在某些情况下,内存密集型内核与内存密集型内核的搭配运行或者计算密集型内核与计算密集型内核的搭配运行性能优于内存需求型内核与计算需求型内核的搭配,因此,仅通过内核的类型确定调度哪些内核并不能最大限度的提升资源利用率。
发明内容
本发明提供一种GPU资源共享方法,目的在于解决GPU资源共享过程中存在的资源利用率低的技术问题。
为实现上述目的,本发明提供一种GPU资源共享方法,所述方法包括以下步骤:
一种GPU资源共享方法,其特征在于:构建第一信息表和第二信息表,根据所述第一信息表和所述第二信息表通过内核组选择方法确定最优内核组,并根据得到的最优内核组实现GPU资源共享,所述第一信息表存储内核单独执行时的内核信息,所述第二信息表存储两个内核一起执行时的内核信息,所述内核包括内存密集型内核与计算密集型内核。
所述第一信息表包括:ID、IPC_S、K_NO,其中,ID为序号,IPC_S为内核对应的每个周期的指令数,K_NO为内核标识。
所述第二信息表包括:ID、IPC_G、K_NO1、K_NO2、TPS,其中,ID为序号,IPC_G表示两个内核一起执行时每个周期的指令数,TPS为系统吞吐量。
系统吞吐量TPS通过使用第一信息表中的内核的单独执行时IPC_S的信息以及第二信息表中两个内核并行执行时内核的IPC_G计算得到。
系统吞吐量TPS通过如下公式计算得到:TPS=(IPC_S(i)+IPC_S(j))/IPC_G(s,j),其中,i、j分别表示两个不同的内核。根据权利要求1所述的GPU资源共享方法,其特征在于:所述内核组选择方法包括:当n个新内核在内核队列等待时,利用硬件性能计数器按顺序收集内核单独执行时的IPC_S和可能的内核组的内核组IPC_G,使用内核单独执行时的IPC和可能的内核组的内核组IPC计算内核组吞吐量TPS,选择TPS最大的内核组为最优内核组。
本发明通过构建第一信息表和第二信息表,根据所述第一信息表和所述第二信息表通过内核组选择方法确定最优内核组,所述第一信息表存储内核单独执行时的内核信息,所述第二信息表存储两个内核一起执行时的内核信息,所述内核包括内存密集型内核与计算密集型内核。与现有技术相比,本发明从多核内核中选择最优的内核组,通过高效的GPU多核之间的资源共享方法,进一步提升了GPU的资源利用率。
附图说明
图1为本发明实施例的流程示意图。
具体实施方式
下面结合附图对本发明作进一步详细描述:
如图1所示,图1是本发明实施例涉及的流程示意图,本发明涉及一种GPU资源共享方法,其特征在于:构建第一信息表和第二信息表,根据所述第一信息表和所述第二信息表通过内核组选择方法确定最优内核组,并根据得到的最优内核组实现GPU资源共享,所述第一信息表存储内核单独执行时的内核信息,所述第二信息表存储两个内核一起执行时的内核信息,所述内核包括内存密集型内核与计算密集型内核。
所述第一信息表包括:ID、IPC_S、K_NO,其中,ID为序号,IPC_S为内核对应的每个周期的指令数,K_NO为内核标识。
第一信息表结构如下:
ID | IPC_S | K_NO |
0 | 208 | K0 |
1 | 136 | K1 |
2 | 693 | K2 |
…… | …… | …… |
n | 537 | Kn |
所述第二信息表包括:ID、IPC_G、K_NO1、K_NO2、TPS,其中,ID为序号,IPC_G表示两个内核一起执行时每个周期的指令数,TPS为系统吞吐量。
第二信息表结构如下:
ID | IPC_G | K_NO1 | K_NO2 | TPS |
0 | 208 | K0 | K_NO2 | 1.3 |
1 | 136 | K1 | K_NO2 | 1.2 |
2 | 693 | K2 | K_NO2 | 1.7 |
…… | …… | …… | K_NO2 | …… |
n | 537 | Kn | K_NO2 | 1.15 |
系统吞吐量TPS通过使用第一信息表中的内核的单独执行时IPC的信息以及第二信息表中两个内核并行执行时内核的IPC1、IPC2计算得到。
其中,TPS=(IPC_S(i)+IPC_S(j))/IPC_G(s,j),其中,i、j分别表示两个不同的内核,IPC_G(s,j)可以通过两个内核同时执行时,i内核与j内核的IPC信息通过加权求和或者其他方式计算得到。
所述内核组选择方法包括:当n个新内核在内核队列等待时,利用硬件性能计数器按顺序收集内核单独执行时的IPC_S和可能的内核组的内核组IPC_G,使用内核单独执行时的IPC和可能的内核组的内核组IPC计算内核组吞吐量TPS,选择TPS最大的内核组为最优内核组。
最后应说明的是,上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
Claims (1)
1.一种GPU资源共享方法,其特征在于:构建第一信息表和第二信息表,根据所述第一信息表和所述第二信息表通过内核组选择方法确定最优内核组,并根据得到的最优内核组实现GPU资源共享,所述第一信息表存储内核单独执行时的内核信息,所述第二信息表存储两个内核一起执行时的内核信息,所述内核包括内存密集型内核与计算密集型内核;
所述第一信息表包括:ID、IPC_S、K_NO,其中,ID为序号,IPC_S为内核对应的每个周期的指令数,K_NO为内核标识;
所述第二信息表包括:ID、IPC_G、K_NO1、K_NO2、TPS,其中,ID为序号,IPC_G表示两个内核一起执行时每个周期的指令数,TPS为系统吞吐量;
所述系统吞吐量TPS通过使用第一信息表中的内核的单独执行时IPC_S的信息以及第二信息表中两个内核并行执行时内核的IPC_G计算得到;
系统吞吐量TPS通过如下公式计算得到:TPS=(IPC_S(i)+IPC_S(j))/IPC_G(s,j),其中,i、j分别表示两个不同的内核;
所述内核组选择方法包括:当n个新内核在内核队列等待时,利用硬件性能计数器按顺序收集内核单独执行时的IPC_S和可能的内核组的内核组IPC_G,使用内核单独执行时的IPC和可能的内核组的内核组IPC计算内核组吞吐量TPS,选择TPS最大的内核组为最优内核组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210010700.3A CN114463159B (zh) | 2022-01-06 | 2022-01-06 | 一种gpu资源共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210010700.3A CN114463159B (zh) | 2022-01-06 | 2022-01-06 | 一种gpu资源共享方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114463159A CN114463159A (zh) | 2022-05-10 |
CN114463159B true CN114463159B (zh) | 2024-02-23 |
Family
ID=81409623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210010700.3A Active CN114463159B (zh) | 2022-01-06 | 2022-01-06 | 一种gpu资源共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114463159B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857564A (zh) * | 2019-03-05 | 2019-06-07 | 上海交通大学 | 基于细粒度的gpu的资源管理方法及其应用的gpu |
CN111045800A (zh) * | 2019-11-14 | 2020-04-21 | 武汉纺织大学 | 一种基于短作业优先的优化gpu性能的方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8643656B2 (en) * | 2010-09-30 | 2014-02-04 | Nec Laboratories America, Inc. | Energy-aware task consolidation on graphics processing unit (GPU) |
US10540194B2 (en) * | 2017-12-21 | 2020-01-21 | International Business Machines Corporation | Runtime GPU/CPU selection |
-
2022
- 2022-01-06 CN CN202210010700.3A patent/CN114463159B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857564A (zh) * | 2019-03-05 | 2019-06-07 | 上海交通大学 | 基于细粒度的gpu的资源管理方法及其应用的gpu |
CN111045800A (zh) * | 2019-11-14 | 2020-04-21 | 武汉纺织大学 | 一种基于短作业优先的优化gpu性能的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114463159A (zh) | 2022-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108416433B (zh) | 一种基于异步事件的神经网络异构加速方法和系统 | |
CN103049241B (zh) | 一种提高cpu+gpu异构装置计算性能的方法 | |
CN110471766B (zh) | 一种基于cuda的gpu资源调度系统和方法 | |
EP2513860B1 (en) | A graphics pipeline scheduling architecture utilizing performance counters | |
CN104714785A (zh) | 任务调度装置、方法及并行处理数据的设备 | |
CN103207774A (zh) | 用于解决线程发散的方法和系统 | |
CN103744716A (zh) | 一种基于当前vcpu调度状态的动态中断均衡映射方法 | |
CN104160420A (zh) | 在图形处理单元上执行图形和非图形应用 | |
CN116263701A (zh) | 算力网络任务调度方法、装置、计算机设备及存储介质 | |
CN112162854A (zh) | 一种cpu-gpu间计算任务调度方法、系统及介质 | |
CN109408230B (zh) | 基于能耗优化的Docker容器部署方法及系统 | |
JP2020053013A (ja) | 要求処理方法及び装置 | |
CN110162398B (zh) | 一种疾病分析模型的调度方法、装置及终端设备 | |
CN105957131A (zh) | 图形处理系统及其方法 | |
CN114463159B (zh) | 一种gpu资源共享方法 | |
US20140237017A1 (en) | Extending distributed computing systems to legacy programs | |
US8473948B1 (en) | Method for synchronizing independent cooperative thread arrays running on a graphics processing unit | |
CN110209631A (zh) | 大数据处理方法及其处理系统 | |
CN1851651A (zh) | 嵌入式sram操作系统进程优先权调度的实现方法 | |
CN114816746A (zh) | 一种具有多重虚拟化类型的gpu实现混合类型虚拟化的方法 | |
CN115098272A (zh) | Gpu资源调度方法、调度器、电子设备和存储介质 | |
CN115775199A (zh) | 数据处理方法和装置、电子设备和计算机可读存储介质 | |
CN112506677B (zh) | TensorFlow的分布式矩阵计算实现方法与系统 | |
CN104657087A (zh) | 一种虚拟磁盘映射的方法、装置及系统 | |
JP2024511765A (ja) | マルチアクセラレータ計算ディスパッチ |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |