並行システム
|
担当教員 |
新城靖
|
電子メール |
新城靖:yas (AT) cs.tsukuba.ac.jp |
URL |
http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2018/ |
オフィスアワー |
新城: 3E302 木曜日6限 |
科目番号 |
01CH303 |
分野 |
ソフトウェアシステム |
基礎/専門の別 |
|
授業形態 |
講義(演習を含む) |
開講学期 |
春C |
時限 |
火1,2・金1,2 |
教室 |
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、条件変数、
バリア同期、タスクバッグ、スレッド固有データ, 読み書きロック, デッドロック
- 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上で配布)。 |
参考書 |
- Andrew S. Tanenbaum, Maarten Van Steen: "Distributed Systems:
Principles And Paradigms", Prentice Hall (2006). ISBN-13:
978-0132392273
- Doug Lea: "Concurrent Programming in Java: Design Principles And
Patterns", Addison-Wesley, (2009). ISBN-13: 978-0321256171
- Marko Boger: "Java in Distributed Systems: Concurrency,
Distribution and Persistence", John Wiley & Sons Inc Print
(2001). ISBN-13: 978-0471498384
- R.E. フィルマン, D.P. フリードマン: "協調型計 算システム-- 分散型
ソフトウェアの技法と道具立て", マグロウヒルブック (1986). ISBN-13:
978-4895010306
|
成績評価 |
クイズ(小テスト)、または、レポートの結果を合算して行う。 |
TF・TA |
|
その他の情報 |
|