问题标签 [concurrent-processing]

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

python - 如何在此代码中提高我的并发处理时间?

我在 Python 中编写了以下代码:

当我使用ProcessPoolExecutor()我的结果如下:

我也改成,ThreadPoolExecutor()结果是:

另外,当我将max_workers参数设置为时None,我得到以下结果:

如何提高并发时间?因为连续时间一直在变快,还是有原因?

0 投票
2 回答
60 浏览

multithreading - 在并发编程中,是否有可能通过使用锁,一个程序有时会使用比必要更多的处理器?

这是一道考试题(练习题,不是真题)。它是关于使用多核处理器的并发编程以及使用锁的问题。

“在并发编程中,是否有可能通过使用锁,一个程序有时可能会使用比必要更多的处理器?”

换句话说,这有可能吗?这是一个真/假问题。我在任何地方都找不到答案,我正在为我的考试复习。

0 投票
1 回答
481 浏览

python - 同时多次运行同一个函数

所以我想要做的是同时多次运行同一个函数,同时将结果作为返回并将其存储在数组或列表中。它是这样的:

我尝试在 python 中使用线程。我的实现是:

这似乎不起作用,只是None从线程返回。

0 投票
2 回答
104 浏览

python - Python多线程方法

我听说 Python 多线程有点棘手,我不确定实现我需要的最佳方法是什么。假设我有一个调用函数IO_intensive_function,它执行一些 API 调用,可能需要一段时间才能得到响应。

假设排队作业的过程可能如下所示:

现在会IO_intense_function在后台执行它的任务并让我排队等待更多的工作吗?

我还查看了这个问题,似乎方法就是执行以下操作:

因为我不需要这些任务相互通信,所以唯一的目标是尽可能快地发送我的 API 请求。这是最有效的方法吗?谢谢。

编辑:我发出 API 请求的方式是通过 Thrift 服务。

0 投票
1 回答
58 浏览

python - 关于使用多处理模块并发执行进程的问题

我最近正在使用 Python 学习多处理。我学到的是我们在 Python 中使用多处理模块来实现并行性,这意味着进程是同时执行的。

但是为什么下面的代码显示四个进程的启动时间之间存在几毫秒的差异?

下面是输出:

为什么进程的开始时间不同?这不违反并行的定义吗?

0 投票
0 回答
5 浏览

concurrency - 使用并行计算的稀疏矩阵乘法

我正在学习并行计算作为我课程的一部分,并且需要开发一种算法,用于使用并行计算将任意阶的两个稀疏矩阵相乘。谁能帮我一个相对简单的算法,初学者可以理解。任何指向有用资源、博客或论文或视频的链接也值得赞赏。我已经完成了最初的谷歌搜索,但找不到一个可以理解的简单解决方案。提前致谢。

0 投票
0 回答
26 浏览

python - 如何使用 joblib.Parallel 和 Web 请求提高运行时间?

我正在使用脚本从许多使用newspaper3k. 我没有按顺序运行它,而是尝试通过使用joblib.Parallel

但是,它仍然需要很多时间(50 个网站大约需要 20 分钟)。我分析了脚本,结果发现大部分时间 (51%) 都在等待来自以下位置的锁Parallel

在此处输入图像描述

你觉得我有什么办法可以改进吗?我想过使用async,但结果发现 Joblib 不能很好地使用它。

0 投票
0 回答
21 浏览

python - Python中并行文件连接的聚合树?

我有一个用例,我需要将大量 CSV 文件合并为一个,保持行的顺序。

例如:

目前,我正在以串行方式执行此操作,按顺序读取每个文件并附加到单个 concat 文件(使用二进制模式读取/写入以加快速度)。

由于我使用的机器有多个可用的内核,我想知道在基础Python 中是否有一些简单的方法(joblib/pandas 也可以)来创建某种聚合树,以便并行合并部分文件,与再次输出为按顺序排列的单个 CSV。

0 投票
1 回答
50 浏览

python - 如何在多处理中启动 100 个工作人员?

我正在尝试使用 python 调用我的函数my_function()100 次。由于my_function需要一段时间才能运行,我想并行化这个过程。

我尝试阅读https://docs.python.org/3/library/multiprocessing.html的文档,但找不到一个简单的示例来开始启动 100 名工作人员。顺序无关紧要;我只需要该功能运行 100 次。

任何建议/代码提示?

0 投票
1 回答
60 浏览

performance - 数据大小和相同资源的性能度量

我有具有大量内核和集群的系统。对于没有可用串行实现的特定任务,我只能对在不同输入大小上运行的任务所花费的时间进行基准测试。我看到即使数据大小增加了 10 倍,在使用相同资源的情况下,完成时间也少于 10 倍。我想知道如何衡量性能,因为这似乎不属于强/弱缩放的典型定义。这似乎与效率有关,但我不确定。从我能收集到的关于这三个方面:

  1. 强缩放(Amdhal 定律):加速 = 1 / ( s + p / N ) = T( 1 ) / T( N )
  2. 弱缩放(古斯塔夫森定律):缩放加速 = s + p × N
  3. 效率:加速比/N

由于缺乏串行实现并且 N a 是恒定的,因此我没有加速,我只能想到使用强缩放来找到效率比。CS中有这样的参数吗?