矢向高弘の分散処理システム
この科目は、SD工学科3年生を対象に、分散処理システムについて講義しています。
このウェブページでは、補足資料を掲載していく予定です。
講義で使用したスライドはkeio.jpに掲載しています。
UDP通信プログラムの例
サーバ側であらかじめ
server-u.cを起動しておき、
それに対してclient-u.cで
UDPパケットを送るもっとも簡単な例です。FreeBSD/Linuxだけでなく
Cygwin/Windows上でも動作します。
WindowsのVisual C++で動作させる
場合には、Windows版のserver-u.cppと
client-u.cppを参照して下さい。
受信結果
TCP通信プログラムの例
サーバ側であらかじめ
server-t.cを起動しておき、
それに対してclient-t.cで接続すると、
非同期の双方向通信を行うことができます。WindowsのVisual C++で動作する
wsock32.libのberkeley socketライブラリは非同期の通信をサポートしていない
ので、Visual C++用には同期型の双方向通信のみ紹介しておきます。
Windows版のserver-t.cppと
client-t.cppを用いると、最初にクライアン
トからメッセージを送り、次にサーバからメッセージを送って終了します。
Cygwin/Windowsで実行するならば、元のserver-t.cとclient-t.cが
正常に動作します。
MPICH2を利用するプログラム例
MPICH2を利用したプログラムを実行する際には、mpiexec コマンドから間接的に起動
する必要があります。また、12-109教室のWindows上でMPICH2を利用するには、以下
の2通りどちらかの方法で利用するコンピュータを指定する必要があります。
- -hosts オプションで利用する台数とコンピュータ名を列挙する
- あらかじめコンピュータ名を列挙したファイルを用意しておいて
-n オプションと -machinefile オプションを利用して台数を指定する
とても簡単なサンプルプログラムtestmpi.cを置いておき
ます。
もう1つ、あまり意味がないですが、モンテカルロ法によるPIの計算プログラ
ムpi.cも置いておきます。こちらはWindowsで動作させたことは
ありませんので無保証です。