並行システム
|
担当教員 |
新城靖、追川修一
|
電子メール |
新城靖: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上で配布)。 |
参考書 |
- 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 |
|