O dm-crypt utiliza múltiplos núcleos? (Interessado em clones Pi multi-core)

O dm-crypt utiliza múltiplos núcleos? (Interessado em clones Pi multi-core)

Estou pensando em substituir o Raspberry Pi de núcleo único por um disco criptografado com Banana Pi M3 de vários núcleos. O desempenho de criptografia/descriptografia é atualmente o gargalo, então gostaria de saber se a criptografia e descriptografia com dm-crypt podem utilizar vários núcleos.

Responder1

Sim, em kernels recentes, as solicitações dmcrypt podem ser paralelizadas. Opatches de paralelizaçãoforam integrados em4,0, de relance (o 4.0 dm-crypt.cinclui kthread.h, as versões anteriores não). As versões mais antigas tinham uma única fila de trabalho para solicitações dmcrypt, de modo que blocos diferentes não podiam ser criptografados ou descriptografados em paralelo (mesmo em dispositivos diferentes, até onde eu sei).

No entanto, a paralelização nem sempre é uma vitória. Leva algum tempo para despachar solicitações para uma CPU diferente e coletar resultados, portanto, só será uma vitória se houver solicitações suficientes em paralelo e você não estiver aguardando um único bloco por vez. Normalmente você ganharia se tivesse vários aplicativos acessando arquivos diferentes, mas não tanto (ou possivelmente até perderia um pouco) ao trabalhar com um único arquivo grande.

Se você deseja melhor desempenho de criptografia, compre algo baseado em um processador ARMv8, com aceleração AES, ou seja, na prática uma CPU de 64 bits. A aceleração de criptografia de hardware faz uma diferença real, muito mais do que a paralelização, na melhor das hipóteses, e ajuda em todas as cargas de trabalho, desde que o tempo de CPU seja o gargalo. Observe que nem todas as CPUs baseadas em ARMv8 têm aceleração de criptografia de hardware (às vezes é deixada de fora para evitar regulamentos de exportação/importação de criptografia). Mas mesmo sem criptografia de hardware, rodar no modo de 64 bits pode ser uma aceleração mensurável.

Acontece que o Pi 3 não possui extensões criptográficas. O Banana Pi M64 pode ser adequado para você, já quetem extensões criptográficas(se não me confundi entre nomes de SoC muito semelhantes). O subsistema SATA do Pi M64 está em cima do USB 2 (como o M3), e isso não é tão rápido quanto as versões com um controlador SATA nativo, então um Raspberry Pi 3 pode ser tão bom se a E/S funcionar. ser o gargalo porque a criptografia não satura a CPU de qualquer maneira.

informação relacionada