栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python 分布式计算

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python 分布式计算

Python分布式计算 ipyparallel

待补充

parallelpython

Parallelpython是一个提供并行计算的python库,多处理器、多核和集群提供并行计算的可能,易于使用、安装和与其它python软件集成。是用纯python编写的开源、跨平台模块,其官网是https://www.parallelpython.com/。

特点
  • 基本不依赖其它库,安装、部署比较简单,只需安装six库(手机termux也能部署)
  • 对python版本没有强依赖性,python3所有版本理论上都可行(目前已经测试了3.7,3.10)
  • 集成、扩展、二次开发比较容易
  • 可主动发现server和client,无需各种配置,开箱即用

官网的python3版本好像存在bug,ppserver以自发现方式创建后,互相却无法发现。经过debug修复后,现在已经上传到了github ParallelPython仓库中。
同时添加了一个采用节点主动发现的计算质数求和的例程:

pp-1.6.4.4/examples/sum_primes_autodetect.py

安装
python setup.py install
使用方法

具体使用方法根据不同情况可查看官网文档Documentation小节的内容。本文主要介绍分布式/集群方式的使用方法:

  1. 节点:承担计算的节点运行ppserver.py -a -d,并确保每个节点的调试信息总出现其它节点的广播消息
  2. 客户端:导入pp库import pp
  3. 客户端: 创建ppserverjob_server = pp.Server(ppservers=("*",))
  4. 客户端:拆分计算任务
  5. 客户端:提交任务f1 = job_server.submit(func1, args1, depfuncs1, modules1)
  6. 客户端:获取结果r1 = f1()
例子

按照官网创建集群部分的指南,不同机器启动./ppserver.py -a -d,每个节点调试信息中会输出接受到的其它节点的信息。

然后客户端启动任务程序:python sum_primes_autodetect.py,
客户端将任务分配到已经发现的各个节点进行计算。所有任务结束后,最终输出任务执行的统计信息。

同时做了以下试验来验证分布式并行计算的有效性,任务、试验环境和结果如图片所示:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853992.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号