筑波大学システム情報工学研究科コンピュータサイエンス専攻科目一覧
並行システム
担当教員
新城靖、追川修一
電子メール 新城靖:yas (AT) cs.tsukuba.ac.jp,追川修一:shui (AT) cs.tsukuba.ac.jp
URL http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2013/
オフィスアワー 新城: 3E302 木曜日6限
科目番号 01CH303, 01CJ217
分野 ソフトウェアシステム
授業形態 講義(演習を含む)
学期 秋AB
時限 火3,4
教室 3B302
授業概要  並行システム、並列システム、分散システムを構築す るためのプログラミングのスタイルとソフトウェア技術 について論じる。スレッド、プロセス間通信、および、 分散共有空間等を使ったプログラミングを課す。
キーワード 並行・並列・分散システム、マルチスレッド、同期・通 信パタン、遠隔手続き呼び出し、分散共有空間、並行プ ログラミング言語、トランザクション。
Keyword Concurrent, Parallel, and Distributed Systems, Multithreading, Synchronization and Communication Patterns, Remote Procedure Calls, Distributed Shared Spaces, Concurrent Programming Languages, and Transactions.
予備知識  オペレーティング・システム、ネットワーク通信、並 列アーキテクチャに関する基本的な知識を有することが 望ましい。
授業内容
1.並行・並列・分散プログラミングとは
概要、逐次プログラム、並行プログラム、並列プ ログラム、分散プログラム、並行プログラミング言語、 同期、通信、ハードウェア、ポーリング、割込み
2.マルチスレッド・プログラミング
Concurrent Pascal、fork-joinモデル、モニタ、 mutex、条件変数、 Pthread、Java、マスタ・スレー ブ、バリア同期、タスクバッグ、スレッド固有データ, 読み書きロック, デッドロック
3.遠隔手続き呼出し
SunRPC、障害対策, NFS, 無状態、冪等性、XML Web サービス、Java RMI、dRuby
4.分散共有空間
タプル空間、Linda、JavaSpaces、Ruby Linda(Rinda) 、名前サービス、分散ハッシュ表
5.並行プログラミング言語
Communicating Sequential Processes, Ada, Emerald, Voyager, Dejay, 並行オブジェクト指向モデ ル, Actors, Scala, 並行論理プログラミング, Guarded Horn Clauses, Jini
6.トランザクション
直列化可能, 楽観的並行性制御, Argus, 投機的実行
教科書 なし(講義資料をweb上で配布)。
参考書
  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). ISBN-13: 978-0471498384
  4. R.E. フィルマン, D.P. フリードマン: "協調型計 算システム -- 分散型ソフトウェアの技法と道具立て", マグロウヒルブック (1986). ISBN-13: 978-4895010306
成績評価 各回のクイズ(小テスト)、または、レポートの結果を 合算して行う。
TF・TA
ページ先頭へ