问题标签 [drmaa]

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 投票
3 回答
461 浏览

c++ - 使用 C 动态加载例程的问题

我有一个由用 C++ 编写的不同模块组成的应用程序。
其中一个模块用于处理 SunGrid Engine 上的分布式任务。它使用 DRMAA API 来提交和监控网格作业。如果客户端不支持网格,则应使用本地计算机

API libdrmaa.so 的共享对象在编译时链接并在运行时加载。
如果使用我的应用程序的客户端有这个“.so”一切都很好,但如果客户端没有那个,应用程序退出加载共享库失败。
为了避免这种情况,我将 API 调用替换为使用 dlsym() 和 dlopen() 获得的函数指针。现在,如果对 dlopen 的调用没有成功并且我的目标已经实现,我可以使用本地计算机而不是网格。
现在的问题是应用程序现在可以成功运行小型测试用例,但是对于较大的测试用例,它会引发分段错误,而使用动态加载的相同代码可以正常工作。

使用 dlsym() 和 dlopen() 时我是否遗漏了什么?
有没有其他方法可以实现相同的目标?

任何帮助,将不胜感激。

谢谢,

0 投票
3 回答
2485 浏览

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

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

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

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

编辑:我刚刚尝试了来自 sun Grid Engine 包的 drmaa.jar,并尝试将它与 pbs libdrmaa.so 交叉使用。毫不奇怪,那失败了(JNI unsatisfied link error)。

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

  1. 在 Globus 工具包上安装 GridWay。安装在 PBS 之上的 GridWay 声称以 Java 提供 DRMAA。对于我的设置来说,看起来太复杂了。
  2. 报废 DRMAA,通过从 Java 调用系统命令 qsub、qstat 等提交给 PBS。简单但不是很好。
  3. 自己实现一个 drmaa 绑定。太复杂了...

  4. 切换到网格引擎。在我看来,GE 在语言绑定方面优于 PBS。

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

0 投票
0 回答
301 浏览

java - Sun Grid Engine DRMAA java 内存泄漏

我正在使用 sun Grid Engine 和 java DRMAA 库将作业从 Web 应用程序内部安排到集群上。就工作而言,一切都很好。但是随着时间的推移以及当我开始向集群提交多个作业时,应用程序内存使用量正在迅速增长。有没有人注意到同样的行为。我可以在这方面使用一些专家的帮助。

0 投票
2 回答
699 浏览

sungridengine - SGE 上 DRMAA 的 Web 服务 API

有谁知道将SGE (Sun Grid Engine)的DRMAA API(作业调度和维护 API)公开为 Web 服务 API 的任何项目?最好使用 RESTful API。

0 投票
1 回答
837 浏览

python - 等待作业完成的有效方法:python 和 drmaa

我想问一下我通过 Python 使用的 drmaa API 中的“等待”功能。它是否会执行常量 qstat(如果我们在 SGE 上运行它)来检查程序是否已完成执行。

我们的管理员希望我们避免任何恒定的 qstat,因为它会由于调度程序的额外负载而降低性能。

一般来说,wat 将是一种通过 DRMAA 检查作业状态的有效方法,而不会过度使用调度程序。

谢谢!-阿比

0 投票
1 回答
655 浏览

python - 为什么 python DRMAA 库 (drmaa-python) 有时无法确定提交给 SGE (UNDETERMINED) 的作业状态?

我正在使用drmaa-python向 SGE(Sun Grid Engine)提交和监视作业。我在 GUI 中有以下状态

  • 队列中活动的作业
  • 运行作业
  • 已完成的工作
  • 失败的工作
  • 状态未定

有时我得到的工作很少状态未确定当我在 SGE 主机的终端中使用qstat检查作业状态时,我可以看到所有作业都在运行,而没有一个作业失败。Status Undetermined通常会误导用户,因为用户可能认为Status Undetermined作业存在某种问题。

所以,我知道问题不在于 SGE,而在于 drmaa-python 库。

有谁知道为什么 drmaa-python 无法确定状态?

0 投票
1 回答
135 浏览

python - 在 drmaa-python 中关闭 DEBUG 消息

我正在使用 DRMAA python 绑定(请参见此处http://code.google.com/p/drmaa-python/)通过集群上的 Condor 管理分布式作业。

我找不到关闭代码打印到终端的调试消息的方法。

例如:

调试:现在正在等待...调试:drmaa_join_files 调试:Join_files 已设置调试:drmaa_block_email:1

有任何想法吗?

提前致谢

0 投票
3 回答
1646 浏览

java - DRMAA 和 shared.library.path

我尝试按照以下网址的教程使用带有 DRMAA api 的 sun Grid 引擎:http: //gridscheduler.sourceforge.net/howto/drmaa_java.html。为此,我需要加载位于 /srv/sge/lib/lx24-amd64/drmaa.so 中的 c 库。现在我使用以下代码执行我的命令:java -jar scriptName.jar -Dshared.library.path=/srv/sge/lib/lx24-amd64/ 如https://blogs.oracle.com/templedf/entry/中所述drmaa_and_the_shared_library。但我仍然得到这个例外:

线程“主”java.lang.UnsatisfiedLinkError 中的异常:java.library.path 中没有 drmaa

尝试检索会话时会引发此异常:

session = SessionFactory.getFactory().getSession();

操作系统是 linux 64 位,java 是 64 位,SGE 是 64 位,所以这都是兼容的。

有谁知道出了什么问题?

0 投票
1 回答
331 浏览

java - 本地 Java 程序可以使用 DRMAA 通过 SSH 远程启动作业吗?

DRMAA 是如何工作的?使用 DRMAA 的本地 Java 程序能否通过 SSH 在远程集群上启动作业(这样就不需要在服务器端安装任何东西)?

背景: 我正在用 Java/Eclipse RCP 开发一个通用(或尽可能通用)HPC 客户端,并希望使用 DRMAA 来支持任何资源管理器作为后端。

我已经通过远程系统资源管理器 (RSE) Eclipse 插件获得了 SSH 连接功能。

0 投票
1 回答
641 浏览

cluster-computing - 是否可以使用 DRMAA 列出正在运行的作业?

我想知道是否可以使用 DRMAA 库在资源管理器中列出所有正在运行的作业,而不仅仅是通过 DRMAA 本身启动的那些?

也就是说,获取类似于SLURM 资源管理器squeue 命令输出的数据。