筑波大学システム情報工学研究科コンピュータサイエンス専攻科目一覧
並行システム
担当教員
新城靖
電子メール 新城靖:yas (AT) cs.tsukuba.ac.jp
URL http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2017/
オフィスアワー 新城: 3E302 木曜日6限
科目番号 01CH303, 01CJ217
分野 ソフトウェアシステム
基礎/専門の別 専門科目
授業形態 講義(演習を含む)
開講学期 秋AB
時限 金1,2
教室 3B303
キーワード 並行・並列・分散システム、マルチスレッド、同期・通信パタン、遠隔手続き呼び出し、分散共有空間、並行プログラミング言語、トランザクション。
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、条件変数、 バリア同期、タスクバッグ、スレッド固有データ, 読み書きロック, デッドロック
3.遠隔手続き呼出し
通信プリミティブ、マーシャリング、SunRPC、XML Web サービス、Java RMI、 dRuby、Voyager、XMLHttpRequest、REST
4.グループ通信
IPマルチキャスト、ニュース・システム、ISIS、Jini、mDNS
5.分散共有空間
タプル空間、Linda、JavaSpaces、Ruby Linda(Rinda)、分散ハッシュ表
6.並行プログラミング言語
Communicating Sequential Processes、Ada、 並行オブジェクト指向モデル、Actors、Emerald、Scala、 並行論理プログラミング, Guarded Horn Clauses
7.トランザクション
直列化可能、楽観的並行性制御、投機的実行、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
その他の情報
ページ先頭へ