dm-cryptはマルチコアを使用しますか? (マルチコアPiクローンに興味がある)

dm-cryptはマルチコアを使用しますか? (マルチコアPiクローンに興味がある)

シングルコアRaspberry PiをマルチコアBanana Pi M3の暗号化ディスクに置き換えることを検討しています。現在の暗号化と復号化のパフォーマンスはボトルネックですが、dm-crypt暗号化と復号化がマルチコアを利用できるかどうかを知りたいです。

答え1

はい、最近のカーネルではdmcrypt要求を並列化できます。これ並列化パッチに統合されました。4.0、一目でわかります(4.0にはdm-crypt.c含まれておりkthread.h、以前のバージョンには含まれていません)。以前のバージョンには、dmcryptリクエスト用のジョブキューがあったため、複数のブロックを並列に暗号化または復号化することはできませんでした(他のデバイスでも可能です)。

しかし、並列化が常に勝利するわけではありません。要求を別のCPUに転送して結果を収集するのに時間がかかるため、並列要求が十分で、一度に単一のチャンクを待たない場合にのみ勝利します。通常、異なるファイルにアクセスする複数のアプリケーションがある場合は勝ちますが、1つの大容量ファイルを処理するときはそれほど大きな勝利を得ることはできません(少し失われる可能性があります)。

より良い暗号化性能が必要な場合は、事実上64ビットCPUであるAESアクセラレーションを備えたARMv8プロセッサベースの製品を選択してください。ハードウェア暗号化の高速化は、最高のシナリオで並列化の影響をはるかに超えた実質的な違いをもたらし、CPU時間がボトルネックを引き起こす限り、すべてのワークロードに役立ちます。すべてのARMv8ベースのCPUにハードウェア暗号化アクセラレーション機能があるわけではありません(パスワードのエクスポート/インポートの規制を避けるために省略されることもあります)。ただし、ハードウェア暗号化なしで64ビットモードで実行すると、大幅なスピードアップが得られます。

Pi 3には暗号化拡張機能がないことがわかりました。 Banana Pi M64があなたに適している理由は次のとおりです。暗号化拡張機能があります(非常に似たSoC名のために混乱していない場合)。 Pi M64のSATAサブシステムはUSB 2(M3など)の上にありますが、デフォルトのSATAコントローラを搭載したバージョンほど高速ではないため、I / Oが成功した場合はRaspberry Pi 3も同様に良いかもしれません。とにかくボトルネックが発生します。暗号化はCPUを飽和させません。

関連情報