RISC-V는 왜 이렇게 느릴까? ISA 설계의 이상과 현실의 충돌
최근 Fedora Linux를 RISC-V로 포팅하는 작업에 관한 Marcin Juszkiewicz의 글을 읽고 많은 생각이 들었습니다. 빌드 시간을 보고 제 눈을 의심했죠.
binutils 패키지 하나를 빌드하는데 143분이 걸린답니다. 동일한 작업을 aarch64에서 수행하면 36분, 심지어 구형 i686에서도 25분이면 끝납니다. 2026년에 이런 빌드 속도라니, CI/CD 파이프라인을 관리해본 엔지니어라면 누구나 뒷목을 잡을 만한 수치입니다.
하드웨어의 한계, 그리고 에뮬레이션의 역설
현재 RISC-V 빌더들은 대부분 Arm Cortex-A55 수준의 코어를 사용합니다. 성능이 너무 떨어지다 보니 LTO(Link-Time Optimization)조차 끄고 빌드해야 메모리와 CPU가 버텨주는 실정이죠.
가장 충격적인 부분은 네이티브 보드보다 x86 서버에서 QEMU로 에뮬레이션하는 것이 더 빠르다는 사실입니다. 저자의 경우 80코어 x86 시스템에서 QEMU를 돌려 llvm15 패키지를 4시간 만에 빌드했습니다. 네이티브 보드인 Banana Pi BPI-F3에서는 무려 10.5시간이 걸렸는데 말이죠.
실리콘의 문제인가, ISA의 문제인가?
Hacker News 커뮤니티에서도 이 현상을 두고 뜨거운 논쟁이 벌어졌습니다. 누군가는 “ISA 탓이 아니라 구린 실리콘과 최적화 부족 탓”이라고 방어했지만, 저는 이 의견에 절반만 동의합니다. 엔지니어로서 제가 보기엔 RISC-V의 과도한 미니멀리즘 설계가 현재의 성능 저하와 파편화를 초래한 핵심 원인 중 하나입니다.
RISC-V는 학계에서 교육용으로 출발했기 때문에 베이스 ISA를 극단적으로 가볍게 유지하려 했습니다. 문제는 실무 환경입니다. 1980년대에 나온 26K 트랜지스터 규모의 ARM 칩에도 포함되어 있던 Barrel shifter가 RISC-V 베이스에는 없습니다. Bit manipulation 같은 필수적인 연산도 기본 스펙에서 빠져 있죠.
또한 Misaligned memory access 처리도 골칫거리입니다. x86은 하드웨어 레벨에서 이를 매끄럽게 우회해주지만, RISC-V는 예외를 던지거나 엄청난 오버헤드를 발생시킵니다. 4KiB로 고정된 페이지 사이즈 역시 대용량 메모리를 다루는 현대의 서버 환경에서는 명백한 병목입니다.
프로필(Profile)과 확장 명령어의 딜레마
물론 RISC-V 진영도 이 문제를 인지하고 있습니다. 그래서 RVA22, RVA23 같은 프로필을 도입해 Zicclsm(Misaligned loads/stores), Zb(Bit manipulation) 등의 확장 명령어를 강제하고 있죠. Ubuntu 같은 OS가 RVA23을 기본 타겟으로 삼으려는 움직임은 매우 현명한 판단입니다.
하지만 현실은 녹록지 않습니다. 누구나 허가 없이 칩을 만들 수 있다는 RISC-V의 최대 장점이, 역설적으로 생태계 파편화라는 저주로 돌아왔습니다. 소프트웨어 개발자들은 하위 호환성을 유지하기 위해 결국 가장 낮은 스펙의 베이스 ISA에 맞춰 컴파일해야 하는 딜레마에 빠집니다. x86과 ARM이 수십 년간 쌓아온 강력한 Baseline 성능의 이점을 RISC-V는 스스로 포기한 셈입니다.
결론: 아직은 서버용이 아니다
솔직히 말해, 현재 RISC-V는 MCU나 임베디드, RTOS 환경에서는 훌륭한 선택지입니다. 라이선스 비용 없이 맞춤형 코어를 설계할 수 있다는 건 엄청난 메리트죠.
하지만 데스크탑이나 서버, 즉 General-purpose computing 영역에 도입하기에는 아직 시기상조입니다. 랙 마운트가 가능하고 LTO를 켠 상태로 1시간 이내에 무거운 패키지를 빌드할 수 있는 지루하고 평범한 서버가 등장하기 전까지, RISC-V는 메인스트림 OS 생태계에서 1등 시민이 되기 어려울 것입니다. RVA23 호환 칩들이 시장에 풀리고 소프트웨어 생태계가 이에 맞춰 재편되는 시점까지는, 당분간 x86과 ARM의 독주를 지켜볼 수밖에 없겠네요.
- 참고 문서: RISC-V Is Sloooow
- Hacker News 토론: https://news.ycombinator.com/item?id=47328214