http://blog.csdn.net/questionfish/article/details/46772205为何要分布式计算?需要构建一个百万文档级语料库的语义代表,却耗时太~~长?手上有几个可用的闲置计算机?分布式计算力争通过将给定的任务切分为几个小型任务,并将这些任务指派给几台平行的计算机完成来实现加速计算。
预备知识Gensim使用Python远程对象(Remote Object,Pyro)实现节点间的通讯,版本号不低于4.27。这是一个底层套接字通讯和远程程序调用(RPC)库。Pyro是一个纯Python库,因此其安装十分简单,仅需将其*.py文件复制到你的Python的import路径。
你不需要为了运行gensim安装Pyro,但是如果你不安装,就不能使用其分布式计算(即所有的过程都将是连续模式运行,本页面的例子无法使用)。 核心概念就像往常一样,gensim努力做到干净、简单的API(参见介绍部分的“属性”)。你不需要为了能在计算机集群上运行而对你的代码进行任何修改! 节点一个逻辑工作单元。可以是一台物理机器,也可以在一台机器上运行多个工作者脚本得到多个逻辑节点。 集群几个可以通过TCP/IP通讯的节点。现在,网络广播被用来发现和连接所有通讯节点,因此节点必须在同一个广播域。 工作者在每个节点上创建的进程。从集群中移除节点,仅需结束他的工作者进程。 调度调度器将会负责协调所有计算任务、队列、分发(“分派”)各个工作者的工作。计算指令从不与工作者节点直接交流,仅仅通过调度器。一个集群中同一时间仅能有一个活动的调度器,不像工作者可以有多个。 其他分布式算法 |
|
来自: 株野 > 《Word2Dcv》