【レポート】
10月18、19日の2日間、フランスのストラスブールにおいて「EuroBSDCon 2008」が開催された。本誌では、同カンファレンスの中から特に興味深いセッションをピックアップしてお伝えしていこう。
Google Summer of Codeに採択されたプロジェクト"Dynamic memory allocation for dirhash in UFS2"の担当者であるNick Barkas氏の発表がEuroBSDCon 2008において行われた。なお、Nick Barkas氏の取り組みは、FreeBSD's Fourth Google Summer of Codeにおいて、米Google, Murray Stokely氏によりFreeBSD SoCの結果の中で重要なものとして紹介されている。
Nick Barkas氏の取り組みは、FreeBSD UFS2で実装されているDirhash機能の問題点を洗い出し、最大Dirhashメモリ容量をダイナミックに確保できるようにしようというものだ。動的にメモリの確保と開放を実現することで固定的にメモリを消費することなく、Dirhashの恩恵を最大まで高めようというのが開発の主目的だ。
結論からいえば、同氏が取り組んだ開発は半分成功で残りは未達成だ。FreeBSDの枠組みを使って機能の実装はできたものの、性能の向上にはつながっていないか、または性能が向上しているかどうかのベンチマーク試験が不十分なところで止まっている。しかしアイディアとフューチャーワークは興味深いもので、今後の取り組みやチューニングによってはFreeBSDの性能を引き上げることにつながるかもしれない。
ここでは、発表内容からどういった取り組みが行われたかを紹介する。
Dirhashは大規模ディレクトリにおけるファイルの作成や削除といった操作を劇的に高速化するための機能。FreeBSD 5.2から導入されており、UFS2のフォーマットを変更することなくメモリ上にデータを読み込むことで実現されている。
UFS2のディレクトリはinodeにストアされている。ディレクトリinodeはディレクトリチャンクを指し示しており、ディレクトリチャンクはinodeとファイル名のリストになっている。名前からファイルを検索しようとした場合、ディレクトリごとに線形検索が発生することになる。要するにディレクトリ以下のファイルやディレクトリの数が増えると、線形に一致処理を走らせていくため、それだけ名前での検索に時間がかかるようになるというわけだ。これをメモリ上にハッシュとして保持することで高速に検索できるようにしたものがDirhashだ。
VFSネームキャッシュとDirhashとはいわばファイルに対するキャッシュ機能とディレクトリに対するキャッシュ機能ということになる。VFSは名前のルックアップをキャッシュするもので、ディレクトリそのものの操作はキャッシュしない。一方Dirhashはディレクトリにおける名前そのものをキャッシュする。この2つのキャッシュ機能がUFS2の高速化機能で重要な役割を果たしている。
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
[北島三郎]「目立たなきゃだめ」と話題の“オオカミバンド”を激励 [12:30 2/11] ホビー |
|
目的は一体!? 肥前夢街道に現るバッジ売りの少猫(佐賀県) [12:08 2/11] キャリア |
|
つらい花粉症は対策グッズで乗り切ろう! [12:07 2/11] キャリア |
|
【アジア発!Breaking News】マンションの排水口で銃の試し打ち。階下水漏れで、銃器所持の男らを逮捕。(台湾) [12:07 2/11] キャリア |
|
【エンタがビタミン♪】『逆転裁判』の斎藤工、“ラー油入り手作りチョコ”で女性不信に。 [12:07 2/11] キャリア |