parallel-processing相关内容

Python pool.map/Multiprocessing 的 Java 等效项

我想知道是否有人可以指出我在 java 中的一个简单等效的 python 多处理模块. 我有一个简单的并行处理场景(其中没有 2 个进程交互):获取一个数据集并将其拆分为 12 个并将 java 方法应用于 12 个数据集,收集结果并将它们加入某种列表中相同的顺序. 作为“专业"语言的 Java 似乎有多个库和方法 - 谁能帮助这个 Java 新手入门? 我想用最少的代码来做这件 ..

multiprocessing pool.map 按特定顺序调用函数

如何让 multiprocessing.pool.map 按数字顺序分配进程? 更多信息: 我有一个程序可以处理几千个数据文件,为每个文件绘制一个图.我正在使用 multiprocessing.pool.map 将每个文件分发到处理器,并且效果很好.有时这需要很长时间,在程序运行时查看输出图像会很好.如果 map 进程按顺序分发快照,这会容易得多;相反,对于我刚刚执行的特定运行,分析的前 ..
发布时间:2022-01-12 13:08:57 Python

在 Python 中,我如何知道一个进程何时完成?

我从 Python GUI (PyGTK) 中启动一个进程(使用多处理).该过程需要很长时间(约 20 分钟)才能完成.该过程完成后,我想对其进行清理(提取结果并加入该过程).我如何知道该过程何时完成? 我的同事建议在父进程中使用一个繁忙的循环来检查子进程是否已完成.肯定有更好的方法. 在 Unix 中,当一个进程被分叉时,子进程完成后从父进程中调用信号处理程序.但我在 Python ..

在python中控制用于调用外部命令的子进程数

我了解使用 subprocess 是调用外部命令的首选方式. 但是,如果我想并行运行多个命令,但要限制生成的进程数怎么办?困扰我的是我无法阻止子进程.例如,如果我调用 subprocess.Popen(cmd, stderr=outputfile, stdout=outputfile) 然后该过程将继续,无需等待 cmd 完成.因此,我无法将其包装在 multiprocessing 库的 ..
发布时间:2022-01-12 13:05:07 Python

故意在python中创建一个孤儿进程

我有一个名为 MyScript 的 Python 脚本(类似于 unix,基于 RHEL),它有两个函数,分别称为 A 和 B.我希望它们在不同的独立进程中运行(分离 B 和 A): 启动脚本 MyScript 执行函数A 生成一个新进程,将数据从函数 A 传递到 B 当函数 B 运行时,继续函数 A 当函数 A 完成时,即使 B 仍在运行,也要退出 MyScript 我认为我 ..

java 代码是否会自动利用多个处理器内核(如果可用)

如果给定处理器上有多个内核可用,当 JVM 运行用户编写的 java 代码时,它们会自动使用吗?还是必须专门编写代码才能利用多核? 我的意思是,我们是否必须为 JVM 创建不同的代码才能在运行时利用多个内核,例如通过程序员在用户代码中创建多个线程?并且说如果我们在 java 代码中不使用多线程,那么无论有多少内核可用,JVM 都将无法利用多个内核.可能是这种情况——但我不确定. 解决方 ..

使用多处理池的 apply_async 方法时谁运行回调?

我正在尝试了解使用多处理池的 apply_sync 方法时幕后发生的事情. 谁运行回调方法?是调用apply_async的主进程吗? 假设我发送了一大堆带有回调的 apply_async 命令,然后继续执行我的程序.当 apply_async 开始到结束时,我的程序仍在做事.回调如何运行我的“主进程"?而主进程仍在忙于脚本? 这是一个例子. 导入多处理进口时间def 回调(x) ..
发布时间:2022-01-12 12:44:03 Python

带有生成器的 Python 多处理

我正在尝试处理一个文件(每一行都是一个 json 文档).文件的大小可以达到 100 mbs 到 gb 的.所以我写了一个生成器代码来逐行从文件中获取每个文档. def jl_file_iterator(file):使用 codecs.open(file, 'r', 'utf-8') 作为 f:对于 f 中的行:文档 = json.loads(line)产量文件 我的系统有 4 个核心,所以我 ..
发布时间:2022-01-12 12:27:19 Python

为什么 python 多处理比串行代码花费更多时间?如何加快这个速度?

我正在试用 Python 多处理模块.在下面的代码中串行执行时间为 0.09 秒,并行执行时间为 0.2 秒.由于我没有得到加速,我想我可能在某个地方出错了 import multiprocessing as mp从随机导入制服,randrange进口时间# m = mp.Manager()out_queue = mp.Queue()def flop_no(rand_nos, a, b):卡尔= ..

大型对象列表上的多处理 Pool.map() 缩放不良:如何在 python 中实现更好的并行缩放?

让我们定义: 来自多处理导入池将 numpy 导入为 np定义函数(x):对于我在范围内(1000):我**2返回 1 注意 func() 做了一些事情,它总是返回一个小数字 1. 然后,我比较 8 核并行 Pool.map() 与串行、python 内置 map() n=10**3a=np.random.random(n).tolist()使用 Pool(8) 作为 p:%timei ..

多处理:了解“块大小"背后的逻辑

哪些因素决定了 multiprocessing.Pool.map() 等方法的最佳 chunksize 参数?.map() 方法似乎对其默认块大小使用任意启发式(如下所述);是什么激发了这种选择?是否有基于某些特定情况/设置的更周到的方法? 例如 - 说我是: 将 iterable 传递给具有约 1500 万个元素的 .map(); 在具有 24 个内核并使用默认值的机器上工作 pr ..

彼得森算法

在经典的 Peterson 算法中,您在进入临界区之前检查 2 个标志 flag1 和 flag2 以及 turn 变量.如果我先检查 turn 然后检查标志,这会起作用吗? 解决方案 是的,如果你先检查 turn 然后检查 flag[0] 或flag[1] 在 while() 中的条件内. 原因是只有当两个条件都为真时才会执行忙等待. 作为一个证明,我编写了一个小型 C 程序 ..
发布时间:2022-01-11 23:29:31 其他开发

PHP 守护进程/worker 环境

问题:我想实现几个 php-worker 进程,它们在 MQ-server 队列上侦听异步作业.现在的问题是,简单地将这些进程作为服务器上的守护进程运行并不能真正让我对实例进行任何级别的控制(负载、状态、锁定)......除了转储 ps -aux 之外.因此,我正在寻找某种运行时环境,让我可以在系统(进程)级别或更高层(某种 Java 风格的应用服务器)上监视和控制实例 任何指针? 解 ..
发布时间:2022-01-11 17:04:47 PHP

Java 中的并行 XML 解析

我正在编写一个应用程序,它处理大量具有深层节点结构的 xml 文件 (>1000).使用 woodstox (Event API) 大约需要 6 秒来解析一个包含 22.000 个节点的文件. 算法被放置在与用户交互的过程中,其中只有几秒钟的响应时间是可以接受的.所以我需要改进如何处理xml文件的策略. 我的进程分析 xml 文件(仅提取几个节点). 处理提取的节点并将新结果写入新数 ..
发布时间:2022-01-10 20:01:24 Java开发

CUDA:if 语句中的 __syncthreads()

我有一个关于 CUDA 同步的问题.特别是,我需要对 if 语句中的同步进行一些说明.我的意思是,如果我将 __syncthreads() 放在块内的一小部分线程命中的 if 语句的范围内,会发生什么?我认为一些线程将保持“永远"等待其他不会达到同步点的线程.所以,我编写并执行了一些示例代码来检查: __global__ void kernel(float* vett, int n){int i ..
发布时间:2022-01-10 16:15:19 其他开发