並行システム
|
Instructor(s) |
新城靖、追川修一
|
E-Mail |
新城靖:yas (AT) cs.tsukuba.ac.jp,追川修一:shui (AT) cs.tsukuba.ac.jp |
URL |
http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2013/ |
Office hours |
新城: 3E302 木曜日6限 |
Cource# |
01CH303, 01CJ217 |
Area |
ソフトウェアシステム |
Course style |
講義(演習を含む) |
Term |
|
Period |
|
Room# |
|
Outline |
並行システム、並列システム、分散システムを構築す
るためのプログラミングのスタイルとソフトウェア技
術 について論じる。スレッド、プロセス間通信、およ
び、 分散共有空間等を使ったプログラミングを課す。 |
Keywords |
Concurrent, Parallel, and Distributed Systems,
Multithreading, Synchronization and Communication
Patterns, Remote Procedure Calls, Distributed
Shared Spaces, Concurrent Programming Languages,
and Transactions. |
Prerequisites |
オペレーティング・システム、ネットワーク通信、並
列アーキテクチャに関する基本的な知識を有すること
が 望ましい。 |
Course plan |
- 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,
投機的実行
|
Textbook |
なし(講義資料をweb上で配布)。 |
References |
- 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
|
Evaluation |
各回のクイズ(小テスト)、または、レポートの結果を
合算して行う。 |
TF / TA |
|