问题标签 [condor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
3873 浏览

cluster-computing - Condor、Sun Grid Engine 还是其他?

我正在尝试确定我们是否应该在工作中试用 Condor 或 Sun Grid Engine(或者可能是其他东西)。

我们经常有很多未使用的 WinXp 工作站。希望我们可以使用 LAN 唤醒,运行我们所有的作业,然后自动关闭。我们主要为蒙特卡罗或参数探索运行 Matlab、Java 或 Python 模拟。

由于我对 Condor 的了解有限,听起来使用 vm Universe 可能是一种无需修改现有代码即可处理快照的便捷方式。

SGE 或其他东西比 condor 更适合这种工作吗?

0 投票
3 回答
1054 浏览

workflow - 使用 DAG 的 Condor 作业和一些需要运行同一主机的作业

我有一个计算任务,它被分成几个单独的程序执行,具有依赖关系。我使用 Condor 7 作为任务调度程序(在 Vanilla Universe 中,由于对超出我能力范围的程序有限制,所以不涉及检查点),所以 DAG 看起来是一个自然的解决方案。但是,有些程序需要在同一台主机上运行。我在 Condor 手册中找不到有关如何执行此操作的参考。

示例 DAG 文件:

我需要表达的是B和D需要在同一个计算机节点上运行,而不破坏B和C的并行执行。

谢谢你的帮助。

0 投票
5 回答
661 浏览

c - 在 condor 上运行时解决神秘 Segfault 的方法/工具

我正在编写一个跨计算集群运行的 C 应用程序(使用 condor)。我尝试了许多方法来揭示有问题的代码,但无济于事。

线索:

  • 平均而言,当我在 15 台机器上运行代码 2 天时,我会收到两到三个段错误(信号 11)。
  • 当我在本地运行代码时,我没有遇到段错误。我在家用机器上运行了将近 3 周。

尝试:

  • 我在本地运行 valGrind 中的代码四天,没有出现内存错误。
  • 我通过定义自己的信号处理程序来捕获段错误信号,以便我可以输出一些程序状态。
  • 现在,当发生段错误时,我可以使用回溯打印出当前堆栈。
  • 我可以打印出变量值。
  • 我创建了一个设置为当前行号的变量。
  • 还尝试将代码块注释掉,希望如果问题消失,我会发现段错误。

可悲的是,输出的行号是相当随机的。我不完全确定我可以用堆栈跟踪做什么。我假设它只记录发生段错误的函数的地址是否正确?

怀疑:

  • 我怀疑 condor 用来跨机器移动作业的检查点系统对内存损坏更敏感,这就是为什么我在本地看不到它的原因。
  • 该索引已被错误破坏,并且这些索引导致了段错误。这可以解释段错误发生在相当随机的行号上的事实。

更新

对此进行更多研究,我发现了以下链接:

更新 2

Greg 建议查看 condor 日志并“将段错误与 condor 从检查点重新启动可执行文件的时间相关联”。查看日志,所有段错误都在重新启动后立即发生。当作业从一种类型的机器切换到另一种类型时,所有故障似乎都会发生。

更新 3

段错误是由主机之间的差异引起的,通过将 condor 提交文件中的“requiremets”字段设置为问题完全消失。

可以设置单台机器:

或一整类机器:

在此处查看要求示例

0 投票
1 回答
2879 浏览

r - 使用 R 时我应该更喜欢 hadoop 还是 condor?

我正在寻找在我的大学计算机网格上为多台计算机发送作品的方法。

目前它正在运行 Condor,并且还提供 Hadoop。

因此,我的问题是,我应该尝试将 R 连接到 Hadoop 还是连接到 Conder 以用于我的项目?

对于讨论,假设我们正在讨论令人尴尬的并行任务。

ps:我看过CRAN 任务视图中描述的资源。

0 投票
6 回答
6070 浏览

python - 用于作业调度的 Python 库,ssh

我想找到一个用户空间工具(最好是在 Python 中——除此之外,如果它还没有做我需要的事情,我可以轻松修改)来替换我一直在使用的简短脚本以下两件事:

  • 轮询不到 100 台计算机(Fedora 13,它就是这样)的负载、可用内存以及是否有人在使用它们
  • 为作业选择好的主机,通过 ssh 运行这些作业。这些作业是执行任意命令行程序,这些程序读取和写入共享文件系统——通常是图像处理脚本或类似的——cpu,有时是内存密集型任务。

例如,使用我当前的脚本,我可以在 python 提示符下

或从命令行

运行该命令users5 次(通过检查配置文件中至少 5 台计算机上的 CPU 负载和可用内存,找到 5 台可以运行该命令的计算机之后)。除了我刚刚运行的脚本之外,应该没有作业服务器,并且计算机上没有将运行这些命令的工作守护程序或进程。

我还希望能够跟踪作业,在失败时再次运行作业等,但这些是我实际上不需要的额外功能(在真正的作业调度程序中非常标准)。

我为 Python 找到了很好的 ssh 库,比如classhPuSSH,它们没有我想要的(非常简单的)负载平衡功能。在我想要的另一边是 Condor 或 Slurm,正如在我澄清我想要更轻的东西之前由 crispamares 所建议的那样。那些会以正确的方式做事,但是从阅读它们的角度来看,它们听起来像是只有在我需要它们时才在用户空间中旋转它们,这会令人讨厌到不可能。这不是一个专用集群,我在这些主机上没有 root 访问权限。

我目前正计划在 classh 周围使用一个包装器,并在我找不到其他东西时,只要我需要知道它们有多忙,就可以对计算机进行一些基本的轮询。

0 投票
1 回答
114 浏览

native - 为什么原生程序直接执行时运行良好,但通过 Condor 提交时因 seg 错误而失败

我有一个第三方库,我正在尝试将其合并到模拟中。我们有静态库 (.a),以及它的所有运行时依赖项(共享对象)。我创建了一个与库链接的非常简单的应用程序(用 C 语言)。它所做的只是调用作为第三方库 API 一部分的初始化函数,然后退出。当我直接从命令行运行它时,它工作正常。如果我将可执行文件提交到我们的 Condor 网格,它会因 strncpy (libc.so.6) 上的段错误而失败。我已经强制 condor 只在特定机器上运行可执行文件,如果我直接在该机器上运行它,它工作正常。

我主要是一名 Java 程序员......本机编码经验有限。我对 nm、ldd、catchsegv 等工具非常熟悉,以至于我可以运行它们。我真的不知道从哪里开始寻找问题。

我已经直接在执行机器上运行 ldd,并通过 condor 提交的脚本以及我的可执行文件。ldd 在两种情况下都报告相同的文件。

我不明白直接运行它是如何工作的,但它会失败由秃鹰运行。最终执行程序的进程 condor_startd 是一个以 root 身份启动的进程,并将其有效 uid 更改为提交者。也许这与它有关?

0 投票
1 回答
335 浏览

r - 返回代码 10 表示 R 文档中的

当我将作业提交给秃鹰时,我有一组 R 作业应该提交给秃鹰,它们没有运行,当我检查调度日志文件时,作业正在以状态码 10 退出。任何人都可以解释这个?

这是我的提交文件:

这是我的计划日志文件:

对此有任何想法。

谢谢

0 投票
1 回答
1447 浏览

condor - Condor 的最长运行时间

我正在使用 Condor 运行许多作业,并且我想确保作业的运行时间不会超过固定的时间,比如 2 小时。有没有办法在 Condor 提交脚本中指定在这个时间限制之后作业应该被终止并标记为失败?

0 投票
1 回答
863 浏览

cluster-computing - CentOS 是否支持 Condor?

我计划使用 Condor 作为中间件来制作 HPC 集群。CentOS 是作为操作系统的一个不错的选择吗?我的意思是它是否支持 condor?是否有任何教程对安装过程有帮助?

问候,

0 投票
1 回答
137 浏览

centos - 我应该使用什么类型的安装在运行 CentOS 的 4 台服务器上安装 Condor

我计划在运行 CentOS5 的 4 台服务器上安装 Condor,以使用这 4 台专用机器形成一个 HPC 集群我可以使用 Red hat RPM 文件来安装 Condor,还是有其他文件,我应该使用什么类型的安装,步骤是否相同具有不同的配置或不同的安装步骤?

这是我使用的安装步骤:http: //bit.ly/A7Xddl

问候。