问题标签 [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.
c++ - 使用 C 动态加载例程的问题
我有一个由用 C++ 编写的不同模块组成的应用程序。
其中一个模块用于处理 SunGrid Engine 上的分布式任务。它使用 DRMAA API 来提交和监控网格作业。如果客户端不支持网格,则应使用本地计算机
API libdrmaa.so 的共享对象在编译时链接并在运行时加载。
如果使用我的应用程序的客户端有这个“.so”一切都很好,但如果客户端没有那个,应用程序退出加载共享库失败。
为了避免这种情况,我将 API 调用替换为使用 dlsym() 和 dlopen() 获得的函数指针。现在,如果对 dlopen 的调用没有成功并且我的目标已经实现,我可以使用本地计算机而不是网格。
现在的问题是应用程序现在可以成功运行小型测试用例,但是对于较大的测试用例,它会引发分段错误,而使用动态加载的相同代码可以正常工作。
使用 dlsym() 和 dlopen() 时我是否遗漏了什么?
有没有其他方法可以实现相同的目标?
任何帮助,将不胜感激。
谢谢,
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)。
结论:这样不行!经过一番搜索,我只看到以下几个选项:
- 在 Globus 工具包上安装 GridWay。安装在 PBS 之上的 GridWay 声称以 Java 提供 DRMAA。对于我的设置来说,看起来太复杂了。
- 报废 DRMAA,通过从 Java 调用系统命令 qsub、qstat 等提交给 PBS。简单但不是很好。
自己实现一个 drmaa 绑定。太复杂了...
切换到网格引擎。在我看来,GE 在语言绑定方面优于 PBS。
我倾向于选择选项 2。或 4。有什么建议吗?
java - Sun Grid Engine DRMAA java 内存泄漏
我正在使用 sun Grid Engine 和 java DRMAA 库将作业从 Web 应用程序内部安排到集群上。就工作而言,一切都很好。但是随着时间的推移以及当我开始向集群提交多个作业时,应用程序内存使用量正在迅速增长。有没有人注意到同样的行为。我可以在这方面使用一些专家的帮助。
sungridengine - SGE 上 DRMAA 的 Web 服务 API
有谁知道将SGE (Sun Grid Engine)的DRMAA API(作业调度和维护 API)公开为 Web 服务 API 的任何项目?最好使用 RESTful API。
python - 等待作业完成的有效方法:python 和 drmaa
我想问一下我通过 Python 使用的 drmaa API 中的“等待”功能。它是否会执行常量 qstat(如果我们在 SGE 上运行它)来检查程序是否已完成执行。
我们的管理员希望我们避免任何恒定的 qstat,因为它会由于调度程序的额外负载而降低性能。
一般来说,wat 将是一种通过 DRMAA 检查作业状态的有效方法,而不会过度使用调度程序。
谢谢!-阿比
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 无法确定状态?
python - 在 drmaa-python 中关闭 DEBUG 消息
我正在使用 DRMAA python 绑定(请参见此处http://code.google.com/p/drmaa-python/)通过集群上的 Condor 管理分布式作业。
我找不到关闭代码打印到终端的调试消息的方法。
例如:
调试:现在正在等待...调试:drmaa_join_files 调试:Join_files 已设置调试:drmaa_block_email:1
有任何想法吗?
提前致谢
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 位,所以这都是兼容的。
有谁知道出了什么问题?
java - 本地 Java 程序可以使用 DRMAA 通过 SSH 远程启动作业吗?
DRMAA 是如何工作的?使用 DRMAA 的本地 Java 程序能否通过 SSH 在远程集群上启动作业(这样就不需要在服务器端安装任何东西)?
背景: 我正在用 Java/Eclipse RCP 开发一个通用(或尽可能通用)HPC 客户端,并希望使用 DRMAA 来支持任何资源管理器作为后端。
我已经通过远程系统资源管理器 (RSE) Eclipse 插件获得了 SSH 连接功能。
cluster-computing - 是否可以使用 DRMAA 列出正在运行的作业?
我想知道是否可以使用 DRMAA 库在资源管理器中列出所有正在运行的作业,而不仅仅是通过 DRMAA 本身启动的那些?
也就是说,获取类似于SLURM 资源管理器的squeue 命令输出的数据。