[发明专利]基于CPU-GPU异构集群的大数据一体机实现方法在审
| 申请号: | 201410844266.4 | 申请日: | 2014-12-30 |
| 公开(公告)号: | CN104536937A | 公开(公告)日: | 2015-04-22 |
| 发明(设计)人: | 田盼;喻之斌;刘勇;杨洋;曾永刚;贝振东;须成忠 | 申请(专利权)人: | 深圳先进技术研究院 |
| 主分类号: | G06F15/16 | 分类号: | G06F15/16 |
| 代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
| 地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 cpu gpu 集群 数据 一体机 实现 方法 | ||
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任务,在处理Map任务和Reduce任务时,每个C++Wrapper进程通过传递一个端口号与Child JVM进程之间建立一个永久的socket连接,任务执行时,JVM进程将输入数据key-value对传送给C++Wrapper进程,C++Wrapper进程使用用户定义的Map函数和Reduce函数处理任务,完成计算后,将输出结果key-value对再传递回JVM进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳先进技术研究院;,未经深圳先进技术研究院;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410844266.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种地震叠前时间偏移的计算方法及系统
- 下一篇:一种通信连接方法及系统





