- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在 PBS 集群上运行 Java 应用程序,但我不太清楚它应该如何运行。
应用程序启动了几个线程,线程的数量取决于运行它的节点上的内核数量。然后它为每个核心启动 2 个线程。
对我来说最好的事情是请求对 PBS 集群中的一个节点的完全访问权限,以便让这个东西运行。即保留一个节点上的所有核心。我还没有看到如何做到这一点。我所看到的只是 ppn 参数,它请求每个节点的特定内核数,但节点是异构的,所以我不想指定单个 ppn 编号,这取决于我获得的节点类型。
如果这不可能,我需要了解指定 ppn 时作业的行为方式。我可以指示 Java 应用程序只创建 X 个线程,但我认为我无法控制这些线程在哪些内核上运行。每个核心创建 2 个线程是我们的经验法则,可能会发生所有线程都想一直运行的情况,在这种情况下,我将使用比我请求的多 100% 的 CPU 资源。我的理解是否正确,PBS 不会对我的进程施加任何限制,但实际上可能会监视它,如果它超过指定的资源使用量,甚至会终止我的进程?
长话短说;
总结一下:
最佳答案
Can I request full access to a node (reserve all the cores on the node I get for a job)?
结合 Moab,您可以使用您在评论中声明的参数:
#PBS -W x=NACCESSPOLICY:SINGLEJOB
这保证了 Moab 不会向同一节点发送更多作业。这不会使每个节点的所有处理器都显示在 $PBS_NODEFILE
中,但它允许您使用整个节点而无需踩到任何其他东西。
If I request only some fraction of the cores on a node, will PBS kill my job if I exceed that limit?
不,不会。默认情况下,TORQUE 不会强制您只使用您请求的内核。这里需要注意的是,如果您将 TORQUE 配置为使用 cpuset,则 cpuset 会将您的进程限制为仅分配给您的处理器。如果您使用的是 3.0.0 或更高版本的 TORQUE,您可以添加
#PBS -E
到你的作业脚本来解决这个问题。这告诉妈妈您对节点具有独占访问权,并指示妈妈将机器中的所有 cpus 放入您的 cpuset 中。
关于pbs - 请求节点的所有处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22789056/
类似于: #PBS -t 0-99 #PBS -d "~/$PBS_ARRAYID.output" 我在这里要做的是使用作业的数组 ID 重新定义作业数组中每个作业的工作目录。这是有效的代码吗? 我需
如果我需要“并行”运行许多串行程序(因为问题很简单但耗时 - 我需要读取同一程序的许多不同数据集),那么解决方案很简单如果我只使用一个节点。我所做的就是在每个命令后继续提交带有“&”号的串行作业,例如
我知道我可以使用 qstat 查看 pbs 作业请求了多少内存,但是有没有办法查看作业当前使用了多少内存? 谢谢! 最佳答案 qstat -f 应该向您显示有关作业内存使用情况的最新信息 关于pbs
向 PBS 排队系统提交作业脚本时,会自动或由用户指定挂墙时间,例如通过 #PBS -l walltime=1:00:00 问题是这个时间是否可以从作业脚本中访问。是否有环境变量或其他方式来获取此墙时
我向 PBS 提交了几份工作。现在,我希望我最后提交的作业是第一个。 一种选择是保留所有预览作业(使用 qhold )。问题是我用了-W depend=afterok:切换以在预览作业结束后立即启用作
我低估了一项工作所需的时间。是否可以在作业运行时更改作业的时间限制? 最佳答案 qalter jobid -l walltime=X 您可以阅读qalter文档here . 关于pbs - 有没有办法
我有一个 64 节点集群,运行 PBS Pro。如果我提交数百个作业,我可以同时运行 64 个作业。这很棒,除非所有 64 个作业恰好都接近 I/O 限制,并且正在读/写同一磁盘。在这种情况下,我希望
当您向 PBS 服务器提交作业时,是否可以指定我们不想使用的节点? 谢谢 最佳答案 您可以使用 excludenodes排除两个特定的主机,例如 #PBS -l excludenodes=host1:
我已经执行了以下命令。 qmgr -c "create queue fastq queue_type=execution" qmgr -c "set queue fastq started=true"
默认情况下,提交作业到扭矩队列的输出将保存到名为 job_name.o658392 的文件中。使用该示例,我想要做的是将输出文件命名为 658392.job_name.log。 我知道我可以通过在脚本
我正在尝试运行命令 qstat 但我没有获得队列状态,而是看到了这个错误: Cannot resolve default server host 'torqueserver' - check serv
我需要在 PBS 集群上运行 Java 应用程序,但我不太清楚它应该如何运行。 应用程序启动了几个线程,线程的数量取决于运行它的节点上的内核数量。然后它为每个核心启动 2 个线程。 对我来说最好的事情
例如,我有一个文件/home/user/nodes,其中包含: node1 node2 node3 node4 ... 当我尝试提交如下作业时: qsub -v PBS_NODEFILE=/home/
命令 'qstat -a' 输出许多已完成作业的信息行,所有作业都具有状态 'C'。似乎他们会永远留下来。由于这些工作已经“完成”,如何清理这些不需要的工作信息?谢谢! 最佳答案 这由 qmgr 参数
当您向 PBS 服务器提交作业时,是否可以在列表中指定我们要使用的节点? 谢谢 最佳答案 是的。使用 qsub 时,请使用 -l 选项指定节点名称。例如 qsub -l nodes=b2005+b18
当我使用 提交作业时 qsub script.sh $@ 是否在 script.sh 中设置为某个值?也就是说,是否有任何命令行参数传递给 script.sh? 最佳答案 您可以使用 qsub 的 -
我正在尝试编写一个(Python)函数来生成 PBS 作业提交脚本。用户应该能够请求作业的一些限制,例如每个节点的进程数、内存量和挂起时间。我找到了很多关于如何设置这些资源的示例,但我从未找到准确的描
我必须使用不同的参数(或随机数生成器种子)运行同一模型的多次模拟。之前我在一个具有多个核心的服务器上工作,我在其中使用了带有 apply_async 的 python 多处理库。这非常方便,因为我可以
我想弄清楚如何让我的 PBS 脚本使用 vim 以 bash 格式突出显示。 PBS 脚本只是 bash 脚本,它们不以 clasic shebang 开头,而是用于集群计算机上的排队系统。必须有一种
我有一个长期运行的 Torque/PBS 工作,我想监控输出。但是只有在作业完成后才会复制日志文件。有没有办法说服 PBS 刷新它? 最佳答案 这在 TORQUE 中是可能的。如果您有共享文件系统,则
我是一名优秀的程序员,十分优秀!