dm-crypt 是否使用多個核心?(對多核 Pi 複製感興趣)
我正在考慮用帶有多核 Banana Pi M3 的加密磁碟替換單核 Raspberry Pi。加密/解密性能目前是瓶頸,所以我想知道使用 dm-crypt 的加密和解密是否可以利用多個核心。
是的,在最近的核心中,dmcrypt 請求可以並行化。並行化更新檔已集成到4.0中,一目了然(4.0
dm-crypt.c
包含kthread.h
,以前的版本沒有)。舊版本有一個用於 dmcrypt 請求的工作隊列,因此無法並行加密或解密不同的塊(據我所知,即使在不同的設備上也是如此)。然而,並行化並不總是一種勝利。將請求分派到不同的 CPU 並收集結果需要一些時間,因此只有當有足夠的並行請求並且您一次不等待單個塊時,這才是勝利。通常,如果您有多個應用程序訪問不同的文件,但在處理單個大文件時不會太多(甚至可能失去一點),您會贏。
如果您想要更好的加密性能,請獲得基於 ARMv8 處理器、AES 加速的產品,即實際上是 64 位 CPU。硬體加密加速產生了真正的影響,遠遠超過並行化在最好的時候所做的,只要 CPU 時間是瓶頸,它就對所有工作負載都有幫助。請注意,並非所有基於 ARMv8 的 CPU 都具有硬體加密加速(有時會忽略它以避免遇到加密導出/導入法規)。但即使沒有硬體加密,在 64 位模式下執行也可以實現可衡量的加速。
事實證明,Pi 3 沒有加密擴展。Banana Pi M64 可能適合您,因為它具有加密擴展(如果我沒有對非常相似的 SoC 名稱感到困惑)。Pi M64 的 SATA 子系統雖然位於 USB 2 之上(如 M3),但速度不如帶有本機 SATA 控制器的版本快,因此如果 I/O 正常,Raspberry Pi 3 可能會一樣好成為瓶頸,因為無論如何加密都不會使 CPU 飽和。