问题标签 [torque]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
312 浏览

r - 如何在达到挂钟时间限制后自动将 R 脚本重新提交到 Torque/Moab?R 扭矩

我有一个要使用 Torque/Moab 运行的 R 脚本。但是,挂钟时间限制比脚本完成所需的时间短得多。由于要解决的问题的性质,该脚本无法再并行化。

我修改了脚本以在特定时间间隔对工作区进行备份,并从备份中恢复以继续计算。

但是,我需要一个解决方案,在达到挂钟时间限制后自动将脚本重新提交回 Torque/Moab 调度程序,只要它需要。

谢谢。

0 投票
1 回答
2564 浏览

linux - 如何增加 Torque 作业的 OpenFabrics 内存限制?

当我在 InfiniBand 上运行 MPI 作业时,我得到以下磨损。我们使用扭矩管理器。

我已经阅读了警告消息上的链接,到目前为止我所做的是;

  1. 附加options mlx4_core log_num_mtt=20 log_mtts_per_seg=4/etc/modprobe.d/mlx4_en.conf.
  2. 确保以下行写在/etc/security/limits.conf
    • * soft memlock unlimited
    • * hard memlock unlimited
  3. 附加session required pam_limits.so/etc/pam.d/sshd
  4. 确保ulimit -c unlimited未注释/etc/init.d/pbs_mom

谁能帮我找出我错过了什么?

0 投票
2 回答
1156 浏览

linux - 扭矩嵌套/连续 qsub 调用

我有一个compile.pbs在单个 CPU 上运行并编译源代码以创建可执行文件的作业脚本。然后我有一个第二个作业脚本jobscript.pbs,我使用 32 个 CPU 调用它来使用 MPI 运行新创建的可执行文件。当我连续手动调用它们时,它们都可以完美地工作,但我想通过让第一个脚本在它结束之前调用第二个作业脚本来自动化这个过程。有没有办法正确嵌套 qsub 调用或让它们被连续调用?

目前我的尝试是让第一个脚本在它结束之前调用第二个脚本,但是当我尝试从第二个(嵌套)qsub 收到一条奇怪的错误消息时:

我认为第二个脚本被正确调用,但权限可能与我调用原始脚本时的权限不同。显然,我的用户名masterhd被允许运行作业脚本,因为当我手动调用作业脚本时它工作正常。有没有办法完成我想做的事情?

这是该过程的更详细示例。首先,我调用第一个作业脚本并指定一个变量-v

outpath变量仅指定复制新可执行文件的位置,然后第二个作业脚本更改到该输出目录并尝试运行jobscript.pbs.

编译.pbs:

作业脚本.pbs:

0 投票
2 回答
4914 浏览

mpi - 在 PBS 脚本中确定 qsub 之后的总 CPU 计数

对于使用 qsub 调用的 PBS 脚本,我想知道实际分配了多少 CPU,以防 PBS 文件中定义的数字被命令行输入覆盖。例如使用以下 pbs 脚本文件:

作业脚本.pbs:

该脚本可以使用以下命令行仅使用 16 个 CPU(而不是 32 个)运行:

因此,我想要一种可靠的方法来确定脚本中实际可用的 CPU 数量。

0 投票
1 回答
219 浏览

python - Parallel Processing using subprocess in python2.4

I want to calculate a statistic over all pairwise combinations of the columns of a very large matrix. I have a python script, called jaccard.py that accepts a pair of columns and computes this statistic over the matrix.

On my work machine, each calculation takes about 10 seconds, and I have about 95000 of these calculations to complete. However, all these calculations are independent from one another and I am looking to use a cluster we have that uses the Torque queueing system and python2.4. What's the best way to parallelize this calculation so it's compatible with Torque?

I have made the calculations themselves compatible with python2.4, but I am at a loss how to parallelize these calculations using subprocess, or whether I can even do that because of the GIL.

The main idea I have is to keep a constant pool of subprocesses going; when one finishes, read the output and start a new one with the next pair of columns. I only need the output once the calculation is finished, then the process can be restarted on a new calculation.

My idea was to submit the job this way

myjob.sh would invoke a main python file that looks like the following:

Any advice on to how to best do this? I have never used Torque and am unfamiliar with subprocessing in this way. I tried using multiprocessing.Pool on my workstation and it worked flawlessly with Pool.map, but since the cluster uses python2.4, I'm not sure how to proceed.

EDIT: Actually, on second thought, I could just write multiple qsub scripts, each only working on a single chunk of the 95000 calculations. I could submit something like 16 different jobs, each doing 7125 calculations. It's essentially the same thing.

0 投票
1 回答
5659 浏览

pbs - 使用扭矩/PBS“不允许从主机访问”创建新队列

我已经执行了以下命令。

但是当我的 PBS 脚本有以下标题时,

我收到以下错误:

0 投票
2 回答
42919 浏览

bash - How to submit a job to a specific node in PBS

How do I send a job to a specific node in PBS/TORQUE? I think you must specify the node name after nodes.

However, this doesn't seem to work and I'm not sure why. This question was asked here on PBS and specify nodes to use

Here is my sample code

Also, how do I check which node the job is running on? I saw somewhere that $PBS_NODEFILE shows the details, but it doesn't seem to work for me.

0 投票
1 回答
348 浏览

session - Ubuntu:远程登录 (SSHD) - 在超时时终止会话和作业

服务器场景:

Ubuntu 12.04 LTS
Torque w/ Maui Scheduler
Hadoop

我正在构建一个小型集群(10 个节点)。用户将能够 ssh 到任何子节点(LDAP Auth),但这实际上是不必要的,因为他们想要运行的所有计算作业都可以使用扭矩、hadoop 或其他与调度程序绑定的资源管理器在头节点上提交确保整个节点的优先级和适当的资源分配。一些用户将优先于其他用户。

问题:

您不能强迫用户使用扭矩等批处理系统。如果他们想占用一个节点或头节点上的所有资源,他们可以直接从他们的终端/ssh 会话运行他们的脚本/代码。

解决方案:

我的主要用户或“超级用户”希望我设置远程登录超时,这是他们当前集群用来消除此问题的方法。(我无权访问此集群,因此无法获取配置)。我想在所有处于非活动状态(击键)的远程会话上设置 30 分钟超时,如果它们正在运行进程,我还希望会话与所有作业进程一起被终止。这将消除人们不使用可用的批处理系统/调度程序。

问题:

我怎样才能实现这样的事情?感谢所有的帮助!

0 投票
1 回答
1190 浏览

shell - qdel 是否全部删除其他用户的作业?

我是使用超级计算集群的众多人中的一员。如果我qdel allUbuntu终端打电话,它会杀死每个人的工作还是只杀死我的工作?

0 投票
1 回答
243 浏览

torque - Torque BLCR 检查点与静态链接可执行文件

我正在尝试使用伯克利实验室检查点 (BLCR) 方案检查扭矩作业调度程序正在处理的作业,并且在尝试 cr_run 'my_exec' 时出现错误,因为我相信可执行文件在编译时是静态链接的。提交脚本看起来像(简化,伪版本):

我已经使用动态链接的二进制文件(主要是由我自己编写的代码构建的可执行文件)成功地检查点作业,所以我已经知道如何做到这一点。问题是我试图运行的可执行文件是预编译的,我没有源代码,否则这不是问题。

我在这里找到了文档(参见 4.2),似乎提供了一些建议,但在尝试破译和测试这里的建议之前,我认为值得看看是否有人有从非动态可执行文件运行的检查点作业的经验在编译时链接。

作为旁注,代码没有内部检查点。此外,我们使用了一种比睡 29 小时更礼貌的检查点方式,我只是将其包括在内,以免弄乱脚本并使其更具可读性。