並行システム
|
担当教員 |
新城靖
|
電子メール |
新城靖:yas (AT) cs.tsukuba.ac.jp |
URL |
http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2020/ |
オフィスアワー |
新城: 3E302 木曜日6限 |
科目番号 |
01CH303 |
分野 |
ソフトウェアシステム |
基礎/専門の別 |
|
授業形態 |
講義(演習を含む) |
開講学期 |
春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.マルチスレッド・プログラミング(1)
- Concurrent Pascal、fork-joinモデル、モニタ、mutex、条件変数
- 3.マルチスレッド・プログラミング(2)
- 一貫性モデル、アドホック同期、スレッド固有データ、コルーチン、デッドロック
- 4.プロセス間通信
- 通信プリミティブ、マーシャリング、Socket API、クライアントサーバモデル
- 5.遠隔手続き呼び出し
- スタブ、SunRPC、障害対策、NFS、XML Web サービス、Java RMI、dRuby、MessagePack-RPC
- 6.マルチキャスト
- 分散アルゴリズム、マルチキャスト、ISIS、IPマルチキャスト、ニュース・システム
- 7.タプル空間
- 並行プログラミングのパラダイム、Linda、タプル空間、JavaSpaces、Ruby Linda(Rinda)
- 8.並行プログラミング言語(1)
- Concurrent Pascal、Communicating Sequential Processes、Ada、分散型プログラミング言語、Emerald、Voyager、Dejay
- 9.並行プログラミング言語(2)
- 並行オブジェクト指向モデル、Actors、並行論理プログラミング、Guarded Horn Clauses、Jini
- 10.トランザクション
- 直列化可能、楽観的並行性制御、2相ロック、2相コミット、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
|
成績評価 |
毎回のクイズ(小テスト)、または、レポートを10点満点で採点する。10回の合計が、90点以上A+、80点以上90点未満A、70点以上80点未満B、60点以上70点未満C、60点未満D。 |
TF・TA |
|
その他の情報 |
2020年度開講。2021年度より奇数年度開講。
|