トップページへ

2025年度 (最新) 学院等開講科目 情報理工学院 数理・計算科学系 数理・計算科学コース

分散システム

開講元
数理・計算科学コース
担当教員
坂本 龍一
授業形態
講義 (対面型)
メディア利用科目
-
曜日・時限
(講義室)
火7-8 (M-B43(H106)) / 金7-8 (M-B43(H106))
クラス
-
科目コード
MCS.M429
単位数
200
開講時期
2025年度
開講クォーター
3Q
シラバス更新日
2025年9月29日
使用言語
日本語

シラバス

授業の目的(ねらい)、概要

本年度は日本語での開講です。
本講義では分散システムの基礎となるアーキテクチャ、通信、プロセス、名前付け、一貫性、セキュリティ、フォールトトレランスについて紹介し、マイクロサービスを例題に分散システムの構築・運用について実践的に学ぶ。マイクロサービスを効率的に運用するためのオーケストレーションツールやサービスメッシュについて学び、KubernetesやIstioを導入しマイクロサービスを体験する。さらに、コンテナやネットワーク構成の詳細について紹介する。

到達目標

本講義を受講することで以下の能力を習得することができる
1.分散システムを支えるアーキテクチャ、プロセス、通信、セキュリティ等を学ぶことができる
2. マイクロサービスの運用ができるようになる
3. 分散システムの性能評価、性能改善ができるようになる
4. サービスメッシュを用いた分散システムのデバッグ、分析ができるようになる
5. マイクロサービスを支えるコンテナ仮想化、ネットワーク構成を理解し、正しく利用できるようになる

キーワード

分散システム、マイクロサービス、フォールトトレラント、オートスケール、分散トレーシング、Kubernetes

学生が身につける力

  • 専門力
  • 教養力
  • コミュニケーション力
  • 展開力 (探究力又は設定力)
  • 展開力 (実践力又は解決力)

授業の進め方

スライドをベースに講義を行う。VMを用いてネットワークプログラミング演習を行う

授業計画・課題

授業計画 課題
第1回

導入
分散システムの概要を学ぶ

特になし

第2回

分散アーキテクチャ
分散システムの基本的な内容について身に着ける

特になし

第3回

プロセス
 分散システムでは用途に応じて様々なプロセスの利用方法がある。通信を効率的に行うプロセスの詳細について学ぶ。

ネットワーク基礎に関する演習

第4回

通信
分散システムにおける通信について紹介し、分散した複数要素が協調して動作するための仕組みを学ぶ

特になし

第5回

ネットワークプログラミング入門
ネットワークプログラミングについて学ぶ。簡単なサーバー、クライアントを作成する。

特になし

第6回

名前解決
 分散したリソースを一意に認識するためには名前解決が必要であり、分散システムの名前付けについて学ぶ

名前解決に関する演習

第7回

一貫性とレプリカ
データをコピーし分散配置することで信頼性と性能を向上させることができるが、一貫性を担保することが重要となる。分散システムにおいてデータのコピーであるレプリカの配置と一貫性の担保について学ぶ

特になし

第8回

ネットワークプログラミング 中編
WebサーバーとL4 LBについて学ぶ

ネットワークプログラムに関するレポート課題

第9回

フォールトトレランス
分散システムにて発生しうる障害について紹介し、対策を学ぶ。

特になし

第10回

セキュリティ
分散システムのセキュリティについて学ぶ

特になし

第11回

マイクロサービス
 コンテナやマイクロサービスについて学ぶ

特になし

第12回

分散システムの監視、管理、制御
分散システムの監視、管理について学ぶ

分散システムに関する演習

第13回

ネットワークプログラミング 応用1/2
トレーシングについて学ぶ

マイクロサービスに関するレポート課題

第14回

ネットワークプログラミング 応用2/2
トレーシングについて学ぶ

特になし

準備学修(事前学修・復習)等についての指示

学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する 予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。

教科書

マーテン・バン・スティーン、アンドリュー・S・タネンバウムのDistiributed Systemsを参考に講義を行う。
https://www.distributed-systems.net/index.php/books/ds4/

参考書、講義資料等

特になし

成績評価の方法及び基準

小規模な演習
2回のレポート課題

関連する科目

  • MCS.T233 : 計算機システム
  • MCS.T314 : オペレーティングシステム

履修の条件・注意事項

ネットワークに関する基本的な知識を有していることが望ましい。