是否有一个适用于Torque/PBS的DRMAA Java库?
是否有人知道DRMAA-API的Java实现,该实现已知可用于PBS/Torque群集软件 这背后的背景:我想使用符合DRMAA的API从Java向新设置的linux集群提交作业。群集由管理。Torque包括Torque/PBS的PBS DRMAA 1.0库,该库包含DRMA-C绑定,并在libdrmaa.so和.a二进制文件中提供。我知道Sun grid引擎包含一个drmaa.jar,提供Java drmaa API。事实上,我选择使用SGE,但决定先试用PBS 该决定背后的理论是:是否有一个适用于Torque/PBS的DRMAA Java库?,java,cluster-computing,pbs,grid-computing,drmaa,Java,Cluster Computing,Pbs,Grid Computing,Drmaa,是否有人知道DRMAA-API的Java实现,该实现已知可用于PBS/Torque群集软件 这背后的背景:我想使用符合DRMAA的API从Java向新设置的linux集群提交作业。群集由管理。Torque包括Torque/PBS的PBS DRMAA 1.0库,该库包含DRMA-C绑定,并在libdrmaa.so和.a二进制文件中提供。我知道Sun grid引擎包含一个drmaa.jar,提供Java drmaa API。事实上,我选择使用SGE,但决定先试用PBS 该决定背后的理论是: “DRM
“DRMAA是一个标准,因此Java API只需要一个符合标准的DRMAA-c绑定。”然而,我找不到这样的“通用DRMAA-c-Java API”,现在假设这个假设是错误的,Java库是特定于引擎的 编辑: 我刚刚试用了sun grid引擎包中的drmaa.jar,并尝试将其和pbs libdrmaa.so交叉使用。毫不奇怪,这失败了(JNI未满足链接错误) 结论:它不是那样工作的!经过一些搜索,我只看到以下几个选项:
我倾向于选择2。或4。有什么建议吗?再搜索一段时间后,看来我得自己写点东西了。目前似乎还没有最佳答案,但它可以作为对那些尝试同样方法的人的警告 问这些问题的最佳地点可能是Torque邮件列表:www.clusterresources.com/resources/mailing-lists.php 首先,您不能仅使用任何DRMAA Java库并将其用于任何DRMAA-C实现的原因是: DRMAA描述了资源控制的接口,而不是它的实现方式。供应商可以使用DRMAA-C实现并仅使用这些功能,但他们不必这样做。它可以使用引擎里的任何东西。因此,一条重要的信息是:如果您需要某些语言绑定,请确保它们适用于所有需要的语言 关于提及的选项:
你决定怎么处理这个了吗?您是否设法使Java DRMAA绑定与Torque/PBS一起工作?我想让一些Java DRMAA代码在Torque/PBS系统上运行,如果您已经完成了这项艰巨的工作,我很想偷它 但是,如果您还没有,那么制作一些Java绑定应该不会太糟糕,如果没有其他人这样做,我也会这么做。几年前,我成功地修改了SGE的DRMAA Java绑定,以便与Xgrid的新DRMAA实现一起工作(现在已经过时,但可能很快就会恢复) 我甚至就我的经历写了一篇简短的博文(包括指向一般说明的链接): 我也有这个问题。 这是一个创建面向对象C++和java DRMAA绑定的项目,用于PBS/Trime.<
缺点是必须加载从C++代码创建的库,因此它不是一个纯java实现,只能作为.jar文件分发,期望最终用户提供“LBDRMAA。” 不管它值多少钱,这里是:
不得不接受我自己的正确答案可能会令人沮丧;)您好,很抱歉,我们最终决定切换到(Oracle/sun)开源版本GridEngine。事实证明这是一个更完整的系统,有道理。我移植的代码是针对Sun Grid引擎的(可能很快就会成为Oracle的封闭源代码),这就是Java绑定的起源。我将继续推进Torque/PBS绑定,并在工作时/如果工作正常,将其发布到此处。