如果我错了,请纠正我,但我的理解是,Hadoop 不使用 MPI 进行不同节点之间的通信。
造成这种情况的技术原因是什么?
我可以冒险进行一些猜测,但我对 MPI 是如何“在幕后”实现的了解不够,无法知道我是否正确。
想想看,我对 Hadoop 的内部结构也不完全熟悉。我在概念层面上理解该框架(映射/组合/洗牌/减少以及它如何在高层次上工作),但我不知道具体的实现细节。我一直假设 Hadoop 正在传输序列化数据结构(也许GPBs http://code.google.com/apis/protocolbuffers/docs/overview.html)通过 TCP 连接,例如在洗牌阶段。如果这不是真的,请告诉我。
Hadoop/map-reduce 的一大特点是容错性。大多数(任何?)当前的 MPI 实现都不支持容错。正在考虑将其用于未来版本OpenMPI http:////www.open-mpi.org/faq/?category=ft.
桑迪亚实验室 http://www.sandia.gov/~sjplimp/mapreduce.html有一个使用 MPI 的 map-reduce 版本,但它缺乏容错能力。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)