python - 如何在 Python 中将输入数据动态共享到并行进程
问题描述
我有几个处理相同数据的并行进程。所述数据由 100.000 多个数组组成(全部存储在 HDF5 文件中,每个数组有 90.000 个值)。
目前,每个进程都单独访问数据,并且它运行良好,因为 HDF5 文件支持并发读取......但最多只能有一定数量的并行进程。在访问数据的 14-16 个进程以上,我看到效率下降。我期待它(我认为同一文件上的 I/O 操作太多),但我不知道如何正确纠正这个问题。
由于所有进程都使用相同的数据,因此最好让主进程读取文件,加载数组(或一批数组),并将其提供给正在运行的并行进程,而无需停止它们。如果你愿意的话,一种动态共享内存。
有什么办法可以正确地做到这一点并解决我的可扩展性问题?
我使用原生的“多处理”Python 库。
谢谢,
胜利者
解决方案
推荐阅读
- c++ - 给定 A 类和 B 类的两个 CXXRecordDecl,是否有一种简单的方法可以查看 A 是否可以隐式转换为 B?
- postgresql - 使用 bookshelf.js 查询 PostgreSQL 数据库中的 JSON 列
- c# - 多个套接字消息压缩为一个
- c# - 使用或不使用线程池的异步方法,是否可扩展
- postgresql - 如何避免被死锁阻塞?
- python - Nifi 使用 python 网络爬虫
- angularjs - 如何为最终将升级到 Angular 6 的 AngularJS 应用程序编写 Jasmine 单元测试?
- php - PHP-FPM长轮询配置
- javascript - 是否可以使用 nodejs 向特定的 Skype 帐户发送消息?
- android - 在 Android WebView 中仅启用桌面模式