IRCで教えてもらった、ZFSでメモリ+SSD+HDDを統合して最大限の性能を発揮させようというもの。例えばこんな感じ。

http://blogs.sun.com/brendan/entry/test
http://blogs.sun.com/jonathan/entry/not_a_flash_in_the

L2ARCはLevel-2 と ARC(Adaptlive Replacement Cache)を合わせたもの。ARCはPostgreSQL8.0が出来る前にだいぶん勉強したのでほぼ知っている、ヒント無しだがランダムアクセスとシーケンシャルアクセス傾向にある程度最適化出来るインテリジェントなバッファキャッシュアルゴリズムだ。PostgreSQLではロック競合のためマルチプロセッサでの性能がふるわず、特許関係もあって外されてしまった。
ところが、ZFSでは見る限りARCを使っているようだ。wait-freeなARCを実装できるのなら、その方がいいだろう。

えっと、ざっくりコメントを読むと

- 従来のARCは、L1 cacheとして働く
- L2ARCはL2 cacheとして働くが、主にARCから追い出される予定のものを、別スレッドを立てて順次フェッチして書き込む。
- L2ARCはWrite-throughキャッシュであり、dirtyなデータは書き込まれない。

これと良く似たものを見たことがある。ReadyBoostだ。ReadyBoostはやはりwrite-throughキャッシュであり、上位下位のキャッシュ構造は異なったとしても、やっていることは(実現できることも)似たようなものだろう。つまり、頻繁にアクセスされるデータ部分のランダムリードを改善するのが目的だ。

例えばRDBMSにとってこれはどうかを考えよう。

- log
無意味。redo logはキャッシュヒットなど一切気にしない書き込みファイルである。
- 小さなテーブル/インデックス
頻繁にアクセスされる、読み込み専用テーブルには大変に効果があるだろう。書き込みが頻繁に行われるようなシーケンスなどには全くの逆効果。
- 大きなテーブル
メモリに乗っからない、しかしSSDに乗っかるようなテーブルやインデックスは、やや恩恵がある。同様に書き込みが多くなると意味がない。

こんなところだろうか。総じてホットスポットに対するチューニングとしては意味があると思うが。書き込み性能は総じていまいちに思える。

しかし、このようなことをつらつら考えるに、やはりファイルシステムには「ヒント」がなく、RDBMSは読み書き傾向がはっきりしているためヒントを実装しやすいにもかかわらず、それを生かせないところがもどかしいなぁ。それがすなわちお互いで同じようなキャッシュを作ってしまうゆえんなのだろうが。

Netbookが売れている。ずいぶん前にも書いたが、私も一台都合したいと常々思っている。普段使いノードを兼ねたいので、今更ながらの2133か、GIGABYTEのタブレット型か、はたまたEee S101などか。

ところで、出る出ると言われていたAtom-DP(Netbook版)が全然出ない。理由は、これ以上netbookが売れすぎるとIntelが困るからだ:) Core2Duo、Core i7が売れないようではAtom戦略は大失敗になってしまう。
一説によると、出荷は今年中どころが来年後半だそうな。うまくいかないもので。

nVidiaが2ヶ月前、Transmetaとのライセンスを結んだらしい。

http://itpro.nikkeibp.co.jp/article/NEWS/20080808/312422/

省電力技術が必要なのは分かる。分かるが、正直、なんで今更LongRun2なのか全く解せない。
これを解く鍵として、一つの妄想的戦略を述べてみたい。それは、IntelとATiがGPU内蔵CPUを送りだそうとしている中、nVidiaがそれに割り込むおそらく唯一の方法である。

「GPGPUでx86互換レイヤを実装しろ」 

これだ。Transmetaは元々、高効率VLIWをコアに持ち、このネイティブインストラクションのソフトウェアコードを使ってx86コードをVLIWインストラクションにダイナミックリコンパイルするCode Morphingなx86CPU(実際はx86以外も動かせたらしいが)で知られた会社だ。
この技術を使えば、GPGPUをx86に化けさせられるのではないか。

口で言うのは簡単だが、まず持って現在のGPUはx86のような分岐の山になるようなソフトウェアをまともに動かすようには出来ておらず、茨の道どころが地雷原である。マインスイーパーで言うなら、10x10に地雷90個ぐらいじゃなかろうか。しかし、nVidiaはGT200系でかなりGPGPU的要素を実行できるようにユニットに改良を加えてきており、将来的には性能が悪くともそれなりのが載るだろう。この点は、CUDAのようなAPIも含めて、もう一つのライバルATi-AMDよりも先行しているところだ。

そう、それなりで良い。今のNetbookはチップセットとそのおまけのCPUで30W食うのだから、そこに食い込みたければ、現状のGPU内蔵ノースブリッジより性能が出せ、しかしAtom程度のパフォーマンスが出れば事足りるのだ。しかも、この構成はCPUが「不要」なのだから、敵たちと同様に2チップソリューションになる。

まあ、夢が広がれば「4xSLIで16CPU級のパフォーマンス」とかあり得るかもしれない。しかし、昨今のポイントは「x86そこそこ、高負荷はGPUで」という状況に流れている点であり、GPUで差別化できればx86の性能などそこそこでいいのだ。GPGPUアクセラレーションが行き渡れば、それこそAtomで本来は足りるのではないか。

いずれにしても、CMSほど美しいハードウェア実装には未だにお目に掛かったことがない。是非復活して日の目を見て欲しいものだと思うのである。

※この記事は100%妄想で書かれています。裏は取れないし(妄想維持のため)取りたくありません。

↑このページのトップヘ