GPU的性能均衡调度方法、存储介质及电子终端技术

技术编号:18350023 阅读:38 留言:0更新日期:2018-07-01 22:57
本发明专利技术提供一种GPU的性能均衡调度方法、存储介质及电子终端,所述方法包括:收集各个共享应用的各级缓存运行时统计信息和当前的流处理器簇分配方案;由训练好的运行时压力提取器提取各个共享应用在二级缓存和内存带宽上所承受到的压力;将收集到的运行时统计信息和该共享应用的压力作为输入,由训练好的冲突性能下降预测器预测输出该共享应用的冲突性能下降程度,由训练好的拓展性能下降预测器预测输出该共享应用的拓展性能下降程度;根据该共享应用的冲突性能下降程度和拓展性能下降程度,获取GPU的性能的不均衡度并根据不均衡度确定重新分配流处理器簇的流处理器簇新分配方案。本发明专利技术可以保证共享应用之间性能下降程度的均衡。

【技术实现步骤摘要】
GPU的性能均衡调度方法、存储介质及电子终端
本专利技术涉及处理器
,特别是涉及GPU
,具体为一种GPU的性能均衡调度方法、存储介质及电子终端。
技术介绍
随着诸如语音识别,机器翻译,个人私人助手等计算密集型应用的大量部署,主流的私用数据中心或公用云平台已经开始大量使用像GPU等协处理器来应对传统CPU计算能力不足的问题。GPU最开始是为图形图像计算而设计的专用处理器,而由于其具有传统CPU所无法匹敌的并行性,越来越多的非图形图像应用迁移到GPU平台以满足其迅速增长的计算需求。但研究表明,非图形图像应用往往不具有足够的的并行度以充分利用GPU的硬件资源,从而导致硬件资源的浪费。另一方面,由于GPU架构及工艺的发展,越来越多的流多处理器(StreamingMultiprocessor,SM)被集成到一块GPU之中,使得资源浪费的问题更加突出。为此,空间并行即多个应用同时运行共享一块GPU,被提出用以解决上诉问题。相关的研究表明,使用空间并行可以大幅提高GPU的资源利用率及系统的整体性能。当多个应用共享GPU时,它们彼此之间会竞争1)流多处理器,2)二级共享缓存和3)全局内存带宽。因此,在共享GPU的情况下各个应用的性能相比于其独占整块GPU时的性能都会出现下降。同时由于不同的应用往往具有不同的性能拓展性和对于共享二级缓存及全局内存带宽竞争的敏感度,所以传统中所采用的在各个应用之间均分流多处理器的调度方案并不能保证各个共享GPU的应用之间性能的公平性,即各个应用具有不同性能下降程度。对于多租户的云平台来说,保证各个共享应用之间性能的公平性具有重要的意义。如果各个共享应用之间性能的公平性无法得到保证,根据博弈论相关的理论,平台用户倾向于抵制与其他用户共享一块GPU,从而使得通过使用空间并行以提升GPU资源利用率和系统整体性能的机会大幅减少,不利于与其他平台竞争。因此在使用空间并行技术提升资源利用率和系统整体性能的基础上,保证各个共享应用之间性能的公平性具有重要的意义。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种GPU的性能均衡调度方法、存储介质及电子终端,通过准确的性能下降程度预测以及动态的SM分配调度,以保证在使用空间并行技术提升资源利用率和系统整体性能的基础上,同时确保各个共享应用之间性能的公平性。为实现上述目的及他相关目的,本专利技术一种GPU的性能均衡调度方法,所述性能均衡调度方法包括:收集各个共享应用的各级缓存运行时统计信息和当前的流处理器簇分配方案;由训练好的运行时压力提取器提取各个共享应用在二级缓存和内存带宽上所承受到的压力;将收集到的共享应用的运行时统计信息和该共享应用所承受到的各种共享资源上的压力作为输入,由训练好的冲突性能下降预测器预测输出该共享应用的冲突性能下降程度,由训练好的拓展性能下降预测器预测输出该共享应用的拓展性能下降程度;根据预测输出的该共享应用的冲突性能下降程度和拓展性能下降程度,获取GPU的性能的不均衡度并根据所述不均衡度确定重新分配流处理器簇的流处理器簇新分配方案。于本专利技术的一实施例中,训练所述运行时压力提取器的训练过程包括:分别设计针对二级缓存和内存带宽的多个压力测量程序;分别设计针对二级缓存和内存带宽的多个压力发生器;令多个所述压力测量程序与多个所述压力发生器共享GPU运行并收集相应的运行时统计信息并测量二级缓存和内存带宽上产生的压力值;将收集到的运行时统计信息作为输入,将测量得到的压力值作为输出,训练预设的神经网络,形成所述运行时压力提取器。于本专利技术的一实施例中,训练所述冲突性能下降预测器和训练所述拓展性能下降预测器的训练过程包括:选取多个应用程序;令多个所述应用程序与多个所述压力发生器共享GPU运行并收集相应的运行时统计信息,测量二级缓存和内存带宽上产生的压力值、应用程序的冲突性能下降程度以及应用程序的拓展性能下降程度;将收集到的运行时统计信息和测量得到的压力值作为输入,将应用程序的冲突性能下降程度作为输出,训练预设的神经网络,形成所述冲突性能下降预测器;将收集到的运行时统计信息和测量得到的压力值作为输入,将应用程序的拓展性能下降程度作为输出,训练预设的神经网络,形成所述冲突性能下降预测器。于本专利技术的一实施例中,将收集到的运行时统计信息作为输入,将测量得到的压力值作为输出,训练预设的神经网络,形成所述运行时压力提取器具体包括:将收集到的运行时统计信息作为输入,将测量得到的二级缓存压力值作为输出,训练预设的神经网络,形成二级缓存压力提取器;将收集到的运行时统计信息作为输入,将测量得到的内存带宽压力值作为输出,训练预设的神经网络,形成内存带宽压力提取器。于本专利技术的一实施例中,所述二级缓存压力提取器和所述内存带宽压力提取器使用的所述神经网络包含一个输入层,两个隐藏层和一个输出层;其中,所述隐藏层神经元的个数等于输入的数量;所述神经网络的激化函数采用的是LeakyRelu函数。于本专利技术的一实施例中,所述冲突性能下降程度即在流处理器簇数目固定的情况下,应用程序在存在二级缓存和内存带宽上竞争时的性能相对于没有竞争时性能的下降程度;所述拓展性能下降程度即在完全没有共享缓存和内存带宽上的竞争的情况下,一个应用程序在使用特定数目流处理器簇时的性能相对于其独占整块GPU时的性能的下降程度。于本专利技术的一实施例中,获取GPU的性能的不均衡度具体包括:所述根据预测输出的该共享应用的冲突性能下降程度和拓展性能下降程度获取共享应用的真实性能下降程度,并根据所述真实性能下降程度获取GPU的性能的不均衡度;其中,所述真实性能下降程度等于相应的冲突性能下降程度与拓展性能下降程度的乘积。于本专利技术的一实施例中,所述根据所述不均衡度确定重新分配流处理器簇的流处理器簇新分配方案信息具体包括:如果不均衡度超过了设定的阈值,则进行重新分配,在进行重新分配时,采用与预设算法每次重新分配当前性能下降程度最小的应用和最大的应用的1个流处理器簇来逐步的减少不均衡度,当新的分配方案与最初的分配方案的距离大于特定阈值时,确定当前的新的分配方案为流处理器簇新分配方案。本专利技术的实施例还提供一种存储介质,包括GPU处理器和存储器,所述存储器存储有程序指令,所述GPU处理器运行程序指令实现如上所述的方法。本专利技术的实施例还提供一种电子终端,包括GPU处理器和存储器,所述存储器存储有程序指令,所述GPU处理器运行程序指令实现如上所述的方法。如上所述,本专利技术的一种GPU的性能均衡调度方法、存储介质及电子终端,具有以下有益效果:本专利技术提供了一套面向抢占式共享多任务GPU的性能均衡调度机制。该机制可以在不增加硬件支持的前提下,确保使用空间并行提升GPU资源利用率和系统整体性能的基础上,进一步保证共享应用之间性能下降程度的均衡,本专利技术的成果可以直接用在多租户的公有云环境中,以保证各个共享用户之间性能的公平性。附图说明图1显示为本专利技术的一种GPU的性能均衡调度方法的流程示意图。图2显示为本专利技术的一种GPU的性能均衡调度方法的软件架构图。图3显示为本专利技术的一种GPU的性能均衡调度方法应用的硬件系统架构图。图4显示为本专利技术的GPU的性能均衡调度方法离线训练阶段的流程示意图。图5显示为本专利技术的GPU的性能均衡本文档来自技高网
...
GPU的性能均衡调度方法、存储介质及电子终端

【技术保护点】
1.一种GPU的性能均衡调度方法,其特征在于,所述性能均衡调度方法包括:收集各个共享应用的各级缓存运行时统计信息和当前的流处理器簇分配方案;由训练好的运行时压力提取器提取各个共享应用在二级缓存和内存带宽上所承受到的压力;将收集到的共享应用的运行时统计信息和该共享应用所承受到的各种共享资源上的压力作为输入,由训练好的冲突性能下降预测器预测输出该共享应用的冲突性能下降程度,由训练好的拓展性能下降预测器预测输出该共享应用的拓展性能下降程度;根据预测输出的该共享应用的冲突性能下降程度和拓展性能下降程度,获取GPU的性能的不均衡度并根据所述不均衡度确定重新分配流处理器簇的流处理器簇新分配方案。

【技术特征摘要】
1.一种GPU的性能均衡调度方法,其特征在于,所述性能均衡调度方法包括:收集各个共享应用的各级缓存运行时统计信息和当前的流处理器簇分配方案;由训练好的运行时压力提取器提取各个共享应用在二级缓存和内存带宽上所承受到的压力;将收集到的共享应用的运行时统计信息和该共享应用所承受到的各种共享资源上的压力作为输入,由训练好的冲突性能下降预测器预测输出该共享应用的冲突性能下降程度,由训练好的拓展性能下降预测器预测输出该共享应用的拓展性能下降程度;根据预测输出的该共享应用的冲突性能下降程度和拓展性能下降程度,获取GPU的性能的不均衡度并根据所述不均衡度确定重新分配流处理器簇的流处理器簇新分配方案。2.根据权利要求1所述的GPU的性能均衡调度方法,其特征在于,训练所述运行时压力提取器的训练过程包括:分别设计针对二级缓存和内存带宽的多个压力测量程序;分别设计针对二级缓存和内存带宽的多个压力发生器;令多个所述压力测量程序与多个所述压力发生器共享GPU运行并收集相应的运行时统计信息并测量二级缓存和内存带宽上产生的压力值;将收集到的运行时统计信息作为输入,将测量得到的压力值作为输出,训练预设的神经网络,形成所述运行时压力提取器。3.根据权利要求2所述的GPU的性能均衡调度方法,其特征在于,训练所述冲突性能下降预测器和训练所述拓展性能下降预测器的训练过程包括:选取多个应用程序;令多个所述应用程序与多个所述压力发生器共享GPU运行并收集相应的运行时统计信息,测量二级缓存和内存带宽上产生的压力值、应用程序的冲突性能下降程度以及应用程序的拓展性能下降程度;将收集到的运行时统计信息和测量得到的压力值作为输入,将应用程序的冲突性能下降程度作为输出,训练预设的神经网络,形成所述冲突性能下降预测器;将收集到的运行时统计信息和测量得到的压力值作为输入,将应用程序的拓展性能下降程度作为输出,训练预设的神经网络,形成所述冲突性能下降预测器。4.根据权利要求2所述的GPU的性能均衡调度方法,其特征在于,将收集到的运行时统计信息作为输入,将测量得到的压力值作为输出,训练预设的神经网络,形成所述运行时压力提取器具体包括:将收集到的运行时统计信息作为输入...

【专利技术属性】
技术研发人员:过敏意赵文益陈全徐莉婷
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1