HTreeとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > HTreeの意味・解説 

HTree

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/10/11 15:52 UTC 版)

HTree はLinuxのファイルシステムで使われている、B木に似た木構造を用いたディレクトリインデックスである。HTreeの深さは1種か2種の値で一定であり、ファン・アウト数が大きいのが特徴である。ファイル名ハッシュを用いる構造であり、平衡を取る必要はない[1]。単に、標準的なB木のアルゴリズムを応用すると、ハッシュの衝突が生じた場合に、複数の葉ノードとインデックスブロックがオーバーフローを生じるため、HTreeではその対処を行っている。HTreeを用いたインデックスは、Linuxファイルシステムであるext3ext4で用いられ、Linuxカーネル 2.5.40 に組み込まれている[2]。HTreeのインデックスはLinux ext2 ベースのファイルシステムが数千ファイルで実質的に制限されていた問題を、ディレクトリごとに数千万ファイルを扱える程に改善した。

歴史

HTreeによるインデックスのデータ構造とアルゴリズムは2000年に Daniel Phillips によって開発され、2001年2月に ext2 ファイルシステム用に実装された。2002年には、Christopher LiとAndrew Mortonがジャーナリングファイルシステムをベースとした衝突一貫性を、2.5系のカーネルのext3ファイルシステムへのポートに追加した。 さらに軽微な改良が加えられ、HTreeはLinux 3.x.xカーネルシリーズのext4で引き続き使用されている。

使用例

  • ext2 HTreeインデックスはもともと ext2 用に開発されたが、結局パッチは公式ブランチには作られなかった。dir_index機能は、ext2ファイルシステムを作成するときに有効にできる一方で、ext2コードはext2ファイルシステムでは動作しません。
  • ext3 HTreeインデックスは、dir_index機能が有効な場合にext3で利用可能である。
  • ext4 HTreeインデックスはext4ではデフォルトで有効になっている。この機能は、Linuxカーネル2.6.23で実装された。HTreeインデックスは、ファイルがInodeに格納されている5つ以上のエクステントを必要とする場合、ファイルエクステントにも使用されます。

PHTree

PHTree (Physically stable HTree) は、HTreeの後継として開発された[3]。Write multiplication以外のHTreeの既知の問題をすべて修正したHTreeである。PHTreeはTux3ファイルシステムで使用されている[4]

出典

  1. ^ Mingming Cao. “Directory indexing”. Features found in Linux 2.6. 2018年2月4日閲覧。
  2. ^ tytso@mit.edu. “Add ext3 indexed directory (htree) support”. 2018年2月4日閲覧。
  3. ^ http://phunq.net/pipermail/tux3/2013-January/000026.html[信頼性要検証]
  4. ^ Archived copy”. 2015年1月13日時点のオリジナルよりアーカイブ。2014年12月28日閲覧。

外部リンク


H木

(HTree から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/10/30 05:39 UTC 版)

10ステップ目まで描画したHツリー

H木、H treeまたはH-Tree はフラクタル図形の1つであり、直線の両端に、その長さの1/√2の長さの垂線を追加し続けることによって構成される図形である。繰り返しパターンがアルファベットの "H" に似ているため、H木と呼ばれる。ハウスドルフ次元は2であり、矩形内の任意の点に対し、十分近いH木上の点が存在する。任意のステップにおいて、中心から端点までの距離がすべて等しい性質を利用し、VLSI設計とマイクロ波工学で用いられている。

構成

H木は、任意の長さの線分を元に、「その線分の両端に垂直な1/√2の長さの2本の線分を追加する」という処理を繰り返すことで構成できる[1]

また、白銀比である1:√2の長方形から開始し、長辺を2等分し、その重心を直線で結ぶという処理でも構築できる。1:√2 = √2/2:1であるため、分割された長方形もまた白銀比の長方形である。他の比で表される長方形でも同様の処理は可能であるが、白銀比でない長方形では、奇数ステップと偶数ステップでは重心間の距離の比が一定ではない。

性質

H木は自己相似図形(フラクタル図形)であり、そのハウスドルフ次元は2である[2]

矩形(白銀比の長方形)内の任意の点に対し、十分近いH木上の点が存在する。しかし、全ての点が「含まれる」わけではなく、例えば1ステップ目の線分に対する垂直二等分線はH木に含まれない。

応用

VLSIの設計において、H木は木のノード数に比例する面積を使用する、完全二分木のレイアウトとして用いられる[3]。また、H木の形は長方形内に効率的にグラフを描画可能であり[4]、巡回セールスマン問題の距離の自乗和が大きくなる点の集合としても用いられる[5]

H木は全てのノードまでの距離が等しいため、中央に発振子を置き、葉ノードの位置に素子を置くことで、クロックの伝播遅延を揃えることができる[6]。そして、VLSIマルチプロセッサの相互接続ネットワークとしても用いられる[7]。同様の理由で、H木は各マイクロストリップアンテナが受信した信号の伝播遅延を揃えることができるため、マイクロストリップアンテナアレイに用いられる。

これまで述べたような2次元平面上のH木は、H木の平面に対して垂直な方向に線分を加えるように変更することで、3次元構造へと一般化することが可能である[8]。この処理により構成される3次元H木は、ハウスドルフ次元が3である。2次元H木と3次元H木は、フォトニック結晶メタマテリアルにおいて artificial electromagnetic atoms を構成することが知られており、マイクロ波工学において潜在的な用途を有する可能性がある。

関連する集合

H木はフラクタルキャノピーの1つであり、隣接する線分間の角度は常に180度である。矩形内の任意の点に対して十分近づくという性質を持つため、「曲線」ではないが、空間充填曲線に似ている。

位相幾何学的には、H木にはデンドロイドと同様の性質があるといえる。しかし、デンドロイドは閉集合である必要があるため、閉集合ではないH木はデンドロイドではない。

マンデルブロ木は、より自然な見た目を生成するために、H木の位置から僅かにずれた位置に、線分の代わりに長方形を使用するフラクタル図形である。長方形同士が重ならないようにするために、スケールを1/√2より小さくする必要がある[9]

脚注

参考文献

参考図書

  • Kabai, S. (2002), Mathematical Graphics I: Lessons in Computer Graphics Using Mathematica, Püspökladány, Hungary: Uniconstant, p. 231 .
  • Lauwerier, H. (1991), Fractals: Endlessly Repeated Geometric Figures, Princeton, NJ: Princeton University Press, pp. 1–2 .

外部リンク




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「HTree」の関連用語

HTreeのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HTreeのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのHTree (改訂履歴)、H木 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS