问题标签 [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 投票
1 回答
4761 浏览

csh - 如何在 PBS 扭矩中使用 qsub -v 命令?

我想通过使用“qsub -v”命令将变量传递给 csh 脚本。我知道我们可以列出参数值对如下,

有谁知道这些参数的值是否可以是字符串、以逗号分隔的数字列表或文件名?例如,下面的命令是否可行?

非常感谢你,

0 投票
4 回答
2683 浏览

r - 从 R 脚本中将作业提交到从节点?

myscript.R使用作业调度程序(特别是PBS)在集群从节点上运行

目前,我使用以下命令将 R 脚本提交到从节点

R 中是否有允许我在头节点上运行 myscript.R 并将单个任务发送到从节点的函数?就像是:


更新: qsub 命令的替代解决方案是#/usr/bin/Rscript从第一行中删除myscript.R并直接调用它,正如@Josh 所指出的那样

0 投票
0 回答
856 浏览

mpi - 如何将 cgroup 用于 MPI 程序

由于 MPI 进程是由 mpirun/mpiexec 调用的,而不是由资源管理器或调度程序(torque/maui)调用的,那么如何使用 cgroup 来隔离每个 MPI 进程的内存和 cpuset 使用情况,注意我们不能修改 MPI 库(openmpi /mpich2),但是可以修改资源管理器和调度器,谢谢。

0 投票
1 回答
3247 浏览

parallel-processing - 如何在一个 PBS 作业提交中运行多个命令

我写了一个只需要 1-4 cpu 的代码。但是当我在集群上提交作业时,我必须至少占用一个节点,每个作业有 16 个核心。所以我想在我提交的每个作业的每个节点上运行几个模拟。我想知道是否有一种方法可以在一项工作中并行提交模拟。

这是一个示例:我的代码需要 4 个 CPU。我为一个节点提交了一个作业,我希望该节点运行我的代码的 4 个实例(每个实例具有不同的参数)以占用所有 16 个内核。

0 投票
1 回答
592 浏览

c++ - 云计算框架

是否有任何框架/库或程序可以解决创建类云环境的问题?假设我们有 m 个计算服务器和 n 个用户。

用户以某种方式连接到管理器,选择问题的参数,单击“计算”,管理器决定哪个服务器空闲,或者创建队列,将参数发送到服务器,然后从服务器获取结果并将它们发送给用户。

我找到了 TORQUE、PBS、Ganglia、Nagios,但乍一看,它们只是按计划运行一些任务,仅此而已,但它们不是交互式的。我可能是错的。

PS OpenStack、Apache CloudStack 或 OpenNebula 是否按照我的描述进行操作?

0 投票
0 回答
463 浏览

mpi - 关于使用 BLCR 的扭矩检查点 MPI 作业的问题

我们正在尝试使用扭矩检查点 MPI 作业,但似乎扭矩只能处理在单个节点上运行的作业。我检查了代码,发现当使用qhold检查作业时,qhold向pbs服务器发送一个PBS_BATCH_HoldJob请求,然后pbs服务器将此请求中继到主控主机,然后主控主机用BLCR检查自己运行的作业进程,但没有将请求发送到其姐妹节点,因此 MPI 作业似乎无法在扭矩上进行检查点。

还有一个问题,checkpoint 成功后(qhold 报告),torque 向 master 主机中的进程发送信号 15 以杀死该进程,然后,torque 会将 checkpoint 文件复制到 pbs_server 并在本地删除所有文件。使用qrls重启这个job时,调度器会为这个job分配新的节点,并将checkpoint文件复制到新节点,然后通过checkpoint文件重启job,那么问题来了:

  1. 假设 Torque 可以对每个节点的 MPI 作业的进程进行 checkpoint,而通常我们的作业会占用大量内存,因此 checkpoint 文件非常大,但是 pbs 服务器没有足够大的磁盘来容纳 checkpoint 文件.

  2. 在我们的环境中,在 MPI 作业开始之前,我们将一些大的元数据从另一个集群中直接拉到分配给 MPI 作业的节点上进行计算,并且在 checkpoint/restart 之后,作业进程可能会在一些不同的节点中恢复,并且元数据数据可能丢失。

如果有人可以告诉我你是如何为 MPI 工作做检查点的,如果我的问题可以回答并且需要修改扭矩代码,我也喜欢这样做。

谢谢。

0 投票
5 回答
11301 浏览

android - obd适配器的初始化

我正在开发一个 android 应用程序,它通过蓝牙从车辆的 Obd 适配器读取 Obd 数据......我在初始化适配器时遇到了问题。我已经按顺序发送了以下 Obd 命令来初始化 obd :

  1. atz (收到OK)
  2. atsp0(接收正常)
  3. ate0(接收正常)
  4. 0100(这是出现问题的部分)...

有时对于这个命令,我会收到 BUSINIT:ERROR.. 然后对于每个车辆命令(AT 命令除外)重复相同的错误..

我想知道确切的初始化顺序?

0 投票
0 回答
715 浏览

cluster-computing - pbs作业忙时无输出

我在使用 PBS 时遇到了问题,在我提交的所有作业中,往往有一小部分不会产生应有的任何输出。我必须重新提交他们几次,直到他们都产生了输出。我还注意到,当其他用户提交大量作业时,这尤其糟糕。在这种情况下,我的所有作业都无法生成预期的输出文件。

我只是 PBS 的用户,所以不明白发生了什么。如果有人可以提出一些建议,那就太好了。谢谢。

0 投票
1 回答
2093 浏览

python - 使用 qsub 提交连续且独立的作业的速度有多快?

这个问题与pbs job no output when busy相关。即当 PBS/Torque 处于“忙碌”状态时,我提交的一些作业没有输出。我想当许多作业一个接一个地提交时会更忙,而且碰巧的是,在以这种方式提交的作业中,我经常得到一些不产生任何输出的作业。

这里有一些代码。

假设我有一个名为“x_analysis.py”的 python 脚本,它将包含一些数据的文件作为其输入,并分析存储在文件中的数据:

现在,假设我需要: (1) 准备 N 个这样的数据文件:data_1.pkl, data_2.pkl, ..., data_N.pkl (2) 对每个文件进行“x_analysis.py”处理,并写入结果到他们每个人的文件。(3) 由于不同数据文件的分析都是相互独立的,所以我打算使用 PBS/Torque 并行运行它们以节省时间。(我认为这本质上是一个“令人尴尬的并行问题”。)

我有这个 python 脚本来执行上述操作:

该脚本准备一组要分析的数据,将其保存到一个文件中,写入一个 pbs 提交文件来分析这组数据,提交作业以执行此操作,然后继续对下一组数据再次执行相同操作, 等等。

事实上,当脚本运行时,作业 ID 列表会在作业提交时打印到标准输出。'ls' 表示有 N 个 .sub 文件和 N 个 .pkl 数据文件。“qstat”显示所有作业都在运行,状态为“R”,然后已完成,状态为“C”。但是,之后,'ls' 显示 .out 输出文件少于 N 个,“x_analysis.py”生成的结果文件少于 N 个。实际上,一些工作没有产出。如果我要清除所有内容,然后重新运行上述脚本,我会得到相同的行为,一些作业(但不必与上次相同)不会产生任何输出。

有人建议,通过增加提交连续作业之间的等待时间,情况会有所改善。

但我觉得这不是最令人满意的,因为我尝试了 0.1s、0.5s、1.0s、2.0s、3.0s,但都没有真正的帮助。有人告诉我,50s 的等待时间似乎很好,但如果我必须提交 100 个工作,等待时间将是大约 5000s,这似乎非常长。

我尝试通过提交作业数组来减少使用“qsub”的次数。我会像以前一样准备所有的数据文件,但只有一个提交文件,“analysis_all.sub”:

然后提交

但即便如此,一些工作仍然不会产生产出。

这是个常见的问题吗?我做的不对吗?在工作提交之间等待是最好的解决方案吗?我可以做些什么来改善这一点吗?

提前感谢您的帮助。

编辑1:

我使用的是 Torque 2.4.7 版和 Maui 3.3 版。

此外,假设作业 ID 为 1184430.mgt1 的作业不产生任何输出,而作业 ID 为 1184431.mgt1 的作业按预期产生输出,当我在这些上使用“tracejob”时,我得到以下信息:

编辑 2:对于不产生输出的作业,“qstat -f”返回以下内容:

与产生输出的工作相比:

似乎一个的退出状态是 0 而另一个不是。

编辑3:

从上面的“qstat -f”输出来看,问题似乎与后期作业文件处理中的“过时 NFS 文件句柄”有关。通过提交数百个测试作业,我已经能够识别出许多产生失败作业的节点。通过ssh查看这些,我可以在 中找到丢失的 PBS 输出文件/var/spool/torque/spool,我还可以在其中看到属于其他用户的输出文件。这些有问题的节点的一件奇怪的事情是,如果它们是唯一选择使用的节点,那么作业在它们上运行良好。只有当它们与其他节点混合时才会出现问题。

由于我不知道如何修复后期作业处理“过时的 NFS 文件句柄”,因此我通过向它们提交“虚拟”作业来避开这些节点

在提交实际工作之前。现在所有作业都按预期产生输出,无需等待连续提交。

0 投票
2 回答
7885 浏览

directory - Linux /var 目录与 /opt 目录

从我有限的 linux 经验来看,我发现很多 3rd 方程序默认安装到:

/opt

特别是一个程序,扭矩,默认安装到:

/var/spool/torque

我可以用

有什么理由我应该单独保留默认安装目录,而不是将其移动到

opt/torque?

我希望了解 linux 最佳实践的人建议他们认为我应该在哪里安装它。

更新
我研究了文件层次标准 (FHS)。似乎 /opt 和 /var/opt 都是安装程序的有效位置。我仍然想知道什么被认为是“最佳实践”,甚至是安装应用程序的最常见位置。