[論文レビュー] Techniques for Shared Resource Management in Systems with Throughput Processors
本学位論文は、スループットプロセッサシステムにおけるアプリケーション間・アプリケーション内干渉を軽減するためのGPU対応メモリ管理技術を提案する。Warpに特化したキャッシュ管理のMeDiC、CPU-GPUメモリスケジューリングのSMS、TLBに特化したメモリ管理のMASK、および大ページ割り当てのソフトウェア・ハードウェア共同設計のMosaicを導入し、複数アプリケーションのGPUワークロードにおける性能、公平性、効率性を総合的に向上させる。
The continued growth of the computational capability of throughput processors has made throughput processors the platform of choice for a wide variety of high performance computing applications. Graphics Processing Units (GPUs) are a prime example of throughput processors that can deliver high performance for applications ranging from typical graphics applications to general-purpose data parallel (GPGPU) applications. However, this success has been accompa- nied by new performance bottlenecks throughout the memory hierarchy of GPU-based systems. This dissertation identifies and eliminates performance bottlenecks caused by major sources of interference throughout the memory hierarchy. Specifically, we provide an in-depth analysis of inter- and intra-application as well as inter- address-space interference that significantly degrade the performance and efficiency of GPU-based systems. To minimize such interference, we introduce changes to the memory hierarchy for systems with GPUs that allow the memory hierarchy to be aware of both CPU and GPU applications’ charac- teristics. We introduce mechanisms to dynamically analyze different applications’ characteristics and propose four major changes throughout the memory hierarchy. First, we introduce Memory Divergence Correction (MeDiC), a cache management mecha- nism that mitigates intra-application interference in GPGPU applications by allowing the shared L2 cache and the memory controller to be aware of the GPU’s warp-level memory divergence characteristics. MeDiC uses this warp-level memory divergence information to give more cache space and more memory bandwidth to warps that benefit most from utilizing such resources. Our evaluations show that MeDiC significantly outperforms multiple state-of-the-art caching policies proposed for GPUs. Second, we introduce the Staged Memory Scheduler (SMS), an application-aware CPU-GPU memory request scheduler that mitigates inter-application interference in heterogeneous CPU-GPU systems. SMS creates a fundamentally new approach to memory controller design that decouples the memory controller into three significantly simpler structures, each of which has a separate task, These structures operate together to greatly improve both system performance and fairness. Our three-stage memory controller first groups requests based on row-buffer locality. This grouping allows the second stage to focus on inter-application scheduling decisions. These two stages en- force high-level policies regarding performance and fairness. As a result, the last stage is simple logic that deals only with the low-level DRAM commands and timing. SMS is also configurable: it allows the system software to trade off between the quality of service provided to the CPU versus GPU applications. Our evaluations show that SMS not only reduces inter-application interference caused by the GPU, thereby improving heterogeneous system performance, but also provides better scalability and power efficiency compared to multiple state-of-the-art memory schedulers. Third, we redesign the GPU memory management unit to efficiently handle new problems caused by the massive address translation parallelism present in GPU computation units in multi- GPU-application environments. Running multiple GPGPU applications concurrently induces significant inter-core thrashing on the shared address translation/protection units; e.g., the shared Translation Lookaside Buffer (TLB), a new phenomenon that we call inter-address-space interference. To reduce this interference, we introduce Multi Address Space Concurrent Kernels (MASK). MASK introduces TLB-awareness throughout the GPU memory hierarchy and introduces TLBand cache-bypassing techniques to increase the effectiveness of a shared TLB. Finally, we introduce Mosaic, a hardware-software cooperative technique that further increases the effectiveness of TLB by modifying the memory allocation policy in the system software. Mosaic introduces a high-throughput method to support large pages in multi-GPU-application environments. The key idea is to ensure memory allocation preserve address space contiguity to allow pages to be coalesced without any data movements. Our evaluations show that the MASK-Mosaic combination provides a simple mechanism that eliminates the performance overhead of address translation in GPUs without significant changes to GPU hardware, thereby greatly improving GPU system performance. The key conclusion of this dissertation is that a combination of GPU-aware cache and memory management techniques can effectively mitigate the memory interference on current and future GPU-based systems as well as other types of throughput processors.
研究の動機と目的
- GPUメモリ階層におけるアプリケーション間・アプリケーション内干渉によって引き起こされる性能ボトルネックを同定し、排除すること。
- CPUおよびGPUアプリケーションの特性に配慮したメモリ管理メカニズムを設計すること。
- 共有メモリリソースを有する異種CPU-GPUシステムにおいて、システム全体の性能、公平性、電力効率を向上させること。
- 同時に実行されるGPGPUアプリケーションによるアドレス空間間干渉といった新しい干渉現象に対処すること。
- 顕著なハードウェア変更を伴わずに、マルチGPU環境における効率的で高スループットのメモリ割り当てを可能にすること。
提案手法
- ワープレベルのメモリ分散情報を利用し、最も利益を得るワープにキャッシュおよびメモリ帯域幅を動的に割り当てるキャッシュ管理機構MeDiCを導入する。
- メモリリクエストのグループ化、アプリケーション間スケジューリング、低レベルのDRAMコマンド生成を分離する3段階のメモリコントローラーであるStaged Memory Scheduler (SMS)を提案する。
- TLBおよびキャッシュバイパス技術を用いて、マルチアプリケーション環境における共有TLBおよびキャッシュユニットでのコア間スワッピングを低減するTLBに特化したGPUメモリ管理ユニットMASKを設計する。
- 仮想アドレス空間の連続性を保持することで、データ移動を伴わずに効率的な大ページのコalescingを可能にする、ソフトウェア・ハードウェア共同設計手法Mosaicを開発する。
- MASKとMosaicを組み合わせることで、顕著なハードウェア変更を伴わず、マルチGPUワークロードにおけるアドレス翻訳オーバーヘッドを排除する。
- アプリケーション特性の動的解析を活用し、メモリ階層全体におけるランタイムリソース割り当て意思決定を支援する。
実験結果
リサーチクエスチョン
- RQ1GPUキャッシュにおけるワープレベルのメモリ分散に起因するアプリケーション内干渉をどのように最小化できるか?
- RQ2CPUおよびGPUワークロード間のアプリケーション間干渉を低減するスケーラブルで公平なメモリスケジューリング手法は何か?
- RQ3共有TLBおよびキャッシュ構造において、同時に実行されるGPGPUアプリケーションによるアドレス空間間干渉をどのように軽減できるか?
- RQ4マルチGPUシステムにおける効率的な大ページ管理を可能にする仮想メモリの連続性の役割は何か?
- RQ5ソフトウェアとハードウェアがどのように協働することで、GPUメモリ階層におけるアドレス翻訳オーバーヘッドを排除できるか?
主な発見
- MeDiCは、ワープレベルのメモリ分散特性に基づいてキャッシュおよびメモリ帯域幅を動的に割り当てるため、複数の最先端GPUキャッシュポリシーを上回る性能を発揮する。
- SMSはアプリケーション間干渉を低減し、システム性能と公平性を向上させ、既存のメモリスケジューラーよりも優れたスケーラビリティおよび電力効率を達成する。
- MASKはTLBに特化した意識とバイパス機構を用いることで、マルチアプリケーションGPU環境における共有TLBおよびキャッシュユニットでのコア間スワッピングを顕著に低減する。
- MASK-Mosaicの組み合わせにより、データ移動を伴わずマルチGPUワークロードにおける大ページサポートを効率的に行い、最小限のハードウェア変更で大部分のアドレス翻訳オーバーヘッドを排除できる。
- これらの統合手法により、メモリ階層全体にわたる干渉を軽減することで、GPUシステム全体の性能と効率性が向上する。
- 評価結果から、提案手法が現代のGPUベースシステムにおける新たなボトルネックを効果的に解消できること、特に同時に実行されるGPGPUワークロード下で顕著であることが示された。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。