最近、マルチコアで並列プログラムを作成するための言語として、Erlang に多くの関心が寄せられています。Erlang のメッセージ パッシング モデルは、スレッドなどの主要な共有メモリ モデルよりもプログラミングが容易であるという意見を聞いたことがあります。
逆に、ハイ パフォーマンス コンピューティング コミュニティでは、主流の並列プログラミング モデルは MPI であり、メッセージ パッシング モデルも実装されています。しかし、HPC の世界では、このメッセージ パッシング モデルは一般にプログラミングが非常に難しいと考えられており、OpenMP や UPC などの共有メモリ モデルの方がプログラミングが容易であると主張する人もいます。
IT および HPC の世界で、メッセージ パッシングと共有メモリの認識にこのような違いがある理由を知っている人はいますか? Erlang と MPI のメッセージ パッシングの実装方法に根本的な違いがあり、Erlang スタイルのメッセージ パッシングが MPI よりもはるかに簡単になったためでしょうか? それとも他に何か理由があるのでしょうか?