我正在考虑实现一个轻量级的分布式处理框架,该框架的api与Python中的multiprocessing类似。示例如下:
#! /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在多台计算机上运行作业?你能给我一些建议来实现这个框架吗?你知道吗
也许你在找Scientific.BSP和Scientific.MPI之类的东西?你知道吗
你提到的项目肯定能在某种程度上解决这个问题。毕竟,它们中的一些实现了CORBA和类似CORBA的规范,这些规范的目的是提供“你甚至不知道你的代码在哪里运行”的执行模型。但是我不能承认这些技术提供了像
multiprocessing
那样简单易用的抽象。嗯,这是一种没有明确的比较标准的东西,通常很大程度上取决于个人品味和以前的经验。。。你知道吗相关问题 更多 >
编程相关推荐