Color Modes

分散ピクセルキャッシュ

分散ピクセルキャッシュは、単一のホストで利用可能な従来のピクセルキャッシュの拡張です。分散ピクセルキャッシュは、サイズやトランザクション容量を拡大し、非常に大きな画像や大きな画像シーケンスをサポートできるように、複数のサーバーにまたがる可能性があります。1つまたは複数のホストでピクセルキャッシュサーバーを起動します。画像を読み取ったり操作したりして、ローカルのピクセルキャッシュリソースが不足すると、ImageMagickはこれらのリモートピクセルサーバーの1つまたは複数に接続してピクセルを格納または取得します。

本当に大きな画像や大きな画像シーケンス、またはホスト上のリソースが限られている場合、1つまたは複数のリモートホスト上の分散ピクセルキャッシュを利用できます。開始するには、最初にセキュリティポリシー構成ファイル policy.xml で共有シークレットを設定します


<policy domain="cache" name="shared-secret" value="passphrase" stealth="true"/> 

ここで、2つの分散ピクセルキャッシュを作成し、デスクトップからそれらを利用します

magick -distribute-cache 6668 &  # start on 192.168.100.50
magick -distribute-cache 6668 &  # start on 192.168.100.51
magick -limit memory 1GiB -limit map 2GiB -limit disk 4GiB \
  -define registry:cache:hosts=192.168.100.50:6668,192.168.100.51:6668 \
  myhugeimage.jpg -sharpen 5x2 myhugeimage.png 

大きな画像シーケンスの場合、サーバーにラウンドロビン方式で連絡して、負荷を複数の分散ピクセルキャッシュに分散します(単一のホストではなくホストリストがあることを想定しています)。この例では、-limit オプションで定義されたように、デスクトップでいくらか控えめなリソースが利用できます。小さな画像の場合、指定された制限までデスクトップに割り当てられます。

ネットワークを介してクライアントとサーバー間でピクセルをシャッフルするため、分散ピクセルキャッシュを使用している場合は、画像処理タスクが遅くなる可能性があります。仮想ピクセルにアクセスするアルゴリズム(例: -sharpen)は、本物のピクセルだけにアクセスするアルゴリズム(例: -negate)よりも大幅にネットワークトラフィックが増加するため、3倍も遅くなります。

クライアントは、互換性のある分散ピクセルキャッシュサーバーにしか接続できません。互換性を持たせるには、ImageMagickライブラリインターフェイス、量子深度、HDRIステータス、OSのワードサイズ、エンディアン、パスフレーズが同じである必要があります。分散ピクセルキャッシュは、これらの属性をチェックし、これらの要件が満たされない場合は例外をスローします。