情報システム実験B:分散プログラミング

担当教員

建部修見 (たてべおさむ)

概要

分散システムの作成において基本となるRPC(遠隔手続呼出)、 RDMA(遠隔直接メモリアクセス)を学び、 様々な分散システムをC言語あるいはC++言語を用いて作成します。 RPCはHPC (High-Performance Computing)での利用が進むMochiを 用います。Mochiを用いることにより、通信レイヤーとしてTCP だけではなくInfiniBand、Omni-Path、Ariesなどの高速ネット ワークの利用が可能となり、 スーパコンピュータでの高速なシステム構築が可能となります。 なお、本実験は講義「分散システム」に関連しています。 そのため、分散システムの受講を奨めます。

参考資料

課題

以下の分散システムを作成します(必須)

  • リングアルゴリズムを用いた選出アルゴリズム (ノード参加,シグナルハンドリングによるノード脱退, コーディネータ脱退時の再選出など含む)
  • 簡単な分散ファイルシステム
  • 以下の分散システムを調査して作成します(選択)
  • Chord P2Pネットワーク
  • Amazon Dynamo Key-Valueストア
  • Raftコンセンサスアルゴリズム
  • その他