これまで,4回にわたって並行/並列プログラミングについて説明しました。その最後を締めくくる話題として,メッセージ通信を取り上げたいと思います。 メッセージ通信は第10回で分類した並行計算・並列計算・分散計算のうち,主に分散計算を行うことに焦点を当てた技術です。ただ,分散計算以外にも有用な局面はあります。 メッセージ通信の利点とは? まず,分散処理とメッセージ通信の関係について説明しましょう。 これまで紹介してきた並行/並列処理のための機能では,並行Haskellのような「状態」を持つものにせよ,並列Haskellのような「状態」を持たないものにせよ,「一つの共有されたメモリーを使用する」という考えのもとでメモリーを扱ってきました。これに対し,メッセージ通信ではメモリーは共有せず,その名の通り,メッセージの送受信を通して値をやり取りします。 ネットワーク上の通信は,同一コンピュータ上での計算