Skip to main content
QUICK REVIEW

[論文レビュー] Collective Mind: cleaning up the research and experimentation mess in computer engineering using crowdsourcing, big data and machine learning

Grigori Fursin|arXiv (Cornell University)|Aug 11, 2013
Parallel Computing and Optimization Techniques参考文献 35被引用数 4
ひとこと要約

本論文では、コンピュータ工学分野における体系的で再現可能かつ共同作業可能な研究を実現する、クラウドソーシング型でプラグインベースのオープンソース基盤「Collective Mind」を提案する。本基盤は、ビッグデータ、機械学習、実世界の実験を活用して、実験的アーティファクトの共有、システム動作のモデリング、チューニングヒューリスティクスおよび予測モデルのコミュニティ主導の検証・改善を通じて、ソフトウェア・ハードウェア共同設計、最適化、チューニングの自動化と向上を図る。

ABSTRACT

Software and hardware co-design and optimization of HPC systems has become intolerably complex, ad-hoc, time consuming and error prone due to enormous number of available design and optimization choices, complex interactions between all software and hardware components, and multiple strict requirements placed on performance, power consumption, size, reliability and cost. We present our novel long-term holistic and practical solution to this problem based on customizable, plugin-based, schema-free, heterogeneous, open-source Collective Mind repository and infrastructure with unified web interfaces and on-line advise system. This collaborative framework distributes analysis and multi-objective off-line and on-line auto-tuning of computer systems among many participants while utilizing any available smart phone, tablet, laptop, cluster or data center, and continuously observing, classifying and modeling their realistic behavior. Any unexpected behavior is analyzed using shared data mining and predictive modeling plugins or exposed to the community at cTuning.org for collaborative explanation, top-down complexity reduction, incremental problem decomposition and detection of correlating program, architecture or run-time properties (features). Gradually increasing optimization knowledge helps to continuously improve optimization heuristics of any compiler, predict optimizations for new programs or suggest efficient run-time (online) tuning and adaptation strategies depending on end-user requirements. We decided to share all our past research artifacts including hundreds of codelets, numerical applications, data sets, models, universal experimental analysis and auto-tuning pipelines, self-tuning machine learning based meta compiler, and unified statistical analysis and machine learning plugins in a public repository to initiate systematic, reproducible and collaborative research, development and experimentation with a new publication model where experiments and techniques are validated, ranked and improved by the community.

研究の動機と目的

  • 膨大な設計空間と相互に依存するコンponentを有するコンピュータシステム最適化分野における研究の複雑さ、非体系的・非構造的特性、再現不能性の増大に取り組む。
  • プログラムやアーキテクチャをまたいで知識再利用が困難で、探索時間が長くかかる従来の自動チューニング手法の限界を克服する。
  • 共有でオープンなインfrastrucureを通じて、実験的結果、モデル、最適化技術の体系的かつコミュニティ主導の検証と改善を可能にする。
  • 多様なデバイスやプラットフォームにわたる実験の分散化により、オンラインおよびオフラインでの自動チューニング、予測モデリング、動作解析を促進する。
  • 実験、アーティファクト、説明不能な動作を共有し、共同で検証する新しい出版モデルを促進し、コンピュータ工学研究における再現性と厳密性を高める。

提案手法

  • コードレット、ベンチマーク、データセット、モデル、実験パイプラインを格納・共有可能なスキーマフリーでプラグインベースのオープンソースの Collective Mind リポジトリ(c-mind.org/repo)を導入する。
  • 統一されたWebインタフェースとオンラインアドバイスシステムを統合し、異種デバイス(スマートフォン、ラップトップ、クラスタ、データセンター)間でリアルタイムかつ共同でシステム動作の分析とチューニングを可能にする。
  • データマイニングおよび機械学習プラグインを用いて、システム動作を分類・モデリング・予測し、プログラム、アーキテクチャ、ランタイム特徴の間の相関関係を特定し、コミュニティに異常をさらけ出す。
  • 予期しない動作を分析し、より小さい分析可能なコンポーネントに段階的に分解することで、トップダウン型の複雑性低減と段階的問題分解を実現する。
  • 次元削減と統計的分析を適用して大規模な実験データを圧縮・体系化し、モデルの効率性とスケーラビリティを向上させる。
  • 適応的探索(例:遺伝的アルゴリズム、勾配上昇法)を備えたユニバーサルなコンパイルおよび実行パイプラインを活用し、最適化パrameter across でチューニングを自動化する。

実験結果

リサーチクエスチョン

  • RQ1共同的・コミュニティ主導の実験は、コンピュータシステム研究における再現性と厳密性をどのように向上させるか?
  • RQ2共有型でプラグインベースのインfrastrucureは、ソフトウェア・ハードウェア共同設計における複雑な最適化空間の探索に要する時間と労力をどれほど削減できるか?
  • RQ3機械学習およびデータマイニングは、多様なプログラム、アーキテクチャ、ワークロードを対象としたシステム動作のモデリングと予測にどのように活用できるか?
  • RQ4すべての研究アーティファクト(失敗した結果や説明不能な挙動を含む)を共有することで、最適化技術の検証と改善にどのような影響を与えるか?
  • RQ5統一的かつ拡張可能なフレームワークは、エンドユーザー要件に基づいたスケーラブルでリアルタイムのオンラインチューニングと適応を可能にするか?

主な発見

  • Collective Mind フレームワークは、公開リポジトリに数百のコードレット、ベンチマーク、データセット、実験パイプラインを共有することで、体系的で再現可能かつ共同作業可能な研究を可能にした。
  • 説明不能または異常なシステム動作に対するコミュニティ主導の分析が、共有されたデータマイニングおよび予測モデリングを通じて、関連するプログラム、アーキテクチャ、ランタイム特徴の検出を向上させた。
  • 本フレームワークは、プログラム、データセット、ハードウェアプラットフォームをまたいで知識を再利用することで、コンパイラおよびメタコンパイラにおける最適化ヒューリスティクスの継続的改善を可能にした。
  • IBM、Intel、CEA、Synopsysなどでの学術的および産業的プロジェクトにおける実世界の検証により、本フレームワークがチューニングの複雑性を低減し、最適化を加速する有効性が確認された。
  • 統計的および機械学習プラグインを備えたユニバーサルで適応的なチューニングパイプラインの活用により、パフォーマンスチューニングにおける手動的・非体系的実験の必要性が顕著に減少した。
  • 本インfrastrucureは、古典的手法(例:rooflineモデル、容量モデル)とデータ駆動型手法を組み合わせたハイブリッド予測モデルの開発を可能にし、正確性とスケーラビリティの両方を向上させた。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。