Skip to main content
QUICK REVIEW

[論文レビュー] Sentinel: Runtime Data Management on Heterogeneous Main MemorySystems for Deep Learning

Jie Ren, Jiaolin Luo|arXiv (Cornell University)|Sep 11, 2019
Parallel Computing and Optimization Techniques参考文献 58被引用数 5
ひとこと要約

Sentinel は、深層学習ワークロードにおける異種メインメモリ(HM)のデータ管理を最適化するランタイムシステムであり、DNN の分野特化知識を活用している。データオブジェクト単位での正確で低オーバーヘッドのプロファイリングを可能にし、ホットデータを迅速なメモリに事前に移行することで、純粋な高速メモリシステムが要する高速メモリ容量のたった 20% でピーク性能に近い性能を達成し、最先端のソリューションを 18% 以上上回る性能を発揮する。

ABSTRACT

Software-managed heterogeneous memory (HM) provides a promising solution to increase memory capacity and cost efficiency. However, to release the performance potential of HM, we face a problem of data management. Given an application with various execution phases and each with possibly distinct working sets, we must move data between memory components of HM to optimize performance. The deep neural network (DNN), as a common workload on data centers, imposes great challenges on data management on HM. This workload often employs a task dataflow execution model, and is featured with a large amount of small data objects and fine-grained operations (tasks). This execution model imposes challenges on memory profiling and efficient data migration. We present Sentinel, a runtime system that automatically optimizes data migration (i.e., data management) on HM to achieve performance similar to that on the fast memory-only system with a much smaller capacity of fast memory. To achieve this,Sentinel exploits domain knowledge about deep learning to adopt a custom approach for data management. Sentinel leverages workload repeatability to break the dilemma between profiling accuracy and overhead; It enables profiling and data migration at the granularity of data objects (not pages), by controlling memory allocation. This method bridges the semantic gap between operating system and applications. By associating data objects with the DNN topology, Sentinel avoids unnecessary data movement and proactively triggers data movement. Using only 20% of peak memory consumption of DNN models as fast memory size, Sentinel achieves the same or comparable performance (at most 8% performance difference) to that of the fast memory-only system on common DNN models; Sentinel also consistently outperforms a state-of-the-art solution by 18%.

研究の動機と目的

  • 制限された高速メモリ容量を有する異種メインメモリ(HM)システムにおける DNN トレーニングの性能ボトルネックを解消すること。
  • HM 上でのランタイムデータ管理において、プロファイリングのオーバーヘッドと精度のトレードオフを克服すること。
  • DNN のトポロジーと実行セマンティクスに合わせてメモリ管理を調整することで、不要なデータ移動を削減すること。
  • 最小限のランタイム影響で高い性能を維持しながら、効率的なデータ移行を可能にすること。
  • DNN トレーニングが、純粋な高速メモリシステムが要する高速メモリ容量のたった 20% で、ピーク性能に近い性能を達成できることを示すこと。

提案手法

  • Sentinel は DNN トレーニングにおけるワークロードの再現性を活用し、1 回のトレーニングステップのプロファイリングのみで済ませることで、ランタイムのオーバーヘッドを最小限に抑えつつ、高いプロファイリング精度を維持する。
  • メモリページではなく個々のデータオブジェクトの粒度でプロファイリングとデータ移行を実行することで、OS とアプリケーションの間の意味的ギャップを埋める。
  • データオブジェクトを DNN の計算グラフに関連付けることで、事前にホットデータを特定し、能動的なデータ移行を開始する。
  • オブジェクトレベルでのデータ配置制御とアクセスパターンの追跡を可能にする、カスタムメモリ割り当て戦略を採用する。
  • DNN のトポロジーと実行フローを理解することで、不要なデータ移動を回避し、移行のオーバーヘッドを低減する。
  • アプリケーションランタイムと統合し、計算フェーズと同期させてデータ移行を調整することで、パフォーマンスの停止を最小限に抑える。

実験結果

リサーチクエスチョン

  • RQ1DNN に関する分野特化知識を活用することで、異種メモリ上のデータ管理において、プロファイリングのオーバーヘッドを低減しつつ高い精度を維持できるか?
  • RQ2ページレベルではなくデータオブジェクトレベルでのデータ移行を最適化することで、不要な移動を削減できるか?
  • RQ3DNN トポロジーに基づく能動的データ移行によって、高速メモリ容量を最小限に抑えてもパフォーマンスを向上させられるか?
  • RQ4完全な高速メモリシステムと比較して、高速メモリ容量の 20% のみを用いた場合のパフォーマンスへの影響は何か?
  • RQ5最先端の HM データ管理ソリューションと比較して、Sentinel のパフォーマンスとオーバーヘッドの面での差異は何か?

主な発見

  • Sentinel は、純粋な高速メモリシステムが要する高速メモリ容量のたった 20% を使用して、そのシステムの性能の 8% 内でパフォーマンスを達成する。
  • 最小限のランタイムオーバーヘッドで、データオブジェクトレベルでの正確なプロファイリングを実現し、ページレベルのプロファイリングの高コストを回避する。
  • Sentinel は、一般的な DNN モデルのあらゆる分野で、最先端の HM データ管理ソリューションを 18% 以上上回る性能を発揮する。
  • DNN 特化のセマンティクスを活用することで、不要なデータ移動を削減し、移行の効率性を向上させる。
  • システムは、DNN ワークロードにおける OS レベルのページ管理とアプリケーションレベルのデータアクセスパターンの間の矛盾を効果的に解消する。
  • ドメインに特化したデータ管理が、HM システムにおけるプロファイリングのオーバーヘッドと精度の伝統的なトレードオフを打ち破れることを示している。

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

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

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

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