mat*_*tdm 2 resource-management gridengine
在我们的一个计算集群中,我们拥有具有独特硬件资源的系统,对这些资源的访问由设备文件权限控制。每个节点有两个或四个,以及多个 CPU 内核。我们希望能够在同一节点上安排不同用户的作业,并限制对正确分配资源的访问。(某些队列甚至可能仅占用 CPU,无法访问。)
有一段时间,我们一直遵循“嘿,注意,玩得开心”的政策,但即使有最好的意图,每个人也很难保持直率。因此,我们只是一次为给定用户调度整个节点。这对于单线程、单进程的任务来说是浪费的。
使用 Torque,您可以在作业开始之前以 root 身份运行序言脚本。这可以用来适当地设置设备权限。但是我们正在运行(née Sun)网格引擎。它具有每个队列的prolog
脚本,但它们以作业所属的用户身份运行(如 Torque 的prologue.user
),这在这里没有帮助。
是否有明显的我遗漏的东西(我希望),或者解决这个问题的替代方法?我意识到我有源代码,因此可以做任何事情,但我希望有一种标准的方式我只是想念。
谢谢!
prolog 脚本实际上可以作为任何用户运行。
来自man queue_conf
:
序言
在执行 Grid Engine 作业之前启动的 shell 脚本的可执行路径,其环境设置与之后启动的 Grid Engine 作业的环境设置相同。可选前缀“user@”指定启动此过程的用户。
所以设置prolog root@/path/to/prolog
应该让它以root身份执行。