• 検索結果がありません。

次世代不揮発性メモリとDRAMを搭載したシステムにおける高性能なメモリスワップ機構の構成

N/A
N/A
Protected

Academic year: 2021

シェア "次世代不揮発性メモリとDRAMを搭載したシステムにおける高性能なメモリスワップ機構の構成"

Copied!
7
0
0

読み込み中.... (全文を見る)

全文

(1)Vol.2015-OS-134 No.3 2015/8/4. 情報処理学会研究報告 IPSJ SIG Technical Report. 次世代不揮発性メモリと DRAM を搭載したシステムにおけ る高性能なメモリスワップ機構の構成 川田 裕貴1,a). 追川 修一2. 概要:スマートフォンやタブレットなどのモバイル機器は、高性能化およびメモリの大容量化が進んでい る。しかしながら、これらの機器はバッテリーで駆動するため、低消費電力が求められており、性能と電 力効率の関係が重要な要素となっている。そこで、我々は近年注目されている次世代不揮発性メモリ (Non Volatile Memory: NVM) に焦点を当てる。NVM は、DRAM に匹敵する特性を持ちながら、メモリが不 揮発性であるという特徴を持ったメモリ素子である。しかし、NVM は潜在的に大容量化が可能ではある が、現在 DRAM に匹敵する容量の製品は登場していない上に、価格は DRAM ほど安価でないことが予想 される。よって、NVM と DRAM を組み合わせて大きなメモリ領域を、性能と電力効率を両立して提供す る方法が求められている。本研究では、メインメモリに NVM を利用したシステムにおいて、DRAM を高 速なスワップ領域として利用しメモリ領域を拡張する手法を提案する。提案手法では、その上で DRAM 領域も NVM 領域と同様にメモリの電源を動的に管理可能な機構を提供する。これにより、大きなメモリ 領域と性能を両立しながら、DRAM の電源断による消費電力が削減可能であることを示す。. 1. はじめに. 方法として、ヘテロジニアスマルチコア方式の CPU が実 現されている。[1] この方式の CPU では、計算能力の動的. スマートフォンなどのモバイル機器は、著しい高速化と. な管理の実現による電力効率の改善を実現するため、高性. それに伴う電力消費量の増加が起きている。これらの機器. 能なコアと電力効率の高いコアを共存させて、動作中に必. では、高速なマルチコアプロセッサを搭載し、大きな帯域. 要のないコアの電源を切ることで、高い電力効率を実現す. 幅を持つ数 GB の大容量の DRAM を搭載することが一般. る。例えば、本当に何のタスクも動いてない待機状態であ. 的になっている。しかし、バッテリーにより駆動されるモ. れば、高性能なコアはすべて電源を落として、電力効率の. バイル機器は、電力効率の低下と電力消費量の増加は大き. 高いコアひとつだけを動作させることが出来る。これによ. な懸念点の一つである。機器のバッテリーの容量には限り. り、近年のモバイル機器では、電力効率の改善を、計算能. があるので、なるべく低消費電力で長く動き続ける必要が. 力のスケーラビリティにより実現している。. ある。一方で、モバイル機器上で動くアプリケーションの. 一方、高い電力効率が要求されるモバイル機器ではある. 要求は年々高いものとなっており、瞬間的に大きなマシン. が、メインメモリに於いては動的な電源管理は行われてい. パワーが要求される側面もある。近年のモバイル機器の特. ない。なぜなら、一般的な機器のメインメモリに利用され. 徴は、高速なプロセッサや大容量のメモリが必要とされる. ている DRAM は、電源を切ると記憶内容が失われてしま. 重いタスクを利用している時間と、画面を切られて待機状. うためである。そのため、基本的には機器の動作中に電源. 態にある時間と、求められる機器の特性が明確に時間帯に. を動的に切ることが出来ない。よって、メモリの電力管理. よって分かれているいうことだ。つまり、瞬間的に高性能. は、動作クロックを調整したり、電源電圧を調整すること. なマシンパワーを提供する場合と、なるべく低消費電力で. によって行われてきた。しかし、DRAM はメモリアクセス. 動き続ける必要がある場合と、2 つの側面を動的に実現す. が殆ど無い待機状態でも、データを保持するため電力を消. るシステムが必要である。. 費する。近年のモバイル機器では、バンド幅が高速で大き. モバイル機器におけるこのような状況を解決する一つの. な容量の DRAM が搭載されているため、メインメモリの. DRAM の消費電力も無視できないものになってきている。 1. 2 a). 筑波大学 システム情報工学研究科 コンピュータサイエンス専攻 University of Tsukuba, Tsukuba, Ibaraki 3058573, Japan 筑波大学 システム情報系情報工学域 hkawata@cs.tsukuba.ac.jp. c 2015 Information Processing Society of Japan ⃝. そこで本研究では、近年注目を浴びている 次世代不揮発 性メモリ (Non Volatile Memory: NVM) を取り扱う。現. 1.

(2) Vol.2015-OS-134 No.3 2015/8/4. 情報処理学会研究報告 IPSJ SIG Technical Report. 在いくつかのメーカーが製品化、または研究開発段階にあ. 表 1: メモリ素子の性能比較. り、近い将来に普及することが期待されている。これらの 素子は、不揮発性で電源を切っても中身のデータが消える ことはない。どの素子も、バイト単位のアクセスが可能で、 ナノ秒単位のアクセスレイテンシであり、フラッシュメモ リに比べて書き換え寿命が長い。よって、将来的に NVM は、電源を切っても内容を保持できる DRAM に変わるメ. DRAM. STT-MRAM. PCM. ReRAM. Write. - 50 ns. - 50 ns. - 1 us. - 50 ns. Read. - 50 ns. - 50 ns. - 100 ns. - 50 ns. 寿命. ∞. ∞. 106. 106. 不揮発性. No. Yes. Yes. Yes. モリ素子として、メインメモリに利用される可能性を持つ。. [2] メインメモリ上の DRAM を NVM によって置き換え. 保ちつつ電力効率を高めることが出来るメモリスワッピン. ることにより、メモリの動的な電源管理により、電力効率. グシステムの実験的設計を提供する。以下、2 章で背景と. の向上を実現することが可能になる。NVM を利用したメ. なる技術として、次世代不揮発性メインメモリと、メモリ. インメモリは、メモリアクセスが必要とされていない低負. スワッピングについて述べる。3 章で、提案手法の設計と. 荷時にメモリの電源を気軽に切断が可能であるシステムを. 実装について述べ、4 章において、本稿をまとめる。. 実現する。 しかしながら、NVM は容量辺りの単価が DRAM に比 べて高価であることが見込まれており、大容量化が見込ま れているものの、現在では DRAM を上回る容量の製品は. 2. 研究の背景 この章では、メモリスワッピングと NVM を利用した電 力効率を改善する提案手法についての背景を述べる。. 登場していない。よって、現在の DRAM をすべて NVM で置き換えることは非現実的であり、他のメモリ素子と組. 2.1 次世代不揮発性メモリ. み合わせて NVM の優位点を活かしつつ、大きなメモリ. 本研究では、近年注目を浴びている 次世代不揮発性メ. 空間を提供する手法が求められている。そこで、本研究で. モリ (Non Volatile Memory: NVM) を取り扱う。NVM. は DRAM と NVM をお互いの特徴を活かしながら組み合. は、新しい不揮発性のメモリ素子の総称で、ある一つの. わせて、メモリとして利用する手法を議論する。特に、従. 素子を指すわけではなく、いくつかの製品化または研. 来型のメモリスワッピングの仕組みに焦点を当てる。従来. 究されている素子が存在する。候補となる素子として. のメモリスワッピングでは、主に低速なブロックデバイス. は、STT-MRAM (Spin-torque transfer magnatic RAM),. のストレージをスワップ領域として利用することが多かっ. PCM (Phase change memory), ReRAM (Resistive RAM). た。近年、NAND フラッシュメモリを利用して、最適化し. などの素子が存在する。これらのメモリ素子は、Persistent. たメモリスワッピング手法によりその性能が大きく高速化. Memory とも呼ばれる。近年製品として登場している、. しているが、依然として DRAM とブロックデバイスとは. NV-DIMM と呼ばれるメモリバスに接続する、フラッシュ. 大きな速度の隔たりがある。[3]. メモリを搭載したメモリモジュールとは異なる。. これらの背景を踏まえ、本研究では DRAM をメモリス. 表 1 は、これらの NVM の候補となる素子と DRAM お. ワッピングのスワップ領域として利用する手法を提案する。. よび NAND フラッシュメモリの特性の比較を示している。. 提案手法の大きな特徴は、スワップ領域である DRAM の. NVM は、従来メインメモリに多く利用されてきた DRAM. 電源が投入されている限りは DRAM へ直接読み書きアク. に匹敵する特性を持ちながら、不揮発性のある素子であ. セスができ、高速にアクセスできるという点である。また、. る。よって、メモリの電源を切ってもデータが消失するこ. スワップ領域に設定した DRAM の電源を動的に管理する. とはない。また、NVM は潜在的に大きな容量を実現でき. ことで、電力効率を向上させる仕組みを提供する。提案手. る事が見込まれている。一部の素子は、NAND フラッシュ. 法を実装したシステムでは、メモリへの負荷が低くなり待. メモリと同様に書き込み回数に寿命があり、適切にウェア. 機状態になると、スワップ領域として利用される DRAM. レベリングをする必要があるが、NAND フラッシュメモ. の電源の供給を止める。電源を切ると、スワップアウトさ. リに比べると NVM の書き換え寿命は大きなものである。. れた DRAM のデータは失われてしまうが、他の不揮発性. STT-MRAM に於いては、書き込み回数の寿命もほぼ存在. ストレージ (SSD など) にコピーを行うことでデータの永. しない。さらに、NVM は、バイトアクセス可能な素子で. 続性を保証する。この手法により、ユーザーの体感速度の. あることから、ほぼ DRAM と同じ使い方が可能である。. 低下を最小限に、電力効率の向上を可能にする。また、メ. 近年ハードディスクを上回る性能を提供し置き換えること. モリスワッピングは、汎用的な OS ではよく使われている. で、コンピュータのストレージに大きな変革をもたらした. 手法であるため、提案手法は幅広いプラットフォームに適. NAND フラッシュメモリとは違い、ブロックデバイスで. 用することが出来る。. はない。よって、これらの特徴から NVM の利用法として. 本稿では、これらの提案手法による、高速なシステムを. c 2015 Information Processing Society of Japan ⃝. 様々な手法が考えられている。[4] 素子によって特徴はそ. 2.

(3) Vol.2015-OS-134 No.3 2015/8/4. 情報処理学会研究報告 IPSJ SIG Technical Report. れぞれ異なるが、本研究では特に対象を設定せず、基本的 にどの素子にも適用しうる手法を提案する。. 2.2 次世代不揮発性メモリを利用したメインメモリ NVM の利用法の一つとして、一般的に DRAM が利用 されてきたメインメモリを、NVM で置き換える事が期待 されている。[2] 将来的にはメインメモリとしてだけでな く、ストレージクラスメモリと言った、データストレージ までもを NVM が担うことも考えられている。[5], [6] 本 研究では、特に NVM がメインメモリの DRAM を置き換. 図 1: 期待される NVM が搭載されたコンピュータシステ. えることで、メインメモリが不揮発化したシステムを対象. ムの構成. として議論を進める。このようなシステムでは、メモリの 動的な電源管理により、電力効率の向上を実現することが. 容量の NVM で電力効率の良いシステムを構成することが. 可能になる。. 可能になる。. モバイル機器の計算資源においては、ヘテロジニアスマ. そこで、本研究では DRAM と NVM をお互いの特徴. ルチコア CPU のような製品により、計算資源の動的管理. を活かしながら組み合わせて、メモリとして利用する手法. が実現されている。[1] 同様に、メモリにも資源の動的管. を議論する。図 1 に示すように、NVM が DRAM と共に. 理とそれに伴う電源管理を適用することで、電力効率を向. DDR3 のようなメモリバスに接続され、CPU からロード・. 上させることが出来る。例えば、モバイル機器が待機状態. ストア命令を利用して直接アクセスできるようなシステム. である時には、ほとんどメモリアクセスが発生しない。ま. を対象とする。. た、大きなメモリ空間は必要とされず、局所的な一部のメ モリ領域のみが利用可能であれば良い事も多い。つまり、 理想的に電力効率の面では、機器が待機状態である場合に. 2.3 高速なメモリスワッピング メモリスワッピングは、ページングの技術を利用した、. は、メモリの一部またはすべての電源を切断する事が求め. これまで多くのシステムで使われてきたメモリ空間の拡張. られる。これまでは、メインメモリに DRAM を利用して. 技術である。最近のほとんどのオペレーティングシステム. いたため、メモリの電源をシステムの動作中に切断するこ. は、メモリスワッピングの機能を搭載している。これまで. とは、データが消失してしまうため不可能であった。NVM. のメモリスワッピングは、メインメモリに比べると低速な、. を利用したメインメモリは、メモリアクセスが必要とされ. ハードディスクなどのブロックデバイスをスワップ領域と. ていない低負荷時にメモリの電源を気軽に切断が可能であ. して利用して、メインメモリのデータの一部を退避させて. るシステムを実現する。この、NVM を利用したメモリの. いた。しかしこれまで、多くのシステムではメモリスワッ. 電源が動的に切断されるシステムは、極低消費電力で待機. ピングの利用はできるだけ避けられてきた。なぜなら、メ. しながらも瞬時にメモリの読み出しを復帰することが実現. インメモリに比べると非常に遅いブロックデバイスとの. できる。このような考え方をさらに推し進めたものとして、. I/O が発生するため、スワッピングが起こると性能低下に. Normally off computing という考え方がある。Normally. つながる。スワップ領域とメインメモリの間のスワップイ. off computing の実現には、CPU やメインメモリ、回路、. ン・スワップアウトが大量に発生させる状況は、システム. システムなどいくつかのレイヤに分かれた技術革新が必要. の深刻な性能低下を引き起こす。つまり、メモリスワッピ. である。NVM は、この Normally off computing を支える. ングが発生する状況は緊急的な状況で発生しうるもので. 重要な技術の一つである。[7]. あった。. しかしながら、NVM は容量辺りの単価が DRAM に比. 近年では高速なフラッシュメモリを搭載したストレー. べて高価であることが見込まれる。また、大容量化が見込. ジ (SSD) により、ストレージとメインメモリの速度差が縮. まれているものの、現在では DRAM を越すほどの容量の. まった。よって、SSD を利用してスワップを高速化する手. 製品は登場していない。[8] よって、現在の DRAM をす. 法が存在する。[3] しかし、フラッシュメモリはブロック単. べて NVM で置き換えることは非現実的であると考える。. 位のアクセスが必要であり、寿命も限られている。また、. この事から、他のメモリ素子と組み合わせて NVM によ. 高速なフラッシュメモリでもミリ秒単位のアクセスレイテ. るメインメモリの永続化と電力効率向上のメリットを、パ. ンシであり、DRAM のナノ秒単位のレイテンシとは大き. フォーマンス低下なしにうまく実現し、大きなメモリ空間. く乖離している。SSD と DRAM のハイブリッドメモリを. を提供する手法が求められている。もし、不揮発性が求め. 実現するメモリ管理方式も提案されているが、電源の気軽. られる高速なメモリ領域が一部で良いのであれば、少ない. なシャットダウンには対応できない上に、メモリの無駄が. c 2015 Information Processing Society of Japan ⃝. 3.

(4) Vol.2015-OS-134 No.3 2015/8/4. 情報処理学会研究報告 IPSJ SIG Technical Report. 発生する問題がある。[9] RAM 上でメモリの一部を圧縮. 3.1 設計. することで仮想的なスワップ領域を作り出す Compcache. 提案手法では、限られた容量の NVM がメインメモリに. [10] や、圧縮によりスワップを高速化する Zswap [11] の. 搭載される事を前提とし、スワップ領域には大きな容量の. ようなアプローチ存在する。これらは、今回ターゲットと. DRAM を配置することで性能低下を補う事を目的とする。. するようなモバイル機器ではデータ圧縮の電力消費が無視. 実際には、DRAM をスワップ領域の二次的なキャッシュ. できない。. メモリのように利用することで、利用可能なメモリ空間を. NVM をスワップ領域に利用した NVM-Swap [12] とい. 拡張しつつ、高速に利用できる空間を提供する。NVM も、. う手法では、NVM 向けに最適化されたメモリスワッピ. DRAM もメモリバスに直接接続され、CPU からロード・. ング機構を提供する。この手法では、スマートフォンの. ストア命令により直接アクセスされるシステムを前提と. Android デバイスを対象に、ユーザーの体験を損なうこと. する。. がなく NVM をスワップ領域として利用する。この手法. 提案手法のメモリ管理システムは、以下のような手順で. の大きな特徴は、NVM のスワップ領域をブロックデバイ. 動作する。まず、それぞれのメモリはバイトアクセス可能. スとしては利用しない点である。NVM もメモリバスに接. な領域で、OS カーネルのメモリ管理サブシステムにより、. 続され、DRAM と同様にアクセスできる環境を想定して. ページングを利用しページ単位で管理される。OS カーネ. いるため、NVM 領域へスワップアウトされたデータへの. ルのメモリ管理システムは、通常 NVM の空きページがあ. 直接的な読み取りアクセスを提供し、コピーオンライト方. る限り、NVM にメモリを確保する。しかし、NVM のメモ. 式でのスワップインを実現する。これにより、電力効率と. リ領域は限られている。そのままでは、メモリ使用量の大. 機器の性能を共存することが可能になる。しかしながら、. きなアプリケーションは立ち上げることが出来ない上に、. NVM-Swap が想定するシステムでは、スワップ領域とし. 沢山のアプリケーションを起動するとメモリ不足に陥る。. て利用する NVM 領域は動的な電源管理が可能になるが、. メモリ管理システムは、搭載されている DRAM を NVM. DRAM が利用されるメインメモリの動的な電源管理は、. とは分けて管理し、スワップ領域として利用する。よって、. 実現することが出来ない。また、NVM の容量は前述の通. NVM 領域のメモリが少なくなると、メモリ管理システム. り、現在の所大容量のものはないため、スワップ領域とし. は DRAM へデータをスワップアウトすることで、NVM. て利用するには適切ではない。. 上の空き容量を作る。. 3. 提案手法. 従来のスワップと大きく異なる点は、スワップアウト されたデータをそのまま直接読み書きが出来るという点. そこで、本研究では NVM をメインメモリに搭載した. である。この動作の仕組みを図 2 に示す。スワップアウ. システム向けに、DRAM をスワップ領域に利用したメモ. トされたデータは、DRAM へ配置されているが、DRAM. リスワッピングを利用して大容量のメモリ空間を提供する. も NVM と同様にメモリバスに直接接続されているため、. メモリ管理システムを提案する。DRAM をスワップ領域. DRAM の電源が投入されている限りは DRAM へスワッ. に適用する一つの方法として、DRAM をブロックデバイ. プアウトされたデータは直接アクセスすることが出来る。. スとして利用できる RAM Disk ドライバを利用してアク. これは、NVM-Swap [12] の実装に非常によく似ているが、. セスする方法がある。しかしながら、DRAM へのアクセ. DRAM には書き込み回数の制限は存在しないため、書き込. スはブロックデバイスレイヤを経由することにより、大き. みについてもコピーオンライトではなく、そのまま DRAM. なコストになりデバイス本来の性能を活かすことが出来な. へ書き込みが可能である。つまり、スワップアウトされて. い。この問題は、通常のハードディスクや SSD のような. も、ページテーブルエントリは有効である状態が保たれ、. ブロックデバイスは、レイテンシが DRAM とは大きく異. スワップ機構が介在せずアクセスできる。よって、スワッ. なるため顕在化しない。. プアウトされた場合でも、大きなアクセスコストなしにス. よって、DRAM へのアクセスはブロックデバイスとし. ワップアウトされたデータへアクセス可能になる。この. てではなく、直接アクセスすることによりスワップアウ. 仕組みは、メモリの書き込みと移動を最小限に、NVM と. トされた領域の透過的な読み書きを可能にし、高速なス. DRAM を分けて管理をする機構を実現する。. ワップ領域を提供する。そうでありながら、低負荷時には. DRAM へスワップアウトされたデータは、一定以上ア. DRAM の電源は NVM と連動して切断することで高い電. クセスが起こると NVM 領域へ戻される。しかし、従来の. 力効率を実現する。この章では、このシステムの設計およ. スワップでは、一度でもアクセスが起きたものはスワップ. び実装と、スワップ領域に割り当てた DRAM の動的電源. インする必要があった。提案手法では、読み書きともにス. 管理を実現する方法を解説する。. ワップアウトされた状態でもアクセス可能であるため、単 発のアクセスではメモリのコピーの必要がない。頻繁に使 われないデータは、ごく稀に使われることがあったとして. c 2015 Information Processing Society of Japan ⃝. 4.

(5) Vol.2015-OS-134 No.3 2015/8/4. 情報処理学会研究報告 IPSJ SIG Technical Report. (a) 従来手法. (b) 提案手法: DRAM スワップ有効. (c) 提案手法: DRAM スワップ無効. 図 2: 提案手法のメモリスワッピング機構 に動的に管理することで、消費電力の削減を実現する。電. Application Proposed NVM. 力消費を削減するためには、なるべく DRAM の電源はオ. Block  I/O  Swap. Virtual  Memory   Subsystem. DRAM. Memory   Swapping  Subsystem Block  I/O I/O  Scheduler. フのまま保たれている事が理想である。提案手法では、シ ステムが待機状態になりメモリが低負荷になると、スワッ プ領域として利用される DRAM の電源の供給を止める。 しかし、電源を切ると、スワップアウトされた DRAM の データは失われてしまう。そのため、提案手法では、継続 的に他の不揮発性ストレージ (SSD など) に、DRAM へス ワップアウトされたデータのコピーを行う。(図 2b 参照). DRAM  Swap  Area. SCSI  Driver HDD,  SSD,  …. つまり、提案手法は、DRAM 上のスワップ領域が、SSD などのストレージ上にあるスワップ領域のキャッシュを担. 図 3: 提案手法と従来手法におけるサブシステム階層構造. 当しているような動作をする。DRAM の電源が投入され. の違い. ている限りは、DRAM へスワップアウト出来るため、ス トレージへ書き出しを行っていても、メモリスワッピング. も、スワップアウトさせたままにすることが出来る。NVM には頻繁にアクセスされるデータが集まり、DRAM には アクセスする可能性が比較的少ないデータが集まることに なる。 図 3 は、提案手法と従来手法のメモリ管理システムを階 層の比較を表している。従来のメモリスワッピングでは、 必ずブロックデバイスレイヤを経由していた。提案手法 では、DRAM のへのアクセスやスワップアウトは、オー バーヘッドになりうるブロックデバイスレイヤを経由しな い。また、従来のメモリスワッピング機構は遅いブロック デバイス向けに最適化されて作られていたが、DRAM の 高速なレイテンシを有効活用するにはこの最適化が無駄な オーバーヘッドになる。よって、DRAM 上に確保された スワップ領域へは、従来のスワップの仕組みは利用せず、 直接アクセス可能である事を利用して専用の仕組みを実装 する。これにより、カーネル内のブロックデバイスレイヤ のオーバーヘッドを削減して、高速化を実現する。. の性能自体にはそれほど影響はない。. DRAM の電源供給が断たれると、予めコピーを行って あるストレージをスワップ領域として利用する。(図 2c 参 照) スワップアウトされたデータは、直近にアクセスされ る可能性の低いデータでもある。よって、DRAM の電源 が切断された後でも、スワップ領域へアクセスされる可能 性は比較的低い。また、電源が切断されている状況は、メ モリへのアクセス低負荷である場合のため、このような状 況では、DRAM を利用した高性能なスワップ領域は必要 がない。データがコピーされたストレージからスワップイ ンしても、性能への大きな影響は与えないと考えられる。 メモリアクセスが少ない、機器が待機状態である状況では、 スワップインやスワップアウトが起きる可能性も少なく、 またアクセスする領域は限られていると想定される。スト レージとして、SSD を利用すれば、ハードディスクに比べ ると低レイテンシであるため、この時の性能低下も少なく に抑えることが出来る。 その後、メモリ負荷が高くなってきた場合には、DRAM. 3.2 動的メモリ電源管理 提案システムでは、メインメモリに搭載した NVM の電 源を動的に管理にするだけでなく、DRAM の電源も同様. c 2015 Information Processing Society of Japan ⃝. の電源を再び投入して、高速なスワップ領域を有効にする。 電源を遮断したり、電源を投入するタイミングは、コピー 先のストレージのランダムアクセス性能によって設定され. 5.

(6) Vol.2015-OS-134 No.3 2015/8/4. 情報処理学会研究報告 IPSJ SIG Technical Report. る。ストレージのランダムアクセス性能に対して、スワッ. 保つことに繋がる。高速なスワップ領域が必要とされるの. プインやスワップアウトの帯域幅が近づいた場合に、電源. は、メモリ負荷が大きくなるプログラムの起動時や、メモ. が投入される。こうすることで、ストレージの性能に余裕. リアクセスが大量に発生する動作時のみであると考えられ. があり、スワップ要求を十分に処理できている場合には、. る。よって、この実験結果からはメモリ負荷が少ない領域. DRAM の電源は投入されない。DRAM スワップ領域が有. が多く、提案手法における DRAM スワップ領域の動的電. 効になった後は、ストレージから一気に読みだすのではな. 源管理により、十分に DRAM の電源を切断可能であるこ. く、データを必要な時にオンデマンドで移動していく。場. とが示された。また、高速なスワップ領域の提供により、. 合によっては、先読み動作も行われる。この手法により、. 性能向上が可能であることが見込まれる事、及び DRAM. ユーザーの体感速度の低下を最小限に、DRAM の電源管. の電源遮断後の低負荷領域においてはスワップ領域の性能. 理による電力効率の向上を可能にする。. が低下しても、体感的な性能には影響ない事が考えられる。 これらの実験結果から、提案手法は十分に有効であると見. 3.3 予備実験. 込まれる。. 提案手法の有効性を確認するために、以下のような予備 実験を行った。実験では、小さいメインメモリを搭載した. 3.4 実装. システムに対する、メモリスワッピングの動作を示す。実. この節では、提案手法の実装について述べる。提案手. 験環境は、Linux における KVM を利用した仮想マシンを. 法の実装は、Linux カーネル上を対象として、実装する。. 利用した。ゲストの Linux ディストリビューションとして. Linux カーネルへの実装は、現在の所 linux-stable の Linux. Debian GNU/Linux 8 (wheezy) を利用し、Linux kernel. 3.4.y ブランチを対象に行っている。また、実装の基盤と. のバージョンは 3.2 である。メインメモリの容量を、この. して NVM-Swap [12] の実装を元に、提案手法に合わせた. 環境で正しく起動することが出来たほぼ最低限のメモリ容. 実装の変更と改良を施し、動的電源管理の機構を追加実装. 量である、96 MB のみをゲストに対して割り当てた。ま. することで実現した。NVM-Swap は、ARM を搭載した. た、スワップ領域はハードディスクを利用し、1GB を割り. Android が動作するスマートフォン向けに実装されている. 当てた。実験手順としては、一般ユーザーが利用するデス. が、本研究ではこれを Intel x86 アーキテクチャ向けに移. クトップ環境を想定し、GNOME 3 デスクトップ環境上で. 植し、通常の Linux 環境で提案手法が動作出来るように改. Iceweasel Web ブラウザを起動した時の、メモリスワッピ. 良してある。. ングの傾向を観測した。 図 4 に、上記の環境における実験結果を示す。横軸が. NVM の評価には、現在本稿で対象としている製品が手 に入りにくい為、同等の特性を持つ DRAM を利用して、. 経過時間を秒数で表し、縦軸がスワップイン・スワップア. 領域を明確に分けて管理することで、仮想的な NVM 領域. ウトの発生したページ数を示している。グラフの最初の部. を実現する。領域は、カーネル内で物理ページの領域を管. 分は、ユーザーが何の操作も入力していない待機状態であ. 理する Zone を新しく追加することで、DRAM スワップ. る。この部分では、メモリは大きく使用していないことも. 領域用の物理ページを確保し、分けて管理される。DRAM. あり、メモリのスワップ回数は非常に低い状態に抑えられ. の動的電源管理についても、現在ハードウェアレベルでは. ている。実際に、Web ブラウザを起動したのは、120 秒後. 実現する方法がないため、カーネル内で DRAM の電源状. である。ここでは、大きなメモリを確保・利用することで、. 態を仮想的に管理する状態を持ち、電源を切ることが出来. 大量のスワップイン・スワップアウトが発生していること. る時間の長さを計測することで評価をする。しかし、実際. が解る。特に、スワップインの割合が多い。この傾向は、. のハードウェアでは、電源の遮断や復帰にはある程度の時. Web ブラウザの起動が完了し、しばらく落ち着くまで続. 間がかかることが予想されるため、その時間をどのように. く。この環境では、ハードディスクを利用している場合で. 考慮するかは議論の余地がある。. あり、利用可能なメモリも小さい容量のため、30 秒ほど起. また、DRAM スワップ領域における、CPU のロード・. 動完了に時間がかかっている。しかし、起動が完了した後. ストア命令による直接的アクセスを実現するため、DRAM. は、スワップの発生は急激に収束する。その後も、メモリ. 領域へスワップアウトされた領域のページテーブルエント. 使用量は大きいままであるが、ほとんどスワップは発生し. リは、有効状態にされたままに保たれる。よって、DRAM. ていないことが解る。. スワップ領域へスワップアウトされたデータへのアクセ. このグラフから読み取れることは、待機状態である前半. ス時には、ページフォールトが発生しない。ページテーブ. 部分と、Web ブラウザの起動が終了して再びメモリへの負. ル上の空きビットを利用して、カーネルは、そのページが. 荷が少なくなる後半部分では、スワップが殆ど発生しない。. DRAM スワップとして利用している領域であるかを管理. これは、この領域では高速なスワップ領域が必要ないとい. する。定期的に、ページの利用状況を計測することで、メ. うことであり、DRAM の電源をできるだけ切断したまま. モリ領域の入れ替えを行う。. c 2015 Information Processing Society of Japan ⃝. 6.

(7) Vol.2015-OS-134 No.3 2015/8/4. 情報処理学会研究報告 IPSJ SIG Technical Report 140000000. page  in. swap in / out. 120000000. page  out. 100000000 80000000 60000000 40000000 20000000 0 0. 30. 60. 90. 120. 150. 180 Time (sec). 210. 240. 270. 300. 330. 図 4: Web ブラウザ起動時のスワップイン・スワップアウトページ数. SSD などの、外部ストレージへの DRAM 領域へのコ ピー方法については、議論の余地がある。現在のところ、 移動や書き込みが発生した瞬間に、即時にデータの書き出 しを行っている。しかし、この方法では、DRAM に比べ. [2]. てストレージの書き込み性能は大幅に遅いため、データの 書き出しが大量に溜まってしまう問題がある。また、その データの書き出し方法も、ある領域を単純にマップ下だけ. [3]. ではランダムアクセスとなってしまうため、場合によって は改良が必要になる。現在の、SSD はランダムアクセス が高速ではあるが、シーケンシャルアクセスのほうがより 高速である。例えば、ログ構造化ファイルシステムのよう. [4]. に、シーケンシャルアクセスとして書き込みが行われるよ うな方式を採用すれば、更に許容できるスループットは大. [5]. きくなる。DRAM 切断時のみに、一気にストレージに書 き出す方式も考えられるが、切断までの時間が長くなって しまうこと、その間にメモリアクセスが発生した場合など を考慮すると、ストレージへの書き込み回数の削減という 点を除けば、あまり優位点はないと考えられる。. [6]. 4. まとめ 本稿では、メインメモリに次世代不揮発性メインメモ リ (NVM) を採用したシステムを対象として、DRAM を スワップ領域として利用するメモリスワッピング機構によ. [7]. り、高速かつ電力効率の良いメモリ拡張手法を提案した。 提案手法では、スワップアウトされたデータにおいても、. DRAM への直接アクセスにより、高速なスワップ領域を. [8]. 提供する。また、NVM 領域と DRAM 領域を分けて管理 することにより、DRAM 領域への動的電力管理を実現す ることで、パフォーマンスの低下を最小限に抑え、さらに. [9]. 電力効率の良いシステムを実現できる。この提案手法が有 効性を、予備実験の内容から確認し、議論した。今後の展 望として、提案手法のさらなる実装の最適化と、詳細な提 案手法の評価を測定することで、実際の電力効率の改善等 を議論する予定である。 参考文献 [1]. Kumar, R., Farkas, K. I., Jouppi, N. P., Ranganathan, P. and Tullsen, D. M.: Single-ISA Heterogeneous MultiCore Architectures: The Potential for Processor Power. c 2015 Information Processing Society of Japan ⃝. [10] [11] [12]. Reduction, Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 36, Washington, DC, USA, IEEE Computer Society, pp. 81– (2003). Kang, S.: Embedded STT-MRAM for energy-efficient and cost-effective mobile systems, VLSI Technology (VLSI-Technology): Digest of Technical Papers, 2014 Symposium on, pp. 1–2 (2014). Saxena, M. and Swift, M. M.: FlashVM: Virtual Memory Management on Flash, Proceedings of the 2010 USENIX Conference on USENIX Annual Technical Conference, USENIXATC’10, Berkeley, CA, USA, USENIX Association, pp. 14–14 (2010). Eilert, S., Leinwander, M. and Crisenza, G.: Phase Change Memory: A New Memory Enables New Memory Usage Models, Memory Workshop, 2009. IMW ’09. IEEE International, pp. 1–2 (2009). Liu, R.-S., Shen, D.-Y., Yang, C.-L., Yu, S.-C. and Wang, C.-Y. M.: NVM Duet: Unified Working Memory and Persistent Store Architecture, Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS ’14, New York, NY, USA, ACM, pp. 455–470 (2014). Kim, H., Seshadri, S., Dickey, C. L. and Chiu, L.: Evaluating Phase Change Memory for Enterprise Storage Systems: A Study of Caching and Tiering Approaches, Proceedings of the 12th USENIX Conference on File and Storage Technologies (FAST 14), Santa Clara, CA, USENIX, pp. 33–45 (2014). Yoda, H., Fujita, S., Shimomura, N., Kitagawa, E., Abe, K., Nomura, K., Noguchi, H. and Ito, J.: Progress of STT-MRAM technology and the effect on normally-off computing systems, Electron Devices Meeting (IEDM), 2012 IEEE International, IEEE, pp. 11–3 (2012). Smith, K., Wang, A. and Fujino, L.: Through the Looking Glass II?Part 1 of 2: Trend Tracking for ISSCC 2013 [ISSCC Trends], Solid-State Circuits Magazine, IEEE, Vol. 5, No. 1, pp. 71–89 (2013). Badam, A. and Pai, V. S.: SSDAlloc: Hybrid SSD/RAM Memory Management Made Easy, Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation, NSDI’11, Berkeley, CA, USA, USENIX Association, pp. 16–16 (2011). Gupta, N.: Compcache: in-memory compressed swapping (2009). Jennings, S.: The zswap compressed swap cache (2013). Zhong, K., Wang, T., Zhu, X., Long, L., Liu, D., Liu, W., Shao, Z. and Sha, E. H.-M.: Building High-performance Smartphones via Non-volatile Memory: The Swap Approach, Proceedings of the 14th International Conference on Embedded Software, EMSOFT ’14, New York, NY, USA, ACM, pp. 30:1–30:10 (2014).. 7.

(8)

図 3: 提案手法と従来手法におけるサブシステム階層構造 の違い も、スワップアウトさせたままにすることが出来る。 NVM には頻繁にアクセスされるデータが集まり、 DRAM には アクセスする可能性が比較的少ないデータが集まることに なる。 図 3 は、提案手法と従来手法のメモリ管理システムを階 層の比較を表している。従来のメモリスワッピングでは、 必ずブロックデバイスレイヤを経由していた。提案手法 では、 DRAM のへのアクセスやスワップアウトは、オー バーヘッドになりうるブロックデバイスレイヤを経由

参照

関連したドキュメント

心臓核医学に心機能に関する標準はすべての機能検査の基礎となる重要な観

 高齢者の性腺機能低下は,その症状が特異的で

攻撃者は安定して攻撃を成功させるためにメモリ空間 の固定領域に配置された ROPgadget コードを用いようとす る.2.4 節で示した ASLR が機能している場合は困難とな

• NPOC = Non-Purgeable Organic Carbon :不揮発性有機炭素 (mg/L). • POC = Purgeable Organic Carbon :揮発性有機炭素 (mg/L) (POC

定可能性は大前提とした上で、どの程度の時間で、どの程度のメモリを用いれば計

耐震性及び津波対策 作業性を確保するうえで必要な耐震機能を有するとともに,津波の遡上高さを

システムの許容範囲を超えた気海象 許容範囲内外の判定システム システムの不具合による自動運航の継続不可 システムの予備の搭載 船陸間通信の信頼性低下

汚染水の構外への漏えいおよび漏えいの可能性が ある場合・湯気によるモニタリングポストへの影