如今,人们对 Erlang 作为一种在多核上编写并行程序的语言很感兴趣。我听说有人争辩说,Erlang 的消息传递模型比主要的共享内存模型(如线程)更容易编程。
相反,在高性能计算社区中,占主导地位的并行编程模型是 MPI,它也实现了消息传递模型。但在 HPC 世界中,这种消息传递模型通常被认为很难编程,人们认为 OpenMP 或 UPC 等共享内存模型更容易编程。
有谁知道为什么在 IT 和 HPC 世界中对消息传递和共享内存的理解存在如此大的差异?是不是因为 Erlang 和 MPI 在实现消息传递方面的一些根本差异,使得 Erlang 风格的消息传递比 MPI 更容易?还是有其他原因?