【サブタイトル】 |
並列・分散システムとKubernetesを用いたクラウド・オーケストレーションについて学ぶ |
【講義の目的・内容】 |
"近年、大規模言語モデル(LLM)の分散学習をはじめとする高性能コンピューティングの分野やクラウド上での高信頼なサービスの運用において、複数のコンピュータを組み合わせた並列・分散システムが広く用いられている。 本科目では、高性能コンピューティングのための技術であるOpenMPとMPIを学び、並列化による性能向上を実現するための方法を学ぶとともに、様々なクラウドサービスを高信頼に運用するためのコンテナオーケストレーション技術であるKubernetesを用いたクラウドの構成法についてハンズオンを通して学ぶ。" |
【学修到達目標】 |
"・OpenMPやMPIを用いた並列化による高性能コンピューティング技術について理解し、それに基づくシステム構成ができるようになること ・Kubernetesに基づくコンテナ・オーケストレーションの概念を理解し、それに基づくスケーラブルかつ高可用なクラウドシステムの構成ができるようになること ・マネージドサービスを用いた状態管理を理解し、それらを活用したクラウドシステムを構成できるようになること" |
【講義スケジュール】 |
"以下は予定であり、変更となる可能性がある。
第1回 並列・分散システムとHPC 第2回 OpenMPを用いた並列プログラミング 第3回 アクセラレータの利用 第4回 MPIによる分散コンピューティング 第5回 並列・分散コンピューティングのまとめ 第6回 ボトルネックの解析とN+1問題 第7回 Dockerによるコンテナ仮想化 第8回 Kubernetesに基づくコンテナオーケストレーション 第9回 Kubernetesにおける状態管理 第10回 GCE (IaaS) へのコンテナのデプロイ 第11回 GKEを用いたコンテナオーケストレーション 第12回 高可用性のための設定 第13回 サーバレス環境の利用 第14回 LaTeXで論文を書く 第15回 まとめ" |
【指導方法】 |
講義後、各回の演習課題に取り組んでいただきます。 |
【事前・事後学修】 |
与えられた予習課題を授業前に解いてくること、復習課題を次の授業前に解いてくることを前提とする。 |
【成績評価の方法・基準】 |
課題・小テスト等により総合的に評価する。 |
【受講要件】 |
"以下の内容に関する知識を前提として講義を進める。原則として、下記に示される科目をあらかじめ履修すること。
・Pythonプログラミング: 講義「コンピュータ・サイエンス概論 I」相当 ・C言語プログラミング: 講義「プログラミング言語 I」相当 ・OSの基礎概念とPOSIX API: 講義「オペレーティング・システム」相当" |
【テキスト】 |
各回の講義に対応したオンライン教材を事前に提供する。 |
【参考書】 |
|
【関連分野・関連科目】 |
|
【備考】 |
|
【添付ファイル1】 |
【添付ファイル2】 |
【添付ファイル3】 |
【リンク】 |
|