Articles of gridengine

Sun Grid Engine(SGE)中的h_rss和h_vmem有什么区别?

据我所知, 可以指定mem_free在具有内存free = mem_free的主机中提交作业,而 h_vmem是作业可以使用的内存的硬性限制,如果作业到达h_vmem ,作业会崩溃? 我想我们可以将主机的h_vmem设置为总的物理内存,以便作业不会开始使用交换,并减慢服务器的速度。 那么什么是h_rss ? 它看起来和h_vmem.具有相同的定义h_vmem. 还是我误解了h_vmem ? h_vmem是用来保留它可能需要的额外内存,而不是它所需的最小内存( mem_free )? 但是,如果超过内存不要崩溃,所以工作可以超过h_vmem ? 如果我对h_vmem第二个解释是正确的,那么我猜测,要在一个主机上提交一个工作,这个工作必须同时满足mem_free和h_vmem (因为h_vmem不是INFINITY)。 如果我对h_vmem第一个解释是正确的,那么我想,在一个主机上提交一个工作,这个工作可以单独满足mem_free ,不需要满足h_vmem ,因为它只保留可用空间,如果没有空间可用,这没关系?

Sun Grid Engine:自动终止空闲交互作业

我们正在考虑在小型计算集群上使用Sun Grid Engine 。 目前,目前的设置是相当粗糙的,只是涉及到人们ssh到一个开放的机器来运行他们的工作。 我们希望允许交互式作业,因为这会缓解从手动启动作业到使用qsub启动它们的过渡。 但是,有人担心,如果我们这样做,人们可能会意外地将其交互式会话闲置,并阻止其他工作在机器上运行。 这个问题不仅仅是理论上的问题,因为我们以前曾经尝试过使用OpenPBS,而且在屏幕会话中开放一个交互式工作并且基本上是在一台机器上驻扎的时候出现了一个问题。 无论如何configurationSGE自动杀死空闲的互动作业? 看起来这是在2007年被要求作为一个增强( 问题#:2447 )。但是,它似乎并没有得到执行的要求。

哪个计算节点执行了Sun Grid Engine作业?

使用Sun Grid Engine来确定在哪个节点上执行计算任务的最简单方法是什么? qstat似乎只列出运行/排队作业

Sun Grid Engine根据作业设置内存要求

我希望能够为每个作业设置内存需求。 例如:运行5个工作,我知道每个工作都需要4GB的内存。 我在Ubuntu服务器上有16 GB的RAM和16 GB的交换。 我想避免使用交换。 我可以做些什么: qsub -l mem_required_for_my_job=4G job1; qsub -l mem_required_for_my_job=4G job2; qsub -l mem_required_for_my_job=4G job3; qsub -l mem_required_for_my_job=4G job4; qsub -l mem_required_for_my_job=4G job5 qsub -l mem_required_for_my_job=4G job1; qsub -l mem_required_for_my_job=4G job2; qsub -l mem_required_for_my_job=4G job3; qsub -l mem_required_for_my_job=4G job4; qsub -l mem_required_for_my_job=4G job5 qsub -l mem_required_for_my_job=4G job1; qsub -l mem_required_for_my_job=4G job2; […]

从32位桌面构build并行处理网格

我在我的笔记本上运行模拟(Core 2 Duo 1.8Ghz,运行Windows 7的4GB RAM),这需要很长时间。 我有几个未使用的32位(Core 2 Duo 1.8Ghz 4GB内存)台式机。 我想用局域网把它们(作为从机)连接到我的笔记本电脑(作为主机),以更快地完成algorithm的执行。 这个怎么做? 我应该使用哪个操作系统? 我的操作系统应该是服务器吗? 我需要额外的硬件吗? 请指出我的任何教程或书籍。 请给我你的宝贵意见和build议。

Sun GRID Engine – 提交“偏好强大”机器的作业,而不是较弱的机器

我们有太阳网格下的10台窗户机器(单CPU / 4G RAM)。 除了名字,所有这些机器上的其他东西都是一样的。 现在我们添加了两台新的机器到同一个网格。 这两个有16个CPU,48G RAM。 我想指示Sun GRID Engine“喜欢强大的”机器。 如果这些(新的盒子)机器重载只有使用其他机器。 我怎样才能做到这一点? 命令通过正常的qsub -l [attribute list] [script.sh] (属性列表是“windows = 1,group = it”,在这种情况下)

以编程方式将EC2执行节点添加到Grid Engine群集

我正在Amazon Web Services上运行Grid Scheduler(fka Sun Grid Engine)。 主节点一直在运行,但我想以编程方式向集群添加节点(也删除 – 但删除不是问题)。 我从现有的AMI启动实例; 在启动过程中,它将主机名(比如ip-10-11-12-13)POST到主节点。 所以,如果我手动执行,我会运行qconf -ae并使用主机名填充模板。 我也将运行qconf -mconf all.q并将新主机及其核心数添加到SLOTS语句中。 我想我可以build立一个文件,并使用qconf -Mconf file_list qconf -Ae fname和qconf -Mconf file_list 。 有没有办法做这样的更新没有awk / sed文件修补? 编辑:我熟悉MIT StarCluster; 但由于各种原因,我们没有使用它。

Sun Grid Engine(SGE)/限制同时arrays作业子任务

我正在安装一个Sun Grid Engine环境,我有一个调度程序的限制,我不能完全弄清楚如何实现。 我的用户将创build包含数百个子任务的数组作业 。 我希望能够将这些工作限制在只同时运行一定数量的任务,独立于其他工作。 就像我可能有一个arrays工作,我想一次运行20个任务,另一个我想一次运行50个任务,而另一个我没有限制地运行良好。 这似乎应该是可行的,但我无法弄清楚。 有一个max_aj_instancesconfiguration选项 ,但似乎全局适用于所有arrays作业。 我看不到任何方式使用可用资源 ,因为我需要一个“复杂的属性”,每个工作,这个function似乎并不存在。 看起来资源配额似乎不起作用,但现在我不太确定。 它说:“一个资源配额集为一个特定的工作请求定义了一个最大的资源配额”,但是目前还不清楚,为了资源配额的目的,一个数组工作的子任务的资源请求将被聚合。 我打算玩这个,但希望有人已经知道彻底。

SGE – 使用资源配额configuration将用户限制到某个主机

是否可以将用户限制到特定的主机,使用qmon中的资源配额configuration选项用于Sun Grid Engine? 我正在考虑一个线的效果: { … limit users {john} to hostname=compute-1-1.local } 文档中提到了内置的资源types: slots,arch,mem_total,num_proc,swap_total以及定制types的能力。 详情:SGE 6.1u5在岩石上 更新: 以上规则似乎是有效的,因为 使用未知的主机名 修改资源名称“主机名” 都造成错误

有没有办法告诉SGE在执行节点上以root身份运行特定的作业?

标题有点说这一切… 我们使用SGE / OGE将作业提交给一组工作节点,然后使用特定的设备进行处理。 已经创build的操作这个设备的程序和脚本依赖于以root身份运行。 我希望SGE以一种注意用户,组,项目等方式来处理资源分配,但是我也需要用root权限运行实际的作业。 我读过了如何在gridengine中以root身份运行序言脚本? 看看有没有什么相关的东西,但是SGE似乎提供了专门用于prolog和epilogtypes的“user @”types的规范。 工作本身是否有类似的function? 我知道su / sudo的方法,但是在这个环境中不会真正起作用,因为sudoers文件不是全局pipe理的(也就是说,我必须在/ etc / sudoers上添加大量的用户机)。 我目前正在研究一个setuidtypes的解决scheme,但是如果SGE为我提供了一种方法来声明一个特定的工作(或特定队列中的工作)总是需要运行一个方法,那肯定是一种不必要的解决方法特定用户的权利。