kumofs storage API

13 views
Skip to first unread message

とみたまさひろ

unread,
May 30, 2010, 9:38:55 AM5/30/10
to kumo...@googlegroups.com
とみたと申します。

kumofs のストレージ API についてまとめてみました。
http://d.hatena.ne.jp/tmtms/20100530/1275215591

iterator_release_key と iterator_release_val については何をやってるのか
良く分かりませんでした… orz

それ以外のところも嘘書いてあるかもしれませんが、せっかく調べたので公開
してみました。

--
とみたまさひろ <to...@tmtm.org>
3469 42CC 4D32 F53C AD98 65A5 8C37 FF09 69C1 6040

FURUHASHI Sadayuki

unread,
Jun 1, 2010, 2:31:16 PM6/1/10
to kumo...@googlegroups.com
こんにちは。古橋です。

> kumofs のストレージ API についてまとめてみました。
> http://d.hatena.ne.jp/tmtms/20100530/1275215591

ブログ拝見しました。すばらしい!!
内容はとても正確です。一部だけ補足します:

・iterator_release_key
これはメモリ管理に関する関数です。キーのメモリを管理する権限を、イテレータオブジェクト(iterator_data)からmsgpack_zoneに移動させます。つまり、この関数が呼ばれなければイテレータオブジェクトはキーを解放しなければなりませんが、呼ばれたら解放してはいけません。代わりにmsgpack_zoneに解放させます。msgpack_zoneに解放させる方法はgetと同じで、msgpack_zone_push_finalizerを使って登録します。

・iterator_release_val
iterator_release_keyと同じで、キーではなくて値です。

ストレージを実装する上でのポイントは、どの関数も並行して(マルチスレッドで)呼ばれる点です。そこがkumofs(+Tokyo Cabinet)の速さ(並列性の高さ)のポイントでもあるのですが、実装は結構大変かもしれません。
何かご質問があれば、ぜひ気軽にポストしてください。

--
筑波大学 システム情報工学研究科
古橋 貞之
frs...@users.sourceforge.jp
http://d.hatena.ne.jp/viver/

とみたまさひろ

unread,
Jun 3, 2010, 6:00:41 PM6/3/10
to kumo...@googlegroups.com
とみたです。

On Wed, 2 Jun 2010 03:31:16 +0900
FURUHASHI Sadayuki <frs...@gmail.com> wrote:

> 内容はとても正確です。一部だけ補足します:
>
> ・iterator_release_key
> これはメモリ管理に関する関数です。キーのメモリを管理する権限を、イテ
> レータオブジェクト(iterator_data)からmsgpack_zoneに移動させます。つ
> まり、この関数が呼ばれなければイテレータオブジェクトはキーを解放しな
> ければなりませんが、呼ばれたら解放してはいけません。代わりに
> msgpack_zoneに解放させます。msgpack_zoneに解放させる方法はgetと同じで、
> msgpack_zone_push_finalizerを使って登録します。

> ・iterator_release_val
> iterator_release_keyと同じで、キーではなくて値です。

ありがとうございます。

なんとなくそんな感じなのかな…とは思っていたのですが、いまいち確証が持
てませんでした。

kumofs-0.4.5 のソースで、この iterator_release_{key,val} を使用している
箇所を探してみたのですが、Storate::iterator::release_{key,val} から呼ん
でいることはわかったのですが、Storate::iterator::release_{key,val} を呼
んでいるところが見つかりませんでした。実際には使用されていないのでしょ
うか。

# それか単に私が見落としているだけなのかも…

Reply all
Reply to author
Forward
0 new messages