CN110743164B - 一种用于降低云游戏中响应延迟的动态资源划分方法 - Google Patents
一种用于降低云游戏中响应延迟的动态资源划分方法 Download PDFInfo
- Publication number
- CN110743164B CN110743164B CN201910997975.9A CN201910997975A CN110743164B CN 110743164 B CN110743164 B CN 110743164B CN 201910997975 A CN201910997975 A CN 201910997975A CN 110743164 B CN110743164 B CN 110743164B
- Authority
- CN
- China
- Prior art keywords
- group
- response delay
- ipc
- resource
- cloud game
- 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
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/352—Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/531—Server assignment
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种用于降低云游戏中响应延迟的动态资源划分方法,适用于通过对服务器上的共享资源划分解决云游戏***响应延迟过高的问题。包括:1、回归出云游戏***中服务器上各个进程IPC与响应延迟的线性关系。2、测量各个进程在不同分组不同资源划分时的IPC数据。3、建立机器学习模型,对给定分组,给定资源划分下,分组中各进程IPC与对应权重相乘之和进行预测。4、使用启发式算法找到使响应延迟最低的分组方式。5、建立多智能体Q‑learning模型,多个智能体协同工作、动态地调整资源。6、训练模型,直至Q‑table收敛。本发明能够有效地对云游戏***中服务器上的共享资源进行划分,从而降低云游戏***中服务器端的响应延迟。
Description
【技术领域】
本发明属于云游戏技术领域,特别地,涉及一种降低云游戏中响应延迟的动态资源划分方法。
【背景技术】
伴随着宽带网络速度的快速提升以及云计算技术的迅速发展,云游戏逐渐普及开来,被视为是未来游戏的趋势。在云游戏中,游戏运行在云服务器上,玩家通过瘦客机与游戏进行交互。云服务器将游戏画面编码成视频,通过网络传送给玩家,玩家在客户端解码、显示游戏画面,并将游戏操作命令发送到运行游戏的云服务器上。
云游戏有着传统主机游戏所不具备的优势。云游戏可以让玩家在任何时间、任何地点、任何设备上体验高质量的游戏。同时,云游戏将整个游戏运行的运算量都放到了云上,大大降低了高端游戏对终端设备的硬件需求。然而,云游戏在具有一系列显著优点的同时,也带来了较大的响应延迟,成为制约云游戏发展的关键因素。
众所周知,高端游戏对游戏的交互延迟非常敏感。云游戏中的交互延迟通常是由网络延迟(网络往返时间)、服务器端响应延迟(游戏渲染、视频采集和传输)和客户端播放延迟(视频解码和显示)三部分组成的。其中,服务器端响应延迟通常主导着交互延迟。因为包括游戏呈现、视频编码和传输任务在内的大部分计算都是在服务器端进行处理的。这严重影响了玩家的游戏体验。
现有的研究工作已经尝试从加速视频编码、预测渲染帧等多个方面来降低云游戏***的响应延迟。其中,加速云游戏视频编码主要通过对游戏引擎和视频编解码器进行修改,将一些来自游戏引擎的信息直接输入到编解码器中来提高视频编码和解码的速度。这种方法可以使编码速度提高大约24%,但是需要对游戏引擎和编解码器进行修改。预测渲染帧技术将预测用户输入和投机执行相结合,对用户的输入进行预测并提前进行渲染出多个可能的游戏画面,然后根据用户的实际输入选择正确的画面,通过这种方法可以显著的提高游戏的流畅程度,但是会耗费较多的计算资源。以上的方法都可以有效的降低云游戏的响应延迟。然而,到目前为止,似乎还没有人考虑过通过对服务器上的共享资源进行划分来优化云游戏中的响应延迟。
【发明内容】
本发明的目的是解决现有云游戏***响应延迟过高的问题,提供一种用于降低云游戏中响应延迟的动态资源划分方法,能够有效地对云游戏***中服务器上的共享资源(CPU核、LLC)进行划分,降低服务器端响应延迟。
一种用于降低云游戏中响应延迟的动态资源划分方法。该方法的流程参照图1,其主要步骤包括:
步骤1(S1),找到云游戏***中服务器上各个进程IPC与响应延迟的关系,回归出各进程IPC与响应延迟的线性关系;
步骤2(S2),测量各个进程在不同分组不同资源划分时单独的IPC数据,为接下来建立机器学习预测模型提供训练集;
步骤3(S3),建立机器学习预测模型,对给定分组、给定资源划分下,分组中各进程IPC与对应权重相乘之和进行预测;
步骤4(S4),根据机器学习预测模型的预测结果,使用启发式算法找到使响应延迟最低的分组方式;
步骤5(S5),建立多智能体Q-learning模型,对于每一个进程组建立一个Q-table,多个智能体协同工作动态地调整资源;
步骤6(S6),对多智能体Q-learning模型进行训练,直至Q-table收敛。
其中,步骤3所述的机器学习模型输入为n+2维,其中n为云游戏***中服务器上的进程数量,输出为1维。每个进程组是一条数据,输入向量前n维是分组信息,每一维代表一个进程,若该进程在进程组中,则将该维数据的值设为1,否则设为0,输入后两维是该分组资源信息,分别代表该组的CPU核数和CACHE数。输出信息为分组中各进程IPC与对应权重相乘之和。
步骤4所述的启发式算法如图2所示,其具体细节如下:一开始将所有的进程放到一个进程组里,然后每次迭代将进程组一分为二。在每次迭代中,首先创建一个空组,然后试着将原进程组的每一个进程加入到新的组中。再对原进程组中的资源进行重新分配,将原进程组中的CUP核和LLC分给两个组,遍历所有的资源分配方式,找到使响应延迟最低的资源分配方式。如果此响应延迟比原延迟低,就将进程放到新的组里,否则,仍将进程保留在原进程组里。重复这个过程,直到进程分成两组的收益比不分组低或者进程组中只剩下一个进程。
步骤5所述的多智能体Q-learning模型的具体细节如下:状态空间可以使用一个三元组<i,j,k>表示,i代表当前组划分得到的cpu核的个数,j代表当前组划分得到的LLC的大小,k代表当前组中进程在前资源划分和负载下的IPC加权和;动作空间使用一个二元组<p,q>表示,p代表增加或减少的CPU核的个数,q代表增加或减少的LLC大小;奖励为对于每个进程组,在当前状态下,agent智能体采取动作后该组的IPC加权和的值。
步骤5所述的多个智能体协同工作动态地调整资源(即选取动作的策略)如图3所示,其具体细节如下:多个智能体采取贪心策略选取联合动作,对于每种资源,每次选取两个进程组进行一个单位资源的增或减操作(资源变更不超出限制),遍历所有的进程组对,根据Q-table中的值和线性公式计算出每个联合动作的响应延迟的预期值,找到使响应延迟预期值最低的一个联合动作。对于其他资源,重复操作,则此时各个智能体所进行的全部资源变更动作则为本次的最终联合动作。
步骤6所述的对多智能体Q-learning模型进行训练的过程可以概括为:首先,将所有的Q-table值都初始化为0。然后,在云游戏***中运行游戏和Q-learning模型进行训练。在训练的每一步,根据协同策略选择联合动作,并根据联合动作为进程组分配资源。观察动作执行后进程组的IPC加权和作为奖励,并根据Q-learning更新公式更新Q-table中相应的值,直至最终Q-table值收敛。
本发明的优点和有益效果:
本发明通过对云游戏***中服务器上的CPU核和最后一级缓存进行动态划分,缓解了云游戏***对服务器上共享资源的竞争强度,使得共享资源得到更加合理的配置,从而降低了云游戏***中服务器端的响应延迟。实验结果表明,本发明最终能够降低服务器端大概20%左右的响应延迟。
【附图说明】
图1是本发明的用于降低云游戏中响应延迟的动态资源划分方法的流程图。
图2是本发明的基于机器学习预测结果选取最佳进程分组的启发式算法的流程图。
图3是本发明的多智能体Q-learning模型联合选取动作的流程图。
图4是本发明的降低云游戏响应延迟的效果图。
【具体实施方式】
为便于理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,下述实施例仅仅是本发明的一部分实施实例,而不是全部的实施实例。基于本发明中的方法思想和实施实例,本领域的技术人员所获得的其他实施实例,都属于本发明的保护范畴。
GamingAnywhere(GA)是一个开源云游戏平台,我们使用GA为例搭建云游戏环境对本发明进行说明。GA由两部分组成,GA客户端和GA服务器,我们使用一台物理主机作为服务器,其配置参数如下:8核的Intel i7-77003.4GHz CPU、10MB LLC,24GB内存,NVIDIAGeForce GTX 1060GPU和Linux OS。我们以CPU和LLC两种共享资源为例进行划分,其中CPU以物理核为单位进行划分,LLC以1MB的粒度进行划分。我们以valley、nexuiz、supertux2、alienarena、dota2等五个游戏为例展示本发明的详细步骤。
首先,找到云游戏***中服务器上各个进程IPC与响应延迟的关系,回归出各进程IPC与响应延迟的线性关系。GA在服务器上有8个主要进程,分别为video、game、server、audio、rtsp、xorg、paudio、compiz。对于每个游戏,我们随机生成进程分组(进程组的数量、每个组的成员以及组之间的资源分配都是随机生成的),对于每种分组方式,我们在服务器上运行游戏并测量服务器响应延迟和8个进程组的IPC,并对IPC和响应延迟做线性回归分析,其结果如表1所示。
表1
然后,将进程随机分组,对各组进行随机资源划分,测量出每个进程的IPC,为机器学习预测模型收集训练数据。对于某个特定的游戏,我们生成1000组随机资源分组方案,随机生成进程分组数,随机生成每组进程数,按照每组进程数为每个分组随机分配进程,为每组随机分配CPU核和LLC,之后测量出在该种分组、该种资源分配下各进程的IPC。
获得足够的数据后,就可以建立机器学习预测模型进行预测。机器学习模型的输入为10维,输出为1维。每个分组是一条数据,输入向量前8维是分组信息,若该进程在该分组中,则用“1”表示,否则用0表示,输入后两维是该分组资源信息,分别代表该组的CPU核数和LLC数。输出信息为分组中各进程IPC与对应权重相乘之和。我们使用了决策树(DTR)、梯度提升决策树(GBRT)、随机森林(RF)、支持向量机(SVR)等4种常见的机器学习算法进行预测,其结果如表2所示。
表2
DTR | GBRT | RF | SVR | |
Valley | 88.0% | 97.4% | 86.7% | 67.7% |
Nexuiz | 96.9% | 92% | 91.3% | 92% |
Supertux2 | 98.7% | 97.1% | 96.8% | 85.2% |
Alienarena | 96.0% | 65.7% | 93.2% | 81% |
Dota2 | 92.4% | 92.8% | 91.4% | 56% |
随后,可以根据机器学习预测结果使用启发式算法得到最佳的进程分组方式,其结果如表3所示。
表3
然后,就可以建立起多智能体的Q-learning模型,对于每一个进程组使用一个单独的智能体,多个智能体按照协同策略选取联合动作。Q-learning的状态空间为当前进程组得到的CPU核和LLC大小以及当前资源划分和负载下进程组的IPC加权和,动作空间为CPU核和LLC的增减,奖励为每个进程组,在当前状态下,智能体采取动作后该组的IPC的加权和。
最后,在云游戏环境中对多智能体进行训练,待所有的Q-table收敛后,就可以使用训练好的模型动态地调整云游戏中的共享资源。我们对本方法的效果进行了测试,并与不进行资源划分做了对比,其最终结果如图4所示。通过图4可知,与资源共享的情况相比,本方法可以通过对共享资源划分有效的降低云游戏中的响应延迟,提高云游戏的游戏体验。
以上对本发明的云游戏中的动态资源划分方法进行了详细的介绍,本发明中应用了具体个例对本发明的原理及实施方式进行阐述,以上实例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种用于降低云游戏中响应延迟的动态资源划分方法,其特征在于,包括:
步骤1,找到云游戏***中服务器上各个进程IPC与响应延迟的关系,回归出各进程IPC与响应延迟的线性关系;
步骤2,测量各个进程在不同分组不同资源划分时单独的IPC数据,为接下来建立机器学习预测模型提供训练集;
步骤3,建立机器学习预测模型,对给定分组、给定资源划分下,分组中各进程IPC与对应权重相乘之和进行预测;
步骤4,根据机器学习预测模型的预测结果,使用启发式算法找到使响应延迟最低的分组方式;
步骤5,建立多智能体Q-learning模型,对于每一个进程组建立一个Q-table,多个智能体协同工作、动态地调整资源;
步骤6,对多智能体Q-learning模型进行训练,直至Q-table收敛。
2.根据权利要求1所述的方法,其特征在于,步骤3所述的机器学习预测模型的输入为n+2维,其中n为云游戏***中服务器上的相关进程数量,输出为1维;每个进程组是一条数据,输入向量前n维是分组信息,每一维代表一个进程,若该进程在进程组中,则将该维数据的值设为1,否则设为0,输入后两维是该分组资源信息,分别代表该组的CPU核数和LLC数;输出信息为分组中各进程IPC与对应权重相乘之和。
3.根据权利要求2所述的方法,其特征在于,步骤4所述的启发式算法的具体细节如下:一开始将所有的进程放到一个进程组里,然后每次迭代将进程组一分为二;在每次迭代中,首先创建一个空的进程组,然后试着将原进程组的每一个进程加入到新的组中,再对原进程组中的资源进行重新分配,将原进程组中的CPU核和LLC分给两个组,遍历所有的资源分配方式,找到使响应延迟最低的资源分配方式;如果此响应延迟比原延迟低,就将进程放到新的组里,否则,仍将进程保留在原进程组里;重复这个过程,直到进程分成两组的收益比不分组低或者进程组中只剩下一个进程。
4.根据权利要求3所述的方法,其特征在于,步骤5所述的多智能体Q-learning模型的具体细节如下:状态空间使用一个三元组<i,j,k>表示,i代表当前组划分得到的CPU核的个数,j代表当前组划分得到的LLC的大小,k代表当前组中进程在前资源划分和负载下的IPC加权和;动作空间使用一个二元组<p,q>表示,p代表增加或减少的CPU核的个数,q代表增加或减少的LLC大小;奖励为对于每个进程组,在当前状态下,agent采取动作后该组的IPC加权和的值。
5.根据权利要求1所述的方法,其特征在于,步骤5所述的多个智能体协同工作过程中选取联合动作的策略可以概括为:多个智能体采取贪心策略选取联合动作,对于每种资源,每次选取两个进程组进行一个单位资源的增或减操作,遍历所有的进程组对,根据Q-table中的值和线性公式计算出每个联合动作的响应延迟的预期值,找到使响应延迟预期值最低的一个联合动作;对于其他资源,重复操作,则此时各个智能体所进行的全部资源变更动作则为本次的最终联合动作。
6.根据权利要求1所述的方法,其特征在于,步骤6所述的对多智能体Q-learning模型进行训练的过程概括如下:首先,将所有的Q-table值都初始化为0;然后,在云游戏***中运行游戏和Q-learning模型进行训练;在训练的每一步,多个智能体根据协同工作过程中选取联合动作的策略选择各自的动作,并根据联合动作为进程组分配资源;观察动作执行后进程组的IPC加权和作为奖励,并根据Q-learning更新公式更新Q-table中相应的值,直至最终Q-table值收敛。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910997975.9A CN110743164B (zh) | 2019-10-21 | 2019-10-21 | 一种用于降低云游戏中响应延迟的动态资源划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910997975.9A CN110743164B (zh) | 2019-10-21 | 2019-10-21 | 一种用于降低云游戏中响应延迟的动态资源划分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110743164A CN110743164A (zh) | 2020-02-04 |
CN110743164B true CN110743164B (zh) | 2023-01-20 |
Family
ID=69278966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910997975.9A Active CN110743164B (zh) | 2019-10-21 | 2019-10-21 | 一种用于降低云游戏中响应延迟的动态资源划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110743164B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113497932B (zh) * | 2020-04-07 | 2022-10-18 | 上海交通大学 | 测量视频传输时延的方法、***及介质 |
CN116983617B (zh) * | 2023-09-25 | 2024-01-05 | 深圳云天畅想信息科技有限公司 | 跨集群资源调度方法、计算机装置及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130307847A1 (en) * | 2010-12-06 | 2013-11-21 | The Regents Of The University Of California | Rendering and encoding adaptation to address computation and network |
EP3491793B1 (en) * | 2016-07-29 | 2023-12-13 | Telefonaktiebolaget LM Ericsson (publ) | System and method for resource-aware and time-critical iot frameworks |
WO2018053717A1 (en) * | 2016-09-21 | 2018-03-29 | Accenture Global Solutions Limited | Dynamic resource allocation for application containers |
CN106648890A (zh) * | 2016-12-06 | 2017-05-10 | 中国科学院重庆绿色智能技术研究院 | 一种能耗感知的云计算服务器资源在线管理方法和*** |
CN108241526B (zh) * | 2016-12-26 | 2023-09-05 | 摩根士丹利服务集团有限公司 | 基于模式预测的自适应控制策略 |
CN109889576B (zh) * | 2019-01-18 | 2021-11-02 | 天津大学 | 一种基于博弈论的移动云游戏资源优化方法 |
-
2019
- 2019-10-21 CN CN201910997975.9A patent/CN110743164B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110743164A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113950066B (zh) | 移动边缘环境下单服务器部分计算卸载方法、***、设备 | |
Zhan et al. | A deep reinforcement learning based offloading game in edge computing | |
Wang et al. | Computation offloading in multi-access edge computing using a deep sequential model based on reinforcement learning | |
CN113434212B (zh) | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 | |
Guo et al. | Cloud resource scheduling with deep reinforcement learning and imitation learning | |
WO2019196127A1 (zh) | 一种云计算任务分配方法、装置、设备及存储介质 | |
CN105704255B (zh) | 一种基于遗传算法的服务器负载均衡方法 | |
CN109818786B (zh) | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 | |
CN112988345A (zh) | 一种基于移动边缘计算的依赖型任务卸载方法及装置 | |
CN113778691B (zh) | 一种任务迁移决策的方法、装置及*** | |
CN110743164B (zh) | 一种用于降低云游戏中响应延迟的动态资源划分方法 | |
CN113037800B (zh) | 作业调度方法以及作业调度装置 | |
Arouj et al. | Towards energy-aware federated learning on battery-powered clients | |
Asghari et al. | Combined use of coral reefs optimization and reinforcement learning for improving resource utilization and load balancing in cloud environments | |
Dai et al. | Towards scalable and efficient Deep-RL in edge computing: A game-based partition approach | |
Dinaki et al. | Boosted metaheuristic algorithms for QoE-aware server selection in multiplayer cloud gaming | |
Bao et al. | Deep learning-based job placement in distributed machine learning clusters with heterogeneous workloads | |
Dinaki et al. | Gpu/qoe-aware server selection using metaheuristic algorithms in multiplayer cloud gaming | |
WO2021115082A1 (zh) | 作业调度方法以及作业调度装置 | |
Wang et al. | Computation offloading via Sinkhorn’s matrix scaling for edge services | |
CN108289115B (zh) | 一种信息处理方法及*** | |
CN112596910A (zh) | 一种多用户mec***中的云计算资源调度方法 | |
Gerogiannis et al. | Deep reinforcement learning acceleration for real-time edge computing mixed integer programming problems | |
Nylander et al. | Modeling of request cloning in cloud server systems using processor sharing | |
CN114980216A (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 |