我有一个具有多个活动节点的condor集群。
但是当我提交一个作业时,它只在一个节点上运行(即主节点)。我知道Condor会根据可用资源自动分发作业。
但是如果我想强制condor使用所有的节点呢?仅仅是为了评估运行在多个节点上的进程时间还是在单个节点上运行的进程时间?
我尝试在提交文件中添加requirements = Machine == "hostname1“&& Machine == "hostname2”,但不起作用。
发布于 2014-12-25 11:24:38
根据您想要做的事情,您可能希望使用并行宇宙,如下所示:http://research.cs.wisc.edu/htcondor/manual/current/2_9Parallel_Applications.html
对于并行全局作业,您可以通过machine_count指示机器数量,并且只需要对单个任务进行排队。
发布于 2015-09-03 00:55:38
恐怕我不完全明白你在问什么。让我们看看我能不能帮上忙。我可以看到几个场景:
无论available.
在情况1中,您的提交文件或池设置发生了一些可疑的事情。我将假设condor_status返回多台机器,并且您的池设置正常。这种情况下的典型陷阱如下:如果您没有为您的作业指定Requirement,Condor将为您插入一个will。默认情况下,Condor将请求该作业在与提交节点具有相同操作系统和体系结构的机器上运行。这个确实在异构池中咬了我几次;-)
在第二种情况下,你必须确保你的可执行文件可以使用多台机器(例如通过MPI),并且你需要告诉Condor这一点。实现这一点的一种方法是使用Parallel领域。另一种方法是使用经典的master/worker架构,其中worker是持久化的Condor作业。
发布于 2014-07-08 16:06:49
Condor的限制在于它只能执行(system())命令。如果您的程序没有创建许多子任务,您将不会体验到任何速度改进。
请发布您的工作描述(文件)的简短片段。
https://stackoverflow.com/questions/23852080
复制相似问题