Articles of gridengine

设置SGE来完全填充每个节点,而不是分配作业

最初张贴在错误堆栈溢出…请参阅底部的post来回复该post。 我search了一会,但找不到答案。 我的问题是这样的:假设我有一个SGE设置了两个12-CPU的机器。 我有两个1-CPU作业提交给网格,但其他用户通常会提交12-CPU作业。 这些是不能在多台机器上拆分的共享内存作业。 会发生什么是有时我会提交我的两个工作,他们将分别去一个单独的机器,每个11/12 CPU免费。 这样可以防止其他人在运行时运行12-CPU作业。 有没有解决的办法? 我知道你可以使用fillup规则来控制一个qsub(所以fillup可以让一个12-CPU的qsub停留在一台机器上,在几台机器之间进行拆分等等),但是有没有类似的设置来迫使单独的qsub去到同一台机器? 我也知道我可以明确地要求一个特定的机器(我认为这是-h机器名,或类似的东西),但我宁愿有一个比这更强大的设置。 任何帮助表示赞赏。 谢谢! PS:在堆栈溢出文章,一个响应进来之前线程closuresbuild议使用并行环境allocation_rule = $ fill_up。 除非我在尝试中做了什么错误,否则我不认为这样做能够解决问题。 从我所看到的testing中,如果我设置为fill_up,这意味着如果可能的话,在单个qsub中请求的CPU将被放置在同一个网格计算机上,但是来自不同qsubs的CPU仍然会转到低负载计算机上网格select),并可能去一个空的机器。 testing这涉及到qsubbing几个单一的CPU作业,等待~5分钟,然后提交几个。 虽然有时候第一个小组最终会在同一台机器上(我猜是因为机器负载不是实时的,所以他们都被发送到同一个低负载的机器上?),但是第二个小组不会一直去与第一组相同的机器。

如何在gridengine中以root身份运行序言脚本?

在我们的一个计算集群中,我们拥有具有独特硬件资源的系统,访问由设备文件权限控制。 每个节点有两个或四个这样的CPU和多个CPU核心。 我们希望能够在同一节点上安排不同用户的作业,并限制访问正确分配的资源。 (有些队列甚至可能只有CPU,无法访问。) 一段时间以来,我们一直以“嗨,注意力好,玩得好”的方针奔跑,但即使有着最好的意图,每个人都难以维持下去。 因此,我们只是一次为给定的用户安排整个节点。 这对于单线程,单进程任务来说是浪费的。 使用Torque,可以在作业开始之前以root身份运行序言脚本 。 这可以适当地设置设备权限。 但是我们正在运行( NEE SUN)Grid Engine。 它有每个队列的prolog脚本,但它们作为工作所属的用户运行(如Torque的prologue.user ),这在这里没有帮助。 有没有什么明显的我想念(我希望),或另一种方法来解决这个问题? 我意识到,我有源代码,因此可以做任何事情 ,但我希望有一个标准的方式,我只是想念。 谢谢!

使用ionice over cluster

背景: 我在工作中使用了一个计算集群(4个从节点和1个头节点),它使用SGE作业调度程序。 最近我们一直在运行一些负担很重的IO,它减缓了shell / vim的使用(小的IO,但是我们需要它一天24小时运行)。 我发现ionice,它似乎是一台计算机的完美解决scheme,但我不确定它会对群集有帮助。 题: 如果我使用ionice设置(-c2 -n0)通过头节点运行一个进程(比如说vim),它是否还会优先于其他计算机上的进程(从服务器上的高IO(-c2 -n4))到共享HD ? 谢谢你的时间!

监视电脑网格的最佳方法是什么?

我在10个节点上安装了Sun Grid Engine,并安装了一个虚拟主控主机。 现在我必须在开始投入生产之前监视所有的资源,但是我不知道哪个是最好的方法。 我试过使用xml-qstat,但似乎不稳定。 任何提示或build议? 任何人都有这方面的经验? 谢谢。

Sun Grid Engine数组作业单个资源

Sun Grid Engine中是否有可能在每个子任务都有独特要求的情况下进行arrays作业? 例如,我可能有一个arrays工作,每个任务都有一个小的独特需求,但我不想单独启动每个工作。

尝试在Ubuntu 10.04上安装Sun Grid Engine – 无法连接更多的执行主机

我正在使用Ubuntu 10.04并尝试从Ubuntu repesitory安装Sun Grid Engine。 它在单机上工作,我可以提交工作等,但我不能让它与任何其他机器的工作。 我添加了另一个执行主机,并安装了gridengine-client gridengine-common gridengine-exec但是它不知怎么的不能和master通信。 我甚至closures了所有的防火墙,以确保它不会造成问题。 当我在主节点上尝试qstat -f ,我得到: queuename qtype resv/used/tot. load_avg arch states ——————————————————————————— standard@neuron1 BIP 0/0/2 0.04 lx26-amd64 ——————————————————————————— standard@neuron2 BIP 0/0/2 -NA- -NA- au 当我重新启动神经元2节点上的deamon时,我得到: error: can't find connection error: can't get configuration from qmaster — backgrounding 当我尝试从n2(neuron2)节点运行qstat -f ,我得到: error: commlib error: access denied (server host […]

在太阳网格引擎(SGE)中的asynchronous作业排队 – 可能吗?

我们正在考虑部署一个排队系统,SGE看起来几乎可以满足我们所有的愿望。 但是,我们有支持同步和asynchronous排队模型的想法。 换一种说法: 我们将所有工作者节点绑定到一个同步队列,以便分配给他们的作业将正常排队 – 也就是说,一个作业运行完毕,另一个作业将被接受并运行。 我们希望能够为节点分配“asynchronous”作业。 这些任务可以与其他任务同时完成,通常是机器本身的维护任务。 我在SGE文档中看到,可以在节点上定义多个队列,但这与拥有一个队列来处理任何工作并将其启动到后台,然后再接受另一个队列是不一样的。 我没有完全按照SGE的所有configuration选项来加速,但似乎这可能是可能的。 任何人都可以指向我的一些信息如何configuration?

在SGE环境中添加大量机器作为提交主机是不是一个好主意?

我们正在用SGE / OGE取代一个本土的排队系统。 目前的工作环境让工程师使用自己的本地Linux工作站来提交作业。 所以我想知道添加许多机器提交主机到SGE / OGE群集。 在我们的例子中,可能会有100-200个提交主机的作业提交给一个具有大约30-50个执行节点的集群。 我认为这是从一个单一的提交主机(或者只是一对)作为集群前端的“正常”的后面。 有没有任何方面有很多提交主机(而不是通过qconf添加)?

qstat输出jclass是什么意思?

qstat输出jclass是什么意思? $ 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

有群集资源调度程序抽象层吗?

我正在编写一个应用程序,可以使用非常基本的function在任何集群资源调度程序( SGE , LSF或SLURM等)上运行。 我想知道是否存在一个框架/抽象层与产品不可知的方式与这些工具交互?