并行计算中的负载均衡、数据并行与消息传递
1. 负载均衡视图与并行装饰器
负载均衡视图支持 targets 字段,可指定部分引擎进行负载均衡。例如:
In [54]: balView.targets = [1, 3]
这会确保只有引擎 1 和 3 成为未来 apply 和 map 请求的目标,并进行负载均衡。使用 targets 字段可按以下步骤将不同函数分配到不同处理器集:
1. 选择目标集和函数。
2. 异步使用 map 或 apply ,将 AsyncResult 保存在本地变量中。
3. 重复步骤 1 直至完成。
4. 使用本地变量获取所有结果。
@parallel 函数装饰器可将标准 Python 函数轻松转换为并行执行,示例如下:
In [38]: @balView.parallel()
....: def f(n):
....: curr = n
....: tmp = 1
....: while curr != 1:
....: tmp = tmp + 1
....: if curr % 2 == 1:
....:
超级会员免费看
订阅专栏 解锁全文
622

被折叠的 条评论
为什么被折叠?



