|
並行システム
|
| 担当教員 |
新城靖、追川修一
|
| 電子メール |
新城靖:yas (AT) cs.tsukuba.ac.jp,追川修一:shui (AT) cs.tsukuba.ac.jp |
| URL |
http://www.cs.tsukuba.ac.jp/~yas/sie/csys-2009/ |
| オフィスアワー |
新城: 3E302 木曜日6限 |
| 科目番号 |
01CH303 |
| 分野 |
ソフトウェアシステム |
| 授業形態 |
講義(演習を含む) |
| 学期 |
第3学期 |
| 時限 |
金3,4 |
| 教室 |
3A410 |
| 授業概要 |
並行システム、並列システム、分散システムを構築す
るためのプログラミングのスタイルとソフトウェア技術
について論じる。スレッド、XML Web サービス、およ
び、分散共有空間等を使ったプログラミングを課す。 |
| キーワード |
並行・並列・分散システム、マルチスレッド・同期・通
信パタン、遠隔手続き呼び出し、分散共有空間。 |
| Keyword |
Concurrent, Parallel, and Distributed Systems,
Multithreading, Synchronization, and
Communication Patterns, Remote Procedure Calls,
and Distributed Shared Spaces. |
| 予備知識 |
オペレーティング・システム、ネットワーク通信、並
列アーキテクチャに関する基本的な知識を有することが
望ましい。 |
| 授業内容 |
- 1.並行・並列・分散プログラミングとは
- 概要、逐次プログラム、並行プログラム、並列プ
ログラム、分散プログラム、並行プログラミング言語、
同期、通信、ハードウェア、ポーリング、割込み
- 2.マルチスレッド・プログラミング
- Pthread、Java、Ada、Concurrent Pascal、fork-
joinモデル、モニタ、mutex、条件変数、マスタ・ス
レーブ、バリア同期、タスクバッグ、スレッド固有データ
- 3.通信プリミティブ
- 通信プリミティブの分類、マーシャリング、デー
タグラム、ストリーム、クライアント・サーバ・モデ
ル、グループ通信
- 4.遠隔手続き呼出し
- SunRPC、無状態、冪等性、分散オブジェクト、
CORBA、XML Web サービス、Java RMI、dRuby
- 5.分散空間
- Linda、JavaSpaces、Jini、名前サービス、分散
ハッシュ表
- 6.分散プログラミング言語と永続プログラミ
ング言語
- Emerald, Argus, Voyager, Dejay
- 7.分散システムにおける同期と状態
- 論理クロック、物理クロック、分散相互排除、選
出アルゴリズム、アトミック・トランザクション、デッ
ドロック
|
| 教科書 |
教科書は使用しない。 |
| 参考書 |
- 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).
|
| 成績評価 |
各回のクイズ(小テスト)、または、レポートの結果を
合算して行う。 |
| TF・TA |
水島宏太 |