在分析和提取文本信息的过程中,我使用了UIMA。该管道失败与6个同时处理。
我认为我需要使用一个扩展工具,比如UIMA-Ducc和UIMA-作为,但我看不清楚是哪一个。
什么时候使用每一种?他们的不同之处是什么?
发布于 2015-04-17 13:14:44
正如UIMA鸭簿引用的
UIMA-AS提供了一种扩展机制,用于在计算资源集群上分配UIMA管道,但不提供资源的作业或集群管理。DUCC定义了一个与标准UIMA管道紧密映射的正式作业模型。围绕这个作业模型,DUCC提供集群管理服务,以实现UIMA管道在计算集群上的自动扩展。
因此,如果希望将作业/集群管理的任务委托给框架,则应该使用UIMA,否则使用UIMA。
回答
他们的不同之处是什么?
书上说,
DUCC还提供其他设施以支持扩大规模: 1.保留集群中所有或部分节点的能力。 2.支助工作所需服务的自动化管理。 3.能够在集群中的节点上调度和执行任意进程。 4.调试工具和支持。 5.用于显示和管理工作和群集状态的web服务器。 6.支持上述功能的CLI和Java。
发布于 2015-04-18 10:00:23
问题可能是:在UIMA之上使用DUCC有什么好处-AS,因为DUCC是UIMA-AS之上的一个管理层。
如果您只想快速部署UIMA --作为管道,您可以使用基本的UIMA作为基础设施(实际上,UIMA位于Active MQ,http://activemq.apache.org/之上)。但是,请注意,UIMA-AS文档中的示例只向您展示了如何在处理时实现并行性,而不是在读取时。这意味着读取数据可能成为瓶颈(除非您完全实现了在不同节点上存储数据以及从不同节点读取数据)。
这实际上是DUCC为您解决的问题之一。如果您遵循DUCC最佳实践,则可以使用WorkItem类型(放在CAS之上)分发数据读取。DUCC强制您这样做(这很好),如果您遵循它的CollectionReader (将输入数据划分为块)+ CASMultiplier (执行实际的分布式读取)方法,您可以获得巨大的性能提升。此外,DUCC还为您提供了一个类似Hadoop的基于web的监视接口和其他一些不错的特性,例如每个计算节点的内存分配。
如果您计划运行大量管道,并且愿意挖掘DUCC,我肯定会推荐DUCC。当然,你也必须学习UIMA。
发布于 2015-04-24 17:40:57
用非常简单的语言回答您的问题是"DUCC是您在UIMA或UIMA中可能面临的所有瓶颈的答案“。
在DUCC中,可以轻松地进行监视,还可以通过更改作业描述文件来定义进程的内存大小和每个进程的线程号。
与Uima相比,DUCC的另一个优点是现在的CR也可以使用作业驱动程序进行缩放。
https://stackoverflow.com/questions/29693732
复制相似问题