5G 성능 혁신 SIMD 가속과 MATLAB C 자동 변환 도구
초록
본 논문은 2016‑17년 Huawei가 수행한 5Gperf 프로젝트의 결과를 정리한다. 기존 MATLAB 기반 알고리즘을 SIMD 최적화된 C 코드로 변환하여 베이스스테이션 신호 처리 파이프라인의 처리량을 20 %‑100 % 향상시키고, 새로운 pragma 기반 자동 변환 도구를 통해 개발 생산성을 크게 높였다.
상세 분석
5Gperf 프로젝트는 5G 베이스스테이션 프로토타입의 신호 처리 성능을 근본적으로 개선하고자 두 가지 축에 집중하였다. 첫 번째는 기존에 MATLAB에서 설계된 알고리즘을 고성능 SIMD‑parallel CPU 코드로 재구현하는 것이었다. 이를 위해 각 파이프라인 단계별로 연산량이 작은 커널을 상세히 분석하고, Intel 및 ARM 아키텍처의 벡터 레지스터 폭에 맞춰 루프 언롤링, 메모리 정렬, 프리패칭 등을 적용하였다. 특히, 터보 디코딩 단계에서는 SIMD 가속을 통해 1.7‑1.9배의 속도 향상을 달성했으며, 동일한 처리량을 유지하면서 필요한 CPU 코어 수를 20코어에서 12코어로 감소시켜 전력 효율도 크게 개선하였다. 두 번째 축은 MATLAB‑to‑C 변환 과정을 자동화하는 소프트웨어 도구, 즉 ‘Optimizer’를 개발한 것이다. 이 도구는 C 소스에 삽입된 특수 pragma 주석을 파싱하여, 사전에 구축된 빌딩 블록(예: 행렬 곱, FFT, 필터링 등)의 최적 구현을 선택하고 해당 코드를 삽입한다. 빌딩 블록은 Numscale의 bSIMD 라이브러리를 기반으로 하여 ARM 및 x86 양쪽 모두에서 포터블하게 동작한다. 개발자는 알고리즘의 핵심 부분만 고수준으로 기술하고, 나머지는 Optimizer가 자동으로 최적 SIMD 구현으로 대체한다. 실험 결과, 이 자동 변환 흐름을 사용하면 기존 수작업 변환에 비해 5배 이상 빠른 개발 속도를 달성했으며, 최종 실행 성능은 수동 최적화 수준에 근접하거나 경우에 따라 더 우수했다. 또한, 메모리 접근 패턴을 최적화하고 캐시 친화적인 데이터 레이아웃을 적용함으로써 메모리 대역폭 병목을 완화하고 전체 파이프라인의 지연 시간을 감소시켰다. 프로젝트 전반에 걸쳐 얻어진 20 %‑100 %의 가속 효과는 베이스스테이션의 실시간 처리 요구사항을 충족시키기에 충분했으며, 향후 5G‑NR 및 차세대 Massive MIMO 시스템에도 확장 가능하도록 설계되었다.
댓글 및 학술 토론
Loading comments...
의견 남기기