apache storm消息传递实现(mpi)

beq87vna  于 2021-06-24  发布在  Storm
关注(0)|答案(1)|浏览(413)

根据storm的mpi实现,工人管理到其他工人的连接,并维护任务到任务的Map。此外,传输接收一个任务id和一个元组,它序列化元组并将其放入“传输队列”。
问题是,如果有一种方法来组织调度,使得一个操作员的某些任务在给定的时间根据应用程序的拓扑结构只与下一个操作员的某些任务通信(zeromq可能会这样做吗?)。

iecba09b

iecba09b1#

q:“如果有一种方法来组织调度,使得一个操作员的某些任务在给定的时间根据应用程序的拓扑结构只与后面操作员的某些任务通信(zeromq可能会这样做吗?)。”
显然可以,
它确实允许为分布式计算智能灵活地创建信令/消息传递元平面基础设施,在过去12年多的时间里不断改进。
@hristoilliev附加了评论的url细节,据apachestorm自己报告,它已经将zeromq层用于自己的服务了*[在版本0.8.0中,几乎所有的实现(源代码)链接都已经死在那里了]:
分布式模式的实现使用zeromq代码
本地模式的实现使用内存中的java队列(这样就很容易在本地使用storm,而不需要安装zeromq)代码。。。
任务在内存中的zeromq端口上侦听来自虚拟端口代码的消息
因此,您的问题中与拓扑相关的部分与“外部”apachestorm体系结构中已经做出的关于这个主题的决策有关。
任务负责消息路由。元组被发送到直接流(其中指定了任务id)或常规流。在直接流中,仅当该螺栓订阅该直接流时才发送消息。在常规流中,流分组函数用于确定要将元组发送到的任务id。
mpi对以hpc为中心的计算生态圈也有同样的作用,因为fortran作业开始在第一个hpc分布式基础设施上运行。由于大多数hpc计算问题都是“简单地”扩展到计算硬件的更大范围内,mpi更关注这种均匀扩展的效率,而不是访问消息传递基础设施的自适应、几乎是临时设置的相反角落,专门的zeromq可伸缩正式通信原型模式的分层拓扑,因此每个工具都关注其他因素。
如果您想阅读更多关于zeromq的内容,这个答案可能有助于快速理解核心的基本概念。

相关问题