CN114463159B - 一种gpu资源共享方法 - Google Patents

一种gpu资源共享方法 Download PDF

Info

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
Application number
CN202210010700.3A
Other languages
English (en)
Other versions
CN114463159A (zh
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.)
Jiangsu Electric Power Information Technology Co Ltd
Original Assignee
Jiangsu Electric Power Information Technology Co 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 Jiangsu Electric Power Information Technology Co Ltd filed Critical Jiangsu Electric Power Information Technology Co Ltd
Priority to CN202210010700.3A priority Critical patent/CN114463159B/zh
Publication of CN114463159A publication Critical patent/CN114463159A/zh
Application granted granted Critical
Publication of CN114463159B publication Critical patent/CN114463159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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资源共享方法
技术领域
本发明属于资源共享领域,具体涉及一种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最大的内核组为最优内核组。
CN202210010700.3A 2022-01-06 2022-01-06 一种gpu资源共享方法 Active CN114463159B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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