0

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

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

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

谢谢!-阿比

4

1 回答 1

2

从 DRMAA API 的角度来看,没有更好的方法。该 API 仅反映了您可以使用默认命令行工具在 shell 脚本中执行的操作。

问题在于您的特定 DRMAA 库的实施策略,因为 SGE 提供了比持续轮询更好的方法来获取作业状态更新。因此,您有以下选择:

  • 修复您使用的 DRMAA 实现依赖于与调度程序的一些直接通信。有线协议的一种信息来源可能是 Open Grid Scheduler 项目。
  • 等到 Univa(或其他人)为他们的 Grid Engine 产品提供 DRMAAv2 实施。这个版本的 API 支持对作业状态更改的库回调 (http://ogf.org/documents/GFD.198.pdf),这似乎正是您想要的。
于 2013-01-09T23:47:32.383 回答