Exadataと不揮発性メモリ [最新動向]

ストレージサーバにCell RAMキャッシュと呼ばれるキャッシュがある。Cell RAMキャッシュはフラッシュキャッシュの前面に位置し、フラッシュキャッシュよりレイテンシは低く、容量は小さい。そのため、cell single block physical readが上位にくるOLTPのワークロードにおいて、あたかもバッファキャッシュの追加キャッシュがストレージサーバ上にあることにより、オンライン性能向上が期待できる。ストレージサーバソフトウェア18cからの機能であり、デフォルトでは無効化されている(ramCacheModeがautoに設定されている)。

ストレージサーバのRAMキャッシュがデフォルトで無効なのは、なにも新機能なので自信がない訳ではない。これを有効に使うためにはストレージサーバ側のメモリの増設が前提となる。マニュアルを見ると、AWRのBuffer Pool Advisoryから、バッファキャッシュをどの程度増やすとどの程度の物理読み込みが削減できるか確認できるが、これを見てCell側にどの程度のRAMを増設(メモリ拡張キット)するかを決定すればよいと記載されている。

RAMキャッシュの設定方法は簡単だ。cellcliからALTER CELL ramCacheMode=onして、ALTER CELL RESTART SERVICES CELLSRVによりcellsrvプロセスを再起動する。これをすべてのストレージサーバで実行すればよい。これで勝手に空きメモリをRAMキャッシュとして使うようになるそうだ。実際はバックグラウンドでRAMキャッシュは構成されるらしく、作成にはしばらく時間がかかるようだ。この様子はLIST CELL ATTRIBUTES ramCacheMaxSize,ramCacheMode, ramCacheSizeで確認できる。RAMキャッシュサイズの最大を制限することは、ALTER CELL ramCacheMaxSize=1Gのように実行できる。

昨年(2018年)秋のOOWでこの機能を紹介していたが、日本でも新機能として紹介されていた話なので特段目新しいとも思っていなかった。しかし、最近たまたま以下のブログでインテルのOptaneという不揮発性メモリがExadataで活用されようとしている話を知った。この記事は2018/10/22、ちょうどOOWの時期であったが、OOWのセミナではこのメモリの話はしていなかった記憶がある(もちろん自分の英語力にそれほど自信がある訳ではないが)。物理的には従来のDIMMスロットにそのまま刺せるので導入が容易らしい。

Exadata Persistent Memory Accelerator: Partnering with Intel on Optane DC Persistent Memory

インテルのOptaneのサイトを見ると、確かにOracleもこのメモリのベータプログラムに参加しており、ExadataのVice PresidentがExadataへの活用を紹介している。数TB程度のDBであれば、完全にインメモリで処理できるので、超低レイテンシのOLTP(証券取引やIoT)やリアルタイム分析の高速化といったユースケースを意識しているようだ。ちなみに同時期にGoogleもこのメモリを使ってクラウドサーバで7TBのサービスを提供すると発表していた。SAP HANAなどのインメモリDBへの利用も視野に入れているようだ。

Intel Optane DC Persistent Memory Hardware Beta Partners
Intel Optane DC Persistent Memory Partner: Oracle

今後の開発の方向性がどうなるかわからないが、ストレージサーバ上のDIMMスロット(の一部)がこの不揮発性メモリとなり、上記CELL RAMキャッシュにこの不揮発の領域がライトバックとしても使えるようになったら面白いかもしれない。フラッシュキャッシュよいさらに低いレイテンシ、高速に大量の処理が行えるようになるはずだ。また、これにあわせて特に分析用途ではCell側の集合計算などの機能拡充が決定的に重要になり、また処理のボトルネックはCell側のCPUになるかもしれない。

こうなってくると、もうインメモリの流れは止まらないと感じる、今日この頃である。
nice!(1)  コメント(0) 

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。