我跑SGE 8.1.9网格引擎的儿子。 ( http://arc.liv.ac.uk/downloads/SGE/releases/8.1.9/ ) 我有一个最近build立了4个虚拟机,3个执行主机和1个qmaster的网格引擎。 默认/阀芯/ [主机名] /消息 使用一个简单的testing脚本test.sh 回声“你好世界” 工作正常提交。 [用户名] @ [qmaster主机名]:〜$ qsub test.sh 你的工作169(“test.sh”)已经提交 标准输出文件test.sh.o169是正确的,所以这似乎并没有停止执行,但我想找出错误的原因。 你好,世界 输出文件test.sh.e169如下 / opt / sge / default / spool / [exec host name] / job_scripts / 169:24:/ opt / sge / default / spool / [exec host name] / job_scripts / 169:source:not found 当我提交该作业时,4个主机中的每一个的sge / […]
我在SGE 8.1.9中创build资源配额: { name test description NONE enabled TRUE limit users user1 queues gen9.q to slots=168 } 这个规则在使用时是看不到的 qquota -u "*" 这条规则不能被看到: { name test description NONE enabled TRUE limit users {user1} queues gen9.q to slots=168 } 这个规则正在工作: { name test description NONE enabled TRUE limit users * queues gen9.q to slots=168 } 这个规则也在工作: { […]
我们有一个集群用于为客户运行MPI作业。 以前这个集群使用Torque作为调度器,但是我们正在转换到Grid Engine 6.2u5(对于其他一些特性)。 不幸的是,我们在Grid Engine环境中复制了一些维护脚本时遇到了问题。 在Torque中,我们有一个prologue.parallel脚本,用于在节点上执行自动健康检查。 如果此脚本返回失败情况,则Torque将帮助节点脱机并重新排列作业以使用不同的节点组。 然而,在Grid Engine中,队列“prolog”只在作业的头节点上运行。 我们可以从startmpi.sh初始化脚本手动运行我们的prologue脚本,用于mpi并行环境; 但我不知道如何检测失败的情况,并执行相同的“标记离线和重新sorting”程序。 有什么build议么?
由于我一直处在一个受FreeNX伤害的世界, 试图让阴影起作用 ,所以我偶然发现了一个描述通过SGE作业启动vnc会话的简短描述(我们的防火墙规则需要ssh隧道,所以我并不太在意VNC本身的安全意义)。 我的问题是:是否可以在提交的VNC SGE作业创build的新会话中设置空闲过期时间(或可能是简单的硬定时器,例如24小时)? 我也不确定在特定节点上启动VNC会话的正确的SGE脚本语法是什么。 (参考墙到期定时器)
由于qstat只显示有限的信息,请参阅以下内容作为示例。 但是我想知道一个AAA工作的细节(说它是由qsub sample提交的,我猜这个示例脚本必须被SGE系统存储在某个地方……对吧?)。 我怎样才能稍后查看这个sample文件的名称或作业ID? 如果这是不可能的,那很好,但是有没有SGE日志文件或历史logging,我可以去检查我提交的历史脚本? 非常感谢。 或者我可以用另一种方式来说明:SGE存储我的qsub脚本吗? 如果是的话,它在哪里存储? $ qstat -help UGE 8.1.4 $ qstat -u myusername job-ID prior name user state submit/start at queue jclass slots ja-task-ID ———————————————————————————————————————————————— 123456 5.87507 AAA aaaaa r 01/01/2011 00:11:43 [email protected] 24
假设你有两个队列,A队列有一些新的硬件,B队列有旧的硬件。 此外,两个队列对于SGE作业具有相同数量的节点和时隙,例如每个队列10个时隙。 现在我提交10个工作。 如果两个队列都是空的,并且节点的负载相同,那么我猜想5个作业将在队列A中运行,其中5个将在队列B中运行。但是由于B的硬件较旧,作业将花费较长的时间完成。 有没有一种方法可以让SGE在退出旧队列B之前首先尝试“填充”队列A中的快速节点? 我正在问这个问题的用户和pipe理员方面。
根据SGE 5.3手册, 插槽 – 可能在该队列中同时执行的作业数 我对这些概念是陌生的,并希望从一个接一个的理解开始。 假设如果RAM是10G,并且如果有10个插槽,并且因此每个插槽1G,那么只能运行less于1G的作业吗? 而如果这个工作只需要0.5G左右的话,那么这个插槽剩下的0.5G就会浪费了吗? 如果是这样的话,那么如果没有对资源进行优化,网格又有什么用呢? 如果2G的工作在多个插槽之间共享,这是否称为并行工作或正常工作? SGE v5.3和v6.0及以上版本的队列和插槽概念有什么区别吗?
目前我正在研究SGE集群,我可以在头节点中使用qsub提交作业,但是现在我想要做的是创build新作业并将作业从一个计算节点提交到另一个计算节点,可以这样做吗?
我知道我可以使用qacct来获得有关运行作业的所有types的统计信息。 现在有什么办法可以得到一些关于有多less工作正在等待的统计数据,他们需要平均等待多长时间? 奖金问题:我可以得到有关SGE“闲置”(或空)插槽的统计数据吗?
在我们的集群上,我可以使用当前sgeconfiguration的所有插槽。 我不想在每次提交时都意外/检查我的权限。 有没有办法对我的作业可以使用的插槽数量施加严格的限制? 我没有经理权限,所以我不能这样做,“ 我怎样才能设置每个用户在SGE上运行的最大作业数量? ”虽然这正是我所追求的。