Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parallel processing 使用最大的远程服务器_Parallel Processing_Gnu Parallel - Fatal编程技术网

Parallel processing 使用最大的远程服务器

Parallel processing 使用最大的远程服务器,parallel-processing,gnu-parallel,Parallel Processing,Gnu Parallel,我试图将命令分发到100台远程计算机,但注意到命令只发送到16台远程计算机。我的本地机器有16个内核。为什么并行只使用16台远程计算机而不是100台 parallel--eta--sshloginfile list_of_100_remote_computers.txt

我试图将命令分发到100台远程计算机,但注意到命令只发送到16台远程计算机。我的本地机器有16个内核。为什么并行只使用16台远程计算机而不是100台


parallel--eta--sshloginfile list_of_100_remote_computers.txt我相信您需要指定要执行的并行作业的数量

根据报告:

--乔布斯

-j N

--最大进程

-p N

工作槽的数量。并行运行多达N个作业。0表示尽可能多。默认值为100%,每个CPU核心运行一个作业

记住这一点:

当您使用-j选项启动多个作业时,这是合理的 假设每项工作可能不会花费完全相同的时间 完成。如果您关心按以下顺序查看输出: 文件名以并行方式显示(而不是在 已完成),请使用--keeporder选项


,Admin Magazine

如果远程计算机是32核,则运行16*32个作业。默认情况下,GNU Parallel为STDOUT和STDERR使用一个文件句柄,总共16*32*2个文件句柄=1024个文件句柄

如果您有一个默认的GNU/Linux系统,您将达到1024个文件句柄的限制


如果
--ungroup
运行更多作业,则这清楚地表明您已达到文件句柄限制。使用
ulimit-n
增加限制。

谢谢,我可以使用远程机器上的所有内核。这不是问题所在。我的问题是并行不会使用所有远程机器。我尝试了-j100,它把100个工作发送到了16台远程机器。啊,我的错。你试过了吗?根据文档--“在所有计算机上运行所有作业,并使用--sshlogin”-onal向服务器发送相同的命令,16台服务器运行相同的作业。我需要对命令进行划分,并将它们唯一地发送到所有机器。在命令列表中有多少个作业?每个远程服务器有多少个内核?@OleTange有500000个作业。100台远程服务器,每个服务器有32个核心。本地计算机有16个内核。将“head-n 1000 list_of_commands | parallel-D--eta--sshloginfile list_of_100_remote_computers.txt”的输出发布到parallel@gnu.org