gpt4 book ai didi

java - 是否有适用于 Torque/PBS 的 DRMAA Java 库?

转载 作者:搜寻专家 更新时间:2023-11-01 02:18:00 26 4
gpt4 key购买 nike

有人知道已知可与 PBS/Torque 集群软件一起使用的 DRMAA-API 的 Java 实现吗?

这背后的背景:我想使用符合 DRMAA 的 API 从 Java 向新设置的 linux 集群提交作业。集群由 PBS/Torque 管理. Torque 包括用于 Torque/PBS 的 PBS DRMAA 1.0 库,它包含 DRMA-C 绑定(bind)并在 libdrmaa.so 和 .a 二进制文件中提供。我知道 Sun 网格引擎包含一个提供 Java-DRMAA API 的 drmaa.jar。事实上,我选择使用 SGE,但决定先尝试 PBS。

该决定背后的理论是:
“DRMAA 是一个标准,因此 Java API 只需要符合标准的 drmaa-c 绑定(bind)。”但是,我找不到这样的“通用 DRMAA-C-java API”,现在假设这个假设是错误的,并且 Java 库是特定于引擎的。

编辑:我刚刚试验了 sun grid 引擎包中的 drmaa.jar,并尝试将它与 pbs libdrmaa.so 交叉使用。毫不奇怪,失败了(JNI 不满意的链接错误)。

结论:这样不行!经过一番搜索后,我只看到这几个选项:

  1. 在 Globus 上安装 GridWay工具包。安装在 PBS 之上,GridWay 声称在 java 。对我来说看起来太复杂了设置。
  2. 报废 DRMAA,提交给 PBS调用系统命令 qsub, qstat,等来自Java。简单但不那么简单好的。
  3. 对自己实现 drmaa 绑定(bind)。太复杂了……

  4. 切换到 Grid Engine。通用电气在我意见优于PBS关于语言绑定(bind)。

我倾向于选择选项 2 或 4。有什么建议吗?

最佳答案

经过更多搜索,看来我必须自己写点东西了。似乎还没有最佳答案,但它可以作为那些尝试相同的人的警告。

提出这些问题的最佳地点可能是 Torque 邮件列表:www.clusterresources.com/resources/mailing-lists.php

首先,您不能只使用任何 DRMAA-Java 库并将其与任何 DRMAA-C 实现一起使用的原因是:DRMAA 描述了资源控制的接口(interface),而不是它是如何实现的。供应商可以使用 DRMAA-C 实现并仅使用这些功能,但他们不必这样做。它可以使用引擎中的任何东西。因此,一条重要信息是:如果您需要某些语言绑定(bind),请确保它们适用于所有需要的语言。

关于提到的选项:

  1. 使用 GridWay/Globus 工具包:http://www.gridway.org/doku.php?id=start优点:Gridway 是一个元调度器,支持许多资源管理系统(SGE、PBS 等)。可能是目前获得 DRMAA 接口(interface)以与 PBS 一起工作的唯一方法。缺点:这似乎是层次和复杂性的膨胀。没有这方面的经验。

  2. 使用系统命令,qsub、qstat、qdel。优势:快速破解缺点:肮脏的 hack,需要为输出实现解析器,如果出现问题可能不会注意到,从 stdin/stdout/stderr 传递消息,不可移植

  3. 使用 JNI 应该可以为 drmaa.c 中的每个 c 函数创建一个绑定(bind)优势:将提供完整的 drmaa 实现(希望如此)缺点:涉及编译代码,大量手动包装 C 函数(也许这可以自动化)

  4. 切换到另一个网格引擎。可能,我们之前应该进行过这种分析。然而,我们已经有了另一个 Torque 集群,并且有这方面的经验。运营两个将创建更多异构基础架构。

  5. 更改来自不同供应商的现有 drmaa 库。不知道这是否可行……我们也会对此进行调查。

关于java - 是否有适用于 Torque/PBS 的 DRMAA Java 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2715243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com