问题标签 [gnu-parallel]
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.
bash - 将函数从 zsh 导出到 bash 以在 gnu 并行中使用
如何从 zsh 导出函数,以便可以在 gnu 中并行使用它?
例子:
在 bash 中将输出
而在 zsh 中它将输出错误消息
parallel-processing - GNU 并行:对不同计算机的不同命令?
已搜索 SO 和 GNU 并行教程并在此处查看示例,但仍然不太了解我需要解决的问题。关于如何完成以下任务的任何提示:
我需要在多个远程服务器上调用相同的脚本,并使用不同的参数传递给每个服务器(参数是一个字符串),然后等到所有这些工作都完成......然后,在同一个远程服务器上运行相同的脚本多次服务器,但这次尽量让远程服务器保持忙碌(即当他们完成工作时,向他们发送另一个工作)。理想情况下,可以从将作业发送到远程服务器的“主”机器上的文件中读取字符串。
为了绘制此图,我尝试像这样运行 *my_script*:
- 服务器 A: myscript 费用
- 服务器 B: myscript fi
当这两项工作都完成后,我想做类似的事情:
- 服务器 A: myscript fo
- 服务器 B: myscript fum
...并假设 A 在服务器 B 之前完成了它的工作,立即向它发送下一个工作,例如:
- 服务器 A: myscript chinesemun
... ETC
再次,非常感谢人们对 GNU 并行是否容易/困难的任何想法(或者如果其他类似 pdsh、集群 ssh 的东西可能更适合)。
蒂亚!
bash - GNU Parallel 可以执行更多的并行进程吗?
我可以例如执行:
parallel -j 200 < list0
其中“列表”有:
nice -n -20 parallel -j 100 < list2
nice -n -20 parallel -j 100 < list1
这是否可行/可能?
gnu-parallel - 在使用 GNU 并行的 SPMD 中,首先处理最小的文件是最有效的方法吗?
这很简单:
假设我在文件夹中有许多文件data/
要通过一些可执行文件进行处理./proc
。最大化效率的最简单方法是什么?我一直在这样做以获得一些效率:
它根据大小列出数据,然后tac
(reverse of cat
) 翻转该输出的顺序,以便首先处理最小的文件。这是最有效的解决方案吗?如果没有,如何提高效率(首选简单的解决方案)?
我记得像这样的排序会带来更高的效率,因为更大的工作不会阻塞管道,但除了示例之外,我找不到或记住这背后的任何理论,所以任何参考都将不胜感激!
bash - 带有 sed 错误争论的 GNU Parallel 作为文件
我想更改所有出现的<ga/
to <
。使用 xargs,这可以正常工作:
GNU Parallel 说它是 xargs 的直接替代品,但是做
结果是
对于目录中的每个文件。我确定我只是忘记了 {} 或 \; 某处,但答案仍然暗示我。
bash - 使用 Gnu 并行时同步访问 shell 变量(即 Gnu 并行中的临界区)
我有一个for
循环,我想转换为parallel
. 但是,我bash
在循环中附加了一个全局 ( ) 数组。处理这种情况的推荐方法是什么?parallel
除了提供作业之间的任何形式的同步吗--keep-order
?
我想过用 and 的组合替换我的数组flock
,echo > some_shared_file
但想知道是否有一种标准方法可以用parallel
.
shell - 从 GNU 并行调用 GNU 并行
嵌套调用的正确方法是GNU parallel
什么?
愚蠢的例子:
我的理解是,在一个 8-CPU 机器上,每个并行将启动 8 个作业,总共 64 个作业。如果您要调用的内容比seq
这更重要,则可能会使框超载。有没有办法限制作业数量但仍然充分利用并行性?
linux - 使用 GNU 并行在巨大的目录树上加速查找命令的最佳方法是什么?
我使用 GNU 并行已经有一段时间了,主要是为了 grep 大文件或在每个命令/参数实例很慢并且需要跨内核/主机分布时为各种参数运行相同的命令。
跨多个内核和主机做的一件很棒的事情是在一个大目录子树上找到一个文件。例如,像这样:
find /some/path -name 'regex'
/some/path
如果包含许多文件和其他包含许多文件的目录,将需要很长时间。我不确定这是否容易加速。例如:
ls -R -1 /some/path | parallel --profile manyhosts --pipe egrep regex
想到类似的东西,但ls
想出要搜索的文件会很慢。那么有什么好方法可以加快这样的发现呢?
parallel-processing - GNU并行:-k(保持输出顺序)会影响速度吗?
正如标题中所说,我想知道该-k
选项(强烈)是否会影响 GNU 并行的速度。
man parallel_tutorial
有一个关于 and 的讨论,--ungroup
它--line-buffer
声称将--linebuffer
输出线分解,比 . 慢得多--ungroup
。那么,当工作数量很大时,也许-k
还会导致大幅放缓?
(我没有在man parallel
or中找到这个主题man parallel_tutorial
;我也没有在一些谷歌上找到任何东西。虽然我还没有完成man parallel
,所以如果我错过了一些搜索较少的东西,请原谅。)
linux - 如何在下面的 shell 脚本中使用 rsync 而不是 scp 来复制文件?
我正在使用 scp 使用 GNU 并行复制文件和我的下面的 shell 脚本,它工作正常。
我不确定如何rsync
在scp
下面的 shell 脚本中使用。我想看看在传输速度方面是否rsync
会有更好的性能。scp
以下是我的问题描述 -
当我在. machineB
_machineC
machineA
machineA
如果文件不在那里,machineB
那么它肯定应该在那里,machineC
所以我会尝试先复制文件machineB
,如果文件不在那里,machineB
那么我会尝试从machineC
.
我正在使用 GNU Parallel 库并行复制文件,它工作正常。目前,我正在为 PRIMARY 和 SECONDARY 并行复制五个文件。
下面是我的shell脚本 -
有什么方法可以替换我上面的scp
命令,rsync
但我仍然想同时复制 5 个PRIMARY
文件SECONDARY
?