Rust 中如何处理分布式内存并行性? [关闭]
Posted
技术标签:
【中文标题】Rust 中如何处理分布式内存并行性? [关闭]【英文标题】:How is distributed memory parallelism handled in Rust? [closed] 【发布时间】:2019-03-11 11:15:04 【问题描述】:Rust 中如何处理分布式内存并行性?我的意思是语言结构、库或其他功能,用于处理类似于 MPI 提供的 C 的集群之类的计算,但不一定使用相同的原语或方法。在 Rustonomicon 中,我看到了关于线程和并发性的讨论,但我没有看到任何关于跨多台计算机并行化的讨论。
【问题讨论】:
【参考方案1】:据我所知,该语言并没有真正内置任何用于分布式计算的内容(这是可以理解的,因为这可能不是该语言的真正重点,或者至少在当时没有出现)。我也不相信有任何特别流行的板条箱或其他用于分布式计算的板条箱。 Actix 可能是唯一获得任何牵引力的actor crate,它支持HTTP,但我不认为它是针对HPC/超级计算机设置的。你肯定也想看看Tokio,它似乎是 Rust 中用于异步编程的 库,专门针对网络 IO 操作。
目前,如果您希望复制 MPI,我猜您最好的选择是将 FFI 用于基于 C 的 MPI 库。似乎有 a handful of attempts 为 Rust 创建到 MPI 的绑定,但我不确定它们是否特别完整。
【讨论】:
这是可以理解的,因为这可能不是该语言的真正重点,或者至少不是过去的重点 => 我宁愿说分布式计算更多图书馆关注而不是语言关注;如果语言对并行执行(多线程)有很好的支持,那么分布式计算可以建立在上面。至于分布式计算库:CityBound 具有一个非常简洁的参与者系统,可以将计算成本分配给所有参与的参与者(和主机)。以上是关于Rust 中如何处理分布式内存并行性? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章