Skip to main content
QUICK REVIEW

[論文レビュー] Tearing Down the Memory Wall

Zaid Qureshi, Vikram Sharma Mailthody|arXiv (Cornell University)|Aug 24, 2020
Topic Modeling参考文献 26被引用数 6
ひとこと要約

この論文は、高密度フラッシュメモリとプログラマブルなニアデータアクセラレータを統合することで、メモリとコンピューティングの抽象化を再定義する新しいコンピュータアーキテクチャ「Erudite」を提案する。これにより、大規模な並列処理と細粒度なデータアクセスが可能となり、CPUからGPU風のアクセラレータへメモリリクエストをオフロードすることで、スケーラブルなメモリ帯域幅と容量を実現し、AI やデータ分析ワークロードに制限をかけるメモリウォールを打ち破る。

ABSTRACT

We present a vision for the Erudite architecture that redefines the compute and memory abstractions such that memory bandwidth and capacity become first-class citizens along with compute throughput. In this architecture, we envision coupling a high-density, massively parallel memory technology like Flash with programmable near-data accelerators, like the streaming multiprocessors in modern GPUs. Each accelerator has a local pool of storage-class memory that it can access at high throughput by initiating very large numbers of overlapping requests that help to tolerate long access latency. The accelerators can also communicate with each other and remote memory through a high-throughput low-latency interconnect. As a result, systems based on the Erudite architecture scale compute and memory bandwidth at the same rate, tearing down the notorious memory wall that has plagued computer architecture for generations. In this paper, we present the motivation, rationale, design, benefit, and research challenges for Erudite.

研究の動機と目的

  • AI やデータ分析ワークロードに特化した現代のシステムにおける、コンピューティングスループットとメモリ帯域幅の間の性能ギャップを解消すること。
  • ソフトウェアオーバーヘッドとリクエスト並列処理の限界により、細粒度なデータ転送がボトルネックとなるCPU中心のメモリアクセスの制限を克服すること。
  • CPUからプログラマブルなアクセラレータへデータリクエストの発行を移管することで、非揮発性メモリ(例:フラッシュ)に対する高スループット・低遅延アクセスを可能にすること。
  • フラッシュメモリとストリーミングマルチプロセッサ、高パフォーマンスインターコネクトを組み合わせることで、スケーラブルなメモリ容量と帯域幅を実現すること。
  • I/Oアンプリフィケーションを低減し、現代ワークロードに一般的なデータ依存的かつスパースなアクセスパターンをサポートする、フラットで効率的なメモリ抽象化を提供すること。

提案手法

  • 細粒度アクセスを可能にするバイトアドレス指定インタフェースを備えた高密度フラッシュメモリを主要メモリレイヤーとして統合する。
  • 多数の重複リクエストを処理できるローカルストレージプールを備えたプログラマブルなニアデータアクセラレータ(例:GPU風のストリーミングマルチプロセッサ)を導入する。
  • アクセラレータとリモートメモリ間の通信を可能にする、高スループットかつ低遅延のインターコネクト(例:NVLink、PCIe Gen5、CCIX、Gen-Z)を用いる。
  • CPUをメモリアクセス経路から分離し、アクセラレータが直接NVMe風のリクエストをフラッシュストレージに発行できるようにすることで、ソフトウェアオーバーヘッドを削減する。
  • アクセラレータとメモリ間のデータ配置とスケジューリングを最適化し、遅延を最小限に抑え、帯域幅の利用効率を最大化する。
  • 長時間のフラッシュアクセス遅延を耐えられるように、リクエストの重ね合わせを活用することで、高遅延ストレージであっても高い有効帯域幅を達成する。

実験結果

リサーチクエスチョン

  • RQ1AI やデータ分析ワークロードにおけるコンピューティングスループットの増加に対応するため、現代のシステムがスケーラブルなメモリ帯域幅と容量をどのように達成できるか?
  • RQ2アクセラレータによる細粒度かつ大量のデータアクセスにおいて、CPUをボトルネックとしないために必要なアーキテクチャ的変更は何か?
  • RQ3フラッシュメモリとプログラマブルなアクセラレータを用いたニアデータ処理により、スパースかつデータ依存的なアクセスパターンをサポートする実用的で高帯域幅のメモリシステムを実現できるか?
  • RQ4数百万もの同時メモリリクエストを低オーバーヘッドで処理するためには、どのインターコネクトとプロトコルの拡張が必要か?
  • RQ5コンピューティングスループットと同等の第一級リソースとして、メモリ帯域幅と容量を再設計するにはどうすればよいか?

主な発見

  • 最近4年間で、現代のGPUのコンピューティングスループットは30倍に増加したが、メモリ帯域幅と容量はそれぞれ2.1倍と2.5倍にしか向上せず、これによりメモリウォールの拡大が顕著になった。
  • 現在のシステムで用いられる粗粒度のデータ転送(例:4KB〜MB)は、スパースまたはデータ依存的なアクセスパターンの場合に顕著なI/Oアンプリフィケーションを引き起こし、帯域幅を無駄に浪費する。
  • 16GBpsの帯域幅を512バイト転送と64μsのSSD遅延で維持するには、2,000件の同時リクエストを維持する必要があるが、CPUベースのリクエスト生成では並列処理の限界によりこれが達成不可能である。
  • GPUスレッドが直接NVMeリクエストを発行できるようにすることで、コンピューティングの並列処理とメモリの並列処理を一致させ、CPUをボトルネックから排除できる。
  • 現在のSSDは16KBのアクセス粒度であるが、特にグラフやデータベースワークロードでは小さなデータチャンク(例:128〜512B)しか必要としない場合に帯域幅を無駄に浪費する。
  • 部分的フラッシュアクセス技術(例:8KB)ですら非効率である。帯域幅を最大化し、I/Oアンプリフィケーションを低減するには、128B粒度の真のランダムアクセスが必要である。

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

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

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

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