发明名称 一种GPU上基于内存统一管理的MapReduce实现方法
摘要 本发明公开了一种GPU上基于内存统一管理的MapReduce实现方法,包括:初始化GPU的块大小为Bs,每个块中的线程数目N,输入数据量大小M;在全局内存上为GPU的每个块分配一个中间数据缓冲区,同时分配一个全局结果缓冲区;对p%的输入数据进行预处理,在中间数据缓冲区中收集map任务计算结果和归约频率信息;根据键值对的归约频率,对中间结果进行排序,保存键值对索引信息到排序结果缓冲区sort_index[]中;初始化GPU每个块对应的中间数据缓冲区为零,在共享内存中建立内存分配区sm_pool[];设置内存分配标记数组mem_flag[]。本发明在每个GPU块的中间数据缓冲区中,对全局内存和共享内存资源进行统一管理,减少了内存资源开销,避免了分开管理导致的键值对对重复查找和map任务重复计算开销。
申请公布号 CN103714009A 申请公布日期 2014.04.09
申请号 CN201310710435.0 申请日期 2013.12.20
申请人 华中科技大学 发明人 金海;郑然;刘凯;章勤;冯晓文
分类号 G06F12/02(2006.01)I;G06F17/30(2006.01)I 主分类号 G06F12/02(2006.01)I
代理机构 华中科技大学专利中心 42201 代理人 朱仁玲
主权项 一种GPU上基于内存统一管理的MapReduce实现方法,其特征在于,包括以下步骤: (1)初始化GPU中块的数量Bs、每个块中的线程数目N、以及用户的输入数据量大小M; (2)为每个块在全局内存上分配中间数据缓冲区,对map计算生成的键值对进行连续的归约操作,通过在键值对的值中设置归约次数和在计算中不断累计,统计键值对出现的频率信息,并根据出现频率对键值对进行排序,提取出高频的键值对; (3)将步骤(2)得到的高频键值对插入到共享内存中,在任务处理中,通过使用标记数组对全局内存和共享内存的分配进行统一管理,且只有当共享内存资源使用完毕之后,才开始在全局内存中分配空间。
地址 430074 湖北省武汉市洪山区珞喻路1037号