dm-crypt 是否使用多核? (对多核 Pi 克隆感兴趣)

dm-crypt 是否使用多核? (对多核 Pi 克隆感兴趣)

我正在考虑用多核 Banana Pi M3 的加密磁盘替换单核 Raspberry Pi。目前加解密性能是瓶颈,所以我想知道dm-crypt加解密是否可以利用多核。

答案1

是的,在最近的内核中,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 饱和。

相关内容