我的集群正在运行 Sun 的 Grid Engine 版本“GE 6.2u5 $Date: 2009/12/01 12:24:06 $”。我想将单个作业提交到由包含许多命令的 bash 脚本定义的队列。此脚本中的大多数命令只能使用 1 个 CPU。但是,一个命令可以使用 N 个 CPU。是否可以以某种方式为我的脚本中的这一个命令请求更多处理器?
答案1
使用 SGE 无法动态分配这样的资源。处理这种情况的正确方法是将定义作业的脚本拆分为三部分:A、B、C,其中 A=带有仅需要 1 个 CPU 的命令的脚本 B=带有需要 N 个 CPU 的命令的脚本 C=带有仅需要 1 个 CPU 的命令的脚本
然后诀窍就是将这三个脚本作为三个不同的作业提交,其中最后两个脚本依赖于前两个脚本的完成。