【问题标题】:distributed processing api like multiprocessing in python分布式处理api,如python中的多处理
【发布时间】:2014-07-06 16:22:50
【问题描述】:

我正在考虑实现一个轻量级的分布式处理框架,它与Python中的multiprocessing有类似的api。一个例子如下:

#! /usr/bin/env python
#
# distributed processing demo api
#
from dprocessing import Pool, SSHBackend


def woker(*args, **kwargs):
    print args
    print kwargs

ssh_config = {
    'artisans': [
        {'host': '172.18.217.1', 'username': 'user',
            'password': 'pass', 'cores': 2},
        {'host': '172.18.217.2', 'username': 'user',
            'password': 'pass', 'cores': 4},
    ],
}
backend = SSHBackend(**ssh_config)

pool = Pool(backend)
pool.map(woker, range(10)) # run 10 jobs in 6 processes by 2 artisans

these projects 是否可以通过简单的 api 实现在多台计算机上运行作业的目标?您能给我一些实施框架的建议吗?

【问题讨论】:

    标签: python multiprocessing distributed-computing


    【解决方案1】:

    也许您正在寻找类似Scientific.BSPScientific.MPI 的东西?

    您提到的项目当然可以在一定程度上解决问题。毕竟它们中的一些实现了 CORBA 和类似 CORBA 的规范,这些规范绝对旨在提供“你甚至不知道你的代码在哪里运行”的执行模型。但是我不能承认这些技术提供了像multiprocessing 那样简单易用的抽象。嗯,有一点,它没有明确的比较标准,通常在很大程度上取决于个人品味和以前的经验......

    【讨论】:

      猜你喜欢
      • 2016-07-10
      • 2014-10-22
      • 2015-01-08
      • 2018-02-18
      • 2016-06-04
      • 2014-08-02
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      相关资源
      最近更新 更多