筑波大学システム情報工学研究科コンピュータサイエンス専攻科目一覧

並行分散ソフトウェア

担当教員

電子メール
オフィスアワー
新城 靖(しんじょう やすし)
追川 修一(おいかわ しゅういち)
yas @ cs.tsukuba.ac.jp, shui @ cs.tsukuba.ac.jp
新城: 木曜日4,5 (3E302, 3E303, 3F829)

科目番号
分野
授業形態
02CC020
ソフトウェアシステム
講義(演習を含む)

学期
時限
教室
3学期
金曜日 3,4時限

授業概要 並行アプリケーションおよび分散システムを構築するためのプログラミングのスタイルとソフトウェア技術について論じる。 スレッド、XML Web サービス、および、分散共有空間等を使ったプログラミングを課す。

予備知識  特に仮定しない。

授業内容
1.並行分散プログラミング・スタイル
結果並列法、専門家並列法、手順並列法、メッセージ・パッシング、ライブ・データ構造体、分散データ構造体、Linda
2.通信プリミティブ
通信プリミティブの分類、マーシャリング、データグラム、ストリーム、クライアント・サーバ型の通信、RPC、グループ通信
3.分散システムにおける同期と状態
論理クロック、物理クロック、分散相互排除、選出アルゴリズム、アトミック・トランザクション、デッドロック
4.マルチスレッド・プログラミング
Pthread、Java、fork-joinモデル、mutex、条件変数、マスタ・スレーブ、バリア同期、タスクバッグ、スレッド固有データ
5.XML Webサービス
WSDL、Java RMI
6.分散空間
JavaSpaces、Jini、名前サービス、分散型プログラミング言語、peer-to-peer、分散ハッシュ表

教科書 教科書は使用しない。

参考書
  1. アンドリュー・S. タネンバウム, マールテン・ファン スティーン (著), 水野 忠則, 鈴木 健二, 佐藤 文明, 宮西 洋太郎, 西山 智, 東野 輝夫 (翻訳): "分散システム ― 原理とパラダイム", ピアソンエデュケーション (2003/10). ISBN: 4894715562.
  2. Marko Boger: "Java in Distributed Systems: Concurrency, Distribution and Persistence", John Wiley & Sons Inc (2001). ISBN: 0471498386.

成績評価 クイズ,レポート,演習などを総合して評価する。

ページ先頭へ