Ich überlege, den Single-Core-Raspberry Pi durch eine verschlüsselte Festplatte mit Multi-Core-Banana Pi M3 zu ersetzen. Die Verschlüsselungs-/Entschlüsselungsleistung ist derzeit der Engpass, daher würde ich gerne wissen, ob die Verschlüsselung und Entschlüsselung mit dm-crypt mehrere Kerne nutzen kann.
Antwort1
Ja, in neueren Kerneln können dmcrypt-Anfragen parallelisiert werden.Parallelisierungs-Patcheswurden integriert in4.0, auf einen Blick (4.0 dm-crypt.c
enthält kthread.h
, frühere Versionen nicht). Ältere Versionen hatten eine einzelne Arbeitswarteschlange für dmcrypt-Anfragen, sodass verschiedene Blöcke nicht parallel verschlüsselt oder entschlüsselt werden konnten (soweit ich weiß, nicht einmal auf verschiedenen Geräten).
Allerdings ist Parallelisierung nicht immer ein Gewinn. Es dauert eine Weile, Anfragen an eine andere CPU zu senden und Ergebnisse zu sammeln. Daher ist es nur dann ein Gewinn, wenn genügend Anfragen parallel laufen und Sie nicht auf einen einzelnen Block gleichzeitig warten. Normalerweise gewinnen Sie, wenn mehrere Anwendungen auf verschiedene Dateien zugreifen, aber nicht so sehr (oder verlieren möglicherweise sogar ein wenig), wenn Sie mit einer einzelnen großen Datei arbeiten.
Wenn Sie eine bessere Verschlüsselungsleistung wünschen, holen Sie sich etwas, das auf einem ARMv8-Prozessor mit AES-Beschleunigung basiert, also in der Praxis eine 64-Bit-CPU. Hardware-Kryptobeschleunigung macht einen echten Unterschied, weit mehr als Parallelisierung im besten Fall, und sie hilft bei allen Workloads, solange die CPU-Zeit der Engpass ist. Beachten Sie, dass nicht alle ARMv8-basierten CPUs über Hardware-Kryptobeschleunigung verfügen (manchmal wird sie weggelassen, um Krypto-Export-/Importbestimmungen zu vermeiden). Aber auch ohne Hardware-Krypto kann der Betrieb im 64-Bit-Modus eine messbare Beschleunigung bedeuten.
Es stellt sich heraus, dass der Pi 3 keine Krypto-Erweiterungen hat. Der Banana Pi M64 könnte für Sie geeignet sein, daEs verfügt über Krypto-Erweiterungen(wenn ich die sehr ähnlichen SoC-Namen nicht verwechselt hätte). Das SATA-Subsystem des Pi M64 liegt allerdings auf USB 2 (wie beim M3) und ist nicht so schnell wie die Versionen mit einem nativen SATA-Controller, daher könnte ein Raspberry Pi 3 genauso gut sein, wenn sich die E/A als Flaschenhals herausstellt, weil die Kryptographie die CPU ohnehin nicht auslastet.