リサーチグループ

並行コンピューティング

並行プログラミングは、過去数10年において人気を集めてきました。 それぞれの言語とプラットフォームが対応するプリミティブを提供しているため、複数のNMAノードを備えるだけでなく、メモリモデルの緩和などによりシステムの複雑さが増すにつれ、効果的に使用することが困難となりました。 実際、このことから、 有効な並行アルゴリズムを構築するにはどうすればよいのか、 進捗の保証、効率性、公平性の最適なトレードオフはどれであるのか、 すべてのアルゴリズムの正確性をどのように確認すればよいのか、 といった様々な重要な問題が生じています。 こういった問題の一部は、学問的に部分的な回答を得ることができますが、実用的な問題の多くは未解決です。 私たちは、実用的に妥当性を備え、理論的に価値のあるソリューションを提供するだけでなく、並列の分野で活動するほかの研究者や開発者の手立てとなる品質の高いツールを提供することで、こういった問題に答えることを主な目的としています。

次のようなテーマに注目しています。

  • 並行アルゴリズムとデータ構造
  • 不揮発性メモリ(NVM)
  • テストと検証
  • パフォーマンス分析、デバッグ、最適化
  • 並列プログラミング言語およびモデル
  • メモリの再利用

発行文献の全リストは、こちらをご覧ください。

メインプロジェクト:

従来の並行プログラミングには、共有ミュータブルステートの操作が必要です。 このプログラミングに代わるものがCommunicating Sequential Processes(CSP)モデルで、データは明示的な通信を介して共有されます。 Kotlinコルーチンは、このモデルをKotlin言語に取り入れたライブラリで、プロセスがコルーチン(軽量のスレッド)を通じて表現されます。

グループメンバー

Nikita Koval
Nikita Koval
リサーチラボ/グループ長
Alexander Fedorov
Alexander Fedorov
研究員
Dmitry Khalanskiy
Dmitry Khalanskiy
研究員
Maria Sokolova
Maria Sokolova
研究員
Maksim Zuev
Maksim Zuev
学生