CN110532071B - 一种基于gpu的多应用调度系统和方法 - Google Patents

一种基于gpu的多应用调度系统和方法 Download PDF

Info

Publication number
CN110532071B
CN110532071B CN201910627242.6A CN201910627242A CN110532071B CN 110532071 B CN110532071 B CN 110532071B CN 201910627242 A CN201910627242 A CN 201910627242A CN 110532071 B CN110532071 B CN 110532071B
Authority
CN
China
Prior art keywords
application
gpu
information
module
data locality
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
CN201910627242.6A
Other languages
English (en)
Other versions
CN110532071A (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.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN201910627242.6A priority Critical patent/CN110532071B/zh
Publication of CN110532071A publication Critical patent/CN110532071A/zh
Application granted granted Critical
Publication of CN110532071B publication Critical patent/CN110532071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种基于GPU的多应用调度系统和方法。本系统包括应用分析模块、应用管理模块、系统信息模块和应用调度模块,通过应用分析模块分析应用所需GPU内存大小、数据局部性,并结合应用的优先级生成应用信息;通过应用管理模块将新应用和执行失败应用的信息分别按照时间先后顺序存放在两个队列里,称它们为新应用队列和执行失败应用队列;通过系统信息模块收集应用在GPU系统中执行信息和GPU内存和缓存信息;通过应用调度模块中的GPU调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配。本发明通过一种基于GPU的多应用调度系统和方法能保证多个应用合理的使用GPU内有限的GPU内存和缓存资源。

Description

一种基于GPU的多应用调度系统和方法
技术领域
本发明涉及一种基于GPU的多应用调度系统和方法,属于计算机和通信领域。
背景技术
图形处理单元(又称GPU)已经广泛应用于图像处理、人工智能等多个领域,可以为多应用和大数据提供强大的计算能力。为了保持高计算能力,GPU在有限的硬件面积上优先集成了大量的处理核,导致GPU本身的内存相对较小,因此GPU内存成为GPU处理多应用和大数据处理的一个瓶颈。为缓和这个瓶颈,GPU常采用缓存技术来提高数据的读写效率以便降低GPU内存对GPU性能的限制,但是相对于GPU内存,缓存容量更小,缓存资源竞争更激烈。另外,应用使用缓存的效果由应用的数据局部性决定,该特性表现在应用使用缓存的命中率上。当某个应用的数据局部性很差时(例如流数据处理和迭代计算的应用),若其使用缓存,缓存的未命中率很高,执行效果不会有明显的提高。
目前,上述问题并没有很好的解决。首先,GPU的生产厂商未提供有效的资源管理或调度策略来分配GPU内存和缓存资源。以英伟达(NVIDIA)的GPU产品为例,当多个应用进入GPU系统时,会按照先来先使用的方式获取GPU内存和缓存资源,这没有考虑应用的数据局部性、优先级和所需GPU内存等要求。其次,当用户不知道应用的数据局部性时,会倾向于申请使用缓存,这经常造成缓存资源的浪费。最后,一些应用的数据局部性值已被获得,但存在大量未知数据局部性的应用,需要用GPU模拟器(例如GPGPU-SIM)进行仿真测试获得其数据局部性值。
发明内容
针对上述现有技术存在的不足,本发明的目的在于提供了一种基于GPU的多应用调度系统和方法,能够保证多个应用合理的使用GPU内有限的GPU内存和缓存资源。为达到上述目的,本发明采用下述技术方案:一种基于GPU的多应用调度系统包括应用分析模块、应用管理模块、系统信息模块和应用调度模块:
(1)所述应用分析模块连接应用管理模块和应用调度模块,主要用于分析应用所需GPU内存大小、数据局部性,并结合应用的优先级生成应用信息;
(2)所述应用管理模块连接应用分析模块和应用调度模块,主要将新应用和执行失败应用的信息分别按照时间先后顺序存放在两个队列里,称它们为新应用队列和执行失败应用队列;
(3)所述系统信息模块连接应用调度模块,主要用于收集应用在GPU系统中执行信息和GPU内存和缓存信息;
(4)所述应用调度模块连接应用分析模块、应用管理模块和系统信息模块,主要用一种基于GPU的多应用调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配。
作为优选方式,一种基于GPU的多应用调度系统的应用分析模块主要用于分析应用所需GPU内存大小、数据局部性,并根据应用的优先级生成应用信息,所述分析应用所需GPU内存大小的方法:
首先在应用源代码中搜索到GPU内存分配函数代码,然后从中获取GPU内存分配大小的参数值,并将参数值保存到应用信息中。
作为优先方式,一种基于GPU的多应用调度系统的应用分析模块主要用于分析应用所需GPU内存大小、数据局部性,并根据应用的优先级生成应用信息,其功能有:
应用数据局部性用该应用的缓存未命中率表示,应用数据局部性值等于应用缓存未命中率,并且将已知的应用数据局部性值保存到一个基本应用表中;
基本应用表的数据包括了已知应用的数据局部性值和GPU模拟器测试应用的数据局部性值。每次更新基本应用表后,用基本应用表中所有应用的数据局部性值的一个统计值作为数据局部性阈值;
应用信息应记录应用名、应用进入系统的时间、应用的优先级、应用所需GPU内存大小和应用数据局部性值。
作为优选方式,一种基于GPU的多应用调度系统的应用分析模块主要用于分析新应用所需GPU内存大小、数据局部性,并根据应用的优先级生成应用信息,所述分析应用的数据局部性方法如下:
分析应用的数据局部性首先查询基本应用表中是否存在该应用对应的数据局部性值;如果存在,则将其数据局部性值写入应用信息中,如果不存在,则将该应用数据局部性值设置为空,并将该应用提交给GPU模拟器进行仿真测试,并将测试后的应用数据局部性值写入基本应用表。
作为优选方式,一种基于GPU的多应用调度系统的系统信息模块主要用于收集应用在GPU系统中执行信息和GPU内存和缓存信息:
收集应用在GPU系统中执行信息通过跟踪应用执行的CPU进程来获取GPU内应用执行的信息,包括应用是否执行成功;
收集GPU内存信息首先根据应用执行信息判断应用是否执行,若应用执行,则用剩余GPU内存值减去应用所需的GPU内存值得到新的剩余GPU内存值,并将该值保留在一个信号量中;剩余GPU内存的初始值为GPU内存值;
收集缓存信息通过一个信号量保存缓存是否被使用的信息。
一种基于GPU的多应用调度方法,采用上述的基于GPU的多应用调度系统进行操作,应用调度模块用该调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配,该调度方法按如下步骤执行:
步骤1:从应用管理模块的执行失败应用队列和新进应用队列中选择最高优先级的应用;
步骤2:在最高优先级的应用中,选出所需GPU内存小于剩余GPU内存量的应用,且将它们标记为待执行应用;
步骤3:结合应用的数据局部性值、所需内存值和缓存信息从待执行应用中选中一个应用;
步骤4:将被选中的应用提交给GPU执行,从系统信息模块中获取被选中应用的执行信息;
步骤5:若被选中应用提交执行失败,则将该应用信息加入应用管理模块中的执行失败应用队列,若该应用执行成功,则删除应用管理模块中该应用信息。
作为优选方式,一种基于GPU的多应用调度方法中所述步骤3结合应用的数据局部性值、所需内存值和缓存信息从待执行应用中选中一个应用,步骤如下:
步骤S3-1:从待执行应用中搜索数据局部性值小于数据局部性值阈值且数据局部性值最小的应用;
步骤S3-2:若有该应用,则读取系统信息模块中缓存信息。若缓存没有被使用,则该应用被选中,若缓存已被使用,则将该应用加入应用管理模块中的执行失败应用队列;
步骤S3-3:如果没有小于数据局部性值阈值的应用,则选中待执行应用中所需GPU内存最小的应用。
本发明与现有技术相比较,具有以下显而易见的突出实质性特点和显著优点:
1.该方法能自主对应用特征进行分析和收集,能自动调整数据局部性值阈值,能实时获取必要的应用执行信息和GPU资源使用信息。
2.该调度方法基于GPU卡中GPU内存和缓存设计,能改善GPU卡中GPU内存和缓存资源的瓶颈问题。另外,在该调度方法中,当待执行应用的数据局部性值都比较大时,让内存相对小的应用执行,可为后续具有较好数据局部性的应用预留内存来提高其执行机率。
3. 该方法采用跟踪应用执行的CPU进程来获取应用在GPU系统中执行等信息,不会消耗GPU内存。
附图说明
图1为本发明的一种基于GPU的多应用调度系统的结构框图。
图2是图1中应用调度模块4中所述的一种基于GPU的多应用调度方法的流程框图。
图3是图2中步骤S3所述的结合应用的数据局部性值、所需内存值和缓存信息从待执行应用中选中一个应用的流程框图。
具体实施方式
下面结合附图和优选的实施例对本发明进行详细说明。本发明还可以通过另外不同的具体实施方式加以实施或应用,本发明的保护范围不局限于以下所述。
实施例一:
参见图1,本一种基于GPU的多应用调度系统,包括应用分析模块1、应用管理模块2、系统信息模块3和应用调度模块4,其特征在于:
(1)所述应用分析模块1连接应用管理模块2和应用调度模块4,主要用于分析应用所需GPU内存大小、数据局部性,并结合应用的优先级生成应用信息;
(2)所述应用管理模块2连接应用分析模块1和应用调度模块4,主要将新应用和执行失败应用的信息分别按照时间先后顺序存放在两个队列里,称它们为新应用队列和执行失败应用队列;
(3)所述系统信息模块3连接应用调度模块4,主要用于收集应用在GPU系统中执行信息和GPU内存和缓存信息;
(4)所述应用调度模块4连接应用分析模块1、应用管理模块2和系统信息模块,主要用一种基于GPU的多应用调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配。
实施例二:
参见图2,本一种基于GPU的多应用调度方法,采用上述系统进行操作,其特征在于:应用调度模块4主要用一种基于GPU的多应用调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配,该方法按如下步骤执行:
步骤S1:从应用管理模块的执行失败应用队列和新进应用队列中选择最高优先级的应用;
步骤S2:在最高优先级的应用中,选出所需GPU内存小于剩余GPU内存量的应用,且将它们标记为待执行应用;
步骤S3:结合应用的数据局部性值、所需内存值和缓存信息从待执行应用中选中一个应用;
步骤S4:将被选中的应用提交给GPU执行,从系统信息模块中获取被选中应用的执行信息;
步骤S5:若被选中应用提交执行失败,则将该应用信息加入应用管理模块中的执行失败应用队列,若该应用执行成功,则删除应用管理模块中该应用信息。
实施例三:
如图1所示,本一种基于GPU的多应用调度系统,包括应用分析模块1、应用管理模块2、系统信息模块3和应用调度模块4:
(1)所述应用分析模块1连接应用管理模块2和应用调度模块4,主要用于分析应用所需GPU内存大小、数据局部性,并结合应用的优先级生成应用信息;
(2)所述应用管理模块2连接应用分析模块1和应用调度模块4,主要将新应用和执行失败应用的信息分别按照时间先后顺序存放在两个队列里,称它们为新应用队列和执行失败应用队列;
(3)所述系统信息模块3连接应用调度模块4,主要用于收集应用在GPU系统中执行信息和GPU内存和缓存信息;
(4)所述应用调度模块4连接应用分析模块1、应用管理模块2和系统信息模块3,主要用一种基于GPU的多应用调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配。
具体地,新的应用进入调度系统后,应用分析模块1分析收集该应用的相关信息,并将其发送给应用管理模块2,应用管理模块2接受到应用分析模块1和应用调度模块4发送来的应用信息并将它们分别存放到新应用队列和执行失败应用队列中,系统信息模块3实时监控应用的执行并将执行信息发送给应用调度模块4,应用调度模块4使用一种基于GPU的多应用调度方法调度应用管理模块2中的应用执行并发送执行失败的应用信息给应用管理模块2。
在一个优选实例中,应用分析模块1主要用于分析应用所需GPU内存大小、数据局部性,并根据应用的优先级生成应用信息,分析应用所需GPU内存大小的方法:
分析应用所需GPU内存大小首先在应用源代码中搜索到GPU内存分配函数代码,然后从中获取GPU内存分配大小的参数值,并将参数值保存到应用信息中。
具体地,在用CUDA编写的应用的源代码中,应用分析模块1可搜索cudaMalloc函数,然后取这些函数的第二个参数值并累加,累加的值即为应用所需GPU内存。
在一个优选实例中,应用分析模块1主要用于分析应用所需GPU内存大小、数据局部性,并根据应用的优先级生成应用信息,所述应用分析模块1的功能:
应用数据局部性用该应用的缓存未命中率表示,应用数据局部性值等于应用缓存未命中率,并且将已知的应用数据局部性值保存到一个基本应用表中;
基本应用表的数据包括了已知应用的数据局部性值和GPU模拟器测试应用的数据局部性值。每次更新基本应用表后,用基本应用表中所有应用的数据局部性值的一个统计值作为数据局部性阈值;
应用信息应记录应用名、应用进入系统的时间、应用的优先级、应用所需GPU内存大小和应用数据局部性值。
具体地,应用数据局部性值可大于0且不超过1;可用一个二维表表示一个基本应用表,二维表中的每条记录为一个应用信息,应用的优先级用整数表示;每次更新基本应用表后,若表中所有应用的数据局部性值均不为空,则可将基本应用表中所有应用的数据局部性值的均值作为数据局部性值阈值。
在一个优选实例中,应用分析模块1主要用于分析应用所需GPU内存大小、数据局部性,并根据应用的优先级生成应用信息,分析应用数据局部性方法如下:
分析应用的数据局部性首先查询基本应用表中是否存在该应用对应的数据局部性值。如果存在,则将其数据局部性值写入应用信息中,如果不存在,则将该应用数据局部性值设置为空,并将该应用提交给GPU模拟器进行仿真测试,并将测试后的应用数据局部性值写入基本应用表。
具体地,用应用名查询基本应用表,如果基本应用表中不存在该应用的记录或该应用的数据局部性值为空,则可将该应用提交给GPU模拟器GPGPU-SIM进行仿真测试其数据局部性值,应用的仿真测试不影响应用的调度且可以和应用的调度并行执行。
在一个优选实例中,系统信息模块3主要用于收集应用在GPU系统中执行信息和GPU内存和缓存信息:
收集应用在GPU系统中执行信息通过跟踪应用执行的CPU进程来获取GPU内应用执行的信息,包括应用是否执行成功;
收集GPU内存信息首先根据应用进程执行信息判断应用是否执行,若应用执行,则用剩余GPU内存值减去应用所需的GPU内存值得到新的剩余GPU内存值,并将该值保留在一个信号量中;剩余GPU内存的初始值为GPU内存值;
收集缓存信息通过一个信号量保存缓存是否被使用的信息。
具体地,在使用Nvidia的GPU卡的Linux系统中,系统信息模块3可在/dev/nvidia文件下获取到应用进程的执行信息并保存到应用执行信号量中;根据应用执行信号量计算出剩余GPU内存值;缓存信号量可初始化为0,若有应用使用缓存时赋值1,若无应用使用缓存时赋值0;最后将应用执行信号量、剩余GPU内存值和缓存信号量发送给应用调度模块4。
在一个优选实例中,一种基于GPU的多应用调度方法采用所述的基于GPU的多应用调度系统进行操作,应用调度模块4主要用该调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配,如图2所示,该调度方法按如下步骤执行:
步骤S1:从应用管理模块的执行失败应用队列和新进应用队列中选择最高优先级的应用;
步骤S2:在最高优先级的应用中,选出所需GPU内存小于剩余GPU内存量的应用,且将它们标记为待执行应用;
步骤S3:结合应用的数据局部性值、所需内存值和缓存信息从待执行应用中选中一个应用;
步骤S4:将被选中的应用提交给GPU执行,从系统信息模块中获取被选中应用的执行信息;
步骤S5:若被选中应用提交执行失败,则将该应用信息加入应用管理模块中的执行失败应用队列,若该应用执行成功,则删除应用管理模块中该应用信息。
在一个优选实例中,一种基于GPU的多应用调度方法中所述步骤3结合应用的数据局部性值、所需内存值和缓存信息从待执行应用中选中一个应用,如图3所示,步骤如下:
步骤S3-1:从待执行应用队列中搜索数据局部性值小于数据局部性值阈值且数据局部性值最小的应用;
步骤S3-2:若有该应用,则读取系统信息模块中缓存信息。若缓存没有被使用,则该应用被选中,若缓存已被使用,则将该应用加入应用管理模块中的执行失败队列;
步骤S3-3:如果没有小于数据局部性值阈值的应用,则选中待执行应用中所需GPU内存最小的应用。
以上所述仅是对本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。

Claims (6)

1.一种基于GPU的多应用调度系统,包括应用分析模块(1)、应用管理模块(2)、系统信息模块(3)和应用调度模块(4),其特征在于:
(1)所述应用分析模块(1)连接应用管理模块(2)和应用调度模块(4),主要用于分析应用所需GPU内存大小、数据局部性,并结合应用的优先级生成应用信息;
(2)所述应用管理模块(2)连接应用分析模块(1)和应用调度模块(4),主要将新应用和执行失败应用的信息分别按照时间先后顺序存放在两个队列里,称它们为新应用队列和执行失败应用队列;
(3)所述系统信息模块(3)连接应用调度模块(4),主要用于收集应用在GPU系统中执行信息和GPU内存和缓存信息;
(4)所述应用调度模块(4)连接应用分析模块(1)、应用管理模块(2)和系统信息模块(3),主要用一种基于GPU的多应用调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配;
所述应用分析模块(1)的功能:
应用数据局部性用该应用的缓存未命中率表示,应用数据局部性值等于应用缓存未命中率,并且将已知的应用数据局部性值保存到一个基本应用表中;
基本应用表的数据包括了已知应用的数据局部性值和GPU模拟器测试应用的数据局部性值;每次更新基本应用表后,用基本应用表中所有应用的数据局部性值的一个统计值作为数据局部性值阈值;
应用信息应记录应用名、应用进入系统的时间、应用的优先级、应用所需GPU内存大小和应用数据局部性值。
2.根据权利要求1所述的一种基于GPU的多应用调度系统,其特征在于:所述应用分析模块(1)中分析应用所需GPU内存大小的方法:
首先在应用源代码中搜索到GPU内存分配函数代码,然后从中获取GPU内存分配大小的参数值,并将参数值保存到应用信息中。
3.根据权利要求1所述的一种基于GPU的多应用调度系统,其特征在于:所述应用分析模块(1)的分析应用数据局部性方法如下:
分析应用的数据局部性首先查询基本应用表中是否存在该应用对应的数据局部性值;如果存在,则将其数据局部性值写入应用信息中,如果不存在,则将该应用数据局部性值设置为空,并将该应用提交给GPU模拟器进行仿真测试,并将测试后的应用数据局部性值写入基本应用表。
4.根据权利要求1所述的一种基于GPU的多应用调度系统,其特征在于:所述系统信息模块(3)主要用于收集应用在GPU系统中执行信息和GPU内存和缓存信息:
收集应用在GPU系统中执行信息通过跟踪应用执行的CPU进程来获取GPU内应用执行的信息,包括应用是否执行成功;
收集GPU内存信息首先根据应用执行信息判断应用是否执行,若应用执行,则用剩余GPU内存值减去应用所需的GPU内存值得到新的剩余GPU内存值,并将该值保留在一个信号量中;剩余GPU内存的初始值为GPU内存值;
收集缓存信息通过一个信号量保存缓存是否被使用的信息。
5.一种基于GPU的多应用调度方法,采用根据权利要求1所述的基于GPU的多应用调度系统进行操作,其特征在于:应用调度模块(4)主要用一种基于GPU的多应用调度方法调度应用的执行,以此实现GPU内存和缓存资源的分配,该方法按如下步骤执行:
步骤1:从应用管理模块的执行失败应用队列和新进应用队列中选择最高优先级的应用;
步骤2:在最高优先级的应用中,选出所需GPU内存小于剩余GPU内存量的应用,且将它们标记为待执行应用;
步骤3:结合应用的数据局部性值、所需内存值和缓存信息从待执行应用中选中一个应用;
步骤4:将被选中的应用提交给GPU执行,从系统信息模块中获取被选中应用的执行信息;
步骤5:若被选中应用提交执行失败,则将该应用信息加入应用管理模块中的执行失败应用队列,若该应用执行成功,则删除应用管理模块中该应用信息。
6.根据权利要求5所述的一种基于GPU的多应用调度方法,其特征在于:所述步骤3结合应用的数据局部性值、所需内存值和缓存信息从待执行应用中选中一个应用,步骤如下:
步骤3-1:从待执行应用中搜索数据局部性值小于数据局部性值阈值且数据局部性值最小的应用;
步骤3-2:若有该应用,则读取系统信息模块中缓存信息;若缓存没有被使用,则该应用被选中,若缓存已被使用,则将该应用加入应用管理模块中的执行失败应用队列;
步骤3-3:如果没有小于数据局部性值阈值的应用,则选中待执行应用中所需GPU内存最小的应用。
CN201910627242.6A 2019-07-12 2019-07-12 一种基于gpu的多应用调度系统和方法 Active CN110532071B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910627242.6A CN110532071B (zh) 2019-07-12 2019-07-12 一种基于gpu的多应用调度系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910627242.6A CN110532071B (zh) 2019-07-12 2019-07-12 一种基于gpu的多应用调度系统和方法

Publications (2)

Publication Number Publication Date
CN110532071A CN110532071A (zh) 2019-12-03
CN110532071B true CN110532071B (zh) 2023-06-09

Family

ID=68659673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910627242.6A Active CN110532071B (zh) 2019-07-12 2019-07-12 一种基于gpu的多应用调度系统和方法

Country Status (1)

Country Link
CN (1) CN110532071B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400035A (zh) * 2020-03-04 2020-07-10 杭州海康威视系统技术有限公司 一种显存分配方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521050A (zh) * 2011-12-02 2012-06-27 曙光信息产业(北京)有限公司 一种面向cpu和gpu的混合调度方法
CN106959891A (zh) * 2017-03-30 2017-07-18 山东超越数控电子有限公司 一种实现gpu调度的集群管理方法和系统
CN109992385A (zh) * 2019-03-19 2019-07-09 四川大学 一种基于任务均衡调度的gpu内部能耗优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102890643B (zh) * 2012-07-26 2015-01-21 上海交通大学 基于应用效果即时反馈的显卡虚拟化下的资源调度系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521050A (zh) * 2011-12-02 2012-06-27 曙光信息产业(北京)有限公司 一种面向cpu和gpu的混合调度方法
CN106959891A (zh) * 2017-03-30 2017-07-18 山东超越数控电子有限公司 一种实现gpu调度的集群管理方法和系统
CN109992385A (zh) * 2019-03-19 2019-07-09 四川大学 一种基于任务均衡调度的gpu内部能耗优化方法

Also Published As

Publication number Publication date
CN110532071A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
Bifet et al. New ensemble methods for evolving data streams
CN110019267A (zh) 一种元数据更新方法、装置、系统、电子设备及存储介质
CN102043863B (zh) 一种Web服务聚类的方法
CN110008192A (zh) 一种数据文件压缩方法、装置、设备及可读存储介质
CN114721844B (zh) 数据缓存方法和装置、计算机设备、存储介质
CN111340240A (zh) 实现自动机器学习的方法及装置
CN109598250A (zh) 特征提取方法、装置、电子设备和计算机可读介质
CN113360803A (zh) 基于用户行为的数据缓存方法、装置、设备及存储介质
CN110532071B (zh) 一种基于gpu的多应用调度系统和方法
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
CN116662839A (zh) 基于多维智能采集的关联大数据聚类分析方法及装置
Ha et al. Selective deep convolutional neural network for low cost distorted image classification
CN117271100B (zh) 算法芯片集群调度方法、装置、计算机设备和存储介质
US11354936B1 (en) Incremental clustering for face recognition systems
CN113591900A (zh) 一种高需求响应潜力用户的识别方法、装置及终端设备
CN113472860A (zh) 大数据和数字化环境下的业务资源分配方法及服务器
KR20170059546A (ko) IoT 사물 및 IoT 서비스 분석 방법 및 장치
CN108830302B (zh) 一种图像分类方法、训练方法、分类预测方法及相关装置
Xiong et al. ShenZhen transportation system (SZTS): a novel big data benchmark suite
CN111767419A (zh) 图片搜索方法、装置、设备及计算机可读存储介质
CN115391047A (zh) 资源调度方法及装置
CN112804446B (zh) 基于云平台大数据的大数据处理方法及装置
CN113641705A (zh) 一种基于计算引擎的营销处置规则引擎方法
CN114579404A (zh) 冷热页统计方法以及装置
CN113886081A (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
GR01 Patent grant
GR01 Patent grant