span8
span4
每一个FME翻译通常是一个单一的进程在您的计算机上。但是,可以设置FME来利用多核处理器并改进计算的并行性(一次执行多个任务)。FME还利用了超线程技术,该技术用于使每个物理内核作为主机操作系统的两个逻辑处理器。
通过使用并行处理,性能可能比单个进程显著提高。
作为一个简短的介绍,请注意FME中的每个并行进程使用自己的数据集,并且数据不能在进程之间传递。因此,必须使用group - by参数将数据分成组,并将每个组设置为由不同的进程处理。
这里,一名用户正在使用FME的统计计算器转换器计算有关温哥华市公园游客数量的统计数据。每个公园都有一个属性来定义它所在的社区。该邻域属性用于对数据进行分组,通过设置并行处理级别,每个组由单独的进程处理,这可能会提高性能。
处理级别决定并行运行多少个进程。最少创建最少的进程。极端创造最多。确切的数量取决于计算机上使用的内核和处理器的数量:
然而,FME将创建的进程数量是有限的。此限制与FME许可级别相关。FME基础版最多允许4个进程;专业版:8;其他版本:16。
下面是一些关于并行处理的一般技巧:
从理论上讲,并行处理应该比单个进程产生更快的结果。然而,在某些情况下,情况可能并非如此:
与其让一个变压器进行并行处理,还不如让一组变压器进行并行处理。
这是通过从该组创建一个自定义转换器来实现的。自定义transsformer有自己的并行处理参数,它不必局限于其中的单个转换器。
使用这样的自定义转换器还意味着“group by”和“parallel process by”的设置可以不同(例如,我可以按社区将公园分组,但是根据城市对它们进行并行处理)。
这是一组实施例中,其中并行处理是使用的。对于一个教程,开展自己,看这一页。
这里所有的例子都在64位Windows平台上的一个四核心(8个虚拟处理器)机4GB内存进行。请记住,结果可能取决于硬件配置和FME版本而异。
因为表面建模是如此强烈的过程中,采用并行处理可以是非常有益的。
本实施例中生成从点云输入DEM:
该RasterDEMGenerator基通过被设置为fme_basename处理每个点云作为自己的组。
适度是最好的结果在这里,超过两倍的速度,因为没有并行。最小并行度比较慢,因为它不使用全部的处理功能。激进和极端的模式是慢,因为他们使用的是完全的处理能力,在每个人的费用。
在第二个实验中,点云文件按照他们的名字的第一个字母组合(这是SubstringExtractor变压器是什么)。
使用较大的测试数据集显示了结果做规模与数据大小:
TINGenerator类似于RasterDEMGenerator SurfaceModeller的另一个子集。
在该示例中单个TINGenerator需要5分钟,以产生表面。然而,即使并行之前,我们可以用一个特技其中一个TINGenerator使得小的表面(来自每个源的LAS)与第二TINGenerator到这些小的表面结合成一个单一的表面。
耦合这双曲面生成与并行处理给出了优异的结果:
基于所述测试的结果上面我们可以决定性地得出结论,并行处理允许更快的表面建模,并且可以推荐机器支撑多线程。
这个例子使用含有US主要道路shape文件数据集,其中所述意图是缓冲用25米缓冲区各道路。这一过程将包裹Bufferer变压器定制变压器的内部,使得在group-by参数可以使用不同的属性,以并行处理由参数。
因为它让我们创建组的最佳数量,这里是8和16之间,这非常有用。该循环计数:变压器是用来做这个,它的“最大计数”参数是创建组数:
对于45万个原路段的缓冲数字如下:
我们可以看到,在过去的测试组的尺寸较小不赔多道开销(发射了FME会话和FME实例之间发送功能)。这将是一个问题的少,每组有特征的数目大得多。
并行处理可以在工作区中的任何变压器一起使用。在上面的例子中,并行处理的LineJoiner变压器(在定制变压器包裹起来)给出以下:
我们可以得出这样的结论并行处理有超过正常连线没有优势。然而,当这些数据大约是5倍大,其结果是完全不同的:
没有并行处理,一个单一的过程可以养猪资源,瘫痪计算机而FME优化存储器使用和高速缓存数据到磁盘。
裁剪就是多进程是有益的其他操作。在这个例子中,我们看到美国的主要道路,被国家中已经加入,并把它们夹到县界。同样,我们使用的FIPS数量的第二位作出处理组:
大型数据集(〜45万层的功能)的结果给出如下:
以更大的数据集(〜2250000个特征)的结果更为明显:
在3D裁剪点云可以是一个简单的表面过滤有用:
如下在相对较小的点云看结果:
欲了解更多信息,请参阅并行处理文档或者桌面高级培训的并行处理部分。
©2019安全亚搏在线软件公司法律