GPU 가속 동형암호 최적화 전략의 데이터 흐름 기반 분류와 성능 분석
본 논문은 CKKS 동형암호에서 사용되는 파라미터(dnum, N, L)가 GPU 메모리 계층에 미치는 영향을 분석하고, 키스위치 연산의 데이터 흐름을 기준으로 최적화 기법을 ‘DigitSerial/Parallel’와 ‘OutputBulk/Chunked’ 두 축으로 네 가지 카테고리로 분류한다. GCoM 모델을 활용한 정량적 평가를 통해 동일 GPU에서도 파라미터 조합에 따라 최적 전략이 달라지며, 전략 간 최대 1.98배의 성능 차이가 발생함을…
저자: Ai Nozaki, Takuya Kojima, Hideki Takase
본 논문은 동형암호(FHE) 중에서도 근사 연산에 널리 사용되는 CKKS 스킴을 GPU에서 가속할 때, 파라미터 설정이 메모리 사용량과 성능에 미치는 영향을 체계적으로 분석한다. CKKS 파라미터는 다항식 차수 N, 최대 곱셈 깊이 L, 그리고 KeySwitch 연산에서 사용되는 디지털 분할 수 dnum으로 정의되며, 이들 조합은 암호 보안 수준과 연산 복잡도를 동시에 결정한다. 특히 KeySwitch는 입력 암호문을 dnum 개의 디지털로 분해하고, 각 디지털을 레벨 α(=⌈(L+1)/dnum⌉)까지 확장한 뒤 평가키와 곱셈·누적을 수행하고 다시 레벨 L로 복원하는 복합 연산으로, 전체 실행 시간의 약 70%를 차지한다.
기존 연구들은 GPU 최적화를 적용할 때 파라미터 차이를 무시하고 일관된 전략을 사용했으며, 실험도 제한된 파라미터 집합에 국한되었다. 저자들은 이러한 한계를 극복하기 위해 KeySwitch 데이터 흐름을 두 축으로 나누어 분류한다. 첫 번째 축은 디지털 수준의 병렬성을 활용하는지 여부로, 순차적으로 디지털을 처리하는 ‘DigitSerial(DS)’와 디지털을 동시에 처리하는 ‘DigitParallel(DP)’로 구분한다. 두 번째 축은 출력 생성 방식으로, 전체 레벨(OB) 혹은 레벨을 청크 단위로 나누어 순차적으로 생성하는 ‘OutputChunked(OC)’를 구분한다. 이 두 축의 조합으로 네 가지 전략을 정의한다:
1. DSOB (DigitSerial + OutputBulk) – 기본 흐름, 디지털을 순차 처리하고 출력 전체를 한 번에 생성.
2. DPOB (DigitParallel + OutputBulk) – 디지털을 병렬화해 연산 유닛 활용도를 높임, 출력은 한 번에 생성.
3. DSOC (DigitSerial + OutputChunked) – 디지털을 순차 처리하되 출력 청크로 나누어 메모리 발자국을 감소.
4. DPOC (DigitParallel + OutputChunked) – 디지털 병렬성과 출력 청크를 동시에 적용, 메모리와 병렬성 사이의 균형을 목표.
각 전략의 메모리 발자국은 파라미터 (dnum, N, L)에 따라 크게 달라진다. 예를 들어 (dnum, N, L) = (2, 2¹⁵, 10)에서는 DSOB의 메모리 사용량이 5.12 MB로 L2 캐시(예: A100 40 MB) 내에 충분히 들어가지만, (4, 2¹⁶, 50)에서는 100 MB까지 증가해 캐시 초과가 발생한다.
성능 분석을 위해 저자들은 GPU 성능 모델링 프레임워크 GCoM을 활용한다. GCoM은 워프 수준의 명령 흐름을 추적하고, 데이터 의존성에 의한 스톨, 구조적 자원 경쟁, NoC·DRAM 접근 지연 등을 정량화한다. 모델은 각 전략에 대해 ‘기본 사이클’, ‘컴퓨팅 데이터 스톨’, ‘메모리 데이터 스톨’, ‘구조적 스톨’, ‘NoC·DRAM 스톨’ 등을 분해하여 전체 실행 사이클을 예측한다.
실험은 NVIDIA A100, V100, RTX 3090 등 여러 최신 GPU와 (dnum = 2~10, N = 2¹³~2¹⁷, L = 0~64) 범위의 파라미터 조합을 포괄한다. 주요 결과는 다음과 같다.
- 동일 GPU에서도 파라미터에 따라 최적 전략이 변한다. 작은 파라미터 집합에서는 메모리 효율이 중요한 DSOB가 최고 성능을 보였으며, 파라미터가 커지면 DPOB가 병렬성으로 인한 이득을 얻어 DSOB를 앞선다.
- 메모리 발자국이 L2 캐시를 초과하는 경우 DSOC가 청크 기반 출력으로 메모리 압박을 완화해 성능을 회복한다.
- DPOC는 아직 실제 구현 사례가 없지만 시뮬레이션 결과, 메모리와 병렬성 사이의 트레이드오프를 적절히 조절하면 특정 파라미터·아키텍처 조합에서 최적에 근접할 수 있음을 보여준다.
- 전략 간 성능 차이는 최대 1.98배에 달한다. 예를 들어 A100에서 (dnum, N, L) = (4, 2¹⁶, 50)일 때 DPOB가 DSOB 대비 1.85배 빠른 반면, V100에서는 동일 파라미터에서 DSOC가 1.32배 우수했다.
이러한 결과는 GPU 아키텍처의 L2 캐시 크기, 메모리 대역폭, 워프 스케줄링 정책 등이 최적 전략 선택에 중요한 역할을 함을 시사한다. 또한, 기존 FHE 컴파일러가 파라미터 선택 단계에서 보안·연산 요구를 고려하듯, 메모리·캐시 특성을 함께 고려한 ‘파라미터‑인식 최적화’가 필요함을 강조한다.
논문은 최종적으로 다음과 같은 실용적 제언을 제시한다.
1. CKKS 파라미터 설정 시, 목표 GPU의 L2 캐시 용량을 기준으로 메모리 발자국을 예측하고, 그에 맞는 데이터 흐름 전략을 선택한다.
2. FHE 컴파일러와 런타임 시스템에 전략 선택 로직을 삽입해, 파라미터와 GPU 모델에 따라 자동으로 DSOB/DPOB/DSOC/DPOC 중 최적을 선택하도록 한다.
3. 향후 GPU 설계에서는 디지털 병렬성을 지원하는 동시에 대용량 온칩 메모리를 제공하는 구조가 CKKS 가속에 유리할 것으로 기대된다.
결론적으로, 이 연구는 CKKS GPU 가속에 있어 ‘하나의 최적화가 모든 경우에 적용된다’는 기존 가정을 깨고, 파라미터와 아키텍처에 따라 최적 전략이 동적으로 변한다는 근거를 제공한다. 이는 동형암호의 실용화를 위한 성능 최적화 방향을 새롭게 제시한다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기