RISC-V 성능은 왜 이렇게 느린가

Fedora Linux의 RISC-V 포팅 과정에서 하드웨어 성능 부족으로 인한 심각한 빌드 속도 저하 문제가 확인되었습니다. binutils 패키지 빌드 시 riscv64는 143분이 소요되어 x86_64(29분) 대비 약 5배 느리며, 이로 인해 현재 LTO를 비활성화하고 80코어 QEMU 에뮬레이션을 활용해 작업을 이어가고 있는 실정입니다.

AI 요약

최근 3개월간 Fedora Linux의 RISC-V 포팅 작업을 수행해 온 저자는 RISC-V 하드웨어의 성능 부족이 개발의 가장 큰 걸림돌이라고 지적했습니다. 현재 사용되는 RISC-V 빌더들은 Arm Cortex-A55 수준의 낮은 코어 성능을 가지고 있어, 빌드 시간을 단축하기 위해 시스템 전반에서 LTO(Link Time Optimization)를 비활성화한 채 작업을 진행하고 있습니다. 실제 성능 테스트 결과, binutils 패키지 빌드에 x86_64 아키텍처는 29분이 소요된 반면 RISC-V는 143분이라는 기록적인 시간이 걸렸습니다. 저자는 이 문제를 극복하기 위해 Banana Pi BPI-F3 같은 실기기 대신 80코어를 할당한 QEMU 에뮬레이터를 사용하여 llvm15 빌드 시간을 10.5시간에서 4시간으로 대폭 단축시켰습니다. 결론적으로 RISC-V가 Fedora의 공식 주요 아키텍처로 인정받기 위해서는 랙 장착이 가능하고 관리가 용이한 서버급 고성능 하드웨어의 도입이 시급한 상황입니다.

핵심 인사이트

  • 빌드 성능 격차: binutils 2.45.1-4.fc43 패키지 빌드 시 riscv64(8코어/16GB)는 143분이 소요되어, 29분이 걸린 x86_64나 36분이 걸린 aarch64보다 압도적으로 느립니다.
  • 에뮬레이션의 효율성: 80개의 코어를 에뮬레이션한 QEMU 환경에서 llvm15 패키지 빌드 시 4시간이 소요되어, 실기기 빌더(Banana Pi BPI-F3)의 10.5시간보다 2배 이상 빠릅니다.
  • 하드웨어 제약: 현재 RISC-V 코어 성능은 오늘날 Arm 칩 중 가장 하위 모델인 Cortex-A55 수준에 머물러 있어 대규모 소프트웨어 컴파일에 부적합합니다.
  • LTO 비활성화: 메모리 사용량과 빌드 시간을 줄이기 위해 Fedora RISC-V 포트는 현재 LTO를 비활성화한 상태로 유지되고 있습니다.

주요 디테일

  • 저자는 최근 3개월간 Fedora 패키지에 대해 llvm15와 같은 대형 패키지부터 iyfct 게임까지 총 86개의 풀 리퀘스트를 전송했습니다.
  • 현재 RISC-V 빌더 하드웨어는 보드에 따라 4~8개 코어와 8GB, 16GB 또는 32GB의 RAM을 장착하고 있습니다.
  • 차세대 대안으로 64GB RAM 확장이 가능한 UltraRISC UR-DP1000 SoC(Milk-V Titan) 및 SpacemiT K3 기반 시스템(32GB RAM)이 거론되고 있습니다.
  • RISC-V 64비트 아키텍처가 Fedora의 '기본 아키텍처(Primary Architecture)'가 되려면 binutils 빌드를 1시간 이내에 완료할 수 있는 성능이 필요합니다.
  • Fedora RISC-V 트래커 엔트리 중 현재 17개의 항목이 'NEW' 상태로 남아 있으며, 지속적인 트라이아이지 작업이 진행 중입니다.

향후 전망

  • 차기 버전인 Fedora Linux 44 빌드에서는 모든 빌더에 동일한 커널 이미지를 사용하는 표준화 작업을 진행할 계획입니다.
  • 성능 이슈 해결을 위해 더 빠른 새로운 빌더 장비를 도입하고, 무거운 패키지들을 고성능 장비에 우선 할당하는 체계를 구축할 예정입니다.
Share

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...

RISC-V 성능은 왜 이렇게 느린가 | paper!