[发明专利]一种GPU上MapReduce的负载分配和线程结构优化方法有效
| 申请号: | 201410323420.3 | 申请日: | 2014-07-08 | 
| 公开(公告)号: | CN104156268B | 公开(公告)日: | 2017-07-07 | 
| 发明(设计)人: | 郭兵;沈艳;王继禾;陈辉;马群;杨奔;盛志远;黄勇;张放;陈英超 | 申请(专利权)人: | 四川大学 | 
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06T1/20 | 
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 | 
| 地址: | 610065 四川*** | 国省代码: | 四川;51 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 gpu mapreduce 负载 分配 线程 结构 优化 方法 | ||
1.一种基于GPU上MapReduce的负载分配和线程结构优化方法,其特征在于该方法的步骤如下:
1)heir-archical搜索方法的提出
定义MapReduce框架的输入数据大小为H,将H分割为多块,每次处理一个块,定义数据块大小为D,总共需要次来处理整个数据H,用d表示每个线程的负载即工作量,则可以得出D/d=x×y,其中x和y是线程块的数量和每个块中线程的数量,
给出数据块大小D,当一个MapReduce框架的GPU使用(x,y)线程结构时,使用时间函数f(x,y)表示其运行时间,得出最优解tD=minxy=D/d(f(x,y)),当xy(D/d),即线程的总数量,其中x和y是线程块的数量和每个块中线程的数量,数据块大小为D,d表示每个线程的负载即工作量,在一定范围内增加时,f(x,y)的值也连续递增,通过有效的取样,选择D以及与之相匹配的线程结构最小值[H/d]×tD;
2)搜索模型的建立
将[xmin,xmax]定义为线程块数量范围,将[ymin,ymax]定义为每个线程块包含线程数量范围,其中x,y都为整数,找到适当的(x,y)值就计算出最小运行时间,定义曲线l′公式
曲线l′表示在数据块D固定情况下x和y不同组合的执行时间,定义l为曲面Sd和Sp的交线,其中Sd是满足x×y=D/d的线结构设置,Sp是St在x-y坐标平面上的投影,St是GPU上特定MapReduce应用程序的时间函数f(x,y),其中相交线可以用来获得实际x和y值,Sd和Sp相互垂直,l是l′在平面Sp上的投影,定义点集P为所有在Sp上离l最近的所有离散点的集合,去更好的配置线性结构,引入附加的对角线,使用生成的时间函数f(x,y)通过等式(2)解决优化问题,迭代对角线上的点,选出所有沿l分布的最近离散点;
定义工作量分配和线程结构优化问题
3)最优性能下数据块大小和线性结构的决策方法
一个多项式拟合方法决定时间函数的阶,采样数据被反复用于计算多项式系数直到足够的精度值,时间函数生成后,使用搜索方法找到最优的数据块大小和线程结构,具体方法如 下:
●确定x和y在多项式时间函数f(x,y)中的阶,即Ox,Oy,通过采样MapReduce应用程序执行时间的方法,函数x_Execute负责将采样MapReduce应用程序下的运行时间存储在取样列表xp_list中,通过Order函数计算出x和y对应的最优阶数,确定多项式阶的方法应保证阶数足够高以保持足够的信号信息,得到Ox和Oy后,计算出多项式系数的个数pn;
●通过比较时间函数f(x,y)中的系数所构成的表的稳定性和阈值的大小实现迭代过程,如果系数表的稳定性大于阈值,则继续进行循环迭代,以逐渐细化多项式时间函数,不断产生新的时间函数,并结合循环迭代产生精度最高的时间函数,直到达到指定的稳定性阀值STAth;
●使用生成的时间函数f(x,y)通过等式(2)解决优化问题,迭代对角线上的点,循环迭代每条曲线上的点,将这些点存储在曲线点列表CPL中,将曲线上的最低点收集起来,将当前曲线的最低点存储到一个对角点列表DPL中,在DPL中的点,满足最小的H/D×tD值就对应最佳的数据块大小和线程结构,因此,就找到满足最优解决方案的数据块大小和线程结构。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410323420.3/1.html,转载请声明来源钻瓜专利网。





