この記事では、Intel および ARM (Graviton) アーキテクチャの通常とは異なるバックアップ アプリケーションで遭遇した計算集約型コンポーネントの効率性をベンチマークしています。 効率性と費用対効果の面での結果は明らかになりつつあります。これは、サードパーティのハッシュと暗号化ライブラリのほとんどが主に Intel 向けに最適化され、もはや ARM 向けではないことが予想されるためです.
私たちが気にする理由
セキュリティと有効性 (ストレージの時代遅れ、ネットワーク転送) を強化し、コストを削減するには、Corso Microsoft 365 用の無料のオープンソース バックアップ ユーティリティである は、内部で暗号化と重複排除を採用しています。 セキュリティの観点からは、これにより、クラウド プロバイダーと並んで 3 分の 1 が集まり、記録を教えられることがなくなります。 有効性の観点から、記録の複製コピーが保存されたり、クラウド プロバイダーに転送されたりすることはありません。 そのため、意図せずに OneDrive にファイルが重複していたり、同一のファイルや電子メールが複数のバックアップに表示されたりした場合、記録の最も細かい 1 つのレプリカがクラウド内に保存されているように見え、常に最も細かいものを 1 回転送する必要があります。
ベンチマークからのポイントは次のとおりです:
全体として、ARM は、バックアップ アプリケーションに必要なレコード集約型のタスクで Intel よりも優れており、その変動は、おそらく次のように過剰になる可能性があります。 350%.
ARM は、単一スレッドのワークロードよりも、さらに並列化できるレコード集約型の処理に適しています
ARM のコストが低いほど、その利点がさらに広がります。ドルが使われるたびにスループットを増やすことに集中するリスクがあります
ARM は、レコード集約型の重複排除パイプラインの一部の構成要素には理想的ではありませんでしたが、総選択はより大きくなっています
私たちのベンチマークは、これらのため息に対するARMの有効性を驚くほど示唆しています。コンピューティング時間があなたの雇用の不可欠な部分である場合、私たちはあなたが受け取るベンチマークを失うことを避けるためにあなたを支援します. さまざまな結果が得られた場合は、ぜひお知らせください。 Discordの半分になって会話を続けてください
結果が見た目と同じくらい似ている可能性があるという確信を失わないようにするために、 us-east-1 の AWS で実行されている Intel および ARM VM。 これらはプログラムの構成です:
建築
インテル |
m6i.xlarge
4 16 $0.154 実験このレコードデータ パイプラインに完全に基づいて、測定値を 5 つのさまざまな要素に損傷します。上記のジョブのさまざまな成分をマイクロベンチマークします。 マイクロベンチマーク未満のすべてについて、内部ベンチマークの並列処理を 1、4、および 8 つの並列ゴルーチンの間でさらに変化させました。
分割: Buzhash vs. Rabin-Karp アルゴリズム圧縮: deflate、S2 の各種バリアント、lz4、zstd、gzip、および pgzipハッシュ: さまざまな BLAKE および HMAC-SHA バリアント 暗号化: AES256-GCM および ChaCha20-Poly1305 )Hashing + Encryption: 上記の暗号化アルゴリズムとハッシュ アルゴリズムの組み合わせ
ARM vs.インテル効率の結果
スムーズな結果の膨大な数 (372 の決定された効率レコード ポイントがあります!) を考えると、スムーズな結果のサブセットを提示することで、最高の柔軟性が得られます。分割、圧縮、ハッシュと暗号化の組み合わせのマイクロベンチマーク s.
これらの結果の中で、並列処理が 8 までの数値を処理する柔軟性があり、MiB/秒で測定されたスループット数値 (大きいほど良い) を常に格納する必要があります。 より単純な視覚化のために、ARM と Intel のスループットを評価して、相対的な効率をさらに元に戻します。 よりモデルに完全な比較を行うために、モデルで調整された相対効率を元に戻すことで、同一のドルで仕事をする立場にある MiB/秒がどれだけ多いかを垣間見ることができます.
一方ここにリストされている証明された意味は、簡潔にするために切り詰められています。
最初に、ローリング ハッシュ関数を使用する、レコード重複排除の重要なセグメントである分割を見てみましょう。 他の領域にはもっと多くのレコードが手元にある可能性がありますが、ローリング ハッシュは、レコードのスライディング ウィンドウで動作するハッシュ機能の形式であり、ジョブを実行することなく、レコードの特定のチャンクのハッシュ コストを効率的に計算できます。総データセット。 これにより、Corso と Kopia が同一レコードのさまざまなチャンクのハッシュ値を迅速に評価できるようになるため、重複排除で推定できます。データセット.
ブロックの規模とデータセットを分割するための古いアルゴリズムは、重複排除のプロットと有効性に影響を与えるため、重複排除に不可欠な懸念事項です。 これらの結果について、Buzhash と Rabin-Karp アルゴリズムの効率をブロック サイズ 1MiB、2MiB で評価します。 4MiB、8MiB.

私たちはその影響を垣間見ることができる立場にあるので、Buzhash はすべてのブロックサイズで Rabin-Karp よりも早いです。 さらに、Buzhash の場合、ARM は Intel よりも 150% 早く、1 ドルあたりのモデル調整ベースで 190% 高速です。
ここでは示されていませんが、並列処理により1 のうち、ARM での分割は、Buzhash と Rabin-Karp でそれぞれ Intel の効率の最高の 60% と 80% でした。 これは、ARM がシングルスレッド アプリケーションにとって悪名高い違いになる危険性があることを示しています。
圧縮
バックアップについては、可逆圧縮アルゴリズムを使用することに細心の注意を払っています。 圧縮アルゴリズムの必要性は、レコードの次元、計算効率、およびレートを削減する際の有効性と同様に、さまざまなトレードオフによって押し進められます。 一部のアルゴリズムは、レコードの次元を削減するのに優れていますが、さらに多くの計算リソースを必要とする可能性がありますが、他のアルゴリズムはファイルの次元を削減するのにそれほど優れていませんが、構築するのにはるかに早くなります。 この実験では、圧縮アルゴリズムは、ランダムなレコードから生成され、もはや圧縮できなかった大量のファイル (100MiB) に適用されました。
上記の絶対効率と相対効率の結果をじっと見つめると、ARM 上のさまざまな圧縮アルゴリズムの効率が、最悪の場合でも Intel とまったく同じ (90% 以上) であることがわかります (
gzip)) 以上300% 向上 (s2-パラレル-4
))。 適応は、モデル調整ベースでさらに顕著であり、セーブ ARM は、1 ドル当たりベースで Intel よりも 380% 改善されています.
ここでは示されていませんが、常にそれ以外の場合は、並列度が 1 の場合、ARM での圧縮が一部の圧縮アルゴリズムで遅くなることはよく知られています (
gzip , zstd) および一部のバリアント ( deflate-finest-compression, pgzip-finest-compression ))。 これは、マルチスレッド アプリケーションで時代遅れになったときの ARM のエネルギーと、ワークロードをベンチマークする必要性を強調するものです。ハッシュ+暗号化2つの重要な成分が残っていますCorso と Kopia の重複排除記録コースを合計します。 レコードのなじみのないキー (ハッシュ) は、同一のレコード チャンクを比較するために生成する必要があり、ここでは ブレイク
ハッシュ アルゴリズムまたは SHA HMAC を使用したハッシュ アルゴリズム。 HMAC (Keyed-Hash Message Authentication Code) は、秘密鍵と組み合わせて暗号化ハッシュ機能を利用します。 このキーは、ハッシュされているレコードを認証するには古くなっています。改ざんされていないことを確認するために、後でさらに古くなっている可能性があります。 次に、レコードは暗号化アルゴリズムを使用してさらに暗号化されます (たとえば、AES256-GCM また
ChaCha20-Poly1305 ).この実験では、さまざまなハッシュと暗号化アルゴリズムの組み合わせをベンチマークしましたが、最高のオリジナル
SHA 変異体HMAC の結果はこちら。 合計 ブレイク ARM 上のバリアントは Intel を大幅に下回りました (Intel の効率の 20 ~ 80% の間)。 基礎となるライブラリは古くなっており、反対にARMのため息の最適化は最適化されています AVX2/SSE4.1 を使用した Intel プラットフォームの zations.
アンダーの結果については、チャート ビルドの最初のセグメントは古いハッシュ アルゴリズム (HMAC はすべての SHA バリアントで古い) であり、2 番目のセグメントは古いものです。セグメントは暗号化アルゴリズムです.

上記のように、 ARM での 8 の並列処理、ハッシングおよび暗号化は、絶対ベースで Intel を決して下回らず、モデル調整ベースで常に優れています。 ため息をつくと、ARM は Intel プロセッサを絶対ベースで 350%、モデル調整ベースで最大 440% 大幅に上回ることができます
ハッシュと暗号化の結果を分けた後、 HMAC-SHA-256
バリアントは、ARM で最大 700% (絶対)/870% (モデル調整) まで早くなりました。 非互換では、AES-256
ARM での暗号化スループットは、8 の並列処理で Intel の 90% という最高の値ですが、調整されたモデルでは、同じコストで 120% 多いレコードを処理しますが、ChaCha20-Poly1305 の効率は 40% (絶対) Intel の 50% (モデル調整済み)。 それ以外の場合は、ハッシングでかなり多くの作業が実行されることを考えると、結合された作業が糸に取り込まれると、バリエーションは消えます.ここでは示されていませんが、他のすべて悪名高いのは、並列度が 1 の場合、ARM でのハッシュと暗号化は を使用すると遅くなった) SHA3 ハッシュ用の HMAC バリアントですが、ARM は 4 以上の並列処理で優れたパフォーマンスを発揮し始めます。 これは、マルチスレッド アプリケーションへの ARM の適用可能性を強調するものです。
上記の結果は、一見、効率と価値の最適化のヤーンに関するレコード処理オタクにとって、ARM が構造としていかに魅力的であるかを示しています。 この進歩は、ベンチマーク用の古い ARM プラットフォーム (AWS Graviton) でのハードウェア アクセラレーションと、ユーティリティで古いライブラリ内の追加の最適化の結果です。 これらの項目は、場合によっては永続的に変化する可能性もありますが、バックアップ ユーティリティの進歩と顧客にとっての利点については憤慨しています.記録、または将来のベンチマークについて議論したい場合は、Discord で私たちの半分になるか、Twitter で会話を始めましょう。 皆様からのご連絡をお待ちしております!
𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺
暗号化: AES256-GCM および ChaCha20-Poly1305 )Hashing + Encryption: 上記の暗号化アルゴリズムとハッシュ アルゴリズムの組み合わせ
ARM vs.インテル効率の結果
スムーズな結果の膨大な数 (372 の決定された効率レコード ポイントがあります!) を考えると、スムーズな結果のサブセットを提示することで、最高の柔軟性が得られます。分割、圧縮、ハッシュと暗号化の組み合わせのマイクロベンチマーク s.
これらの結果の中で、並列処理が 8 までの数値を処理する柔軟性があり、MiB/秒で測定されたスループット数値 (大きいほど良い) を常に格納する必要があります。 より単純な視覚化のために、ARM と Intel のスループットを評価して、相対的な効率をさらに元に戻します。 よりモデルに完全な比較を行うために、モデルで調整された相対効率を元に戻すことで、同一のドルで仕事をする立場にある MiB/秒がどれだけ多いかを垣間見ることができます.
一方ここにリストされている証明された意味は、簡潔にするために切り詰められています。
最初に、ローリング ハッシュ関数を使用する、レコード重複排除の重要なセグメントである分割を見てみましょう。 他の領域にはもっと多くのレコードが手元にある可能性がありますが、ローリング ハッシュは、レコードのスライディング ウィンドウで動作するハッシュ機能の形式であり、ジョブを実行することなく、レコードの特定のチャンクのハッシュ コストを効率的に計算できます。総データセット。 これにより、Corso と Kopia が同一レコードのさまざまなチャンクのハッシュ値を迅速に評価できるようになるため、重複排除で推定できます。データセット.
ブロックの規模とデータセットを分割するための古いアルゴリズムは、重複排除のプロットと有効性に影響を与えるため、重複排除に不可欠な懸念事項です。 これらの結果について、Buzhash と Rabin-Karp アルゴリズムの効率をブロック サイズ 1MiB、2MiB で評価します。 4MiB、8MiB.
私たちはその影響を垣間見ることができる立場にあるので、Buzhash はすべてのブロックサイズで Rabin-Karp よりも早いです。 さらに、Buzhash の場合、ARM は Intel よりも 150% 早く、1 ドルあたりのモデル調整ベースで 190% 高速です。
ここでは示されていませんが、並列処理により1 のうち、ARM での分割は、Buzhash と Rabin-Karp でそれぞれ Intel の効率の最高の 60% と 80% でした。 これは、ARM がシングルスレッド アプリケーションにとって悪名高い違いになる危険性があることを示しています。
圧縮
バックアップについては、可逆圧縮アルゴリズムを使用することに細心の注意を払っています。 圧縮アルゴリズムの必要性は、レコードの次元、計算効率、およびレートを削減する際の有効性と同様に、さまざまなトレードオフによって押し進められます。 一部のアルゴリズムは、レコードの次元を削減するのに優れていますが、さらに多くの計算リソースを必要とする可能性がありますが、他のアルゴリズムはファイルの次元を削減するのにそれほど優れていませんが、構築するのにはるかに早くなります。 この実験では、圧縮アルゴリズムは、ランダムなレコードから生成され、もはや圧縮できなかった大量のファイル (100MiB) に適用されました。
上記の絶対効率と相対効率の結果をじっと見つめると、ARM 上のさまざまな圧縮アルゴリズムの効率が、最悪の場合でも Intel とまったく同じ (90% 以上) であることがわかります (
gzip)) 以上300% 向上 (s2-パラレル-4
))。 適応は、モデル調整ベースでさらに顕著であり、セーブ ARM は、1 ドル当たりベースで Intel よりも 380% 改善されています.
ここでは示されていませんが、常にそれ以外の場合は、並列度が 1 の場合、ARM での圧縮が一部の圧縮アルゴリズムで遅くなることはよく知られています (
gzip , zstd) および一部のバリアント ( deflate-finest-compression, pgzip-finest-compression ))。 これは、マルチスレッド アプリケーションで時代遅れになったときの ARM のエネルギーと、ワークロードをベンチマークする必要性を強調するものです。ハッシュ+暗号化2つの重要な成分が残っていますCorso と Kopia の重複排除記録コースを合計します。 レコードのなじみのないキー (ハッシュ) は、同一のレコード チャンクを比較するために生成する必要があり、ここでは ブレイク
ハッシュ アルゴリズムまたは SHA HMAC を使用したハッシュ アルゴリズム。 HMAC (Keyed-Hash Message Authentication Code) は、秘密鍵と組み合わせて暗号化ハッシュ機能を利用します。 このキーは、ハッシュされているレコードを認証するには古くなっています。改ざんされていないことを確認するために、後でさらに古くなっている可能性があります。 次に、レコードは暗号化アルゴリズムを使用してさらに暗号化されます (たとえば、AES256-GCM また
ChaCha20-Poly1305 ).この実験では、さまざまなハッシュと暗号化アルゴリズムの組み合わせをベンチマークしましたが、最高のオリジナル
SHA 変異体HMAC の結果はこちら。 合計 ブレイク ARM 上のバリアントは Intel を大幅に下回りました (Intel の効率の 20 ~ 80% の間)。 基礎となるライブラリは古くなっており、反対にARMのため息の最適化は最適化されています AVX2/SSE4.1 を使用した Intel プラットフォームの zations.
アンダーの結果については、チャート ビルドの最初のセグメントは古いハッシュ アルゴリズム (HMAC はすべての SHA バリアントで古い) であり、2 番目のセグメントは古いものです。セグメントは暗号化アルゴリズムです.

上記のように、 ARM での 8 の並列処理、ハッシングおよび暗号化は、絶対ベースで Intel を決して下回らず、モデル調整ベースで常に優れています。 ため息をつくと、ARM は Intel プロセッサを絶対ベースで 350%、モデル調整ベースで最大 440% 大幅に上回ることができます
ハッシュと暗号化の結果を分けた後、 HMAC-SHA-256
バリアントは、ARM で最大 700% (絶対)/870% (モデル調整) まで早くなりました。 非互換では、AES-256
ARM での暗号化スループットは、8 の並列処理で Intel の 90% という最高の値ですが、調整されたモデルでは、同じコストで 120% 多いレコードを処理しますが、ChaCha20-Poly1305 の効率は 40% (絶対) Intel の 50% (モデル調整済み)。 それ以外の場合は、ハッシングでかなり多くの作業が実行されることを考えると、結合された作業が糸に取り込まれると、バリエーションは消えます.ここでは示されていませんが、他のすべて悪名高いのは、並列度が 1 の場合、ARM でのハッシュと暗号化は を使用すると遅くなった) SHA3 ハッシュ用の HMAC バリアントですが、ARM は 4 以上の並列処理で優れたパフォーマンスを発揮し始めます。 これは、マルチスレッド アプリケーションへの ARM の適用可能性を強調するものです。
上記の結果は、一見、効率と価値の最適化のヤーンに関するレコード処理オタクにとって、ARM が構造としていかに魅力的であるかを示しています。 この進歩は、ベンチマーク用の古い ARM プラットフォーム (AWS Graviton) でのハードウェア アクセラレーションと、ユーティリティで古いライブラリ内の追加の最適化の結果です。 これらの項目は、場合によっては永続的に変化する可能性もありますが、バックアップ ユーティリティの進歩と顧客にとっての利点については憤慨しています.記録、または将来のベンチマークについて議論したい場合は、Discord で私たちの半分になるか、Twitter で会話を始めましょう。 皆様からのご連絡をお待ちしております!
𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺

s2-パラレル-4
))。 適応は、モデル調整ベースでさらに顕著であり、セーブ ARM は、1 ドル当たりベースで Intel よりも 380% 改善されています.2つの重要な成分が残っていますCorso と Kopia の重複排除記録コースを合計します。 レコードのなじみのないキー (ハッシュ) は、同一のレコード チャンクを比較するために生成する必要があり、ここでは ブレイク

この実験では、さまざまなハッシュと暗号化アルゴリズムの組み合わせをベンチマークしましたが、最高のオリジナル SHA 変異体HMAC の結果はこちら。 合計
ブレイク ARM 上のバリアントは Intel を大幅に下回りました (Intel の効率の 20 ~ 80% の間)。 基礎となるライブラリは古くなっており、反対にARMのため息の最適化は最適化されています AVX2/SSE4.1 を使用した Intel プラットフォームの zations.
アンダーの結果については、チャート ビルドの最初のセグメントは古いハッシュ アルゴリズム (HMAC はすべての SHA バリアントで古い) であり、2 番目のセグメントは古いものです。セグメントは暗号化アルゴリズムです.
上記のように、 ARM での 8 の並列処理、ハッシングおよび暗号化は、絶対ベースで Intel を決して下回らず、モデル調整ベースで常に優れています。 ため息をつくと、ARM は Intel プロセッサを絶対ベースで 350%、モデル調整ベースで最大 440% 大幅に上回ることができます
ハッシュと暗号化の結果を分けた後、 HMAC-SHA-256
バリアントは、ARM で最大 700% (絶対)/870% (モデル調整) まで早くなりました。 非互換では、AES-256
ARM での暗号化スループットは、8 の並列処理で Intel の 90% という最高の値ですが、調整されたモデルでは、同じコストで 120% 多いレコードを処理しますが、ChaCha20-Poly1305 の効率は 40% (絶対) Intel の 50% (モデル調整済み)。 それ以外の場合は、ハッシングでかなり多くの作業が実行されることを考えると、結合された作業が糸に取り込まれると、バリエーションは消えます.ここでは示されていませんが、他のすべて悪名高いのは、並列度が 1 の場合、ARM でのハッシュと暗号化は を使用すると遅くなった) SHA3 ハッシュ用の HMAC バリアントですが、ARM は 4 以上の並列処理で優れたパフォーマンスを発揮し始めます。 これは、マルチスレッド アプリケーションへの ARM の適用可能性を強調するものです。
上記の結果は、一見、効率と価値の最適化のヤーンに関するレコード処理オタクにとって、ARM が構造としていかに魅力的であるかを示しています。 この進歩は、ベンチマーク用の古い ARM プラットフォーム (AWS Graviton) でのハードウェア アクセラレーションと、ユーティリティで古いライブラリ内の追加の最適化の結果です。 これらの項目は、場合によっては永続的に変化する可能性もありますが、バックアップ ユーティリティの進歩と顧客にとっての利点については憤慨しています.記録、または将来のベンチマークについて議論したい場合は、Discord で私たちの半分になるか、Twitter で会話を始めましょう。 皆様からのご連絡をお待ちしております!
𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺
ここでは示されていませんが、他のすべて悪名高いのは、並列度が 1 の場合、ARM でのハッシュと暗号化は を使用すると遅くなった) SHA3 ハッシュ用の HMAC バリアントですが、ARM は 4 以上の並列処理で優れたパフォーマンスを発揮し始めます。 これは、マルチスレッド アプリケーションへの ARM の適用可能性を強調するものです。
上記の結果は、一見、効率と価値の最適化のヤーンに関するレコード処理オタクにとって、ARM が構造としていかに魅力的であるかを示しています。 この進歩は、ベンチマーク用の古い ARM プラットフォーム (AWS Graviton) でのハードウェア アクセラレーションと、ユーティリティで古いライブラリ内の追加の最適化の結果です。 これらの項目は、場合によっては永続的に変化する可能性もありますが、バックアップ ユーティリティの進歩と顧客にとっての利点については憤慨しています.記録、または将来のベンチマークについて議論したい場合は、Discord で私たちの半分になるか、Twitter で会話を始めましょう。 皆様からのご連絡をお待ちしております!