4. 新型高速不揮発メモリを活用した階層型主記憶を実現する省電力仮想記憶システム
4.4 フルシステムシミュレーションによる評価
4.4.3 ストレージクラスメモリのアクセスレイテンシが実行時間に及ぼす影響の評価
まず、各種ストレージクラスメモリのアクセスレイテンシが実行時間に及ぼす影響につ いて PARSEC ベンチマークを用いて評価した結果を図 4.3~図 4.5 に示す。スワップデバイ スのアクセスレイテンシが性能に与える影響のトレンドカーブを見極めるために、ここで は同アクセスレイテンシを幅広く変化させる。具体的には、それぞれの図の横軸に示すよ うに、レイテンシを、SRAM や DRAM 相当のレイテンシから始めて、ストレージクラスメモリ で想定されているレイテンシ、SSD や HDD 相当のレイテンシまで変化させている。図の縦軸 はベンチマークの実行サイクル数である。
図の一番左側の縦棒だけは特別扱いで、アクセスレイテンシが 0 というわけではなく、
十分なサイズの DRAM のみでベンチマークが実行された場合の実行サイクル数を示している。
つまり、スワップ処理が発生せず、スワップ処理によるオーバヘッドがないメモリサイズ で実行している。即ち、この縦棒と同じ高さで引かれている線より上は、データ転送オー
83
バヘッドなどのスワップ処理に掛かるオーバヘッドであると考えることができる。
図 4.3. アクセスレイテンシが実行時間に及ぼす影響 (facesim)
まず、PARSEC の中ではメモリアクセスが多く提案方式に不利な条件での評価が可能にな る facesim を用いて評価をおこなった。評価は、スワップ処理が発生しないために必要な DRAM サイズに対して、1/5 程度まで DRAM サイズを小さくして実行した。シミュレーション 結果を図 4.3 に示す。この図からアクセスレイテンシが SSD や HDD 程度の付近では、スワ ップ処理のオーバヘッドが非常に大きいことが分かる。DRAM 量よりも必要なメモリ量が大 きなアプリケーションを実行するとスワップが発生し始めた途端に処理時間が急激に増大 し、実用的な処理時間で実行できないことを示している。
一方で、ストレージクラスメモリで想定されているレイテンシでは SSD や HDD 程度のア クセスレイテンシでは実用的な処理時間で実行できないほどのスワップ処理が発生しても、
性能低下はほとんど確認できない程度に抑えられることが確認できた。提案方式に不利な 条件である facesim で得られた結果であり他の PARSEC ベンチマークでは提案方式の効果は より大きくなると考えられる。
さらに、数百 ns~数μs という幅広いレンジの中では最も遅い、アクセスレイテンシが
84
数μ秒の付近でもアプリケーション性能に影響が小さいことが確認でき、例えば PCM 系の ようなライトが遅い SCM でも有効であることが確認できた。この結果より、速度は DRAM が 牽引するため、ストレージクラスメモリは大容量化しやすくビット単価も低くしやすい数 μs のストレージクラスメモリが向くことが明らかになった。
つぎに、必要なメモリサイズが一番大きくメモリアクセスローカリティも高い提案方式 に有利なベンチマークである dedup を用いて評価をおこなった。dedup については、facesim の場合と同程度のスワップ処理を引き起こすように DRAM サイズを 1/25 程度まで小さくし て実行した場合の結果を図 4.4 に示す。
図 4.4. アクセスレイテンシが実行時間に及ぼす影響 (dedup)
この場合についても、facesim の実行結果と同様の傾向を示しており、アクセスレイテン シが SSD や HDD 程度の付近ではスワップ処理のオーバヘッドが非常に大きい一方で、アク セスレイテンシが数μ秒以下の付近までは、SSD や HDD 程度のアクセスレイテンシでは実用 的な処理時間で実行できないほどのスワップ処理が発生しても性能低下は抑制されている ことが確認できる。
以上の結果から、アクセスレイテンシが数μ秒程度のストレージクラスメモリがスワッ
85
プデバイスとして利用可能になれば、ある程度のスワップが発生しても処理性能が大きく 低下しないことを確認することができた。
図 4.5. アクセスレイテンシが実行時間に及ぼす影響 (canneal)
最後に、図 4.5 にランダムアクセスが多いベンチマークである canneal のシミュレーシ ョン結果を示す。canneal はこれまでの 2 つのベンチマークとは傾向が異なる。具体的には、
DRAM サイズを小さくした途端にスワップ処理のオーバヘッドが急激に大きくなり、スワッ プデバイスのアクセスレイテンシが数μ秒程度のところでも、スワップ処理のオーバヘッ ドが大きく、実行サイクルが DRAM のみで実行した場合の倍以上多くなってしまうことが判 明した。これは、canneal の細かい粒度でランダムアクセスしてメモリアクセスの局所性が 低いという特性と従来型の仮想記憶方式との相性の悪さが原因である。従来型の仮想記憶 方式では、頻繁にランダムアクセスが発生するワークロードでは、極端なケースでは必要 なページを 4KB などの単位でページインしたあとで、数バイトのみアクセスし、すぐにペ ージアウトされてしまう。このように、頻繁にランダムアクセスが発生するワークロード では、スワップ処理が頻発し、単にスワップデバイスを低速な HDD や SSD から高速なスト
86
レージクラスメモリに置き換えらればよいわけではないことが明らかになった。
これまで、ストレージクラスメモリクラスの速度を持つスワップデバイスが想定されて いなかったため顕在化しなかった従来型の仮想記憶方式の課題を本研究の評価により明ら かにすることができた。今回の評価結果から、仮想記憶方式の今後の課題の一つとしては ページサイズが挙げられる。これまではラージページ[123]を利用することが重要と考えら れてきたが、ストレージクラスメモリの性能を引き出すためには、ストレージクラスメモ リが持つバイトアドレッサビリティを活かし、ランダムアクセスパタンではより小さいペ ージサイズを利用できるようにすることも重要と考えられる。
さらに、canneal についてベンチマーク実行時間の内訳を図 4.6 に示す。この図では、実 行時間をユーザモードとカーネルモードで分けて表示している。カーネルモードの処理時 間は、スワップ処理に掛かる OS オーバヘッドによる時間とデータ転送時間の合計と見るこ とができる。本評価はフルシステムシミュレーションでおこなっているため、速度が SRAM なみに高速なスワップデバイスという理想的なスワップデバイスを使った場合の評価が可 能になることを利用し、データ転送時間の影響を非常に小さくした場合の評価をおこなっ た。その結果、実行時間がストレージクラスメモリを想定した場合と変わらないことが判 明した。これは、ストレージクラスメモリで想定されるレイテンシのスワップデバイスを 用いた場合のカーネルモードの処理の大部分は OS オーバヘッドが大部分を占めることを意 味している。これはスワップ処理ごとにコンテキストスイッチが発生するためと考えらえ る。これはストレージクラスメモリをプロセッサに I/O 接続していることが原因であるた め、ストレージクラスメモリを DIMM に搭載しプロセッサと接続することで、ビッグデータ 処理などのランダムアクセスが多いアプリケーションのオーバヘッドを大幅に削減できる 可能性を示唆する結果が得られた。このように、プロセッサとストレージクラスメモリを どのようなインタフェースで接続するか、そして、それがアプリケーションの性能や消費 電力にどのように影響するかは、今後のコンピュータシステムを設計するうえで重要な課 題である。本評価では、ストレージクラスメモリを DIMM 化すること、そして、小さいペー ジサイズを利用可能にすることなどが本方式の対象アプリケーションをランダムアクセス が多いものにまで広げていくうえで重要であることを明らかにした。
87
図 4.6. canneal ベンチマークの実行時間の内訳