2012-04-18 4 views
1

非常に特殊な用途のために、単純なキー値ストアを作成する必要があります。このストアは、そのストアを使用するプロセスと同じメモリ空間で実行されます。RAMにツリー/ハッシュテーブルを保持する

このストアの要件の1つは、RAMに保存され、できるだけ高速であることです。私たちはデータ構造を決定していませんが、LLRB-Treeを使用している可能性があります。

データ構造が常にRAMに保持されることを確認するにはどうすればよいですか?スワップされず、ページングされず、他の場所にキャッシュされず、メモリ内にのみキャッシュされます。

+0

[ramdisk](http://en.wikipedia.org/wiki/RAM_disk)にデータを配置しますか? – Jasonw

+0

どのオペレーティングシステムですか? – RedX

+1

POSIX準拠の場合、標準的な方法はmlock()とフレンドです。 – tbert

答えて

2

Linuxを使用する場合は、mlock()

にmlock()やmlockall()をチェックし、それぞれにページングさ からそのメモリを防ぎ、RAMに一部または呼び出し プロセスの仮想アドレス空間のすべてをロックスワップ領域。 (man page)

関連する問題