论文部分内容阅读
视频正不断以更多的表示格式,更多的设备类型和多种多样的网络环境进行制作和使用。视频转码是将一种视频编码格式转换为另一种视频编码格式的过程。然而,大多数时候,转码是一个计算密集型的过程。人们常常利用分布式计算技术来高效利用多机器,多核CPU和分布式计算资源在特定设施,家庭或专用分布式基础架构中可用的计算资源来处理复杂任务。在分布式集群中,视频被分割成多个分片,在多个机器上实现并行转码。Hadoop是分布式计算技术中的一个非常流行的编程框架,为分布式系统提供了高可扩展性,满足了视频转码的高可扩展性需求。在分布式集群中,机器之间的计算能力不一定会相同,计算能力的异构性是分布式系统中非常普遍的特性。本文从任务调度和系统架构的角度研究了异构分布式集群的视频转码加速问题。主要的工作和创新点如下:(1)异构集群的负载不均衡使得集群的计算资源利用不合理,导致视频转码作业的执行时间远高于理想值。因此,一个负载均衡的任务调度算法能够实现分布式视频转码加速。Max-MCT和MLFT任务调度算法的模型没有考虑视频分片的传输开销,使得任务调度模型不够精确,PLTS算法考虑了分片传输开销但是没有平衡分片转码时间和传输时间,使得视频转码作业的预期完成时间仍然有优化的空间。为了有效利用集群的异构计算资源,本文从任务调度的角度出发,构建了Hadoop视频转码任务调度模型,为了优化这个模型,本文把它转化成了求解NP难问题,提出了一个本地感知的启发式算法LA-MCT,这个算法的主要思想是平衡视频的分片转码时间和分片在集群内的传输时间,大量的仿真实验表明,本文的算法比现存的启发式任务调度算法如Max-MCT、MLFT和PLTS算法有更短的作业预期完成时间。(2)为了加速整个转码系统的运行过程,从视频转码架构的角度出发,本文抽象了整个系统的工作流程,并使用Alluxio分布式内存文件系统代替现存的HDFS文件系统实现视频分片在系统内的缓存与共享,减少了视频分片在视频转码系统内的磁盘读写开销。本文搭建了一个小型Hadoop异构集群,设计并实现了一个视频转码系统,系统使用不同大小的视频数据,多次实验证明了基于Alluxio的Hadoop异构集群的性能优于现存的基于HDFS的Hadoop异构集群,视频转码速度提高了5%以上。