筑波大学システム情報工学研究科コンピュータサイエンス専攻科目一覧
並行システム
担当教員
新城靖、追川修一
電子メール 新城靖:yas (AT) cs.tsukuba.ac.jp,追川修一:shui (AT) cs.tsukuba.ac.jp
URL http://www.cs.tsukuba.ac.jp/~yas/sie/csys-2009/
オフィスアワー 新城: 3E302 木曜日6限
科目番号 01CH303
分野 ソフトウェアシステム
授業形態 講義(演習を含む)
学期 第3学期
時限 金3,4
教室 3A410
授業概要  並行システム、並列システム、分散システムを構築す るためのプログラミングのスタイルとソフトウェア技術 について論じる。スレッド、XML Web サービス、およ び、分散共有空間等を使ったプログラミングを課す。
キーワード 並行・並列・分散システム、マルチスレッド・同期・通 信パタン、遠隔手続き呼び出し、分散共有空間。
Keyword Concurrent, Parallel, and Distributed Systems, Multithreading, Synchronization, and Communication Patterns, Remote Procedure Calls, and Distributed Shared Spaces.
予備知識  オペレーティング・システム、ネットワーク通信、並 列アーキテクチャに関する基本的な知識を有することが 望ましい。
授業内容
1.並行・並列・分散プログラミングとは
概要、逐次プログラム、並行プログラム、並列プ ログラム、分散プログラム、並行プログラミング言語、 同期、通信、ハードウェア、ポーリング、割込み
2.マルチスレッド・プログラミング
Pthread、Java、Ada、Concurrent Pascal、fork- joinモデル、モニタ、mutex、条件変数、マスタ・ス レーブ、バリア同期、タスクバッグ、スレッド固有データ
3.通信プリミティブ
通信プリミティブの分類、マーシャリング、デー タグラム、ストリーム、クライアント・サーバ・モデ ル、グループ通信
4.遠隔手続き呼出し
SunRPC、無状態、冪等性、分散オブジェクト、 CORBA、XML Web サービス、Java RMI、dRuby
5.分散空間
Linda、JavaSpaces、Jini、名前サービス、分散 ハッシュ表
6.分散プログラミング言語と永続プログラミ ング言語
Emerald, Argus, Voyager, Dejay
7.分散システムにおける同期と状態
論理クロック、物理クロック、分散相互排除、選 出アルゴリズム、アトミック・トランザクション、デッ ドロック
教科書 教科書は使用しない。
参考書
  1. Andrew S. Tanenbaum, Maarten Van Steen: "Distributed Systems: Principles And Paradigms", Prentice Hall (2006). ISBN-13: 978-0132392273
  2. Doug Lea: "Concurrent Programming in Java: Design Principles And Patterns", Addison-Wesley, (2009). ISBN-13: 978-0321256171
  3. Marko Boger: "Java in Distributed Systems: Concurrency, Distribution and Persistence", John Wiley & Sons Inc Print (2001).
成績評価 各回のクイズ(小テスト)、または、レポートの結果を 合算して行う。
TF・TA 水島宏太
ページ先頭へ