Estoy considerando reemplazar la Raspberry Pi de un solo núcleo con un disco cifrado con Banana Pi M3 de múltiples núcleos. El rendimiento del cifrado/descifrado es actualmente el cuello de botella, por lo que me gustaría saber si el cifrado y descifrado con dm-crypt pueden utilizar varios núcleos.
Respuesta1
Sí, en kernels recientes, las solicitudes dmcrypt se pueden paralelizar. Elparches de paralelizaciónhan sido integrados en4.0, de un vistazo (la versión 4.0 dm-crypt.c
incluye kthread.h
, las versiones anteriores no). Las versiones anteriores tenían una única cola de trabajo para las solicitudes de dmcrypt, por lo que no se podían cifrar o descifrar diferentes bloques en paralelo (incluso en diferentes dispositivos, hasta donde yo sé).
Sin embargo, la paralelización no siempre es una victoria. Se necesita algo de tiempo para enviar solicitudes a una CPU diferente y recopilar resultados, por lo que es beneficioso solo si hay suficientes solicitudes en paralelo y no estás esperando un solo bloque a la vez. Por lo general, ganará si tiene varias aplicaciones que acceden a diferentes archivos, pero no tanto (o incluso perderá un poco) cuando trabaje con un solo archivo grande.
Si desea un mejor rendimiento de cifrado, consiga algo basado en un procesador ARMv8, con aceleración AES, es decir, en la práctica una CPU de 64 bits. La aceleración criptográfica por hardware marca una diferencia real, mucho más que la paralelización en el mejor de los casos, y ayuda para todas las cargas de trabajo siempre que el tiempo de CPU sea el cuello de botella. Tenga en cuenta que no todas las CPU basadas en ARMv8 tienen aceleración criptográfica por hardware (a veces se omite para evitar toparse con regulaciones de exportación/importación criptográfica). Pero incluso sin criptografía de hardware, ejecutar en modo de 64 bits puede suponer una aceleración mensurable.
Resulta que el Pi 3 no tiene extensiones criptográficas. El Banana Pi M64 podría ser adecuado para usted, ya quetiene extensiones criptográficas(si no me confundí entre los nombres de SoC muy similares). Sin embargo, el subsistema SATA del Pi M64 está encima del USB 2 (como el M3), y esto no es tan rápido como las versiones con un controlador SATA nativo, por lo que un Raspberry Pi 3 puede ser igual de bueno si resulta posible la E/S. ser el cuello de botella porque la criptografía no satura la CPU de todos modos.