Gensim官方教程翻译(六)——分布式计算(Distributed Computing)
来源:互联网 发布:win8安装不了软件 编辑:程序博客网 时间:2024/05/20 05:03
为何要分布式计算?
需要构建一个百万文档级语料库的语义代表,却耗时太~~长?手上有几个可用的闲置计算机?分布式计算力争通过将给定的任务切分为几个小型任务,并将这些任务指派给几台平行的计算机完成来实现加速计算。
在这里提到的计算节点是指通过其IP地址/端口识别的计算机,并通过TCP/IP协议完成通讯。所有可用的计算机作为一个整体,称为集群(cluster)。分布式是非常粗粒度的(没有太多实时通讯),因此允许网络有相对较高的延迟。
警告:使用分布式的最重要的原因是加快速度。在gensim中,大多数时间消耗在其内部的底层线性代数计算上,主要是NumPy中,与任何gensim代码无关。为NumPy安装一个快速的基本线性代数(BLAS)库能将提高至15倍!因此在你开始购买额外的计算机前,先考虑安装一个快速的、多线程的BLAS来使你的机器发挥其更大的能力(而不是一个通用的、二进制分布式库)。可选的BLAS库包括你的供应商的BLAS库(Inter MKL,AMD ACML,OS X vecLib,Sun Sunperf)或者一些开源的 (GotoBLAS, ALTAS)。
想查看你正在使用哪个BLAS和LAPACK,你可以在命令行输入:python -c 'import scipy; scipy.show_config()'
预备知识
Gensim使用Python远程对象(Remote Object,Pyro)实现节点间的通讯,版本号不低于4.27。这是一个底层套接字通讯和远程程序调用(RPC)库。Pyro是一个纯Python库,因此其安装十分简单,仅需将其*.py文件复制到你的Python的import路径。
- 1
你不需要为了运行gensim安装Pyro,但是如果你不安装,就不能使用其分布式计算(即所有的过程都将是连续模式运行,本页面的例子无法使用)。
核心概念
就像往常一样,gensim努力做到干净、简单的API(参见介绍部分的“属性”)。你不需要为了能在计算机集群上运行而对你的代码进行任何修改!
你需要做的是开始计算前在每一个集群节点上运行一个工作者脚本(见下方)。运行该脚本告知gensim它可以使用这些节点工作。在初始化时,gensim内部算法将会尝试寻找和使用所有可用的工作者节点。
节点
一个逻辑工作单元。可以是一台物理机器,也可以在一台机器上运行多个工作者脚本得到多个逻辑节点。
集群
几个可以通过TCP/IP通讯的节点。现在,网络广播被用来发现和连接所有通讯节点,因此节点必须在同一个广播域。
工作者
在每个节点上创建的进程。从集群中移除节点,仅需结束他的工作者进程。
调度
调度器将会负责协调所有计算任务、队列、分发(“分派”)各个工作者的工作。计算指令从不与工作者节点直接交流,仅仅通过调度器。一个集群中同一时间仅能有一个活动的调度器,不像工作者可以有多个。
其他分布式算法
- 分布式潜在语义分析
- 分布式隐含狄利克雷分配
- Gensim官方教程翻译(六)——分布式计算(Distributed Computing)
- Gensim官方教程翻译(六)——分布式计算(Distributed Computing)
- Gensim官方教程翻译(七)——分布式潜在语义分析案例(Distributed Latent Semantic Analysis)
- Gensim官方教程翻译(七)——分布式潜在语义分析案例(Distributed Latent Semantic Analysis)
- Gensim官方教程翻译(一)——快速入门
- Gensim官方教程翻译(三)——主题与转换(Topics and Transformations)
- Gensim官方教程翻译(四)——相似度查询(Similarity Queries)
- Gensim官方教程翻译(三)——主题与转换(Topics and Transformations)
- Gensim官方教程翻译(四)——相似度查询(Similarity Queries)
- Gensim官方教程翻译(二)——主题与转换(Topics and Transformations)
- Gensim官方教程翻译(三)——相似度查询(Similarity Queries)
- Gensim官方教程翻译(五)——英文维基百科的实验
- Gensim官方教程翻译(五)——英文维基百科的实验
- Gensim官方教程翻译——快速入门
- Gensim官方教程翻译(二)——语料库与向量空间(Corpora and Vector Spaces)
- Gensim官方教程翻译(二)——语料库与向量空间(Corpora and Vector Spaces)
- Gensim官方教程翻译(一)——语料库与向量空间(Corpora and Vector Spaces)
- Matlab Distributed Computing (分布式计算) 简单配置
- 牛客网---2016---搜狗火眼金睛
- sqlplus插入中文字符集问题和ORA-01756 quoted string not properly terminated
- 108. Convert Sorted Array to Binary Search Tree
- Android—将Bitmap图片保存到SD卡目录下或者指定目录
- java继承
- Gensim官方教程翻译(六)——分布式计算(Distributed Computing)
- activeMq发送消息变慢
- 定位
- Hdu 6201 transaction transaction transaction【最长路】
- 优化数学基础
- 修改数据库默认字符编码
- core dump
- Host XXX is not allowed to connect to this MySql 远程连接
- js 页面全屏,退出全屏, fullScreen