CN102722653B - 一种基于MapReduce的射线跟踪加速算法 - Google Patents
一种基于MapReduce的射线跟踪加速算法 Download PDFInfo
- Publication number
- CN102722653B CN102722653B CN201210177933.9A CN201210177933A CN102722653B CN 102722653 B CN102722653 B CN 102722653B CN 201210177933 A CN201210177933 A CN 201210177933A CN 102722653 B CN102722653 B CN 102722653B
- Authority
- CN
- China
- Prior art keywords
- ray
- point
- rays
- field
- mapreduce
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种基于MapReduce的射线跟踪加速算法。首先确定源点和场点,从各源点发射的射线经过建筑物的反射后到达对应的场点;然后判断从源点发射的射线是否为有效射线;如果是,则分别记录射线到达各场点的三维坐标与该射线到达此场点的特征值;最后建立Map函数来处理特征值,得到特征值的场强、到达角、延迟和极化四个参数。本发明采用基于MapReduce的射线跟踪加速算法用于大规模数据集的并行运算。而射线跟踪过程中所跟踪的射线量巨大,计算时间长,各个射线相互独立,具有自然的并行性,因此,在进行射线跟踪时,将射线跟踪与MapReduce结合,射线跟踪的运算效率提高。
Description
技术领域
本发明涉及计算机并行计算与无线电波传播领域,尤其涉及射线跟踪加速和云计算中的MapReduce并行编程模式。
背景技术
射线跟踪方法能根据微小区的环境特征,给出微小区电波预测的确定性模型,但是这种方法对复杂的建筑物环境或建筑物环境的三维模型进行预测时耗时巨大,因此,射线跟踪加速算法成为人们关注的核心问题。近年来,国内外学者提出很多射线跟踪加速算法。其中空间分区法虽然能很好的解决反射现象,但是对于绕射现象算法效率的提高不明显。二叉树方法仅在进行跟踪求场强时缩短了计算时间,对于建立路径树仍然费时。并行处理法在计算精度相同的情况下能大大缩短计算时间,并且能够利用网络中空闲的计算机资源。
MapReduce是Google提出的一种并行编程模式,MapReduce把对数据集的大规模操作,分发给一个主节点管理下的各分节点共同完成。一个Map函数对一部分原始数据进行指定的操作,每个Map操作都针对不同的原始数据,因此Map与Map之间相互独立,这就使得它们可以充分并行化。一个Reduce操作就是对每个Map所产生的结果进行合并操作,所有Reduce产生的最终结果经过简单连接就形成了完整的结果集,因此Reduce也可以在并行环境下执行。
而射线跟踪过程中所跟踪的射线量巨大,计算时间长,但在此过程中,各个射线相互独立,具有自然的并行性,因此,在进行射线跟踪时,可以将射线跟踪与MapReduce结合,提高射线跟踪的运算效率。
因此急需一种提高射线跟踪运算效率的加速算法。
发明内容
有鉴于此,本发明所要解决的技术问题是提供一种一种提高射线跟踪运算效率的加速算法。
本发明的目的是这样实现的:
一种基于Mapreduce的无线电传播射线跟踪加速方法,包括以下步骤:
S1:确定源点和场点,从各源点发射的射线经过建筑物的反射后到达对应的场点;
S2:判断从源点发射的射线是否为有效射线,所述判断从源点发射的射线是否为有效射线,具体步骤如下:从每个源点发出的射线,在射线传播的过程中,经过反射、折射或绕射到达场点的射线为有效射线;从每个源点发出的射线,在射线传播的过程中,能量衰减到规定阀值,确定该射线为无效射线;如果否,则该射线到达场点的三维坐标设为源点坐标,场点的特征值记为0;所述特征值包括场点的场强、到达角、延迟和极化四个参数;
S3:如果是,则分别记录射线到达各场点的三维坐标与该射线到达此场点的特征值;
S4:建立Map函数来处理特征值,将到达同一场点的源点或射线归为一类;
S5:建立Reduce函数来对归类后的特征值进行处理,以Map函数返回的三维坐标值为关键字,对关键字相同的Map函数处理的场点特征值这一结果进行相应的迭代运算,得到该场点最终的四个参数值。
进一步,所述从源点发射的不同的射线采用不同的Map函数进行跟踪,每个Map函数包括场点三维坐标和射线到达场点时的四个参数这五个参数;对于能够到达同一场点的若干条射线,与之相对应的Map函数返回的场点的三维坐标值是相同的。
进一步,所述每个Map函数分配一条射线,根据需要确定源点角度,从而进一步确定射线数目,根据射线数目,所述每个Map函数处理自身的射线。
进一步,所述各Map函数相互独立对原始数据进行并行操作。
本发明的优点在于:本发明采用一种基于MapReduce的射线跟踪加速算法:MapReduce是一种能处理海量数据的并行编程模式,用于大规模数据集的并行运算。而射线跟踪过程中所跟踪的射线量巨大,计算时间长,但在此过程中,各个射线相互独立,具有自然的并行性,因此,在进行射线跟踪时,将射线跟踪与MapReduce结合,提高射线跟踪的运算效率。
本发明的其它优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其它优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为简单小区环境建筑模型示意图;
图2为利用MapReduce进行射线跟踪的流程图。
具体实施方式
以下将结合附图,对本发明的优选实施例进行详细的描述;应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
实施例1
图1为简单小区环境建筑模型示意图,图2为利用MapReduce进行射线跟踪的流程图,如图所示:本发明提供的一种基于MapReduce的射线跟踪加速算法,包括以下步骤:
S1:确定源点和场点,从各源点发射的射线经过建筑物的反射后到达对应的场点;
S2:判断从源点发射的射线是否为有效射线;如果否,则该射线到达场点的三维坐标设为源点坐标,场点的特征值记为0;
所述判断从源点发射的射线是否为有效射线,具体步骤如下:从每个源点发出的射线,在射线传播的过程中,经过反射、折射或绕射到达场点的射线为有效射线;从每个源点发出的射线,在射线传播的过程中,能量衰减到规定阀值,对场点的总特征值贡献不大,可以忽略的射线为无效射线。
S3:如果是,则分别记录射线到达各场点的三维坐标与该射线到达此场点的特征值;所述特征值包括场点的场强、到达角、延迟和极化四个参数。
S4:建立Map函数来处理特征值,将特征值中属于同一三维坐标的场点归为一类;
S5:建立Reduce函数来对归类后的特征值进行处理,以Map函数返回的三维坐标值为关键字,对关键字相同的Map函数处理的场点特征值这一结果进行相应的迭代运算,得到该场点最终的四个参数值。得到该场点总特征值。
Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
所述从源点发射的不同的射线采用不同的Map函数进行跟踪,每个Map函数包括场点三维坐标和场点特征值两个参数;对于能够到达同一场点的若干条射线,与之相对应的Map函数返回的场点的三维坐标值是相同的。
所述同一场点归为一类是根据Map函数中场点三维坐标值是否相同来归为一类;如果相同,则归为一类;如果不相同,则单独一类。
所述每个Map函数分配一条射线,根据需要确定源点角度,从而进一步确定射线数目,所述每个Map函数处理自身的射线。
所述各Map函数相互独立对原始数据进行并行操作。
所述Map函数,用于跟踪从源点发射的不同的射线,每个Map函数包括场点三维坐标和场点特征值两个参数;对于能够到达同一场点的若干条射线,与之相对应的Map函数返回的场点的三维坐标值是相同的;
所述Reduce函数,用于以Map函数返回的三维坐标值为关键字,对关键字相同的Map函数处理的场点特征值这一结果进行相应的迭代运算,得到该场点的总特征值;
实施例2
如图1所示为一个简单的小区环境建筑模型,在此环境中,假设有5个源点(s1,s2,s3,s4,s5)和3个场点(t1,t2,t3)。每个源点发射一条射线,那么总共有5条射线。其中源点s1,s2发出的射线经过建筑物的反射后能够顺利的到达场点t1,t2。s3和s4发出的射线经过反射后到达同一场点t3,因此这四条射线是有效射线,源点s5发出的射线没有到达场点,因此是无效射线。
在利用MapReduce的思想进行射线跟踪时,首先要编写两个主要函数:
Map:(in_key,in_value)->{(keyj,valuej)|j=1...k},其中in_key代表射线到达某一场点后,这一场点的三维坐标;in_value代表射线到达某一场点后,射线在此场点的特征值。
Reduce:(key,[value1,...valuem])->(key,final_value),将Map函数最后处理结果中关键字相同(到达同一场点)的归为一类,并对Map函数得出的特征值进行处理,得到此场点最后总的特征值。
如图2所示,主控程序为每个Map函数分配一条射线,总共需要5个Map函数处理这些射线。当一条射线到达某场点后,此条射线即为有效射线,从图1可以看出,源点s1,s2,s3,s4发出的射线经过建筑物反射后到达了场点,即为有效射线,那么与之相对应的Map函数就记录下来到达场点的三维坐标in_key和它们在此场点的特征值in_value;对于那些没有到达场点但能量衰减到可以忽略的射线,即源点s5发出的射线,相应的Map函数的处理结果就可以忽略。当所有的Map函数处理完后,主控程序模块再对所有Map函数处理结果按照关键字进行归类,关键字相同的Map函数,主控程序会归为一类,不相同的单独一类,归类后交由Reduce函数处理,一个Reduce函数的处理结果是一个场点的总的特征值。在图1中,s1到达场点t1,它对应一个Reduce函数,s2到达场点t2,对应一个Reduce函数,s3,s4由于到达同一场点t3,经过Map函数处理后,关键字相同,因此它们对应同一个Reduce函数。经过这些Reduce函数处理后,就可以得出场点t1,t2,t3的特征值。
本发明针对射线跟踪方法自然的并行性,结合MapReduce的并行编程模式来进行射线跟踪的加速算法,由于在密集复杂的建筑物环境中,射线经过反射、折射、绕射后数量庞大,而MapReduce又是针对海量数据的并行运算思想,因此对于复杂环境的射线跟踪,此种方法是十分高效的。
以上所述仅为本发明的优选实施例,并不用于限制本发明,显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种基于Mapreduce的无线电传播射线跟踪加速方法,其特征在于:包括以下步骤:
S1:确定源点和场点,从各源点发射的射线经过建筑物的反射后到达对应的场点;
S2:判断从源点发射的射线是否为有效射线,所述判断从源点发射的射线是否为有效射线,具体步骤如下:从每个源点发出的射线,在射线传播的过程中,经过反射、折射或绕射到达场点的射线为有效射线;从每个源点发出的射线,在射线传播的过程中,能量衰减到规定阀值,确定该射线为无效射线;如果否,则该射线到达场点的三维坐标设为源点坐标,场点的特征值记为0;所述特征值包括场点的场强、到达角、延迟和极化四个参数;
S3:如果是,则分别记录射线到达各场点的三维坐标与该射线到达此场点的特征值;
S4:建立Map函数来处理特征值,将到达同一场点的源点或射线归为一类;
S5:建立Reduce函数来对归类后的特征值进行处理,以Map函数返回的三维坐标值为关键字,对关键字相同的Map函数处理的场点特征值这一结果进行相应的迭代运算,得到该场点最终的四个参数值。
2.根据权利要求1所述的基于Mapreduce的无线电传播射线跟踪加速方法,其特征在于:所述从源点发射的不同的射线采用不同的Map函数进行跟踪,每个Map函数包括场点三维坐标和射线到达场点时的四个参数这五个参数;对于能够到达同一场点的若干条射线,与之相对应的Map函数返回的场点的三维坐标值是相同的。
3.根据权利要求2所述的基于Mapreduce的无线电传播射线跟踪加速方法,其特征在于:所述每个Map函数分配一条射线,根据需要确定源点角度,从而进一步确定射线数目,根据射线数目,所述每个Map函数处理自身的射线。
4.根据权利要求3所述的基于Mapreduce的无线电传播射线跟踪加速方法,其特征在于:所述各Map函数相互独立对原始数据进行并行操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210177933.9A CN102722653B (zh) | 2012-05-31 | 2012-05-31 | 一种基于MapReduce的射线跟踪加速算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210177933.9A CN102722653B (zh) | 2012-05-31 | 2012-05-31 | 一种基于MapReduce的射线跟踪加速算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102722653A CN102722653A (zh) | 2012-10-10 |
CN102722653B true CN102722653B (zh) | 2015-02-25 |
Family
ID=46948410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210177933.9A Active CN102722653B (zh) | 2012-05-31 | 2012-05-31 | 一种基于MapReduce的射线跟踪加速算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102722653B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103327128A (zh) * | 2013-07-23 | 2013-09-25 | 百度在线网络技术(北京)有限公司 | 用于MapReduce的中间数据传输方法及系统 |
CN103413060B (zh) * | 2013-08-26 | 2016-06-15 | 中国人民解放军国防科学技术大学 | 基于双控制体的格心网格数据三维激波特征定位方法 |
CN107368375B (zh) * | 2016-05-11 | 2019-11-12 | 华中科技大学 | 一种基于MapReduce的K-means聚类算法FPGA加速系统 |
CN106483521A (zh) * | 2016-10-11 | 2017-03-08 | 天津大学 | 基于射线跟踪和遗传算法的未知源定位方法 |
CN112199865B (zh) * | 2020-11-11 | 2022-03-22 | 西南科技大学 | 基于sbr的多层密闭舱体射线跟踪方法、存储介质及终端 |
-
2012
- 2012-05-31 CN CN201210177933.9A patent/CN102722653B/zh active Active
Non-Patent Citations (6)
Title |
---|
Lesley Northam et.al.HORT:Hadoop Online Ray Tracing with MapReduce.《SIGGRAPH 2011》.2011,第2011年卷 * |
基于MapReduce的分布式光线跟踪的设计与实现;郑欣杰 等;《计算机工程》;20071130;第33卷(第22期);全文 * |
基于MapReduce的菲涅耳带地震层析成像并行算法;李闯 等;《2010年全国高性能计算学术年会(HPC china2010)论文集》;20101027;第2010年卷;全文 * |
室内射线跟踪定位方法研究;袁正午 等;《计算机应用研究》;20090430;第26卷(第4期);全文 * |
王利东 等.基于.NET Remoting的射线跟踪并行计算模型.《计算机应用》.2011,第31卷(第10期), * |
袁正午 等.基于三维射线跟踪的3G网络规划模块.《计算机应用》.2010,第30卷(第2期), * |
Also Published As
Publication number | Publication date |
---|---|
CN102722653A (zh) | 2012-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722653B (zh) | 一种基于MapReduce的射线跟踪加速算法 | |
Pace | BSP vs MapReduce | |
JP6645346B2 (ja) | 電磁波伝搬経路の追跡方法、装置及びシステム | |
CN112070894B (zh) | 真实环境导航多径实时仿真方法、装置、介质及电子设备 | |
CN108563808A (zh) | 基于fpga的异构可重构图计算加速器系统的设计方法 | |
CN105389850A (zh) | 一种大规模三维场景的新型可见性生成方法 | |
US11580458B2 (en) | Method and system for performance tuning and performance tuning device | |
CN110135584A (zh) | 基于自适应并行遗传算法的大规模符号回归方法及系统 | |
CN110032450A (zh) | 一种基于固态盘扩展内存的大规模深度学习方法及系统 | |
Gong et al. | Improving hw/sw adaptability for accelerating cnns on fpgas through a dynamic/static co-reconfiguration approach | |
CN110222410B (zh) | 一种基于Hadoop MapReduce的电磁环境仿真方法 | |
CN103472481B (zh) | 一种利用gpu进行逆时偏移提取角度道集的方法 | |
CN109346028B (zh) | 一种基于tlm的三角形光栅化扫描结构 | |
US10740532B1 (en) | Route driven placement of fan-out clock drivers | |
US11954788B2 (en) | Variable width bounding volume hierarchy nodes | |
CN113900942B (zh) | 一种生成飞控机载模型精简测试用例集的方法 | |
Silva et al. | Jsensor: a parallel simulator for huge wireless sensor networks applications | |
CN104008217A (zh) | 面向大尺度复杂目标模型的电磁波阴影处理方法 | |
Breglia et al. | Ultrafast ray tracing for electromagnetics via kD-tree and BVH on GPU | |
Li et al. | Flexible distributed heterogeneous computing in traffic noise mapping | |
CN109522575A (zh) | 交通网络仿真系统 | |
CN103391139A (zh) | 一种电波传播损耗的快速预测方法 | |
CN108415267A (zh) | 基于apdl语言用于机床等效结合面快速定义的方法 | |
CN112819140B (zh) | 基于OpenCL的FPGA一维信号识别神经网络加速方法 | |
Li et al. | An Optimal Design Method of Conv2d Operator for TensorFlow Based on FPGA Accelerator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |