首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >condor中的并行处理

condor中的并行处理
EN

Stack Overflow用户
提问于 2014-05-25 15:10:30
回答 1查看 507关注 0票数 1

我有一个java程序,将处理800个图像。

我决定使用Condor作为分布式计算的平台,旨在将这些图像划分到可用的节点上,并将处理后的结果返回给我。get processed ->将结果返回给我。

假设我有4个节点。我希望在每个节点上将处理过程划分为200个图像,并将最终结果返回给我。

我试着正常执行它,将它作为java程序提交,并说明要求=机器== ..(说明所有节点)。但它似乎不起作用。

如何划分处理并并行执行?

EN

回答 1

Stack Overflow用户

发布于 2015-09-01 23:43:57

HTCondor绝对可以帮助您,但您可能需要自己做一些工作:-)

我想到了两种可能的方法:作业数组和DAG应用程序。

作业阵列:从HTCondor Quick Start Guide上的示例5可以看到,您可以使用queue命令提交多个作业。例如,作业文件底部的queue 800将向HTCondor池提交800个作业。

在这种情况下,人们所做的是使用文件名约定来组织要处理的数据,并在作业文件中利用该约定。例如,您可以将图像重命名为img_0.jpg, img_1.jpg, ... img_799.jpg (可能使用符号链接,而不是重命名实际文件),然后使用作业文件:

代码语言:javascript
复制
Executable = /path/to/my/script
Arguments = /path/to/data/dir/img_$(Process)
Queue 800

当800个作业运行时,$(Process)会自动分配相应进程ID的值(即从0到799的整数)。这意味着您的代码将选取正确的图像进行处理。

DAG:另一种方法是在一个简单的DAG中组织处理。在这种情况下,您可以使用预处理脚本( DAG文件中的SCRIPT PRE条目)来组织输入数据(可能会创建适当命名的符号链接)。真正的工作就像上面的例子一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23852919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档