本文翻译自:https://www.parallelpython.com/

概述

  1. Parallel Python是一个python模块,提供了在SMP(具有多个处理器或核心的操作系统)和群集上并行执行python代码的机制。
  2. Parallel Python具有轻量级、易安装、易与其他python软件集成的特性。
  3. Parallel Python是用纯Python语言写的开源跨平台的模块。

特征

  • Python代码在集群或SMP上并行执行。
  • 是一种易于理解且容易实现的基于任务的并行化技术(容易以并行的方式转换成串行应用程序)。
  • 自动检测最佳配置(工作进程数的默认值为处理器的个数)。
  • 处理器动态分配(工作进程数可以在程序运行时进行更改)。
  • 具有相同功能的后续作业的开销较低(实现透明缓存以减少开销)。
  • 动态负载均衡(任务被分配给运行中的处理器)。
  • 容错机制(如果其中一个计算节点的任务失败,则将任务重新分配到其他节点上)。
  • 自动发现计算资源。
  • 动态分配计算资源(容错机制和自动发现计算资源两种特征决定的)。
  • 基于SHA的网络连接身份验证。
  • 具有跨平台的可移植性和互通性(Windows,Linux,Unix,Mac OS X)。
  • 具有跨体系架构的可移植性和互通性(x86,x86-64等)。
  • 开源。

动机

如今,用python写的应用种类越来越丰富包括业务逻辑、数据分析、科学计算,这与市场上多核多线程计算机和群集的广泛使用一起催生了并行执行python代码的需求。

为SMP计算机编写并行代码最简单有效地方式是使用线程,不过,好像如果在程序中使用'thread' 或 'threading'模块,则就不可以并行的执行python字节码了(虚拟机为Cpython的版本),原因是Python解释器是由全局解释器锁(GIL)控制的,GIL是一个互斥锁,它只允许一个线程来控制Python解释器,因此,即使在SMP计算机上,此锁一次也只能执行一条python字节码指令,也即,在任意时刻,只有一个线程在解释器中运行。

Parallel Python模块克服了上述的限制并且提供了一种简单的方式去写并行的python程序。ppsmp在内部使用进程和IPC(进程间通信)来组织并行计算。 并行计算的所有细节和复杂性都得到了充分解决,您的应用程序仅负责提交任务并获取计算结果即可。

值得一提的是,用Parallel Python编写的软件甚至可以直接通过局域网或Internet连接的许多计算机上并行工作。 跨平台的可移植性和动态负载平衡使Parallel Python即使在异构平台和多平台集群上也可以有效地并行化计算。

安装

任意平台:下载模块并将其解压缩到本地目录。 运行安装脚本:python setup.py install

Windows:下载并执行Windows安装程序二进制文件

参考文档

  • 模块接口
  • SMP 快速开始指南
  • 集群快速开始指南
  • 集群高级指南
  • 命令行选项 ppserver.py
  • Parallel Python常见问题

样例

Parallel Python用法示例

下载

Parallel Python下载

python分布式计算框架-Parallel Python相关推荐

  1. python 分布式计算框架_漫谈分布式计算框架

    如果问 mapreduce 和 spark 什么关系,或者说有什么共同属性,你可能会回答他们都是大数据处理引擎.如果问 spark 与 tensorflow 呢,就可能有点迷糊,这俩关注的领域不太一样 ...

  2. 精通python爬虫框架-精通Python爬虫从Scrapy到移动应用(文末福利)

    原标题:精通Python爬虫从Scrapy到移动应用(文末福利) 我能够听到人们的尖叫声:"Appery.io是什么,一个手机应用的专用平台,它和Scrapy有什么关系?"那么,眼 ...

  3. 精通python爬虫框架-精通Python爬虫框架Scrapy.pdf

    作 者 :(美)迪米特里奥斯·考奇斯·劳卡斯(Dimitrios Kouzis Loukas)著:李斌译 出版发行 : 北京:人民邮电出版社 , 2018.02 ISBN号 :978-7-115-47 ...

  4. python分布式计算框架_基于Python的分布式计算平台-DPark

    来自于: DPark是一个基于Mesos的集群计算框架(cluster computing framework),是Spark的Python实现版本,类似于MapReduce,但是比其更灵活,可以用P ...

  5. python分布式计算框架_分布式计算框架Spark

    Apache Spark是一个开源分布式运算框架,最初是由加州大学柏克莱分校AMPLab所开发. Hadoop MapReduce的每一步完成必须将数据序列化写到分布式文件系统导致效率大幅降低.Spa ...

  6. python分布式计算_《Python分布式计算》第1章 并行和分布式计算介绍 (Distributed Computing with Python)...

    本书示例代码适用于Python 3.5及以上. 当代第一台数字计算机诞生于上世纪30年代末40年代初(Konrad Zuse 1936年的Z1存在争议),也许比本书大多数读者都要早,比作者本人也要早. ...

  7. 精通python爬虫框架-精通Python爬虫框架Scrapy PDF 中文清晰版

    给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.爬虫.框架.Scrapy方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小8.6 MB,迪米特里奥斯编写,目前 ...

  8. python spring框架_Spring Python

    Spring Python Spring Python是基于Java的Spring框架(Spring Framework)和Spring安全(Spring Security)的一个分支,它以Pytho ...

  9. Python单元测试框架《python 自动化框架 pytest》

    Pytest 简介 pytest 是python 的一种单元测试框架,不python 自带的unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高.根据pytest 的 ...

最新文章

  1. QIIME 2用户文档. 22Python命令行模式(2019.7)
  2. mysql字段类型、范围详解
  3. 目前MPLS有哪些备份方案?
  4. 一篇讲清:如何构建可重复,可扩展且盈利的“魔力”转化流程?
  5. Java静态内部类、匿名内部类、成员式内部类和局部内部类
  6. 火狐 url 乱码_在Firefox中查看URL作为工具提示
  7. 怎么看待传菜机器人_餐厅服务机器人可能是什么样的?
  8. Android系统性能优化(46)---Android Lint
  9. 鸿蒙系统是一场营销,品牌营销专家点评鸿蒙,华为内部定位有点乱别搞砸了
  10. video-audio
  11. 关于在GridControl中添加GridLookUpEdit绑定数据
  12. VB中对数据库进行增、删、改操作
  13. iOS手势开发的那点儿事
  14. AndrOid系统亭子运行,细讲Android系统下的Preference
  15. 闲人博上介绍R语言的一篇好文章
  16. Echart3绘制世界地图连线中国城市
  17. 阿里云盾(云安全)是什么?有什么作用?
  18. MATLAB运用all函数剔除0元素
  19. excel oss 上传_excel上传数据库失败
  20. 需求分析——软件需求规格说明书标准目录

热门文章

  1. 讨论:为什么越来越多的企业开始搭建属于自己的知识库?
  2. 如何实现业务解耦?spring中事件监听了解一下
  3. Linux系列之离线安装nodeJs
  4. Redis核心技术与实战-学习笔记(十四):时间序列数据
  5. 算法笔记(三)特殊数据结构——哈希表、有序表、并查集、KMP、Manacher、单调栈、位图、大数据类题
  6. 深度学习入门理解——零基础数学篇(一)
  7. 解决laravel框架在腾讯云 Serverless Framework 中439错误 Process exited before completing request问题
  8. 自适应设计涉及的知识点(CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport)
  9. linux中rm命令的功能,Linux中的rm命令
  10. Python-Scapy使用介绍