トップページへ

2024年度 学院等開講科目 情報理工学院 数理・計算科学系 数理・計算科学コース

分散システム

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

シラバス

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

本年度は英語での開講です。
本講義では分散システムの基礎となるアーキテクチャ、通信、プロセス、名前付け、一貫性、セキュリティ、フォールトトレランスについて紹介し、マイクロサービスを例題に分散システムの構築・運用について実践的に学ぶ。マイクロサービスを効率的に運用するためのオーケストレーションツールやサービスメッシュについて学び、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 : オペレーティングシステム

履修の条件・注意事項

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