CN110351571A - 基于深度强化学习的直播视频云转码资源分配与调度方法 - Google Patents
基于深度强化学习的直播视频云转码资源分配与调度方法 Download PDFInfo
- Publication number
- CN110351571A CN110351571A CN201910603809.6A CN201910603809A CN110351571A CN 110351571 A CN110351571 A CN 110351571A CN 201910603809 A CN201910603809 A CN 201910603809A CN 110351571 A CN110351571 A CN 110351571A
- Authority
- CN
- China
- Prior art keywords
- transcoding
- node
- network
- task
- neural network
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013468 resource allocation Methods 0.000 title claims abstract description 15
- 238000013528 artificial neural network Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000004088 simulation Methods 0.000 claims description 39
- 238000013527 convolutional neural network Methods 0.000 claims description 3
- 238000005520 cutting process Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 8
- 238000009826 distribution Methods 0.000 abstract description 4
- 238000010801 machine learning Methods 0.000 abstract description 2
- 238000011156 evaluation Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000036461 convulsion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4437—Implementing a Virtual Machine [VM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种基于深度强化学习的直播视频云转码资源分配与调度方法,属于机器学习领域和多媒体内容处理领域。该方法在训练阶段,通过在模拟环境中对转码过程进行仿真,训练一个能够根据转码任务工作负载变化动态调整云计算资源分配的神经网络,并在分配的云计算资源上调度直播视频内容的转码任务;在执行阶段,利用训练好的神经网络,根据系统状态作出资源分配的实时决策并在云平台上调度转码任务。该发明基于深度强化学习方法,能够根据转码任务负载变化动态调整云计算资源规模,节省资源使用开销;基于对转码任务时间上下限的估算方法,能够及时完成转码任务的调度执行,满足服务质量要求。
Description
技术领域
本发明提出了一种基于深度强化学习的直播视频云转码资源分配与调度方法,属于机器学习领域和多媒体内容处理领域。
背景技术
近年来,以Twitch、斗鱼、快手等为代表的移动直播平台在市场上取得了巨大成功。目前,每个月有超过320万名主播在Twitch上开播,每天的活跃观众超过15万人。在这些平台上,视频内容的生产和制作不再限于专业的内容生产机构,数量众多的普通用户也可以使用各种终端设备向全球的观众分享游戏、娱乐等生活内容。
作为连接内容生产者和内容消费者的桥梁,直播平台需要将主播上传的视频转换为不同分辨率和码率的多个版本,以适配不同的用户设备和网络带宽,提高用户观看直播的体验。视频转码本质上是对视频先解码,再编码的过程,需要消耗大量的计算资源。为了避免维护大量专用转码服务器带来的高额运营成本,很多直播平台选择使用可以弹性扩展和按实际使用量收费的云端转码服务为直播业务提供支撑。例如,快手和映客分别使用了腾讯云和阿里云的转码服务。
作为转码服务的提供方,云计算平台需要保证转码服务的稳定、高效。通常,转码服务的用户(即直播平台)会与云服务提供商签订服务等级协议(Service LevelAgreement, SLA),就转码服务的质量标准达成约定,云平台需要根据直播流的到达情况为其分配足够的计算资源,以满足服务等级协议的要求。
然而,与传统的视频点播应用相比,移动直播应用由于其独特的业务模式,对转码资源的需求也有所不同:(1)实时性:在直播过程中,观众可以通过发送文字信息与主播进行互动,因此直播画面的实时性对用户体验至关重要;(2)动态性:转码任务的计算需求取决于源视频与目标视频的格式,在直播应用中,主播使用各种类型的终端设备录制直播内容,因此主播上传的视频格式具有多样性。另外,主播的直播时间和时长有很大的随意性,因此造成云端接收到的直播流的数量和长度随时间动态变化。(3)不确定性:主播每次直播的内容都有变化,对提供转码服务的云平台而言,无法通过相同内容转码时间的历史记录对当前直播流的转码时间进行准确预测。
由于直播视频的上述特点,在难以实现对直播转码工作负载实时、精准预测的情况下,为了满足服务等级协议的约定,云服务提供商往往预先分配冗余的计算资源以保证服务质量,一是造成了计算资源的浪费,同时也提高了运营成本。
现有的方法中,在转码任务的云计算资源分配方面,主要采用启发式算法确定资源配额,例如,对系统服务质量设定阈值上下限U和L,若系统服务质量高于阈值上限U,就减少一定的计算资源;若系统服务质量低于阈值L,就增加一定的计算资源。这种方法由于控制资源分配的决策规则是根据预先设定的场景或条件制定,当系统的状态变化超出预先设定的规律时,往往无法及时做出调整,导致资源超分或分配不足,影响直播业务的运行;在转码任务调度方面,现有的方法主要采用先到先服务的策略,即对已有的转码任务按到达时间安排调度优先级,对先到达的任务优先安排执行,这种方法没有考虑由于直播内容不同而造成的转码时间差异,容易导致转码超时。
发明内容
本发明的目的是为克服已有技术的不足之处,提出一种基于深度强化学习的直播视频云转码资源分配与调度方法。本发明能够根据转码任务负载变化动态调整云计算资源规模,及时完成转码任务的调度执行,节省资源使用开销,满足服务质量要求。
本发明提出一种基于深度强化学习的直播视频云转码资源分配与调度方法,其特征在于,包括以下步骤:
1)训练阶段;具体步骤如下:
1-1)云端服务器将用户上传的视频流切分为连续的视频块,根据每个视频块的格式以及系统的转码配置,对每个视频块生成对应的转码任务并放入任务队列;
1-2)将云端服务器每个计算机进程作为一个训练节点,所有训练节点分为两类:第一类是中心节点,共1个;第二类是模拟执行节点,包括除了中心节点以外的所有节点;
1-3)在每个训练节点上设置一个神经网络,各节点上的神经网络具有相同的网络结构;每个神经网络包括一个策略网络和一个评估网络;其中,所述策略网络共四层,第一层包含一个一维卷积神经网络和两个全连接神经网络,第一层的每个网络分别连接第二层的融合网络,第二层的融合网络连接第三层的全连接神经网络,第三层的全连接神经网络连接第四层的概率归一化函数Softmax层;所述评估网络共四层,其中前三层的网络结构与策略网路相同,评估网络第三层的全连接神经网络连接第四层层的全连接神经网络;
1-4)在中心节点上使用全置为0的方式初始化该节点神经网络中策略网络的参数向量θ和评估网络的参数向量θv;
1-5)在每个模拟执行节点上使用随机化的方式初始化该节点神经网络中策略网络的参数向量θ’和评估网络的参数向量θv’;
1-6)初始化计时器t=1;
1-7)重复执行以下步骤直至计时器达到预设的最大时间t=tmax,中心节点得到训练完毕的神经网络;具体步骤如下:
1-7-1)在每个模拟执行节点上从中心节点同步参数向量:θ’=θ,θv’=θv;
1-7-2)在每个模拟执行节点上模拟运行n步,并收集每一步对应的一条训练记录;当收集n条训练记录后,模拟执行节点将n条训练记录发送给中心节点,然后进入步骤 1-7-3);每个模拟执行节点每一步具体流程如下:
1-7-2-1)每个模拟执行节点的神经网络接收当前系统状态一维向量表示t时刻过去k个时间段的转码任务工作量,标量dt表示在从t-1到t的时间段内未能在时限以前完成的转码任务的百分比,nt表示从t-1到t的时间段内激活的虚拟机实例的数量;
当t=1时,设置为全0,dt设置为0,nt设置为系统为转码任务预留的最大虚拟机数量;
1-7-2-2)模拟执行节点的神经网络根据系统状态st输出决策动作at;at为整数;若at>0,则表示从t到t+1的时间段内在云计算平台新激活at台虚拟机;若at<0,则表示从t到t+1的时间段内关闭at台虚拟机;若at=0,则表示下一个时间段内的虚拟机数量无变化;
1-7-2-3)从t到t+1的时间段内,任务队列中的转码任务按如下方式被调度执行:
对每一个转码任务其中,i是视频流编号,j是视频块在视频流中的顺序编号,p是转码的参数配置,按如下方法估计该转码任务的执行时间上下限:
执行时间上限其中,是视频流i中第j个视频块在转码配置为p时的转码任务的执行时间上限;表示在视频流i中所有顺序号小于j的视频块在转码配置为p时的转码时间记录组成的集合,P95th(·)表示集合的95分位数,即同一个直播流之前的视频块在相同转码配置下的转码时间记录的 95分位数;
执行时间下限其中,是视频流i中第j个视频块在转码配置为p时的转码任务的执行时间上限;表示在视频流i 中所有顺序号小于j的视频块在转码配置为p时的转码时间记录组成的集合,P5th(·)表示集合的5分位数,即同一个直播流之前的视频块在相同转码配置下的转码时间记录的5分位数;
对每一个转码任务确定其调度优先级其中,是转码任务的执行时限;
对每一个转码任务确定其放弃时间
检查任务队列任务队列中的每个转码任务,若其放弃时间早于当前系统时间,则放弃执行,将其从任务队列任务队列中移出;
检查每个正在执行的转码任务,若其执行时限早于当前系统时间,则表示该任务已超时,放弃执行;
对每一台处于激活状态但是未执行转码任务的虚拟机,依次从任务队列中取出最小的任务,分配给该虚拟机;
1-7-2-4)在t+1时刻,模拟执行节点得到新的系统状态st+1,和该时间段内的系统收益rt;其中,rt定义如下:
其中,ct=cv·nt表示该时间段内的计算资源开销;
wt表示该时间段内单位时间执行的转码任务量;
是服务质量开销;
其中∈是折扣系数,η是服务等级协议约定的服务质量阈值;
1-7-2-5)模拟执行节点收集一条模拟运行的记录{st,at,rt};
1-7-3)中心节点根据如下公式更新策略网络的参数向量θ:
然后令t=t+1,重新返回步骤1-7-1);
1-7-4)中心节点根据如下公式更新评估网络的参数向量θv:
然后令t=t+1,重新返回步骤1-7-1);
2)执行阶段;具体步骤如下:
2-1)在任意t时刻,收集当前系统状态st,输入步骤1)训练完毕的神经网络;
2-2)神经网络根据系统状态st,输出对应的资源分配的决策动作
2-3)根据决策动作,对数量为的虚拟机进行激活或关闭;
2-4)在从t到t+1的下一个时间段内,重复步骤1-7-2-3),将转码任务调度到虚拟机上执行。
本发明的特点及有益效果在于:
本发明采用深度强化学习技术,利用训练好的神经网络来提取转码工作负载的变化趋势特征,使系统可以对计算资源需求量的变化提前做出合理的应对,另外,利用同一直播流画面的相似性,估计转码任务执行时间的上下限,合理调度转码任务,保证服务质量、节省资源开销。
附图说明
图1为本发明方法的整体流程图。
图2为本发明中训练阶段流程图。
图3是本发明中神经网络的结构示意图。
图4是本发明中多节点并行训练的流程示意图。
具体实施方式
本发明提出一种基于深度强化学习的直播视频云转码资源分配与调度方法,下面结合附图和具体实施例对本发明进一步详细说明如下。
本发明提出一种基于深度强化学习的直播视频云转码资源分配与调度方法,整体流程如图1所示,包括以下步骤:
1)训练阶段;整体流程如图2所示,具体步骤如下:
1-1)云端服务器的转码系统将用户上传的视频流切分为若干个连续的视频块,根据每个视频块的格式以及系统的转码配置,对每个视频块生成若干个对应的转码任务并放入任务队列。
所述转码系统是云端服务器上为直播视频转码搭建的服务系统,包括云计算的硬件资源和相对应的软件系统。
1-2)训练过程在云端服务器的多个计算机进程上并行进行,将每个计算机进程作为一个训练节点,本发明使用的训练节点数量范围为4至64个。训练节点包括两类:第一类是中心节点,共1个,该节点不进行具体的转码任务模拟执行,仅收集其他节点上的模拟执行结果,并以此进行神经网络的参数更新;第二类是模拟执行节点,包括除了中心节点以外的所有节点,该类节点对转码任务进行模拟执行,并收集模拟执行过程中的参数记录,传输给中心节点,以供神经网络更新参数;所述中心节点所在的进程在整个过程开始之前由系统运行人员指定,一旦指定,在后续过程中不再变更。
1-3)在每个训练节点上部署一个神经网络,各节点上的神经网络具有相同的网络结构。本发明所采用神经网络的结构见图3所示,每个神经网络包括一个策略网络和一个评估网络。其中,策略网络共四层,第一层包含一个一维卷积神经网络(128个4*1的卷积核,步长为1)和两个全连接神经网络(128个神经元);第二层包含一个融合网络,融合网络分别把第一层每个网络的输出结果展开,并拼接为一个一维向量;第三层包含一个全连接神经网络(128个神经元);最后一层包含一个概率归一化函数层(Softmax层),用于生成不同决策动作的执行概率。评估网络也有四层,其中,前三层的网络结构与策略网路相同,最后一层是一个128*1的全连接神经网络。
1-4)在中心节点上使用全置为0的方式初始化该节点神经网络中策略网络的参数向量θ和评估网络的参数向量θv。
1-5)在每个模拟执行节点上使用随机化的方式初始化该节点神经网络中策略网络的参数向量θ’和评估网络的参数向量θv’。
1-6)初始化计时器t=1;
1-7)重复执行以下步骤直至计时器达到预设的最大时间t=tmax(本实施例中最大时间为5千万),中心节点得到训练完毕的神经网络;具体步骤如下:
1-7-1)在每个模拟执行节点上从中心节点同步参数向量:θ’=θ,θv’=θv;
1-7-2)在每个模拟执行节点上模拟运行n步,并收集每一步对应的一条训练记录;当收集n条训练记录后,模拟执行节点将n条训练记录发送给中心节点,然后进入步骤 1-7-3);其中,n为取值范围在[1,100]之间的整数,流程如图4所示,图4中本发明实施例中共有m个模拟执行节点;每个模拟执行节点每一步具体流程如下:
1-7-2-1)每个模拟执行节点的神经网络接收当前系统状态st,其中,一维向量表示t时刻过去k个(k为取值范围在[1,64]之间的整数)时间段的转码任务工作量,标量dt表示在从t-1到t的时间段内未能在时限以前完成的转码任务的百分比, nt表示从t-1到t的时间段内激活的虚拟机实例的数量。
当t=1时,设置为全0,dt设置为0,nt设置为系统为转码任务预留的最大虚拟机数量。
1-7-2-2)模拟执行节点的神经网络根据系统状态st输出决策动作at。at是一个整数,其代表的含义为:若at>0,则表示在下一个时间段内(从t到t+1)在云计算平台新激活at台虚拟机;若at<0,则表示在下一个时间段内关闭at台虚拟机,若at=0,则表示下一个时间段内的虚拟机数量无变化。
1-7-2-3)在从t到t+1的下一个时间段内,任务队列中的转码任务按如下方式被调度执行:
对每一个转码任务其中,i是视频流编号,j是视频块在视频流中的顺序编号,p是转码的参数配置,定义为形如{源分辨率,源码率,目标分辨率,目标码率}的数组,按如下方法估计其执行时间上下限:
执行时间上限其中,是视频流i中第j个视频块在转码配置为p时的转码任务的执行时间上限。表示在视频流i中所有顺序号小于j的视频块在转码配置为p时的转码时间记录组成的集合,P95th(·)表示集合的95分位数,即同一个直播流之前的视频块在相同转码配置下的转码时间记录的 95分位数。
执行时间下限其中,是视频流i中第j个视频块在转码配置为p时的转码任务的执行时间上限。表示在视频流i 中所有顺序号小于j的视频块在转码配置为p时的转码时间记录组成的集合,P5th(·)表示集合的5分位数。即同一个直播流之前的视频块在相同转码配置下的转码时间记录的5分位数。
对每一个转码任务确定其调度优先级其中,是转码任务的执行时限。
对每一个转码任务确定其放弃时间
检查任务队列中的每个转码任务,若其放弃时间早于当前系统时间,则放弃执行,将其从任务队列中移出。
检查每个正在执行的转码任务,若其执行时限早于当前系统时间,则表示该任务已超时,放弃执行。
对每一台处于激活状态但是未执行转码任务的虚拟机,依次从任务队列中取出最小的任务,分配给该虚拟机。
1-7-2-4)在t+1时刻,模拟执行节点得到新的系统状态st+1,和该时间段内的系统收益rt。其中,rt定义如下:
其中,ct=cv·nt表示该时间段内的计算资源开销;
wt表示该时间段内单位时间执行的转码任务量;
是服务质量开销;
其中∈是折扣系数,取值范围为0(不含)~1(不含)的浮点数;η是服务等级协议约定的服务质量阈值(η通常取0.1%~10%);
1-7-2-5)模拟执行节点收集一条模拟运行的记录{st,at,rt};
本发明中n指的是在每个模拟执行节点上,两次将训练记录发送给中心节点进行神经网络参数更新的间隔。具体来讲,在每个模拟执行节点上,经历过一个时段的模拟执行,视为进行了一步,同时收集对应的一条训练记录。当模拟节点上执行了n步之后,将这n步的训练记录发送给中心节点。中心节点会收到所有模拟执行节点发来的各自有n步的训练记录,这些训练记录都会被用来更新神经网络参数。
1-7-3)中心节点根据如下公式更新策略网络的参数向量θ:
然后令t=t+1,重新返回步骤1-7-1);
1-7-4)中心节点根据如下公式更新评估网络的参数向量θv
然后令t=t+1,重新返回步骤1-7-1);
2)执行阶段;
利用步骤1)训练好的神经网络,根据系统状态作出资源分配的实时决策。决策步骤为:
2-1)在任意时刻,收集当前系统状态st,输入步骤1)训练完毕的神经网络。
2-2)神经网络根据系统状态,输出对应的资源分配的决策动作
2-3)根据决策动作,对数量为的虚拟机进行激活或关闭。
2-4)在从t到t+1的下一个时间段内,重复步骤1-7-2-3),将转码任务调度到虚拟机上执行。
Claims (1)
1.一种基于深度强化学习的直播视频云转码资源分配与调度方法,其特征在于,包括以下步骤:
1)训练阶段;具体步骤如下:
1-1)云端服务器将用户上传的视频流切分为连续的视频块,根据每个视频块的格式以及系统的转码配置,对每个视频块生成对应的转码任务并放入任务队列;
1-2)将云端服务器每个计算机进程作为一个训练节点,所有训练节点分为两类:第一类是中心节点,共1个;第二类是模拟执行节点,包括除了中心节点以外的所有节点;
1-3)在每个训练节点上设置一个神经网络,各节点上的神经网络具有相同的网络结构;每个神经网络包括一个策略网络和一个评估网络;其中,所述策略网络共四层,第一层包含一个一维卷积神经网络和两个全连接神经网络,第一层的每个网络分别连接第二层的融合网络,第二层的融合网络连接第三层的全连接神经网络,第三层的全连接神经网络连接第四层的概率归一化函数Softmax层;所述评估网络共四层,其中前三层的网络结构与策略网路相同,评估网络第三层的全连接神经网络连接第四层层的全连接神经网络;
1-4)在中心节点上使用全置为0的方式初始化该节点神经网络中策略网络的参数向量θ和评估网络的参数向量θv;
1-5)在每个模拟执行节点上使用随机化的方式初始化该节点神经网络中策略网络的参数向量θ’和评估网络的参数向量θv’;
1-6)初始化计时器t=1;
1-7)重复执行以下步骤直至计时器达到预设的最大时间t=tmax,中心节点得到训练完毕的神经网络;具体步骤如下:
1-7-1)在每个模拟执行节点上从中心节点同步参数向量:θ’=θ,θv’=θv;
1-7-2)在每个模拟执行节点上模拟运行n步,并收集每一步对应的一条训练记录;当收集n条训练记录后,模拟执行节点将n条训练记录发送给中心节点,然后进入步骤1-7-3);每个模拟执行节点每一步具体流程如下:
1-7-2-1)每个模拟执行节点的神经网络接收当前系统状态一维向量表示t时刻过去k个时间段的转码任务工作量,标量dt表示在从t-1到t的时间段内未能在时限以前完成的转码任务的百分比,nt表示从t-1到t的时间段内激活的虚拟机实例的数量;
当t=1时,设置为全0,dt设置为0,nt设置为系统为转码任务预留的最大虚拟机数量;
1-7-2-2)模拟执行节点的神经网络根据系统状态st输出决策动作at;at为整数;若at>0,则表示从t到t+1的时间段内在云计算平台新激活at台虚拟机;若at<0,则表示从t到t+1的时间段内关闭at台虚拟机;若at=0,则表示下一个时间段内的虚拟机数量无变化;
1-7-2-3)从t到t+1的时间段内,任务队列中的转码任务按如下方式被调度执行:
对每一个转码任务其中,i是视频流编号,j是视频块在视频流中的顺序编号,p是转码的参数配置,按如下方法估计该转码任务的执行时间上下限:
执行时间上限其中,是视频流i中第j个视频块在转码配置为p时的转码任务的执行时间上限;表示在视频流i中所有顺序号小于j的视频块在转码配置为p时的转码时间记录组成的集合,P95th(·)表示集合的95分位数,即同一个直播流之前的视频块在相同转码配置下的转码时间记录的95分位数;
执行时间下限其中,是视频流i中第j个视频块在转码配置为p时的转码任务的执行时间上限;表示在视频流i中所有顺序号小于j的视频块在转码配置为p时的转码时间记录组成的集合,P5th(·)表示集合的5分位数,即同一个直播流之前的视频块在相同转码配置下的转码时间记录的5分位数;
对每一个转码任务确定其调度优先级其中,是转码任务的执行时限;
对每一个转码任务确定其放弃时间
检查任务队列任务队列中的每个转码任务,若其放弃时间早于当前系统时间,则放弃执行,将其从任务队列任务队列中移出;
检查每个正在执行的转码任务,若其执行时限早于当前系统时间,则表示该任务已超时,放弃执行;
对每一台处于激活状态但是未执行转码任务的虚拟机,依次从任务队列中取出最小的任务,分配给该虚拟机;
1-7-2-4)在t+1时刻,模拟执行节点得到新的系统状态st+1,和该时间段内的系统收益rt;其中,rt定义如下:
其中,ct=cv·nt表示该时间段内的计算资源开销;
wt表示该时间段内单位时间执行的转码任务量;
是服务质量开销;
其中∈是折扣系数,η是服务等级协议约定的服务质量阈值;
1-7-2-5)模拟执行节点收集一条模拟运行的记录{st,at,rt};
1-7-3)中心节点根据如下公式更新策略网络的参数向量θ:
然后令t=t+1,重新返回步骤1-7-1);
1-7-4)中心节点根据如下公式更新评估网络的参数向量θv:
然后令t=t+1,重新返回步骤1-7-1);
2)执行阶段;具体步骤如下:
2-1)在任意t时刻,收集当前系统状态st,输入步骤1)训练完毕的神经网络;
2-2)神经网络根据系统状态st,输出对应的资源分配的决策动作
2-3)根据决策动作,对数量为的虚拟机进行激活或关闭;
2-4)在从t到t+1的下一个时间段内,重复步骤1-7-2-3),将转码任务调度到虚拟机上执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910603809.6A CN110351571B (zh) | 2019-07-05 | 2019-07-05 | 基于深度强化学习的直播视频云转码资源分配与调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910603809.6A CN110351571B (zh) | 2019-07-05 | 2019-07-05 | 基于深度强化学习的直播视频云转码资源分配与调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110351571A true CN110351571A (zh) | 2019-10-18 |
CN110351571B CN110351571B (zh) | 2020-09-25 |
Family
ID=68178088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910603809.6A Active CN110351571B (zh) | 2019-07-05 | 2019-07-05 | 基于深度强化学习的直播视频云转码资源分配与调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110351571B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110865878A (zh) * | 2019-11-11 | 2020-03-06 | 广东石油化工学院 | 边云协同环境中基于任务多约束的智能调度方法 |
CN111160525A (zh) * | 2019-12-17 | 2020-05-15 | 天津大学 | 一种边缘计算环境下基于无人机群的任务卸载智能决策方法 |
CN111444009A (zh) * | 2019-11-15 | 2020-07-24 | 北京邮电大学 | 一种基于深度强化学习的资源分配方法及装置 |
CN112416568A (zh) * | 2020-09-01 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 音视频转码任务的时长预估方法和时长预估装置 |
CN113254192A (zh) * | 2020-02-12 | 2021-08-13 | 北京沃东天骏信息技术有限公司 | 资源分配方法、资源分配装置、电子设备及存储介质 |
CN113645471A (zh) * | 2021-06-22 | 2021-11-12 | 北京邮电大学 | 多云视频分发策略优化方法及系统 |
CN114025190A (zh) * | 2021-11-03 | 2022-02-08 | 北京达佳互联信息技术有限公司 | 多码率调度方法和多码率调度装置 |
CN114598927A (zh) * | 2022-03-03 | 2022-06-07 | 京东科技信息技术有限公司 | 转码资源的调度方法、系统以及调度装置 |
CN115086249A (zh) * | 2022-05-23 | 2022-09-20 | 华东师范大学 | 一种基于深度强化学习的云数据中心资源分配方法 |
CN115834924A (zh) * | 2022-11-02 | 2023-03-21 | 华中科技大学 | 面向交互式视频的松耦合编码码率-传输速率调节方法 |
CN116916048A (zh) * | 2023-09-07 | 2023-10-20 | 典基网络科技(上海)有限公司 | 一种用于流媒体传输优化的混合架构、方法、设备和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1534017A2 (en) * | 2003-11-24 | 2005-05-25 | LG Electronics Inc. | System and method for estimating motion vector for transcoding digital video |
CN104717517A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇艺世纪科技有限公司 | 一种视频转码任务调度方法及装置 |
CN104967868A (zh) * | 2014-04-04 | 2015-10-07 | 清华大学 | 视频转码方法、装置和服务器 |
CN105357546A (zh) * | 2015-11-17 | 2016-02-24 | 国云科技股份有限公司 | 一种基于云计算的视频转码方法 |
WO2017162068A1 (zh) * | 2016-03-25 | 2017-09-28 | 阿里巴巴集团控股有限公司 | 一种视频转码方法、装置和系统 |
US20180007269A1 (en) * | 2016-06-30 | 2018-01-04 | Facebook, Inc. | Neural network to optimize video stabilization parameters |
EP3322189A1 (en) * | 2016-11-10 | 2018-05-16 | Alcatel Lucent | Method and system for controlling video transcoding |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及系统 |
-
2019
- 2019-07-05 CN CN201910603809.6A patent/CN110351571B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1534017A2 (en) * | 2003-11-24 | 2005-05-25 | LG Electronics Inc. | System and method for estimating motion vector for transcoding digital video |
CN104967868A (zh) * | 2014-04-04 | 2015-10-07 | 清华大学 | 视频转码方法、装置和服务器 |
CN104717517A (zh) * | 2015-03-31 | 2015-06-17 | 北京奇艺世纪科技有限公司 | 一种视频转码任务调度方法及装置 |
CN105357546A (zh) * | 2015-11-17 | 2016-02-24 | 国云科技股份有限公司 | 一种基于云计算的视频转码方法 |
WO2017162068A1 (zh) * | 2016-03-25 | 2017-09-28 | 阿里巴巴集团控股有限公司 | 一种视频转码方法、装置和系统 |
US20180007269A1 (en) * | 2016-06-30 | 2018-01-04 | Facebook, Inc. | Neural network to optimize video stabilization parameters |
EP3322189A1 (en) * | 2016-11-10 | 2018-05-16 | Alcatel Lucent | Method and system for controlling video transcoding |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及系统 |
Non-Patent Citations (2)
Title |
---|
XIANGBO LI等: "VLSC Video Live Streaming Using Cloud Services", 《IEEE》 * |
丁贵广等: "基于自适应线性神经网络的媒体播放研究", 《2005年中国智能自动化会议(ICAC"2005)》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110865878B (zh) * | 2019-11-11 | 2023-04-28 | 广东石油化工学院 | 边云协同环境中基于任务多约束的智能调度方法 |
CN110865878A (zh) * | 2019-11-11 | 2020-03-06 | 广东石油化工学院 | 边云协同环境中基于任务多约束的智能调度方法 |
CN111444009B (zh) * | 2019-11-15 | 2022-10-14 | 北京邮电大学 | 一种基于深度强化学习的资源分配方法及装置 |
CN111444009A (zh) * | 2019-11-15 | 2020-07-24 | 北京邮电大学 | 一种基于深度强化学习的资源分配方法及装置 |
CN111160525A (zh) * | 2019-12-17 | 2020-05-15 | 天津大学 | 一种边缘计算环境下基于无人机群的任务卸载智能决策方法 |
CN113254192A (zh) * | 2020-02-12 | 2021-08-13 | 北京沃东天骏信息技术有限公司 | 资源分配方法、资源分配装置、电子设备及存储介质 |
CN113254192B (zh) * | 2020-02-12 | 2024-04-16 | 北京沃东天骏信息技术有限公司 | 资源分配方法、资源分配装置、电子设备及存储介质 |
CN112416568A (zh) * | 2020-09-01 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | 音视频转码任务的时长预估方法和时长预估装置 |
CN113645471B (zh) * | 2021-06-22 | 2022-06-03 | 北京邮电大学 | 多云视频分发策略优化方法及系统 |
CN113645471A (zh) * | 2021-06-22 | 2021-11-12 | 北京邮电大学 | 多云视频分发策略优化方法及系统 |
CN114025190A (zh) * | 2021-11-03 | 2022-02-08 | 北京达佳互联信息技术有限公司 | 多码率调度方法和多码率调度装置 |
CN114598927A (zh) * | 2022-03-03 | 2022-06-07 | 京东科技信息技术有限公司 | 转码资源的调度方法、系统以及调度装置 |
CN115086249A (zh) * | 2022-05-23 | 2022-09-20 | 华东师范大学 | 一种基于深度强化学习的云数据中心资源分配方法 |
CN115086249B (zh) * | 2022-05-23 | 2023-08-01 | 华东师范大学 | 一种基于深度强化学习的云数据中心资源分配方法 |
CN115834924A (zh) * | 2022-11-02 | 2023-03-21 | 华中科技大学 | 面向交互式视频的松耦合编码码率-传输速率调节方法 |
CN115834924B (zh) * | 2022-11-02 | 2024-05-14 | 华中科技大学 | 面向交互式视频的松耦合编码码率-传输速率调节方法 |
CN116916048A (zh) * | 2023-09-07 | 2023-10-20 | 典基网络科技(上海)有限公司 | 一种用于流媒体传输优化的混合架构、方法、设备和介质 |
CN116916048B (zh) * | 2023-09-07 | 2023-11-17 | 典基网络科技(上海)有限公司 | 一种用于流媒体传输优化的混合架构、方法、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110351571B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110351571A (zh) | 基于深度强化学习的直播视频云转码资源分配与调度方法 | |
WO2021115480A1 (zh) | 联邦学习方法、装置、设备和存储介质 | |
Gao et al. | Resource provisioning and profit maximization for transcoding in clouds: A two-timescale approach | |
CN109788315A (zh) | 视频转码方法、装置及系统 | |
CN105992020A (zh) | 一种分配视频转换资源的方法及系统 | |
US20230084784A1 (en) | Resource allocation method and apparatus, readable medium, electronic device, and program product | |
CN104378665A (zh) | 一种基于数字电视的分布式转码系统及方法 | |
Xin et al. | A load balance oriented cost efficient scheduling method for parallel tasks | |
CN110389820A (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
CN104123182A (zh) | 基于主从架构的MapReduce任务跨数据中心调度系统及方法 | |
CN111985851B (zh) | 银行网点资源调度方法及装置 | |
CN109087030A (zh) | 实现c2c通用移动众包的方法、通用移动众包服务器及系统 | |
CN107317836A (zh) | 一种混合云环境下时间可感知的请求调度方法 | |
CN113946436B (zh) | 一种基于负载均衡的资源预调度方法 | |
CN101222522B (zh) | 一种考虑网格任务重要性和时间紧迫性的网格任务调度方法 | |
CN108132840A (zh) | 一种分布式系统中的资源调度方法及装置 | |
CN113010296B (zh) | 基于形式化模型的任务解析与资源分配方法及系统 | |
Liu et al. | A mathematical programming-and simulation-based framework to evaluate cyberinfrastructure design choices | |
CN111569412B (zh) | 一种云游戏资源调度的方法和装置 | |
Saravanan et al. | Improving map reduce task scheduling and micro-partitioning mechanism for mobile cloud multimedia services | |
CN117493020A (zh) | 一种数据网格的计算资源调度实现方法 | |
Weng et al. | AdaStorm: Resource efficient storm with adaptive configuration | |
CN117082008A (zh) | 虚拟弹性网络数据传输调度方法、计算机装置及存储介质 | |
Cao et al. | Online cost-rejection rate scheduling for resource requests in hybrid clouds | |
CN115543582A (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 |