並行システム
|
担当教員 |
新城靖、追川修一
|
電子メール |
新城靖:yas (AT) cs.tsukuba.ac.jp,追川修一:shui (AT) cs.tsukuba.ac.jp |
URL |
http://www.cs.tsukuba.ac.jp/~yas/cs/csys-2015/ |
オフィスアワー |
新城: 3E302 木曜日6限,追川: 3F911 火4 |
科目番号 |
01CH303, 01CJ217 |
分野 |
ソフトウェアシステム |
基礎/専門の別 |
|
授業形態 |
講義(演習を含む) |
開講学期 |
秋AB |
時限 |
火5,6 |
教室 |
3B303 |
キーワード |
マルチスレッド、遠隔手続き呼び出し、分散共有空間、トランザクション、並行プログラミング言語。オペレーティングシステム(OS)カーネル・メカニズム、仮想マシンモニタ。 |
Keyword |
Multithreading, Remote Procedure Calls, Distributed Shared Spaces, Transactions, and Concurrent Programming Languages.
Operating System (OS) Kernel Mechanisms, Virtual Machine Monitors. |
前提条件 |
オペレーティング・システム、ネットワーク通信、並列アーキテクチャに関する基本的な知識を有することが 望ましい。 |
学習目標 |
|
概要 |
並行システム、並列システム、分散システムを構築するためのプログラミングのスタイルとソフトウェア技術について論じる。スレッド、プロセス間通信、および、分散共有空間等を使ったプログラミングを課す。
後半では、OSの歴史について概観し、マイクロカーネルやOSカーネルの個別技術、そして仮想マシンモニタについて解説する。 |
授業計画 |
- 1.マルチスレッド・プログラミング
- モニタ、mutex、条件変数、fork-joinモデル、Concurrent Pascal,
Communicating Sequential Processes, Ada,
Pthread, Java
- 2.遠隔手続き呼出し
- SunRPC、XML Web サービス、Java RMI、
dRuby、Voyager、XMLHttpRequest
- 3.グループ通信
- IPマルチキャスト、ニュース・システム、ISIS、Jini、mDNS
- 4.分散共有空間
- タプル空間、Linda、JavaSpaces、Ruby Linda(Rinda)、分散ハッシュ表
- 5.トランザクション、並行プログラミング言語
- 直列化可能、楽観的並行性制御、投機的実行、Argus, Emerald, Dejay,
並行オブジェクト指向モデル, Actors, Scala, 並行論理プログラミング,
Guarded Horn Clauses
- 6.OSの歴史(概観)
- マイクロカーネルから始まったOS進化の歴史
- 7.マイクロカーネル
- Mach, Exokernel; Extensible Kernel: SPIN, Choices, Flux OS Kit
- 8.カーネルの個別技術
- LRPC & URPC, scheduler activation, Synthesis Kernel, Lottery
Scheduling, Log-Structured FS
- 9.仮想マシンモニタ
- 内部構造の概要,Disco, VMware, Xen
- 10.その他のOS技術・機構
-
|
教科書 |
なし(講義資料を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 |
|
その他の情報 |
|