一种基于GPU的面向海量多媒体数据的MapReduce平台的制作方法

文档序号:6526186阅读:394来源:国知局
一种基于GPU的面向海量多媒体数据的MapReduce平台的制作方法
【专利摘要】本发明涉及一种基于GPU的面向海量多媒体数据的MapReduce平台,包括平台驱动器和工作子模块,平台驱动器采用MapReduce计算模型将图像/视频检索处理任务分割为若干Map任务,Map任务的数据存储在HDFS中,每个Map任务启动时,利用平台驱动器传入的文件列表获取任务数据,并将具体的计算任务分配给所述的工作子模块计算,工作子模块中的任务调度器将任务派发给GPU或CPU处理,在计算处理过程中通过HDFS的本地库libhdfs.so获得计算所需的数据,之后将计算处理后的数据直接写入HDFS。与现有技术相比,本发明可以实现海量多媒体数据的高性能处理,不仅能大大提高计算速度,同时还能保证计算精度。
【专利说明】—种基于GPU的面向海量多媒体数据的MapReduce平台
【技术领域】
[0001]本发明涉及海量数据处理与高性能计算处理【技术领域】,尤其是涉及一种基于GPU的面向海量多媒体数据的MapReduce平台。
【背景技术】
[0002]当信息时代进入到Web2.0之后,随着多媒体原创互动体系的崛起,网络多媒体和移动多媒体等新媒体的流行,以及便携智能终端设备(如:IPhone,IPad、笔记本等)的流行和普及,互联网上的多媒体(如视频、图像等)数量正呈现海量级爆炸式地增长。海量的图片与视频在互联网上传输,通过互联网搜索和观看丰富的图片和视频资源已成为广大网民获取信息的重要方式。面对海量的多媒体数据,如何有效地对其进行组织、管理、搜索已成为一项迫切的任务,也是多媒体、搜索引擎、数据挖掘等领域的研究热点。为此,不仅需要先进的算法对视频数据进行基于内容的分析与理解;针对分析处理所需的巨大计算量,还需要云计算平台、GPU (Graphics Processing Unit)等以支持对海量的多媒体数据进行处理。云计算是基于互联网的一种新兴计算模式,旨在通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算。MapReduce是由Google提出的一种实现云计算的分布式计算框架。云计算将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算能力、存储空间以及各种软件服务。
[0003]近年来,随着集成电路和半导体产业的蓬勃发展,GPU的计算性能有了迅猛的发展。与此同时GPGPU(General Programming for GPU)的出现使得GPU不再局限于传统的图形图像处理与显示,还可以作为高性能的通用计算设备。CUDA就是这样一套由NVidia公司提出的用于在GPU上解决并行运算的软件架构。同时由于GPU的硬件发展速度大大超过CPU的发展速度,也使得GPU的性能成倍提升,因而越来越受到广大科研工作者、应用工程师的重视。
[0004]对于视频,其不同于传统文档,它需要通过提取海量的特征来表征其复杂的数据,尤其是局部特征点,对计算量的需求更大。对视频数据的分析和处理将给普通的计算机系统带来巨大的负担。面对视频信息成指数形式增长现状,尤其是网络视频的爆炸式发展,传统的计算和存储模式难以满足对这些海量数据信息进行分析和处理。云计算借助其大规模、可扩展、非结构化数据处理等技术优势,正是解决这一问题的极佳平台和解决方案。

【发明内容】

[0005]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于GPU的面向海量多媒体数据的MapReduce平台。
[0006]本发明的目的可以通过以下技术方案来实现:一种基于GPU的面向海量多媒体数据的MapReduce平台,利用计算机集群实现对图像/视频检索任务的计算处理,每个计算机集群中设有多个CPU和GPU,其特征在于,所述的平台建立在CUDA和HDFS之上,包括平台驱动器和工作子模块,所述的平台驱动器采用MapReduce计算模型,调度计算机集群节点上的主控程序将图像/视频检索处理任务分割为若干Map任务,所述的Map任务的数据存储在HDFS中,每个Map任务启动时,利用平台驱动器传入的文件列表获取任务数据,并将具体的计算任务分配给所述的工作子模块计算,所述的工作子模块中的任务调度器将任务派发给GPU或CPU处理,在计算处理过程中通过HDFS的本地库libhdfs.so获得计算所需的数据,之后将计算处理后的数据直接写入HDFS。
[0007]所述的平台驱动器和工作子模块之间采用Protocol Buffer序列化协议作为传输协议,以简化二者之间数据交换的复杂性,同时利用JNI技术进行交互,以保证其交互的高效性。
[0008]所述的平台驱动器使用Java语言编写,是Hadoop框架在具体应用中的实现与拓展。
[0009]所述的工作子模块建立在CUDA基础上使用C/C++和CUDA-C语言编写。
[0010]所述的工作子模块在计算处理过程中采用分布式缓存技术,以减少实现具有数据不变性的图像/视频检索处理算法时HDFS的网络传输,提高整个集群的性能。
[0011]所述的平台驱动器负责管理平台的软、硬件资源,控制平台的工作流程,其主要工作包括任务的启动、切分、调度、容错处理等;所述的工作子模块则是主要图像、视频检索处理算法如特征点提取、聚类等的实现,承担了平台中最为繁重的计算任务。不同的工作子模块在平台驱动器的管理下,相互协作完成某个任务,与此同时它们之间又保持着相互独立性,利于平台的维护与扩展。
[0012]与现有技术相比,本发明是一套完整的海量多媒体数据分析理论及技术体系,通过该本发明平台,可以实现海量多媒体数据的高性能处理,以满足视频内容分析、视频检索、图像检索及事件检测等多种服务需求,不仅能大大提高计算速度,同时还能保证计算精度。
【专利附图】

【附图说明】
[0013]图1为本发明的框架示意图;
[0014]图2为本发明平台驱动器的功能模块示意图;
[0015]图3为本发明工作子模块的功能模块示意图。
【具体实施方式】
[0016]下面结合附图和具体实施例对本发明进行详细说明。
[0017]如图1-3所示,一种基于GPU的面向海量多媒体数据的MapReduce平台,利用计算机集群实现对图像/视频检索任务的计算处理,每个计算机集群中设有多个CPU和GPU,其特征在于,所述的平台建立在CUDA和HDFS之上,包括平台驱动器I和工作子模块2,所述的平台驱动器I负责管理平台的软、硬件资源,控制平台的工作流程,其主要工作包括任务的启动、切分、调度、容错处理等;所述的工作子模块2则是主要图像、视频检索处理算法如特征点提取、聚类等的实现,承担了平台中最为繁重的计算任务。不同的工作子模块2在平台驱动器I的管理下,相互协作完成某个任务,与此同时它们之间又保持着相互独立性,利于平台的维护与扩展。所述的平台驱动器I和工作子模块2之间采用Protocol Buffer序列化协议作为传输协议,以简化二者之间数据交换的复杂性,同时利用JNI技术进行交互,以保证其交互的高效性。所述的平台驱动器I使用Java语言编写,是Hadoop框架在具体应用中的实现与拓展。所述的工作子模块2建立在CUDA基础上使用C/C++和CUDA-C语言编与。
[0018]所述的平台驱动器I采用MapReduce计算模型,调度计算机集群节点上的主控程序将图像/视频检索处理任务分割为若干Map任务,所述的Map任务的数据存储在HDFS中。每个Map任务启动时,利用平台驱动器I传入的文件列表获取任务数据,并将具体的计算任务分配给所述的工作子模块2计算,所述的工作子模块2中的任务调度器将任务派发给GPU或CPU处理,在计算处理过程中通过HDFS的本地库libhdfs.so获得计算所需的数据,之后将计算处理后的数据直接写入HDFS。所述的工作子模块2在计算处理过程中采用分布式缓存技术,以减少实现具有数据不变性的图像/视频检索处理算法时HDFS的网络传输,提高整个集群的性能。
[0019]实施例:在一个由12个主机节点,每个节点包含一个CPU和两个GPU的计算机集群上进行了大量的图像/视频检索处理实验。实验表明,本发明平台不仅能大大加速处理速度(最高处达到近1500倍),同时也能大大提高算法精度。集群配置如表1所示:
[0020]表1计算机集群配置
[0021]
【权利要求】
1.一种基于GPU的面向海量多媒体数据的MapReduce平台,利用计算机集群实现对图像/视频检索任务的计算处理,每个计算机集群中设有多个CPU和GPU,其特征在于,所述的平台建立在CUDA和HDFS之上,包括平台驱动器和工作子模块,所述的平台驱动器采用MapReduce计算模型,调度计算机集群节点上的主控程序将图像/视频检索处理任务分割为若干Map任务,所述的Map任务的数据存储在HDFS中,每个Map任务启动时,利用平台驱动器传入的文件列表获取任务数据,并将具体的计算任务分配给所述的工作子模块计算,所述的工作子模块中的任务调度器将任务派发给GPU或CPU处理,在计算处理过程中通过HDFS的本地库libhdfs.so获得计算所需的数据,之后将计算处理后的数据直接写入HDFS。
2.根据权利要求1所述的一种基于GPU的面向海量多媒体数据的MapReduce平台,其特征在于,所述的平台驱动器和工作子模块之间采用Protocol Buffer序列化协议作为传输协议,以简化二者之间数据交换的复杂性,同时利用JNI技术进行交互,以保证其交互的高效性。
3.根据权利要求1所述的一种基于GPU的面向海量多媒体数据的MapReduce平台,其特征在于,所述的平台驱动器使用Java语言编写,是Hadoop框架在具体应用中的实现与拓展。
4.根据权利要求1所述的一种基于GPU的面向海量多媒体数据的MapReduce平台,其特征在于,所述的工作子模块建立在CUDA基础上使用C/C++和CUDA-C语言编写。
5.根据权利要求1所述的一种基于GPU的面向海量多媒体数据的MapReduce平台,其特征在于,所述的工作子模块在计算处理过程中采用分布式缓存技术,以减少实现具有数据不变性的图像/视频检索处理算法时HDFS的网络传输,提高整个集群的性能。
【文档编号】G06F17/30GK103699656SQ201310738761
【公开日】2014年4月2日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】王瀚漓, 肖波, 王雷, 朱冯贶天 申请人:同济大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1