问题标签 [qsub]

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 回答
634 浏览

java - 提交 Grid Engine 作业时缺少 Java 库

当我 qsub 运行 java 程序的脚本时,我收到此错误:

线程“主”java.lang.UnsatisfiedLinkError 中的异常:/usr/java/jdk1.6.0_16/jre/lib/amd64/xawt/libmawt.so:libXtst.so.6:无法打开共享对象文件:没有这样的文件或java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778) 的 java.lang.ClassLoader$NativeLibrary.load(Native Method) 的 java.lang.ClassLoader.loadLibrary(ClassLoader.java:1674) 的目录。 Runtime.load0(Runtime.java:770) 在 java.lang.System.load(System.java:1003) 在 java.lang.ClassLoader$NativeLibrary.load(Native Method) 在 java.lang.ClassLoader.loadLibrary0(ClassLoader. java:1778) 在 java.lang.ClassLoader.loadLibrary(ClassLoader.java:1695) 在 java.lang.Runtime.loadLibrary0(Runtime.java:823) 在 java.lang.System.loadLibrary(System.java:1028) 在sun.security.action.LoadLibraryAction。在 java.awt.Toolkit.loadLibraries(Toolkit.java:1592) 在 java.awt.Toolkit.(Toolkit.java:1614) 在 java.security.AccessController.doPrivileged(Native Method) 在 run(LoadLibraryAction.java:50) 在java.awt.Font.(Font.java:210) 在 savant.settings.BrowserSettings.(BrowserSettings.java:37) 在 savant.util.NetworkUtils.getSeekableStreamForURI(NetworkUtils.java:185) 在 savant.data.sources.BAMDataSource .(BAMDataSource.java:62) 在 IReckon.WholeGenomeExecution.main(WholeGenomeExecution.java:208)NetworkUtils.getSeekableStreamForURI(NetworkUtils.java:185) at savant.data.sources.BAMDataSource.(BAMDataSource.java:62) at IReckon.WholeGenomeExecution.main(WholeGenomeExecution.java:208)NetworkUtils.getSeekableStreamForURI(NetworkUtils.java:185) at savant.data.sources.BAMDataSource.(BAMDataSource.java:62) at IReckon.WholeGenomeExecution.main(WholeGenomeExecution.java:208)

但是,当我 qrsh 进入一个节点并运行脚本时,我没有收到错误消息。

我正在像这样运行 qsub: qsub -cwd -V

也许我需要设置一些环境变量,但 -V 不会处理吗?

0 投票
2 回答
1003 浏览

python - 如何动态扩展 StarCluster/qsub/EC2 以跨多个节点运行并行作业

我是使用 Startcluster/qsub/grid engine 来运行并行作业的新手,我尝试阅读其他一些相同的帖子。我仍然不确定如何为我的特定需求构建可扩展的解决方案。在继续之前,我想接受更多建议。

以下是我的要求:

  1. 我有一个巨大的 tar 文件 [~40 - 50 GB,它可以达到 100GB] -----> 我在这里无能为力。我接受了一个巨大的单个 tar 文件作为输入。

  2. 我必须解压并解压缩它----->我运行 tar xvf tarfilename.tar | 并行 pbzip -d 解压缩和解压缩相同。

  3. 这种解压缩的输出是几十万个文件,大约 500,000 个文件。

  4. 必须处理此未压缩文件。我有模块化代码,可以接收每个文件并处理它并输出 5 个不同的文件。

Tar File -----Parallel Uncompression---> Uncompressed Files -----Parallel Processing ---> 每个文件处理 5 个输出文件

  1. 我目前有一个在 16 核、16GB 内存上运行的并行 python 脚本,它接收这个未压缩文件列表并并行处理相同的文件。

  2. 问题是我如何无缝扩展。例如,如果我的代码已经运行了 10 个小时,并且我想再添加一台 8 核机器,我不能在并行 python 中执行它,因为我必须提前知道处理器的数量。

  3. 同时,当我在当前集群中动态添加更多节点时,数据的可访问性和读写操作如何?

因此,我开始阅读并使用 starcluster 和 qsub 进行基本实验。虽然我看到我可以通过 qsub 提交多个作业,但我将如何使其从未压缩的输入文件夹中获取输入文件?

例如,我可以编写一个 script.sh 在 for 循环中一个一个地选择文件名并将其提交给 qsub 命令吗?还有其他有效的解决方案吗?

比如说,如果有 3 台机器,每台机器有 16 个 CPU,如果我向队列提交 48 个作业,qsub 是否会在集群的不同 CPU 中自动启动它们,或者我是否必须使用并行环境参数,如 -np orte 命令设置数量每个集群中的 CPU 数量。是否有必要让我的 python 脚本 MPI 可执行?

总而言之,我有几十万个文件作为输入,我想将它们提交给多核机器的作业队列。如果我动态添加更多机器,作业应该会自动分配。

另一个主要挑战是我需要在最后汇总 500,000 次操作的所有输出吗?是否有关于如何在输出被写出时聚合并行作业的输出的建议?

我正在测试运行几个场景,但我想知道是否有人尝试过类似的场景。

使用 Hadoop 插件有什么建议吗?http://star.mit.edu/cluster/docs/0.93.3/plugins/hadoop.html

在此先感谢卡西克

0 投票
1 回答
2918 浏览

shell - 在 qsub 中传递字符串参数

我有以下名为 dump.sh 的 shell 脚本

此脚本加载 octave 模块,然后评估以下 octave 函数,该函数仅显示两个输入参数

当我按如下方式提交 shell 脚本时,它可以工作(传递两个数字作为参数)

但是,当我使用一个第一字符串参数提交它时,如下所示:

我收到一个错误

我也尝试了以下,我得到了同样的错误

知道我该怎么做吗?

谢谢

乔戈斯

0 投票
2 回答
2668 浏览

perl - 如何通过 perl 脚本在 PBS 扭矩中使用 qsub -v 命令?

我想通过使用“qsub -v”命令将变量传递给 perl 脚本。这是我将运行的 perl 脚本(这只是一个测试,但如果它不起作用,我将无法做任何更困难的事情)

所以,如果我要运行这个脚本(不是通过 qsub),我会输入:

但是,我会在使用 pbs 的集群节点上运行此脚本。我做了几次尝试,如下所示:

但它不起作用。任何人都知道我应该如何使用 qsub 将参数传递给我的 perl 脚本?任何帮助将非常感激

不起作用意味着使用 qsub 不会在输出文件上打印任何内容,而仅使用 perl 它会在输出文件中打印输入文件的内容。看起来它不需要任何输入

0 投票
1 回答
101 浏览

c++ - 如何从qsub将值传递给代码的boost选项参数

我有一个从用户那里获取一些价值的程序(参数是使用 boost 选项传递的)。./prog --my-value 32

到这里为止都很好,但是现在我正在使用 qsub 脚本在多节点和多核中运行程序(并且我只能使用 pbs 脚本)并且想要传递参数。qsub ./xyz.sh --my-value 32 [我怎么能这样做..我的意思是我能以某种方式做到这一点吗?]

0 投票
1 回答
1041 浏览

bash - 如何使用 ssh 在两个集群之间的 qsub 脚本中运行本地脚本?

我正在为 2 个集群上的操作编写脚本。

我的目标是只关注一个集群,这意味着每个脚本源代码都只在一个集群上。

例如,在集群 AI 中安装了所有脚本,现在我想通过 ssh 连接到集群 B 以运行这些脚本,而无需在集群 B 上再次安装它们。

我知道使用 bash 脚本,ssh root@ClusterB 'bash -s' < local_ClusterA_script.sh然后 Cluster B 从 ClusterA 运行 local_ClusterA_script.sh。

现在还有一个挑战,我必须使用 ssh 从集群 A 提交集群 B 上的批处理作业,这个批处理作业需要来自集群 A 的脚本。

所以我的问题是集群 B 在哪里找到$CLUSTERA_BIN/runprogram.py?如何使 run.script 中的代码在集群 B 上成功运行?

我认为它会是一个命令 ssh root@ClusterB 'bash -s' < run.sh $MYARGS,但显然它不会像这样工作。

0 投票
2 回答
868 浏览

perl - 将参数传递给通过 qsub 执行的 perl 脚本

您好想将一个参数传递给我的 perl 脚本,该脚本应该通过 qsub 执行。所以我跑:

在 Test.pl 中,我尝试以多种方式调用 i 参数:

不幸的是 perl 脚本的输出文件总是空的。

你有什么建议吗?我哪里错了?请帮忙

0 投票
2 回答
805 浏览

pbs - 强制 qsub (PBS) 在退出前等待作业结束

我一直在使用 Sun Grid Engine 在集群的一个节点上运行我的作业。

通常我会在退出之前等待工作完成并使用:

但是现在我不再使用 Sun Grid Engine,而是使用 PBS Pro 10.4

我找不到-sync 的相应指令。

有人可以帮助我吗?提前致谢

0 投票
1 回答
1271 浏览

shell - qsub 路径 shell 脚本

我有两个关于路径的问题。

第一个问题与“qsub”有关

这是我当前的文件夹

在我使用的这个文件夹中

它运作良好。问题是每当我使用服务器时,我需要在下面的 shell 脚本(start.sh)中更改路径当我在不同的文件夹中使用时,每次我需要在 start.sh 中更改下面的代码

例如,

这太麻烦了,而且经常出现路径错误。

我可以删除吗

通过使用“密码”之类的?

我的意思是,使用“pwd”读取当前路径并将此结果作为变量放入 shell 脚本中。有可能吗?我认为,如果我可以将“pwd”的结果作为变量并将其作为 start.sh 的变量,我可以删除该部分。但是,我不知道该怎么做。

这是 start.sh

第二个问题是,

在上面的代码中,有 ${path2}

我认为对于 start.sh,${path2} 总是指向 rnn-generate 所在的文件夹。

我能怎么做?如果我知道方法,我想改变

啊,现在我用的是服务器,我不是管理员。

所以,我认为,我无法更改 /etc/bashrc 或 /etc/environment。

谢谢你。

0 投票
1 回答
531 浏览

qsub - 使用 qsub 静默向 SGE 提交作业

我有一个 bash 脚本,它使用一个缓慢响应的 SGE 队列提交数百个作业qsub(每个作业 ID 需要一秒钟才能显示出来)。

为了绕过这个耗时的过程并且在我退出 shell 时不杀死我的脚本,我通过附加&. 虽然这有时可以为我节省半个小时,但作业 ID 仍然会出现并与命令提示符混淆。

我想知道是否可以禁止显示作业 ID 或以某种方式将作业静默提交到队列。虽然,这个链接谈到了一个-z论点,但它不起作用,qsub手册页上也没有提到它。

谢谢!