Entries from 2008-05-20 to 1 day

64-bit OS におけるユーザーランドのメモリ空間 (もしくは mmap できる最大サイズ)

263 バイトとかじゃないので注意が必要。 OS 最大サイズ Windows 8TB*1 Linux (>=2.6.11) 128TB*2 Linux ( 512GB Solaris 10 250TB*3 Mac OS X は不明。mmap でファイル全体にランダムアクセスとか、ちょっと微妙かもしれないと思った。 *1:x86-64 - Wikiped…

Q4M は 64bit 向けに最適化してくことにするかな

Q4M のアクセスにあわせた File I/O の抽象化レイヤを書いて、64-bit 版はデフォルト mmap+msync を使うようにしようと思った。32-bit 版は mmap 使えないので、速度が向上しないかもしれないけど、それは以下の理由により気にしない方向で。 今後は 64-bit …

というわけで対策検討

ボトルネックはたぶん削除処理が直列化されて、1行毎に pwrite, そして fsync でまとめてコミット、というコードになっている点。fsync を呼出は MUST だから、並列化することはできないし、1行毎の pwrite をやめて削除処理をジャーナリングすることで、…

Q4M の並走度

Opteron 2218 x2 のマシンで。Idle が出ているということは、やっぱキューへのアクセスに関連する直列化がボトルネックなんよねという感じ。最適化かけないといけないですね。 top - 18:46:13 up 40 days, 2:15, 3 users, load average: 3.61, 3.50, 1.72 Ta…