首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Map Reduce或其他分布式/并行设计模式?

Map Reduce或其他分布式/并行设计模式?
EN

Stack Overflow用户
提问于 2013-07-12 02:58:46
回答 1查看 207关注 0票数 0

我有这段代码,它连接/组合了一组图像。因为我的图像收集非常大(大数据:-),所以我想将这个顺序代码重新组织成一个并行/分布式应用程序。我正在考虑Map/Reduce,但不确定这在Map/Reduce下是否可行。

代码语言:javascript
复制
#Sequential Code 
Result.Image <- NULL
foreach(Image in Image.Collection) {
  Result.Image <- CombineImage(Result.Image, Image)
}

注:顺序并不重要;合并图像1、2、3、4、5与合并图像2、3、1、4、5一样好。

理想情况下,我会喜欢这样的东西(看起来更像一个经典的divide-et-impera,而不是map/reduce ):

1、2、3、4是原始图像。一个节点将图像#1和图像#2连接成称为图像#5的新图像。第二节点将图像#3和图像#4连接成图像#6,最后一个节点将图像#5和图像#6连接成最终结果。

对于我应该使用哪种框架/并行或分布式设计模式来做这样的事情,有什么想法吗?

干杯!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-12 10:17:17

从您的初始描述(foreach代码)看,在处理#1和#2之前,您似乎无法处理图像#3,因为您在Result.Image中累积了中间结果。现在,您的图显示了一个不同的故事,兄弟节点可以并行处理,我想知道即使是随机节点也可以并行组合。无论如何,我认为您可以将所有初始图像放在FIFO队列中,并在您负担得起的情况下尽可能多地使用处理器(线程、机器或节点)。每个处理器拾取两个图像,将它们组合起来,并将结果放回队列中。你就像这样处理,直到你在队列中得到一个图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17601275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档