要約
- IESGが承認したNFSv4.2草案は、対応クライアントに長期のデータキャッシュを抑制させるファイル単位の真偽値を定めた。ただし実装は必須ではなく、属性は助言的である。
trueという値だけでは、既存のOPENが方式を変えたこと、不安定WRITEがCOMMITされたこと、pNFSのメタデータが可視になったこと、別のアプリケーションが新しいバイトを読んだことは証明できない。
サーバーは今後、「このファイルは通常のクライアントデータキャッシュに向かない」という判断をプロトコル上で表現できる。並行書き込みが多いHPC環境では、各アプリケーションを個別に改修して O_DIRECT に似た動作を求めるより扱いやすい。
しかし、宣言しただけでキャッシュが消えるわけではない。
IESGは9月17日、Adding an Uncacheable File Data Attribute to NFSv4.2 を承認し、RFC Editorの処理列へ送った。第16版は fattr4_uncacheable_file_data を属性87として定義する。通常ファイルと名前付き属性に使う、読み書き可能な真偽値だ。NFSの分類では RECOMMENDED だが、全サーバーに実装義務があるという意味ではない。
対応状況はサーバー全体ではなく、エクスポートされたファイルシステムごとに決まる。同じ機械上の別エクスポートが異なる結果を返してもよい。クライアントは supported_attrs を確認するか、実際に試す。非対応の SETATTR は NFS4ERR_ATTRNOTSUPP になるが、GETATTR はそのフィールドを省くだけだ。「値がない」を即座に異常扱いすることはできない。
真の値に従うクライアントは、複数の操作をまとめたり効率を上げたりする目的でWRITE送信を遅らせてはならない。狙いは具体的だ。複数クライアントが同じブロック内の別々の範囲を書き換えると、一方が古いブロックを基にread-modify-writeを行い、他方の更新を上書きする恐れがある。速やかな送信は、このwrite holeの機会を狭める。
永続化は別の証拠である。この属性は stable_how4 を選ばない。草案は、アプリケーションのwrite呼び出しが成功して戻る時点でデータがサーバー上に永続化されている、という不変条件を置く。FILE_SYNC4 または DATA_SYNC4 を使える。UNSTABLE4 を使うなら、アプリケーションへ戻る前に COMMIT を完了し、write verifierが変わっていればバッファが残るうちに対象WRITEを再送する。
この処理のために一時的にバイトを保持することは、抑制対象の長期キャッシュではない。逆に、属性を立てても欠けた COMMIT は補えない。キャッシュ不可はデータ保持方針であって、永続化済みの受領書ではない。
読み取りの可視性にも条件がある。読んだデータを残すクライアントは、change属性とファイルサイズを再検証してから再利用すべきだ。delegationが別の方法で整合したビューを与える場合もある。pNFSでは属性をメタデータサーバーから得る一方、データはストレージ装置へ直接流れ得る。装置上での永続化と、layoutメタデータを通じた他クライアントからの可視化は別々の出来事だ。必要な LAYOUTCOMMIT が遅れれば、別クライアントは古いメタデータを検証し続ける。
時間軸も一ビットの説明を崩す。ファイルを開いた後に属性が変わっても、クライアントはそのOPENで選んだキャッシュ方式を、開いている間は続けてよい。属性キャッシュの期限、再検証、次のOPENが反映の遅れを区切る。今日の true は、昨日から開かれている全ファイルの挙動を表さない。
権限も増えない。誰が属性を設定または解除できるかは、既存のサーバーポリシーと認可が決める。草案は認証を追加せず、アクセス制御を変えず、セキュリティ境界も作らない。既存のキャッシュ整合性と完全性保護は引き続き独立した役割を持つ。
第16版はHammerspaceサーバーとLinuxクライアントのプロトタイプ、そして適切なI/Oで観測された利点を記載する。これは実行可能性の証拠であって、広い普及、既定有効化、製品間相互運用、常時の性能向上ではない。実際のクライアントが属性に従ったか、設定前後でワークロードがどう変わったかを運用で測る必要がある。
したがって台帳には、仕様版、エクスポートの対応、サーバーポリシー、特定クライアントが読んだ値、OPEN時点、実装と版、WRITEの安定性、verifierと COMMIT、必要な LAYOUTCOMMIT、読み取り再検証、アプリケーションの結果を分けて残すべきだ。真偽値は証拠の入口であり、結論ではない。
情報源
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加

