基于CPU‑GPU异构集群的大数据一体机实现方法技术

技术编号:11346610 阅读:511 留言:0更新日期:2015-04-24 03:01
本发明专利技术适用于云计算技术领域,提供了一种基于CPU‑GPU异构集群的大数据一体机实现方法,所述方法包括:搭建一个计算机集群,所述计算机集群中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器的Slave节点;将CUDA安装在Slave节点上;选择Hadoop提供的MapReduce模型,为每个任务块启动一个Map任务,并将Map任务发送给Slave节点进行计算;Slave节点将接收到的Map任务划分成相应的比例后分给CPU或GPU,以执行Map和Reduce操作,并将操作结果发送给Master节点;Master节点接收各Slave节点反馈的操作结果,完成全部任务处理。

【技术实现步骤摘要】

本专利技术属于云计算
,尤其涉及一种基于CPU-GPU异构集群的大数据一体 机实现方法。
技术介绍
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。MapReduce是 Hadoop的核心组件,MapReduce提供了两项重要的操作:l)Map操作,用于处理key-value 对,并产生中间结果;2)Reduce操作,用于将具有相同键的值规约起来,并产生最终结果。 通过Map操作和Reduce操作很容易在Hadoop平台上进行分布式的计算编程。 图形处理器(Graphic Processing Unit,GPU)是一种配置有大规模计算单元的众 核处理器,与CPU相比,它具有更快的计算能力和更高的内存带宽。 然而,现有的Hadoop只能运行于CPU集群,并没有考虑到GPU庞大的并行计算能 力,导致海量数据计算运行效率偏低。
技术实现思路
鉴于此,本专利技术实施例提供一种基于CPU-GPU异构集群的大数据一体机实现方 法,以实现在CPU-GPU异构集群上运行Hadoop,解决海量数据计算运行效率偏低的问题。 本专利技术实施例是这样实现的,一种基于CPU-GPU异构集群的大数据一体机实现方 法,所述方法包括: 步骤一、搭建一个计算机集群,所述计算机集群中每个计算机作为一个节点,所述 节点中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器的Slave节 点,所述Master节点用于根据预定的任务调度策略对任务进行调度控制,所述Slave节点 用于Map或Reduce的计算操作; 步骤二、选择CUDA作为GPU的计算模型,并将所述CUDA安装在所述Slave节点 上; 步骤三、选择Hadoop提供的MapReduce模型,通过Master节点将任务划分成多个 任务块,为每个任务块启动一个Map任务,并将所述Map任务发送给所述Slave节点进行计 算; 步骤四、所述Slave节点根据自身CPU与GPU的计算能力,将接收到的所述Map任 务划分成相应的比例后分给所述CPU或GPU上空闲的计算单元,执行Map和Reduce操作, 并将操作结果发送给所述Master节点; 步骤五、所述Master节点接收各Slave节点反馈的操作结果,完成全部任务处理。 本专利技术实施例与现有技术相比存在的有益效果是:通过搭建一个由多台CPU与 组成的集群,并在集群上部署改进后的Hadoop平台,以实现在CPU-GPU异构集群上运行 Hadoop。而且,在每个Slave节点上安装CUDA,从而可以实现对计算机集群上CPU和GPU计 算资源的统一调度,使得具有大数据量且计算密集型的任务可以高效的完成,有效解决现 有海量数据计算运行效率偏低的问题。【附图说明】 为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些 附图获得其他的附图。 图1是本专利技术实施例一提供的基于CPU-GPU异构集群的大数据一体机实现方法的 实现流程图; 图2是本专利技术实施例一提供的所述方法实施框架的示意图。【具体实施方式】 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具 体细节,以便透切理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体 细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电 路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。 为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。 实施例一: 图1示出了本专利技术实施例一提供的基于CPU-GPU异构集群的大数据一体机实现方 法的实现流程,该方法过程详述如下: 在步骤S101中,搭建一个计算机集群,所述计算机集群中每个计算机作为一个 节点,所述节点中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器 的Slave节点,所述Master节点用于根据预定的任务调度策略对任务进行调度控制,所述 Slave节点用于Map或Reduce的计算操作。 在本专利技术实施例中,各节点之间可通过无线网络连接通信。示例性的,各节点之间 可以通过Infiniband网络连接通信。各节点自身都存在独立的内存和磁盘。磁盘访问时, 各节点既可以访问自身的磁盘,也可以访问其它节点的磁盘。 本实施例搭建计算机集群的目的是将集群上各个节点的计算和存储资源进行整 合,提高海量数据处理的效率。 作为本专利技术的另一较佳示例,所述Master节点的任务调度策略设置如下: 运行在CPU上的任务数量为【主权项】1. 一种基于CPU-GPU异构集群的大数据一体机实现方法,其特征在于,所述方法包括: 步骤一、搭建一个计算机集群,所述计算机集群中每个计算机作为一个节点,所述节点 中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器的Slave节点,所 述Master节点用于根据预定的任务调度策略对任务进行调度控制,所述Slave节点用于 Map或Reduce的计算操作; 步骤二、选择CUDA作为GPU的计算模型,并将所述CUDA安装在所述Slave节点上; 步骤三、选择Hadoop提供的MapReduce模型,通过Master节点将任务划分成多个任务 块,为每个任务块启动一个Map任务,并将所述Map任务发送给所述Slave节点进行计算; 步骤四、所述Slave节点根据自身CPU与GPU的计算能力,将接收到的所述Map任务划 分成相应的比例后分给所述CPU或GPU上空闲的计算单元,执行Map和Reduce操作,并将 操作结果发送给所述Master节点; 步骤五、所述Master节点接收各Slave节点反馈的操作结果,完成全部任务处理。2. 如权利要求1所述的方法,其特征在于,所述执行Map和Reduce操作包括: 编写一种Map函数和Reduce函数; 通过代码翻译器将所述Map函数和Reduce函数翻译成多线程的OpenMP和CUDA版本, 根据运行的平台,选择OpenMP或CUDA版本对应的Map函数和Reduce函数; 基于选择的CUDA版本对应的Map函数和Reduce函数,在C++Wrapper与TaskTracker 的child JVM之间建立一个永久的数据传输通道,通过child JVM进程将输入数据 key-value对传送给C++Wrapper,C++Wrapper运行Map函数,并将运行时获得的中间结果 存放在GPU的Hash表中; GPU根据所述中间结果执行Reduce函数,计算出最终结果,C++Wrapper将所述最终结 果传送给child JVM进程,CPU上的Reduce结束后,也获取其计算结果; Master节点对于运行失败的Mapper或Reducer,使其重新运行,从而完成Map和 Reduce 操作。3. 如权利要求1或2所述的方法,其特征在于,所述方法还包括: 使用Hadoop的Pipes接口调用CUDA程序,以使用GPU处理Map任务和Reduce任务, 在本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN104536937.html" title="基于CPU‑GPU异构集群的大数据一体机实现方法原文来自X技术">基于CPU‑GPU异构集群的大数据一体机实现方法</a>

【技术保护点】
一种基于CPU‑GPU异构集群的大数据一体机实现方法,其特征在于,所述方法包括:步骤一、搭建一个计算机集群,所述计算机集群中每个计算机作为一个节点,所述节点中包含一个配有CPU处理器的Master节点和其余配有CPU和GPU处理器的Slave节点,所述Master节点用于根据预定的任务调度策略对任务进行调度控制,所述Slave节点用于Map或Reduce的计算操作;步骤二、选择CUDA作为GPU的计算模型,并将所述CUDA安装在所述Slave节点上;步骤三、选择Hadoop提供的MapReduce模型,通过Master节点将任务划分成多个任务块,为每个任务块启动一个Map任务,并将所述Map任务发送给所述Slave节点进行计算;步骤四、所述Slave节点根据自身CPU与GPU的计算能力,将接收到的所述Map任务划分成相应的比例后分给所述CPU或GPU上空闲的计算单元,执行Map和Reduce操作,并将操作结果发送给所述Master节点;步骤五、所述Master节点接收各Slave节点反馈的操作结果,完成全部任务处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:田盼喻之斌刘勇杨洋曾永刚贝振东须成忠
申请(专利权)人:深圳先进技术研究院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1