发明名称 一种基于分布式内存的并行数字地形分析优化方法
摘要 本发明属于数字地形分析和并行计算的交叉技术领域,涉及一种基于分布式内存的并行数字地形分析优化方法。包括:面向并行数字地形分析的数据分发粒度和结果融合粒度的模型及其计算方法;基于分布式内存的数据顺序分发和调度策略;考虑计算节点启动与关闭开销的数据拆分块数目的最优化方法;基于最优的数据块数目的集群节点配置参数选择方法。本发明完全可应用于大规模海量数据的并行数字地形分析的高性能计算的数据拆分和集群参数选择场合,例如,规则格网并行插值、坡度坡向并行计算、洼地填平并行计算等地形因子提取;可以应用于地理信息处理的高性能计算;也可以应用于基于地理信息的空间决策分析和数据挖掘等应用场合,提高处理效率。
申请公布号 CN104598600A 申请公布日期 2015.05.06
申请号 CN201510036719.5 申请日期 2015.01.23
申请人 南京师范大学 发明人 窦万峰;李岩
分类号 G06F17/30(2006.01)I;G06F15/16(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 李媛媛
主权项 一种基于分布式内存的并行数字地形分析优化方法,其特征在于,所述方法包括:(一)确定面向并行数字地形分析的数据分发粒度和结果融合粒度的大小,其中,数据分发粒度DDG是指任务的计算时间与该任务需要的数据分发时间的比值,可以表示为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>DDG</mi><mo>=</mo><mfrac><msub><mi>T</mi><mi>c</mi></msub><msub><mi>T</mi><mi>d</mi></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000660662100000011.GIF" wi="792" he="156" /></maths>T<sub>c</sub>为任务的计算时间,T<sub>d</sub>为数据的分发时间,包括数据从外部存储器读取的I/O时间;结果融合粒度RFG是指任务的计算时间与结果的回收与融合时间的比值,可以表示为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>RFG</mi><mo>=</mo><mfrac><msub><mi>T</mi><mi>r</mi></msub><msub><mi>T</mi><mi>d</mi></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000660662100000012.GIF" wi="816" he="157" /></maths>T<sub>r</sub>为计算结果的回收与融合时间,也包括数据写入外部存储器的I/O时间;数据分发粒度DDG和结果融合粒度RFG的具体计算过程如下:步骤11,选取一个大小为Q的基本数据块,然后根据算法设计程序,并运行,分别测得Q<sub>h</sub>=h*Q的数据分发时间,h为整数且h=1,2,…10,计算时间和结果回收时间;步骤12,根据公式(1)和(2)的定义,分别计算得到DDG<sub>h</sub>和RFG<sub>h</sub>的值,然后分别计算数据分发粒度DDG和结果融合粒度RFG的平均值,即,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>DDG</mi><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>h</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><msub><mi>DDG</mi><mi>h</mi></msub></mrow><mn>10</mn></mfrac></mrow>]]></math><img file="FDA0000660662100000013.GIF" wi="374" he="202" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>RFG</mi><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>h</mi><mo>=</mo><mn>1</mn></mrow><mn>10</mn></munderover><msub><mi>RFG</mi><mi>h</mi></msub></mrow><mn>10</mn></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000660662100000014.GIF" wi="439" he="204" /></maths>(二)分布式内存并行计算模式下,基于分布式内存的数据顺序分发和调度策略:数据分发和任务计算同时进行,考虑计算节点或进程启动与关闭开销,计算数据拆分的数据块最优数目和块大小;基于数据块最优数目,对集群节点配置参数进行优化选择;具体过程包括:步骤21,确定最优的数据块数目和大小:已知待计算的数据大小W,数据分发速度V,进程启动延迟开销δ,以及由上一步得到的数据分发粒度DDG和结果融合粒度RFG,根据下面公式计算得到最优的数据块数目K:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>K</mi><mo>=</mo><msqrt><mfrac><mrow><mi>W</mi><mrow><mo>(</mo><mi>DDG</mi><mo>+</mo><mi>RFG</mi><mo>)</mo></mrow></mrow><mi>V&delta;</mi></mfrac></msqrt></mrow>]]></math><img file="FDA0000660662100000015.GIF" wi="483" he="155" /></maths>步骤22,根据数据大小W和拆分的数据块数目K得到单个数据块的大小P:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>P</mi><mo>=</mo><mfrac><mi>W</mi><mi>K</mi></mfrac></mrow>]]></math><img file="FDA0000660662100000021.GIF" wi="183" he="134" /></maths>步骤23,由下式得到总的计算时间为:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>T</mi><mo>=</mo><mn>2</mn><msqrt><mfrac><mrow><mi>W</mi><mrow><mo>(</mo><mi>DDG</mi><mo>+</mo><mi>RFG</mi><mo>)</mo></mrow><mi>&delta;</mi></mrow><mi>V</mi></mfrac></msqrt><mo>+</mo><mfrac><mi>W</mi><mi>V</mi></mfrac></mrow>]]></math><img file="FDA0000660662100000022.GIF" wi="634" he="153" /></maths>步骤24,确定并行计算集群的参数,即节点数目或核总数N,最佳的并行计算集群的节点数目或核总数应为最优的数据块数目K,即一个轮次全部计算完毕。
地址 210046 江苏省南京市亚东新城区文苑路1号