인텔이 이노베이션 이벤트에서 사파이어 래피드에 탑재된 전용 가속기를 시연하고 그 성능을 공개했습니다.
사파이어 래피드의 생김새와 시스템입니다. 2소켓 시스템입니다.
사파이어 래피드에는 AVX-512 외에도 각각의 CPU 타일에 4개의 전용 가속기가 있습니다. 인텔 동적 로드 밸런서(DLB), 인텔 데이터 스트리밍 가속기(DSA), 인텔 인메모리 분석 가속기(IAA), 인텔 QuickAssist 기술(QAT)이 그것입니다.
이들은 칩 메시에 연결되며 CPU 실리콘에 내장된 PCIe 가속기로 작동합니다. 따라서 이 가속기의 기능을 쓰면 CPU의 자원을 소모하지 않습니다. 메모리나 I/O는 차지하겠지만요. 또 CPU 코어가 늘어난다고 해서 가속기의 수가 늘어나진 않습니다.
QAT를 빼고 다른 기능들은 모두 새로 추가됐습니다. QAT는 3세대 제온(아이스레이크-SP)의 칩셋에 탑재됐고, 사파이어 래피드에서는 CPU 안에 내장됐습니다.
이런 전용 가속기 블럭은 모두 특정한 처리를 CPU 대신 하도록 설계됐습니다. DSA는 데이터 복사와 CRC32 같은 계산을, QAT는 암호화 가속/데이터 압축/압축 해제를 수행합니다. IAA는 데이터 압축/해제와 대용량 데이터베이스를 압축해서 메모리에 보관합니다. DLB는 서버 사이의 로드 밸런싱을 가속하는 블럭입니다.
그리고 행렬 계산 블럭인 AMX(Advanced Matrix Extension)가 있습니다. 텐서 코어와 다른 행렬 가속기와 비슷하게 행렬 계산을 효율적으로 실행하는 초고밀도 블럭입니다. 그리고 이건 전용 가속기가 아니라 CPU 코어의 일부입니다. AMX는 고밀도 데이터 구조를 사용해 딥 러닝에서 AVX-512 이상의 성능을 냅니다.
우선 QAT 가속기의 데모입니다. 오픈SSL 암호화 성능을 측정하는 NGINX 워크로드를 시연했습니다.
QAT 가속기와 60코어 CPU 2개 중 11개를 써서 1초당 66K의 연결을 했습니다. 사파이어 래피드에서 QAT 가속 없이 이 작업을 수행하려면 67개의 코어를, 에픽 7763 서버에선 67개의 코어가 필요합니다.
그 다음 QAT 데모는 압축/해제 성능입니다.
QAT 하드웨어 가속기는 CPU를 압도적으로 능가하는 성능을 보여주었습니다. 인텔의 ISA-L 라이브러리를 쓴 것보다도 훨씬 앞섰습니다. 성능이 높을 뿐더러 사용한 코어의 숫자도 120개와 4개로 큰 차이를 보였습니다.
메모리 분석 가속 장치입니다. 분석 그 자체를 가속하는 건 아니고 CPU 없이 메모리 내에서 데이터베이스의 압축/해제가 가능한 가속기입니다.
전용 가속기를 쓰는 사파이어 래피드는 AMD 에픽보다 1초당 59% 우수한 쿼리 처리 성능을 보여주었으며, 메모리 대역폭 역시 줄었습니다.
다음은 RocksDB 테스트입니다.
IAA 가속을 쓰는 사파이어 래피드 시스템이 AMD보다 1.9배 높은 성능, 절반 수준의 지연 시간을 보였습니다.
AMX를 테스트하기 위해 텐서플로우와 ResNet50 신경망을 써서 이미지를 분류했습니다.
AMX가 탑재된 사파이어 래피드는 배치 크기 1에서 AVX-512 VNNI보다 2배 미만, 배치 크기가 16이면 2배 이상의 성능을 보여주었습니다.
DSA 데이터 스트리밍 가속기입니다. TCP 패킷의 CRC32 계산을 대신 수행합니다.
사파이어 래피드에 최적화된 소프트웨어 처리와 비교하면 성능 향상은 22% 뿐이었으나, 에픽 프로세서보다 성능이 높고 지연 시간이 낮았다고 합니다.