CN111277665A - 基于干扰性度量的3d应用调度方法、装置、终端和存储介质 - Google Patents

基于干扰性度量的3d应用调度方法、装置、终端和存储介质 Download PDF

Info

Publication number
CN111277665A
CN111277665A CN202010092554.4A CN202010092554A CN111277665A CN 111277665 A CN111277665 A CN 111277665A CN 202010092554 A CN202010092554 A CN 202010092554A CN 111277665 A CN111277665 A CN 111277665A
Authority
CN
China
Prior art keywords
interference
application
node
nodes
applications
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.)
Granted
Application number
CN202010092554.4A
Other languages
English (en)
Other versions
CN111277665B (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.)
Parallel Cloud Technology Beijing Co Ltd
Original Assignee
Parallel Cloud Technology Beijing 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 Parallel Cloud Technology Beijing Co Ltd filed Critical Parallel Cloud Technology Beijing Co Ltd
Priority to CN202010092554.4A priority Critical patent/CN111277665B/zh
Publication of CN111277665A publication Critical patent/CN111277665A/zh
Application granted granted Critical
Publication of CN111277665B publication Critical patent/CN111277665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供基于干扰性度量的3D应用调度方法、装置、终端以及存储介质,所述方法应用于服务器集群,所述服务器集群包括多个节点,每个所述节点上运行若干3D应用,所述方法包括:获取所有预选节点的集合,所述预选节点为所述多个节点中,其上已有各3D应用的实际运行性能指标均在第一预定范围内且GPU使用率在第二预定范围内的节点;计算所述获取的所有节点的干扰竞争度,所述节点的干扰竞争度为节点上已有各3D应用的平均干扰竞争度之和;基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上。本申请不需要借助于硬件性能计数器等底层的性能测量指标,能广泛应用在包括Windows在内的各种操作系统平台之上。

Description

基于干扰性度量的3D应用调度方法、装置、终端和存储介质
技术领域
本申请涉及云服务中3D应用调度技术领域,具体而言,涉及基于干扰性度量的3D应用调度方法和装置。
背景技术
以在线培训、云游戏为代表的交互式图形应用在人们的生活、学习和工作中正占据越来越重要的地位。在这种模式下,用户通过客户端与远端的渲染服务器连接,享受云计算带来的便捷服务,使得用户不必为了使用高端交互式图形服务而自行购买昂贵的图形服务器,在成本和安全性等方面拥有诸多优势。
最初的服务提供商采用独占GPU的方式,一个用户独享一台物理服务器。这往往造成GPU资源的巨大浪费。为了提高资源的使用率并降低运营成本,现在普遍使用虚拟化技术来使得一台物理服务器可以运行多个图形应用。但多个图形实例协存运行的时候,相互之间会有性能的干扰,由于图形应用的典型交互式特点,使得这种干扰会极大的影响用户体验质量。
很多学者对应用协存的干扰性问题进行了研究,但主要是针对CPU计算型应用展开的。对于应用干扰性研究的一个基本问题是:应该采用什么指标来衡量应用之间的干扰性?一个曾广泛使用的指标是通过LLC(Last Level Cache)丢失率来衡量的。加拿大西蒙弗雷泽大学的Sergey Zhuravlev等人通过线程对内存的使用方式来对线程进行分类,并进而决定如何把线程分配到多个CPU核上以降低相互之间的干扰,该方法需要用到应用的缓存使用特征,但准确的测量应用的缓存使用指标在实际操作中是很困难的。美国密歇根大学的Jason Mars等人则基于LLC丢失率提出了一种动态的干扰感知的调度方案,通过压制面向吞吐量的应用来保证延迟敏感的应用获得足够的资源以达到用户的QoS(Quality ofService)需求。密歇根大学的Lingjia Tang则通过动态的测量线程到CPU核之间的不同映射方式来确定线程的有效调度方案,但基于Direct3D或OpenGL的交互式图形应用的线程数量往往达到数十个甚至上百个,因此这种方案无法在实际中得到应用。
Lingjia Tang等人进一步对干扰性度量问题进行了深入调查,认为LLC丢失率无法衡量干扰之间的竞争性(contentiousness)和敏感性(sensitivity)特征,基于此研究结果,Jason Mars等人提出了Bubble-up方案,通过基准程序测量每个应用面对不同的内存子系统的压力时的性能降级来量化应用之间的干扰特征,但该方案需要把应用分配到不同的CPU核,只考虑应用之间的内存干扰特性。斯坦福大学的Christina Delimitrou等人则通过基准测试的方式,衡量每个应用对各种共享资源的干扰特征,通过协同过滤的方式来快速对应用进行分类,并根据分类信息利用贪心算法对任务进行调度。该方法需要运行大量的基准测试,采集大量的离线特征数据。以上方法侧重点在应用的性能预测,上海交通大学的Miao Yu等人通过在渲染循环中插入延时功能来控制不同游戏之间的GPU使用份额,而斯坦福大学的David Lo等人则利用Linux的CPU cap机制和Intel的CAT技术来控制共享资源在应用之间的划分和隔离。但这些机制对于Windows平台是不适用的。
当前大部分的工作往往分开考虑CPU资源和GPU资源之间的干扰,鲜有同时考虑两者的,南开大学的Yusen Li等人基于机器学习的方法预测云游戏协存时的性能降级。同时考虑到了应用对CPU和GPU资源的竞争问题,但需要手动采集大量的游戏运行数据作为训练数据集,往往要耗费大量的时间和精力,而且没有使用有效的控制机制来缓解游戏之间的性能干扰问题。
发明内容
有鉴于此,本申请提供基于干扰性度量的3D应用调度方法和装置,旨在通过度量3D应用之间的干扰性并基于该干扰性将3D应用在服务器集群中的各节点上进行调度,以弥补现有的云服务系统中对3D应用调度方案上的不足。
为实现上述目的,本申请采用的技术方案如下:
第一方面,本申请提供基于干扰性度量的3D应用调度方法,所述方法应用于服务器集群,所述服务器集群包括多个节点,每个所述节点上运行若干3D应用,所述方法包括:
获取所有预选节点的集合,所述预选节点为所述多个节点中,其上已有各3D应用的实际运行性能指标均在第一预定范围内且GPU使用率在第二预定范围内的节点;
计算所述获取的所有节点的干扰竞争度,所述节点的干扰竞争度为节点上已有各3D应用的平均干扰竞争度之和;
基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上。
可选地,所述基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上进一步包括:
基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点;
判断所述干扰竞争度最低的节点是否多于一个;
若是,则计算每个干扰竞争度最低的节点的干扰敏感度,并将待调度3D应用调度至干扰敏感度较低的节点上,所述节点的干扰敏感度为节点上已有各3D应用的平均干扰敏感度之和;
若否,将待调度3D应用调度至干扰竞争度最低的节点上。
可选地,所述3D应用的实际运行性能指标为:
Figure BDA0002384196760000031
其中Perf为3D应用的实际运行性能指标,FPS为3D应用的实际运行帧率,min FPS为用户指定的为满足体验需求的最小帧率。
所述3D应用的平均干扰竞争度的计算方法为:
Figure BDA0002384196760000041
其中,A表示待计算的3D应用;Bi为和A两两同时运行的3D应用;n为Bi的数量;FPSB(solo)表示B在没有任何干扰情况下的平均运行帧率;FPSB(A)表示B在受到A干扰下的平均帧率;ContentiousnessA(B)为A对B的干扰竞争度,ContentiousnessA(avg)为A的平均干扰竞争度。
可选地,所述获取所有预选节点的集合的具体方法为:
将所述多个节点中的每个节点上的已有各3D应用进行FPS公平性调整,判断经FPS公平性调整后的节点上的已有各3D应用实际运行性能是否均在第一预定范围内;
若否,则该节点不作为预选节点;
若是,则进一步判断节点GPU使用率是否在第二预定范围内,若是,则该节点作为预选节点,否则该节点不作为预选节点;
所述FPS公平性定义为单个节点上每个3D应用的实际运行性能指标Perf之间的差值在第三预定范围之内。
可选地,所述GPU使用率的计算方法为:
通过
Figure BDA0002384196760000042
计算3D应用A渲染每一帧需要的平均GPU时间,其中,FPSA(avg)为3D应用A本次测量的平均帧率,GPUusage为应用A的平均GPU使用率;
并通过
Figure BDA0002384196760000043
计算GPU使用率GPUUsage(T),其中,i表示不同的3D应用。
可选地,所述3D应用的平均干扰敏感度的计算方法为:
Figure BDA0002384196760000044
Figure BDA0002384196760000051
其中,FPSA(solo)表示A在没有任何干扰情况下的平均运行帧率;FPSA(B)表示A在受到B干扰下的平均帧率;SensitivityA(B)为A对应用B的干扰敏感度;SensitivityA(avg)表示A的平均干扰敏感度。
可选地,所述将所述多个节点中的每个节点上的已有各3D应用进行FPS公平性调整的具体方法为:
a.将节点上已有各3D应用按照用户指定的最小帧率min FPS运行,记录各3D应用的实际运行帧率和系统的GPU实际使用率GPUusage,如果GPUusage小于90%,转到步骤b,如果GPU使用率大于90%,转到步骤c;
b.设定各3D应用按照控制帧率
Figure BDA0002384196760000052
来运行,如果各3D应用之间的Perf差值小于10%,则调整完毕,否则,转到步骤d;
c.如果各3D应用的实际运行性能指标Perf均大于-10%,则不进行调整,否则,控制Perf大于-10%的3D应用按照ControlFPS=0.9×min FPS运行,调整结束;
d.按照各3D应用的Perf进行排序,并计算平均Perfavg,如果3D应用的Perf大于Perfavg,则控制其帧率为
Figure BDA0002384196760000053
调整结束。
第二方面,本申请还提供基于干扰性度量的3D应用调度装置,所述装置应用于服务器集群,所述服务器集群包括多个节点,每个所述节点上运行若干3D应用,所述装置包括:
第一获取单元,用于获取所有预选节点的集合,所述预选节点为所述多个节点中,其上已有各3D应用的实际运行性能指标均在第一预定范围内且GPU使用率在第二预定范围内的节点;
计算单元,用于计算所述获取的所有节点的干扰竞争度,所述节点的干扰竞争度为节点上已有各3D应用的平均干扰竞争度之和;
调度单元,用于基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上。
第三方面,本申请实施例还提供一种终端,包括:
处理器、存储器及通信单元;
所述存储器存储有所述处理器可执行的机器可读指令,当所述终端运行时,所述处理器与所述存储器之间通过所述通信单元通信;
其中,所述处理器执行所述机器可读指令,以执行上述各方面所述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述各方面所述的方法。
本申请的有益效果是:
1、应用的普适性
本申请不需要借助于硬件性能计数器等底层的性能测量指标,能广泛应用在包括Windows在内的各种操作系统平台之上。
2、快速的帧率公平性
本申请可以在很短的时间内让单节点上的应用尽快收敛到一个稳定的状态,且该状态对各个应用具有帧率公平性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请提供的基于干扰性度量的3D应用调度方法的流程示意图;
图2为本申请3D应用的平均干扰竞争度和平均干扰敏感度的条形示意图;
图3-5为本申请帧率公平性调整的实施效果图;
图6为本申请提供的基于干扰性度量的3D应用调度装置的示意图;
图7为本申请提供的一种终端的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
在云服务系统中,往往需要将多个3D应用在服务器集群中的各个节点上进行调度,现有的3D应用调度技术方案要么放任应用自行竞争资源的使用,要么基于最小服务质量限制应用运行在一个较低的运行水平,或者是基于GPU资源的公平性来实现应用调度,且它们的实现往往需要借助于测量大量的底层性能指标,而在Windows平台上要获取这样的指标有相当的难度。基于此,本申请提出一种基于干扰性度量的3D应用调度方案,以弥补现有技术的缺陷。
下面将结合具体实施例对本申请的技术方案加以解释。
如图1所示,本申请提供基于干扰性度量的3D应用调度方法,所述方法应用于服务器集群,所述服务器集群包括多个节点,每个所述节点上运行若干3D应用,所述方法包括:
S10:获取所有预选节点的集合,所述预选节点为所述多个节点中,其上已有各3D应用的实际运行性能指标均在第一预定范围内且GPU使用率在第二预定范围内的节点;
所述3D应用的实际运行性能指标为:
Figure BDA0002384196760000071
其中Perf为3D应用的实际运行性能指标,FPS为3D应用的实际运行帧率,min FPS为用户指定的为满足体验需求的最小帧率,需要小于应用单独运行时的实际帧率。
所述获取所有预选节点的集合的具体方法为:
将所述多个节点中的每个节点上的已有各3D应用进行FPS(帧率)公平性调整,判断经FPS公平性调整后的节点上的已有各3D应用实际运行性能是否均在第一预定范围内;
若否,则该节点不作为预选节点;
若是,则进一步判断节点GPU使用率是否在第二预定范围内,若是,则该节点作为预选节点,否则该节点不作为预选节点。
所述3D应用实际运行性能在第一预定范围内可描述为:Perf<K1,根据本申请具体实施例,所述K1优选取值为10%。
所述节点GPU使用率GPUUsage(T)是否在第二预定范围内可描述为:GPUUsage(T)≤K2,所述K2优选取值为90%。
所述FPS公平性定义为单个节点上每个3D应用的实际运行性能指标Perf的差值在第三预定范围之内。
FPS公平性可以描述为:|PerfA-PerfB|≤K3,所述K3的取值可为5%≤K3≤10%,根据本发明实施例,K3的最优取值为10%。其中,PerfA为应用A的实际运行性能指标,PerfB为应用B的实际运行性能指标。
作为可选的实施方式,所述将所述多个节点中的每个节点上的已有各3D应用进行FPS公平性调整的具体方法为:
a.将节点上已有各3D应用按照最小帧率运行,记录各3D应用的实际运行帧率和系统的GPU实际使用率GPUusage,如果GPUusage小于90%,转到步骤b,如果GPU使用率大于90%,转到步骤c;
b.设定各3D应用按照控制帧率
Figure BDA0002384196760000081
来运行,如果各3D应用之间的Perf差值小于10%,则调整完毕,否则,转到步骤d;
c.如果各3D应用的实际运行性能指标Perf均大于-10%,则不进行调整,否则,控制Perf大于-10%的3D应用按照ControlFPS=0.9×min FPS运行,调整结束;
d.按照各3D应用的Perf进行排序,并计算平均Perfavg,如果3D应用的Perf大于Perfavg,则控制其帧率为
Figure BDA0002384196760000082
调整结束。
作为优选的实施方式,所述GPU使用率的计算方法为:
通过
Figure BDA0002384196760000083
计算3D应用A渲染每一帧需要的平均GPU时间,单位为毫秒。其中,FPSA(avg)为3D应用A本次测量的平均帧率,GPUusrge为应用A的平均GPU使用率,本测量的依据在于Windows的GPU调度器VidSch对3D引擎的串行化使用方式,在具体实施时,也可将应用A以不同的帧率运行多次,得到每次应用A的平均帧率,进而得到多个GPUTimeA,再对该多个GPUTimeA求平均值。
然后通过
Figure BDA0002384196760000084
计算节点的GPU使用率GOUUsage(T),其中,i表示不同的3D应用。
S20:计算所述获取的所有节点的干扰竞争度,所述节点的干扰竞争度为节点上已有各3D应用的平均干扰竞争度之和;
作为可选的实施方式,所述3D应用的平均干扰竞争度的计算方法为:
Figure BDA0002384196760000091
其中,A表示待计算的3D应用;Bi为和A两两同时运行的3D应用;n为Bi的数量;FPSB(solo)表示B在没有任何干扰情况下的平均运行帧率;FPSB(A)表示B在受到A干扰下的平均帧率;ContentiousnessA(B)为A对B的干扰竞争度,ContentiousnessA(avg)为A的平均干扰竞争度。
具体可在Windows平台上运行单个3D应用B,获得单个应用B的平均运行帧率FPSB(solo),表示应用B在没有任何干扰下的运行帧率。
当两个应用A和B运行的时候,获取每个应用运行的平均帧率FPSA(B)和FPSB(A),分别表示应用A在受到应用B干扰下的平均帧率和应用B在受到应用A干扰下的平均帧率。
S30:基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上。
作为可选的实施方式,所述基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上进一步包括:
基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点;
判断所述干扰竞争度最低的节点是否多于一个;
若是,则计算每个干扰竞争度最低的节点的干扰敏感度,并将待调度3D应用调度至干扰敏感度较低的节点上,所述节点的干扰敏感度为节点上已有各3D应用的平均干扰敏感度之和;
若否,将待调度3D应用调度至干扰竞争度最低的节点上。
作为可选的实施方式,所述3D应用的平均干扰敏感度的计算方法为:
Figure BDA0002384196760000092
其中,FPSA(solo)表示A在没有任何干扰情况下的平均运行帧率;FPSA(B)表示A在受到B干扰下的平均帧率;SensitivityA(B)为A对应用B的干扰敏感度;SensitivityA(avg)表示A的平均干扰敏感度。
应用A在受到应用B干扰时的性能降级情况,称为应用A对应用B的干扰敏感度。根据应用A对多个应用Bi的干扰敏感度即可计算A的平均干扰敏感度SensitivityA(avg)
随着应用的数量的添加,获得的数据量随之增加,需要通过计算来更新每个应用的平均干扰敏感度和平均干扰竞争度。
通过设计具体的运算算法来量化3D应用之间的干扰竞争性和干扰敏感性,且该量化算法简单、准确、易行,不需要采集大量的特征数据,提高了算法的效率。
需要说明的是,K1、K2、K3的取值可根据实际情况,本申请实施例的具体取值并不用以限制其取值范围,凡是能实现本申请原理的所有其他取值均属于本申请的保护范围之内。
图2为本申请3D应用的平均干扰竞争度和平均干扰敏感度的条形示意图,其示出了对8个3D应用app1-app8的帧率平均干扰敏感度和干扰竞争度的测量结果,从图示可说明基于这两个特征是可以区分3D应用的干扰性的,因此本申请基于干扰性度量方法进行应用调度是可行且合理的。
图3为基于帧率公平性调度的实施效果图,上图为应用的帧率变化,下图为对应的GPU使用率。在该实施方式中,app1的最小帧率设定为45,app2的最小帧率设定为30,开始的时候两个应用以最小帧率运行,但GPU没有得到充分利用,使用本申请的方案,只一次调整就达到了帧率公平性,同时也提高了GPU的使用率。
图4为基于帧率公平性调度的另一实施效果图,在该实施方式中,两个应用的最小运行帧率设为30,此时GPU资源使用率较低,经过一次调整后提高了GPU使用率,但app1的性能明显偏低,最后通过对app2进行帧率公平性调整,两个应用达到了帧率公平性,GPU资源使用率也大大提高。
图5为基于帧率公平性调度的又一实施效果图,在该实施方式中,两个应用的最小帧率均设定为50,运行后app1无法达到最小帧率,通过对app2进行帧率公平性调整,一次达到了FPS公平性,而且保持了GPU资源的高使用率。
如图6所示,本申请还提供基于干扰性度量的3D应用调度装置,所述装置应用于服务器集群,所述服务器集群包括多个节点,每个所述节点上运行若干3D应用,所述装置包括:
第一获取单元610,用于获取所有预选节点的集合,所述预选节点为所述多个节点中,其上已有各3D应用的实际运行性能指标均在第一预定范围内且GPU使用率在第二预定范围内的节点;
所述3D应用的实际运行性能指标为:
Figure BDA0002384196760000111
其中Perf为3D应用的实际运行性能指标,FPS为3D应用的实际运行帧率,min FPS为用户指定的为满足体验需求的最小帧率,需要小于应用单独运行时的实际帧率。
所述第一获取单元610进一步包括:
帧率公平性调整单元611,用于将所述多个节点中的每个节点上的已有各3D应用进行FPS(帧率)公平性调整;
判断选择单元612,用于判断经FPS公平性调整后的节点上的已有各3D应用实际运行性能是否均在第一预定范围内;
若否,则该节点不作为预选节点;
若是,则进一步判断节点GPU使用率是否在第二预定范围内,若是,则该节点作为预选节点,否则该节点不作为预选节点。
所述3D应用实际运行性能在第一预定范围内可描述为:Perf<K1,根据本申请具体实施例,所述K1优选取值为10%。
所述节点GPU使用率GPUUsage(T)是否在第二预定范围内可描述为:GPUUsage(T)≤K2,所述K2优选取值为90%。
所述FPS公平性定义为单个节点上每个3D应用的实际运行性能指标Perf的差值在第三预定范围之内。
FPS公平性可以描述为:|PerfA-PerfB|≤K3,所述K3的取值可为5%≤K3≤10%,根据本发明实施例,K3的最优取值为10%。其中,PerfA为应用A的实际运行性能指标,PerfB为应用B的实际运行性能指标。
所述帧率公平性调整单元611进一步用于实施下述步骤:
a.将节点上已有各3D应用按照最小帧率运行,记录各3D应用的实际运行帧率和系统的GPU实际使用率GPUuasge。如果GPUusage小于90%,转到步骤b,如果GPU使用率大于90%,转到步骤c。
b.设定各3D应用按照控制帧率
Figure BDA0002384196760000121
来运行,如果各3D应用之间的Perf差值小于10%,则调整完毕,否则,转到步骤d。
c.如果各3D应用的实际运行性能指标Perf均大于-10%,则不进行调整,否则,控制Perf大于-10%的3D应用按照ControlFPS=O.9×min FPS运行,调整结束。
d.按照各3D应用的Perf进行排序,并计算平均Perfavg,如果3D应用的Perf大于Perfavg,则控制其帧率为
Figure BDA0002384196760000122
调整结束。
作为优选的实施方式,所述GPU使用率的计算方法为:
通过
Figure BDA0002384196760000123
计算3D应用A渲染每一帧需要的平均GPU时间,单位为毫秒。其中,FPSA(avg)为3D应用A本次测量的平均帧率,GPUusage为应用A的平均GPU使用率,在具体实施时,也可将应用A以不同的帧率运行多次,得到每次运行的平均帧率,进而得到多个GPUTimeA,再对该多个GPUTimeA求平均值。
然后通过
Figure BDA0002384196760000124
计算节点的GPU使用率GPUUsage(T),其中,i表示不同的3D应用。
计算单元620,具体用于计算所述获取的所有节点的干扰竞争度,所述节点的干扰竞争度为节点上已有各3D应用的平均干扰竞争度之和;
作为可选的实施方式,所述3D应用的平均干扰竞争度的计算方法为:
Figure BDA0002384196760000125
其中,A表示待计算的3D应用;Bi为和A两两同时运行的3D应用;n为Bi的数量;FPSB(solo)表示B在没有任何干扰情况下的平均运行帧率;FPSB(A)表示B在受到A干扰下的平均帧率;ContentiousnessA(B)为A对B的干扰竞争度,ContentiousnessA(avg)为A的平均干扰竞争度。
具体可在Windows平台上运行单个3D应用B,获得单个应用B的平均运行帧率FPSB(solo),表示应用B在没有任何干扰下的运行帧率。
当两个应用A和B运行的时候,获取每个应用运行的平均帧率FPSA(B)和FPSB(A),分别表示应用A在受到应用B干扰下的平均帧率和应用B在受到应用A干扰下的平均帧率。
调度单元630,用于基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上。
作为可选的实施方式,所述调度单元630进一步包括:
第二获取单元631,用于基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点;
判断单元632,用于判断所述干扰竞争度最低的节点是否多于一个;
第一调度子单元633,用于若是,则计算每个干扰竞争度最低的节点的干扰敏感度,并将待调度3D应用调度至干扰敏感度较低的节点上,所述节点的干扰敏感度为节点上已有各3D应用的平均干扰敏感度之和;
第二调度子单元634,用于若否,将待调度3D应用调度至干扰竞争度最低的节点上。
作为可选的实施方式,所述3D应用的平均干扰敏感度的计算方法为:
Figure BDA0002384196760000131
其中,FPSA(solo)表示A在没有任何干扰情况下的平均运行帧率;FPSA(B)表示A在受到B干扰下的平均帧率;SensitivityA(B)为A对应用B的干扰敏感度;SensitivityA(avg)表示A的平均干扰敏感度。
应用A在受到应用B干扰时的性能降级情况,称为应用A对应用B的干扰敏感度。根据应用A对多个应用Bi的干扰敏感度即可计算A的平均干扰敏感度SensitivityA(avg)
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上装置(system-on-a-chip,简称SOC)的形式实现。
图7为本申请提供的一种终端的结构示意图,如图4所示,该终端700可以用于执行本申请实施例提供的基于干扰性度量的3D应用调度方法。
其中,该终端700可以包括:处理器710、存储器720及通信单元730。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器720可以用于存储处理器710的执行指令,存储器720可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器720中的执行指令由处理器710执行时,使得终端700能够执行以下上述方法实施例中的部分或全部步骤。
处理器710为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器710可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本申请实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元730,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本申请首先对应用的干扰性特征进行度量,并在单机上基于帧率(FPS)公平性来调整应用的CPU资源使用以在最大化GPU使用率的同时来尽量保证各应用的帧率公平性,在二者的基础之上构建一个普适性的3D应用调度方法,该方法能运用在包括windows在内的各种操作系统平台上,且无需采集大量的测试数据,实现方法简单,算法执行效率高。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.基于干扰性度量的3D应用调度方法,其特征在于,所述方法应用于服务器集群,所述服务器集群包括多个节点,每个所述节点上运行若干3D应用,所述方法包括:
获取所有预选节点的集合,所述预选节点为所述多个节点中,其上已有各3D应用的实际运行性能指标均在第一预定范围内且GPU使用率在第二预定范围内的节点;
计算所述获取的所有节点的干扰竞争度,所述节点的干扰竞争度为节点上已有各3D应用的平均干扰竞争度之和;
基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上。
2.如权利要求1所述的基于干扰性度量的3D应用调度方法,其特征在于,所述基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上进一步包括:
基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点;
判断所述干扰竞争度最低的节点是否多于一个;
若是,则计算每个干扰竞争度最低的节点的干扰敏感度,并将待调度3D应用调度至干扰敏感度较低的节点上,所述节点的干扰敏感度为节点上已有各3D应用的平均干扰敏感度之和;
若否,将待调度3D应用调度至干扰竞争度最低的节点上。
3.如权利要求1或2所述的基于干扰性度量的3D应用调度方法,其特征在于,所述3D应用的实际运行性能指标为:
Figure FDA0002384196750000011
其中Perf为3D应用的实际运行性能指标,FPS为3D应用的实际运行帧率,min FPS为用户指定的为满足体验需求的最小帧率;
所述3D应用的平均干扰竞争度的计算方法为:
Figure FDA0002384196750000012
其中,A表示待计算的3D应用;Bi为和A两两同时运行的3D应用;n为Bi的数量;FPSB(solo)表示B在没有任何干扰情况下的平均运行帧率;FPSB(A)表示B在受到A干扰下的平均帧率;ContentiousnessA(B)为A对B的干扰竞争度,ContentiousnessA(avg)为A的平均干扰竞争度。
4.如权利要求1或2所述的基于干扰性度量的3D应用调度方法,其特征在于,所述获取所有预选节点的集合的具体方法为:
将所述多个节点中的每个节点上的已有各3D应用进行FPS公平性调整,判断经FPS公平性调整后的节点上的已有各3D应用实际运行性能是否均在第一预定范围内;
若否,则该节点不作为预选节点;
若是,则进一步判断节点GPU使用率是否在第二预定范围内,若是,则该节点作为预选节点,否则该节点不作为预选节点;
所述FPS公平性定义为单个节点上每个3D应用的实际运行性能指标Perf的差值在第三预定范围之内。
5.如权利要求1或2所述的基于干扰性度量的3D应用调度方法,其特征在于,所述GPU使用率的计算方法为:
通过
Figure FDA0002384196750000021
计算3D应用A渲染每一帧需要的平均GPU时间,其中,FPSA(avg)为3D应用A本次测量的平均帧率,GPUusage为应用A的平均GPU使用率;
并通过
Figure FDA0002384196750000022
计算GPU使用率GPUUsage(T),其中,i表示不同的3D应用。
6.如权利要求2所述的基于干扰性度量的3D应用调度方法,其特征在于,所述3D应用的平均干扰敏感度的计算方法为:
Figure FDA0002384196750000023
其中,FPSA(solo)表示A在没有任何干扰情况下的平均运行帧率;FPSA(B)表示A在受到B干扰下的平均运行帧率;SensitivityA(B)为A对应用B的干扰敏感度;SensitivityA(avg)表示A的平均干扰敏感度。
7.如权利要求4所述的基于干扰性度量的3D应用调度方法,其特征在于,所述将所述多个节点中的每个节点上的已有各3D应用进行FPS公平性调整的具体方法为:
a.将节点上已有各3D应用按照用户指定的最小帧率min FPS运行,记录各3D应用的实际运行帧率和系统的GPU实际使用率GPUusage,如果GPUusage小于90%,转到步骤b,如果GPU使用率大于90%,转到步骤c;
b.设定各3D应用按照控制帧率
Figure FDA0002384196750000031
来运行,如果各3D应用之间的Perf差值小于10%,则调整完毕,否则,转到步骤d;
c.如果各3D应用的实际运行性能指标Perf均大于-10%,则不进行调整,否则,控制Perf大于-10%的3D应用按照ControlFPS=0.9×min FPS运行,调整结束;
d.按照各3D应用的Perf进行排序,并计算平均Perfavg,如果3D应用的Perf大于Perfavg,则控制其帧率为
Figure FDA0002384196750000032
调整结束。
8.基于干扰性度量的3D应用调度装置,其特征在于,所述装置应用于服务器集群,所述服务器集群包括多个节点,每个所述节点上运行若干3D应用,所述装置包括:
第一获取单元,用于获取所有预选节点的集合,所述预选节点为所述多个节点中,其上已有各3D应用的实际运行性能指标均在第一预定范围内且GPU使用率在第二预定范围内的节点;
计算单元,用于计算所述获取的所有节点的干扰竞争度,所述节点的干扰竞争度为节点上已有各3D应用的平均干扰竞争度之和;
调度单元,用于基于所述计算的节点的干扰竞争度,获取干扰竞争度最低的节点,将待调度3D应用调度至干扰竞争度最低的节点上。
9.一种终端,其特征在于,包括:
处理器、存储器及通信单元;
所述存储器存储有所述处理器可执行的机器可读指令,当所述终端运行时,所述处理器与所述存储器之间通过所述通信单元通信;
其中,所述处理器执行所述机器可读指令,以执行权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行权利要求1-7任一项的方法。
CN202010092554.4A 2020-02-14 2020-02-14 基于干扰性度量的3d应用调度方法、装置、终端和存储介质 Active CN111277665B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010092554.4A CN111277665B (zh) 2020-02-14 2020-02-14 基于干扰性度量的3d应用调度方法、装置、终端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010092554.4A CN111277665B (zh) 2020-02-14 2020-02-14 基于干扰性度量的3d应用调度方法、装置、终端和存储介质

Publications (2)

Publication Number Publication Date
CN111277665A true CN111277665A (zh) 2020-06-12
CN111277665B CN111277665B (zh) 2022-04-08

Family

ID=71002584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010092554.4A Active CN111277665B (zh) 2020-02-14 2020-02-14 基于干扰性度量的3d应用调度方法、装置、终端和存储介质

Country Status (1)

Country Link
CN (1) CN111277665B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187531A (zh) * 2015-09-09 2015-12-23 上海赛为信息技术有限公司 应用于云计算虚拟化服务器集群的负载均衡的系统及方法
US20180341524A1 (en) * 2017-05-24 2018-11-29 Joydeep Sen Sarma Task packing scheduling process for long running applications
CN109002359A (zh) * 2018-09-03 2018-12-14 郑州云海信息技术有限公司 一种计算节点服务器的调度方法及相关装置
CN110290180A (zh) * 2019-05-31 2019-09-27 北京大米科技有限公司 分布式任务调度方法、装置、计算机设备和存储介质
CN110489223A (zh) * 2019-08-26 2019-11-22 北京邮电大学 一种异构集群中任务调度方法、装置及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187531A (zh) * 2015-09-09 2015-12-23 上海赛为信息技术有限公司 应用于云计算虚拟化服务器集群的负载均衡的系统及方法
US20180341524A1 (en) * 2017-05-24 2018-11-29 Joydeep Sen Sarma Task packing scheduling process for long running applications
CN109002359A (zh) * 2018-09-03 2018-12-14 郑州云海信息技术有限公司 一种计算节点服务器的调度方法及相关装置
CN110290180A (zh) * 2019-05-31 2019-09-27 北京大米科技有限公司 分布式任务调度方法、装置、计算机设备和存储介质
CN110489223A (zh) * 2019-08-26 2019-11-22 北京邮电大学 一种异构集群中任务调度方法、装置及电子设备

Also Published As

Publication number Publication date
CN111277665B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
Toka et al. Machine learning-based scaling management for kubernetes edge clusters
Berral et al. Adaptive scheduling on power-aware managed data-centers using machine learning
US9575810B2 (en) Load balancing using improved component capacity estimation
US9755988B2 (en) Method and system for arbitraging computer resources in a cloud computing environment
US8397239B2 (en) Virtual computer systems and computer virtualization programs
US8909567B2 (en) Method and system for the dynamic allocation of resources based on fairness, throughput, and user behavior measurement
Zhu et al. A performance interference model for managing consolidated workloads in QoS-aware clouds
Huang et al. Cap3: A cloud auto-provisioning framework for parallel processing using on-demand and spot instances
US11876731B2 (en) System and methods for sharing memory subsystem resources among datacenter applications
CN111124687B (zh) 一种cpu资源预留方法、装置及其相关设备
CN112272203A (zh) 一种集群业务节点选择方法、系统、终端及存储介质
CN104182278B (zh) 一种判定计算机硬件资源繁忙程度的方法和装置
US11153375B2 (en) Using reinforcement learning to scale queue-based services
CN106662909A (zh) 操作系统中的启发式处理器电力管理
CN108132839B (zh) 一种资源调度方法及装置
CN113544647A (zh) 云计算系统中使用虚拟机系列建模的容量管理
CN110188932A (zh) 基于评价优化的数据中心能耗预测方法
CN109857633B (zh) 一种任务算力估计方法、装置和存储介质
CN111277665B (zh) 基于干扰性度量的3d应用调度方法、装置、终端和存储介质
US9501321B1 (en) Weighted service requests throttling
CN109800085A (zh) 资源配置的检测方法、装置、存储介质和电子设备
CN113158435A (zh) 基于集成学习的复杂系统仿真运行时间预测方法与设备
CN111475251A (zh) 一种集群容器调度方法、系统、终端及存储介质
CN105335267B (zh) 一种服务器温度预测方法、装置及系统
CN109815067A (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