内容:並列コンピューティングと分散データ処理およびストレージシステムに精通していること、および適切なテクノロジーを実際に使用するためのスキルを開発していること。 このコースは、同時実行、並列コンピューティング、大規模データ配列の並列処理、分散コンピューティングの4つの主要ブロックで構成されています。
講義は、ISA RASのグリッドテクノロジーおよび分散コンピューティングセンターの上級研究員であるOleg Viktorovich Sukhoroslovによって行われます。 FIVT MIPTの分散コンピューティング部門の准教授。 技術科学の候補。
並行性(同時性)。
スコープと問題。 同時システム、プロセス、スレッド、ソフトウェアツールを実装する方法。 C ++およびJavaの例を使用したマルチスレッドプログラミングの基本。 典型的なマルチスレッドプログラミングエラー。 相互排除と条件付き同期。 メモリモデルと低レベルの同期プリミティブ。 同時プログラムの実装に対する代替アプローチ。
並列コンピューティング。
スコープと問題。 最新の並列計算システム。 並列コンピューティングの理論的基礎。 並列アルゴリズムの品質指標。 並列アルゴリズムの開発原理と典型的な構造。 PCAM方法論。 並列プログラミングシステム。 典型的なプログラミングモデルとパターン。 例としてOpenMPテクノロジーを使用した共有メモリシステムでの並列プログラミングの基礎。 例としてMPIテクノロジを使用した分散メモリシステムでの並列プログラミングの基本。
大量のデータの並列処理。
ビッグデータの現象。 MapReduceプログラミングモデル。 コンピューティングの並列実装の原則。 タスクの範囲と例。 クラスターシステムでのMapReduceの分散実装の原則。 Apache Hadoopプラットフォーム Hadoop用のアプリケーションプログラミングインターフェイスとプログラムの実装。 クラスタ上のローカルデバッグおよび実行プログラム。 MapReduceプログラムの手法と実装戦略。 Hadoopを操作するための高水準言語とツール。 MapReduceの使用例。 MapReduceモデルの制限、拡張、および代替アプローチ。
分散システムとコンピューティング。
スコープ、特徴的な機能、および分散システムの種類。 分散システム構築の問題。 分散コンピューティングの理論的基礎、分散アルゴリズムの例。 分散プロセス、ネットワークプロトコルの相互作用の方法。 分散プログラミング技術。 Erlang言語に精通している。 分散ストレージシステム、データ複製、NoSQLシステム。 分散コンピューティング技術、グリッド、自発的コンピューティング。 クラウドコンピューティングシステム。
更新: 並列および分散コンピューティングコースのすべての講義は、Yandex.Diskで開かれたフォルダーの形式で行われます 。