Questions tagged «parallel-processing»

并行运行多个命令(甚至计算机)以提高效率。

4
我的计算机如何使用300%的PC处理能力?
我正在玩一个脚本,但是我被带走了(它现在仍在运行,但是我的计算机还没死)。我正在运行该脚本的17次迭代(目的是使计算机崩溃)。 观察活动监视器,我发现每个Python进程都有一个唯一的pid,并且每个进程似乎占用了我大约17-20%的处理能力……这怎么可能?我的计算机是否神奇地增加了200%的功率并打破了某个地方的热力学定律?

9
并行rsync
经过反复试验,我只是移动并发现在我的房屋和远程服务器之间的某个地方,正在发生一些节流...但是节流不是很聪明。它仅限制单个连接。因此,如果我复制一个1 GB的文件,它将以150 kBps的速度愉快地进行。但是,如果我初始化10个副本,则每个副本将以150 kBps的速度运行(即,我通过多个连接获得了更高的聚合带宽)。 我经常使用rsync将一些大型数据集从工作同步到家中(幸运的是以许多文件的形式)。有没有办法告诉rsync使用多个连接下载?从理论上讲应该是可行的,因为据我所知,rsync首先进行一次传递以确定必要的更改,然后执行实际的传输。如果有一种神奇的方法告诉rsync将单个文件切成N个片段,然后将它们重新拼接在一起,便可以得到奖励。我相信CuteFTP实际上足够聪明,可以实现这一目标。

7
并行运行命令,同时限制命令数
顺序:for i in {1..1000}; do do_something $i; done-太慢 并行:for i in {1..1000}; do do_something $i& done-负载过多 如何并行运行命令,但每秒钟最多运行20个实例? 现在通常使用hack like for i in {1..1000}; do do_something $i& sleep 5; done,但这不是一个好的解决方案。 更新2:将接受的答案转换为脚本:http : //vi-server.org/vi/parallel #!/bin/bash NUM=$1; shift if [ -z "$NUM" ]; then echo "Usage: parallel <number_of_tasks> command" echo " Sets environment …

0
Jenkins实时控制台输出,用于并行线程结构命令
我们有一个可以在多个主机上并行运行的Python fabric命令,如下所示: $ fab --hosts=prod1.server,prod2.server,prod3.server --parallel copy_cache 这会将缓存复制到并行列出的生产服务器。在整个过程中会发生各种日志记录,以表明我们的进展情况,因为XXgig缓存目录可能要花费数小时。由于复制是同时进行的,因此在命令行上运行时,输出会实时返回隔行扫描,如下所示: [prod1.server] Executing task 'nginx_cache_copy' [prod2.server] Executing task 'nginx_cache_copy' [prod3.server] Executing task 'nginx_cache_copy' 2014-09-16 10:02:29.688243 [prod1.server] INFO: rsyncing cache dir [prod1.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \ "repo/cache/." 2014-09-16 10:02:29.716345 [prod2.server] INFO: rsyncing cache dir [prod2.server] run: rsync -a -q cache.server:"repo/cache/some.site.com" \ "repo/cache/." …

6
在Unix上执行并行复制的最佳方法是什么?
我通常必须将网络文件系统上文件夹的内容复制到本地计算机上。远程文件夹上有许多文件(1000个),它们都相对较小,但是由于网络开销,常规副本cp remote_folder/* ~/local_folder/需要很长时间(10分钟)。 我相信这是因为文件是按顺序复制的-每个文件都等到前一个文件完成后才开始复制。 提高此副本速度的最简单方法是什么?(我假设它是并行执行复制的。) 在复制之前压缩文件并不一定会加快处理速度,因为它们可能全部保存在不同服务器上的不同磁盘上。

5
更高的内核数或更高的时钟速度是否对计算机的性能更有利?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 随着硅成本的降低和消费者需求的增加,制造商似乎在推动两件事之一:时钟速度和/或内核数。随着事情的发展,处理器的时钟速度似乎不再在增加,而是处理器内核的数量在增加。 我记得只有几年前,我有一个不错的快速单核Pentium 4处理器。到今天,我什至认为您甚至不能购买单核处理器(更不用说在手机中多核处理器的增长了)。事情发展的方式是,几年后我们可能会发现具有数百个内核的计算机(而且我知道许多操作系统已经对此提供了支持)。 增加时钟速度或增加内核数量是否对系统的整体性能更有利?假设我们正在进入数百个一起运行的内核,或者时钟速度比我们今天的时钟速度快十倍(无论这在物理上是否可行)。 哪些通用流程(例如加密,文件压缩,图像/视频编辑)将从中的一个或另一个受益最大?是否可以通过提高并行度来加速某些进程,但由于技术原因目前还没有加快进程? 假设假设的处理器具有完全相同的内核设计(字长,地址位宽,存储器总线大小,高速缓存等),那么这里唯一的变量是时钟速度和内核数。再说一次,我不是在谈论一个,两个甚至四个核心-想象几十到数百个。


3
允许运行一段时间后终止进程
我想限制grep允许流程命令运行或运行的时间。 例如。我要执行以下操作: grep -qsRw -m1 "parameter" /var 但是在运行grep命令之前,我想限制该grep过程的持续时间,例如不超过30秒。 我该怎么做呢? 如果可以的话,之后我该如何返回或重置为无时间限制。


3
netcat作为多线程服务器
我使用netcat运行这样的简单服务器: while true; do nc -l -p 2468 -e ./my_exe; done 这样,任何人都可以在端口2468上连接到我的主机并与“ my_exe”对话。 不幸的是,如果其他人想在打开的会话期间进行连接,则会收到“连接被拒绝”错误,因为netcat不再侦听下一个“ while”循环。 有没有办法使netcat像多线程服务器一样工作,即始终在侦听传入的连接?如果没有,是否有一些解决方法?

5
并行外壳循环
我想处理许多文件,并且由于这里有很多核心,所以我想并行执行: for i in *.myfiles; do do_something $i `derived_params $i` other_params; done 我知道一个Makefile 解决方案,但是我的命令需要将这些参数从shell列表中删除。我发现的是: > function pwait() { > while [ $(jobs -p | wc -l) -ge $1 ]; do > sleep 1 > done > } > 要使用它,所有要做的就是在作业和pwait调用之后放置&,该参数给出并行进程的数量: > for i in *; do > do_something $i & > …

1
排序--parallel不并行化
我正在尝试使用egrep -u排序从文件中拉出的唯一行,然后对其进行计数。大约有10%的行(字母表[ATCG]中的所有100个字符)重复。有两个文件,每个文件约3个演出,50%不相关,因此大约3亿行。 LC_ALL=C grep -E <files> | sort --parallel=24 -u | wc -m 在LC_ALL = C和使用-x加速grep之间,到目前为止,最慢的部分是排序。阅读手册页使我走到--parallel = n,但是实验显示绝对没有任何改善。对top的一点挖掘表明,即使使用--parallel = 24,排序过程一次也只能在一个处理器上运行。 我有4个具有6个核心和2个线程/核心的芯片,总共提供48个逻辑处理器。请参阅lscpu,因为/ proc / cpuinfo将太长。 Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 48 On-line CPU(s) list: 0-47 Thread(s) per core: 2 Core(s) per socket: 6 Socket(s): 4 …


1
虚拟机能够像普通PC一样运行吗?
让我们假设你在桌面大小(只是可视化)的家中拥有超级强大的服务器。 2048个物理内核,每个3GHz,64TB内存,GTX 780 Ti黑色版(SLIx4,(四个显卡一起工作)。我的意思是,真的是非常蛮横的硬核电脑。是的,我知道,它不可能在桌面上,这个只是帮助你可视化我的问题。 假设我要运行Linux,我会安装虚拟机客户端,如VirtualBox或VMware,并在其上安装Windows。我会给Windows: - 6个英特尔内核 - 32GB内存1600MHz - 1TB SSD 我将启用每个设置,如“启用XYZ平移加速”和所有“Boost 2D / 3D图形”。显而易见,我会启用任何有助于提高性能的设置。图形上都是“过程性的”。 这样的计算机是否能够以高帧率运行高级视觉模拟或在高帧率的高设置下运行硬核游戏,或者另一个示例显示60FPS的8K电影(如果我有8K监视器)。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.