キャッシュの使用モデルについて

キャッシュ使用モデルを使用すると、ワークフローを高速化するために Azure HPC Cache でファイルを格納する方法をカスタマイズできます。

基本的なファイル キャッシュの概念

ファイル キャッシュは、Azure HPC Cache がクライアント要求を高速化する方法です。 次の基本的なプラクティスを使用します。

  • 読み取りキャッシュ - Azure HPC Cache は、クライアントがストレージ システムから要求するファイルのコピーを保持します。 クライアントが次に同じファイルを要求すると、HPC Cache は、バックエンド ストレージ システムからファイルを再度フェッチする必要なく、そのキャッシュにバージョンを提供できます。 書き込み要求はバックエンド ストレージ システムに渡されます。

  • 書き込みキャッシュ - 必要に応じて、Azure HPC Cache は、クライアント コンピューターから送信された変更されたファイルのコピーを格納できます。 複数のクライアントが短期間に同じファイルに変更を加えた場合、キャッシュは、各変更をバックエンド ストレージ システムに個別に書き込む必要なく、キャッシュ内のすべての変更を収集できます。 変更なしで指定した時間が経過すると、キャッシュはファイルを長期ストレージ システムに移動します。

  • 検証タイマー - 検証タイマー設定は、キャッシュがファイルのローカル コピーとバックエンド ストレージ システム上のリモート バージョンを比較する頻度を決定します。 バックエンド コピーがキャッシュされたコピーよりも新しい場合、キャッシュはリモート コピーをフェッチし、将来の要求のために格納します。

    検証タイマー設定は、キャッシュがファイルをリモート ストレージ内のソース ファイルと 自動的に 比較するタイミングを示します。 ただし、readdirplus 要求を含むディレクトリ操作を実行することで、Azure HPC Cache でファイルの比較を強制できます。 readdirplus は、ディレクトリ メタデータを返す標準的な NFS API です (拡張読み取りとも呼ばれます)。これにより、キャッシュでファイルが比較され更新されます。

  • 書き戻しタイマー - 読み取り/書き込みキャッシュを使用するキャッシュの場合、書き戻しタイマーは、変更されたファイルをバックエンド ストレージ システムにコピーする前にキャッシュが待機する最大時間 (秒単位) です。

Azure HPC Cache に組み込まれている使用モデルには、状況に最適な組み合わせを選択できるように、これらの設定に異なる値があります。

ワークフローに適した使用モデルを選択する

使用する NFS プロトコル ストレージ ターゲットごとに使用モデルを選択する必要があります。 Azure Blob Storage ターゲットには、カスタマイズできない組み込みの使用モデルがあります。

HPC Cache の使用モデルを使用すると、高速応答と古いデータを取得するリスクのバランスを取る方法を選択できます。 ファイルの読み取り速度を最適化する場合、キャッシュ内のファイルがバックエンド ファイルと照合されるかどうかは重要でないかもしれません。 一方、リモート ストレージでファイルが常に最新であることを確認する場合は、モデルを選択し、確認タイマーを低い数値に設定して頻繁に確認します。

使用モデルのオプションを次に示します。

  • 読み取り専用キャッシュ - ファイルへの読み取りアクセスを高速化する場合は、このオプションを使用します。 ワークフローに 0% ~ 5%などの最小限の書き込み操作が含まれる場合は、このオプションを選択します。

    このオプションは、クライアントの読み取りをキャッシュしますが、書き込みをキャッシュしません。 バックエンド ストレージにパススルーを書き込みます。

    キャッシュに格納されているファイルが NFS ストレージ ボリューム上のファイルと自動的に比較されることはありません (手動で比較する方法については、上記の検証タイマーの説明を参照してください)。

    [読み取り専用キャッシュ] オプションを選択すると、検証タイマーを変更できます。 既定値は 30 秒です。 値は、1 ~ 31536000 秒 (1 年を含む) の整数 (小数点以下なし) である必要があります。

  • 読み取り/書き込みキャッシュ - このオプションは、読み取り操作と書き込み操作の両方をキャッシュします。 このオプションを使用する場合、ほとんどのクライアントは、バックエンド ストレージを直接マウントするのではなく、Azure HPC Cache を介してファイルにアクセスすることが期待されます。 キャッシュされたファイルには、バックエンドにまだコピーされていない最近の変更が含まれます。

    この使用モデルでは、キャッシュ内のファイルは、既定で 8 時間ごとにバックエンド ストレージ上のファイルに対してのみチェックされます。 キャッシュされたバージョンのファイルは、より新しいと見なされます。 キャッシュ内の変更されたファイルは、既定で 1 時間キャッシュに入った後、バックエンド ストレージ システムに書き込まれます。

    読み取り/書き込みキャッシュ オプションを選択すると、検証タイマーと書き戻しタイマーの両方を変更できます。 検証タイマーの既定値は 28,800 秒 (8 時間) です。 値は、1 から 31536000 までの整数 (小数点以下なし) である必要があります。 ライトバック タイマーの既定値は 3600 秒 (1 時間) です。 値は、1 ~ 31536000 秒 (1 年を含む) の整数 (小数点以下なし) である必要があります。

次の表は、使用モデルの違いをまとめたものです。

使用モデル キャッシュ モード 検証タイマー 書き戻しタイマー
読み取り専用キャッシュ Read 30 秒 なし
読み取り/書き込みキャッシュ 読み取り/書き込み 8 時間 1 時間

Warnung

使用モデルを変更すると、サービスの中断が発生します。 使用モデルの移行中は、HPC Cache クライアントは応答を受信しません。 使用モデルを変更する必要がある場合は、クライアントの中断を防ぐために、スケジュールされたメンテナンス期間中に変更を行うことをお勧めします。

Azure HPC Cache ワークフローに最適な使用モデルに関する質問がある場合は、Azure の担当者にお問い合わせください。または、サポート リクエストを開いてヘルプを確認してください。

Tip

キャッシュの内容全体を書き込まずに、特定の個々のファイルをストレージ ターゲットに書き戻すユーティリティを使用できます。 Flush_file.py スクリプトの詳細については、「 Azure HPC Cache でのファイルライトバックのカスタマイズ」を参照してください。

次のステップ