新城@筑波大学情報です。こんにちは。
だいぶ深い話になってきました。

In article <030801044909.M0124098@ns.kobe1995.net>
        kaz@kobe1995.net (NAKAMURA Kazushi) writes:
> Write backな奴は、もうずっと以前から普通になっています。
> *BSD系は安全側にwrite throughで使っていたのですが、Linux
> は最初からwrite backがデフォルトで使っていて、ビデオキャプチャ
> なんかする時は、この違いによる速度差が出てました。

write back という用語がよく分からないのですが、これは、write 
しても、ディスク側のキャッシュに書くだけで、実際にはディスク
には書かれないという意味ですか。

共有メモリの一貫性なら、write-through/copy-back というのはい
いんだけど。ハードディスクなら、書き手は1つだから、back は
ないんじゃないかと。

メタデータというと、inodeと、ディレクトリのファイル名ですか。

In article <030729152839.M0123252@ns.kobe1995.net>
        kaz@kobe1995.net (NAKAMURA Kazushi) writes:
> 1.完全に整合が取れた状態。
> 2.メタデータは書かれているが、実体が書かれていない状態。
> 3.実体は書かれているが、メタデータは書かれていない状態。
> 4.メタデータも実体も、両方とも完全には書かれていない状態。
> と有って、1.は問題無いとして、2.の場合はfsck -p で実体の
> 無いファイルをメタデータから消去して、3.の場合はメタデータ
> を持たない実体をlost+foundに移して、ファイルシステムとして
> の整合性を保つことが可能です。4.の場合、ファイルを失う
> だけで済まず、ファイルシステムとしての整合性を失う可能性
> が存在します(Linuxで開発していると結構食らいます)。
> この可能性を無くしたのがSoftUpdateです。見たところ、単純に
> 実体を全部書いてから、メタデータを全部書いて、…というの
> ではなく、メタデータの指す先の実体とか、かなり細かく
> 書込タイミングの制御をしているようです。

タイミングを制御すると、遅くなることはあっても、速くなること
はないと思うんだけど。書込みのタイミングは、OSの上位層から
の要求の順番ではなくて、適当に入れ替えて、ヘッドの位置や回転
待ち時間を考慮して最適化した方が速いと思うんです。それを、
OSの上位層の指示の順番に従えば、最適化ができなくて遅くなる
んじゃないですか。

> そんな訳で、ファイルシステムとして整合性が必ず取れることが
> 保証されるだけで、ファイルを失う可能性は残るので、ジャー
> ナリング一切不要とは思いません。しかも、失うファイルの書込
> タイミングも分からないし。

fsck が速くなるというのは、わかりますけど。

http://www.mckusick.com/softdep/index.html
------------------------------------------------------------
Traditionally, filesystem consistency has been maintained
across system failures either by using synchronous writes to
sequence dependent metadata updates or by using write-ahead
logging to atomically group them. Soft updates, an
alternative to these approaches, is an implementation
mechanism that tracks and enforces metadata update
dependencies to ensure that the disk image is always kept
consistent. The use of soft updates obviates the need for a
separate log or for most synchronous writes. Indeed, the
ability of soft updates to aggregate many operations
                           ^^^^^^^^^
previously done individually and synchronously reduces the
number of disk writes by 40 to 70% for file-intensive
environments (e.g., program development, mail servers,
etc.). In addition to performance enhancement, soft updates
can also maintain better disk consistency. By ensuring that
the only inconsistencies are unclaimed blocks or inodes,
soft updates can eliminate the need to run a filesystem
check program after every system crash. Instead, the system
is brought up immediately.
------------------------------------------------------------

aggregate の所がよくわからないんだけど、

    consistency が取れるなら write するけれど、consistency が取
    れないなら、write しないで溜める。

という意味ですか。

いくら溜めても、メモリが無くなれば最後は write するしかいな
ので、平均的には特かもしれないけれど、極限状態だと危ないこと
もあるんじゃないかなあ。

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報       \\