dm-crypt는 다중 코어를 활용합니까? (멀티 코어 Pi 클론에 관심이 있음)

dm-crypt는 다중 코어를 활용합니까? (멀티 코어 Pi 클론에 관심이 있음)

단일 코어 Raspberry Pi를 멀티 코어 Banana Pi M3이 포함된 암호화된 디스크로 교체하는 것을 고려하고 있습니다. 현재 암호화/복호화 성능이 병목현상이 있어서 dm-crypt를 이용한 암호화 및 복호화가 멀티 코어를 활용할 수 있는지 알고 싶습니다.

답변1

예, 최근 커널에서는 dmcrypt 요청을 병렬화할 수 있습니다. 그만큼병렬화 패치에 통합되었습니다.4.0, 한눈에 볼 수 있습니다(4.0에는 가 dm-crypt.c포함되어 있지만 kthread.h이전 버전에는 포함되어 있지 않음). 이전 버전에는 dmcrypt 요청에 대한 단일 작업 대기열이 있었기 때문에 여러 블록을 병렬로 암호화하거나 해독할 수 없었습니다(내가 아는 한 다른 장치에서도 가능).

그러나 병렬화가 항상 승리하는 것은 아닙니다. 요청을 다른 CPU로 전달하고 결과를 수집하는 데 시간이 걸리므로 병렬로 충분한 요청이 있고 한 번에 단일 블록을 기다리지 않는 경우에만 승리합니다. 일반적으로 여러 응용 프로그램이 서로 다른 파일에 액세스하는 경우 승리할 수 있지만 하나의 대용량 파일로 작업할 때는 그다지 많지 않거나 약간 손실될 수도 있습니다.

더 나은 암호화 성능을 원한다면 AES 가속 기능을 갖춘 ARMv8 프로세서 기반 제품, 즉 실제로는 64비트 CPU를 구입하십시오. 하드웨어 암호화 가속은 최상의 상황에서 병렬화가 수행하는 것보다 훨씬 더 큰 차이를 가져오며 CPU 시간이 병목 현상이 발생하는 한 모든 작업 부하에 도움이 됩니다. 모든 ARMv8 기반 CPU에 하드웨어 암호화 가속 기능이 있는 것은 아닙니다(암호 내보내기/가져오기 규정을 피하기 위해 생략되는 경우도 있음). 그러나 하드웨어 암호화 없이도 64비트 모드에서 실행하면 측정 가능한 속도 향상이 가능합니다.

Pi 3에는 암호화 확장 기능이 없는 것으로 나타났습니다. Banana Pi M64가 귀하에게 적합할 수 있습니다.암호화 확장 기능이 있습니다(매우 유사한 SoC 이름을 혼동하지 않은 경우) Pi M64의 SATA 하위 시스템은 M3와 같은 USB 2 위에 있지만 기본 SATA 컨트롤러가 있는 버전만큼 빠르지는 않으므로 I/O가 성공하면 Raspberry Pi 3도 마찬가지로 좋을 수 있습니다. 어쨌든 암호화는 CPU를 포화시키지 않기 때문에 병목 현상이 발생합니다.

관련 정보