Cloudflare, Rust 기반 FL2로 Gen 13 서버 성능 2배 향상!
Cloudflare는 AMD EPYC Turin 기반의 Gen 13 서버를 출시하며, 2배의 엣지 컴퓨팅 성능을 달성함
기존 FL1의 캐시 의존성(Cache Dependency) 문제를 해결하기 위해 Rust 기반 FL2로 핵심 레이어를 재작성함
FL2는 AMD Turin 프로세서의 높은 코어 수를 활용하여 지연 시간(Latency) 증가 없이 처리량(Throughput) 2배 향상을 이끌어냄
FL1은 캐시 부족으로 인해 성능 저하가 발생했지만, FL2는 메모리 접근 패턴(Memory Access Pattern) 개선을 통해 문제를 해결함
AMD Turin 프로세서의 아키텍처 분석
AMD EPYC 5세대 Turin 프로세서는 이전 세대 대비 코어 수(Core Count) 2배 증가를 통해 높은 처리량(Throughput)을 제공한다. 하지만, 코어당 L3 캐시(L3 Cache)는 1/6 수준으로 감소하여 캐시 미스(Cache Miss) 발생 빈도가 높아지는 문제가 발생했다.
Zen 5 아키텍처(Zen 5 Architecture)의 IPC(Instructions Per Cycle) 개선은 코어 성능 향상에 기여
전력 효율성(Power Efficiency) 개선으로 코어당 소비 전력(Watt) 감소
DDR5-6400 지원으로 메모리 대역폭(Memory Bandwidth) 확장
결과적으로, Cloudflare는 캐시 의존성(Cache Dependency)을 줄이는 방향으로 시스템 설계를 변경하여 Turin의 성능을 최대한 활용했다.
FL1의 성능 저하 원인: 캐시 부족
FL1은 NGINX와 LuaJIT 기반으로, L3 캐시(L3 Cache)에 의존적인 구조를 가지고 있었다. AMD Turin 프로세서의 캐시 감소는 L3 캐시 미스(L3 Cache Miss) 증가로 이어져, 메모리 접근(Memory Access) 빈도가 높아졌다.
AMD uProf 도구(AMD uProf Tool)를 사용한 분석 결과, 메모리 접근 지연 시간(Memory Access Latency) 증가 확인
CPU 사용률(CPU Utilization)이 높아질수록 캐시 경합(Cache Contention) 심화
L3 캐시 적중(L3 Cache Hit) 시 50 사이클, 미스 시 350+ 사이클 소요로 성능 저하(Performance Degradation) 발생
결론적으로, FL1은 Turin의 높은 코어 수를 제대로 활용하지 못하고 지연 시간(Latency) 증가라는 문제에 직면했다.
FL2 아키텍처와 성능 개선
FL2는 Rust로 재작성된 Cloudflare의 핵심 요청 처리 레이어로, Pingora 및 Oxy 프레임워크(Framework)를 기반으로 한다. FL2는 FL1과 달리 메모리 접근 패턴(Memory Access Pattern)을 개선하여 L3 캐시(L3 Cache) 의존성을 줄였다.
Rust의 메모리 안전성(Memory Safety)을 통해 보안 강화(Security Enhancement)
모듈 시스템(Module System)을 활용하여 개발 속도(Development Velocity) 향상
동적 할당(Dynamic Allocation) 감소로 CPU 및 메모리 사용량(Memory Usage) 감소
결과적으로, FL2는 Turin의 높은 코어 수를 활용하여 처리량(Throughput)을 2배 향상시키면서도 지연 시간(Latency)은 70% 감소시키는 데 성공했다.
성능 최적화를 위한 PQOS 활용
Cloudflare는 AMD의 PQOS(Platform Quality of Service)를 활용하여 자원 할당(Resource Allocation)을 세밀하게 제어했다. PQOS는 캐시 및 메모리 대역폭(Memory Bandwidth)과 같은 공유 자원을 효율적으로 관리할 수 있도록 지원한다.
NUMA-aware 코어(NUMA-aware Core)를 활용하여 15% 이상의 처리량(Throughput) 증가 달성
PQOS를 통해 FL1에 L3 캐시(L3 Cache)를 할당하여 성능 개선 시도
PQOS 설정(PQOS Configuration)을 통해 최적의 성능과 지연 시간(Latency) 균형을 유지
결론적으로, PQOS는 FL1의 성능을 일부 개선했지만, FL2만큼의 획기적인 성능 향상에는 기여하지 못했다.
Gen 13 서버의 비즈니스 임팩트
Gen 13 서버와 FL2의 조합은 Cloudflare에 다양한 비즈니스적 이점을 제공한다. 2배의 처리량(Throughput) 증가는 고객 경험(Customer Experience)을 향상시키고, 대규모 트래픽(Traffic)에도 안정적인 서비스를 제공할 수 있게 한다.
50% 향상된 전력 효율(Power Efficiency)은 데이터 센터(Data Center) 확장 비용 절감 및 탄소 발자국(Carbon Footprint) 감소에 기여
60% 향상된 랙 처리량(Rack Throughput)은 글로벌 엣지 네트워크(Global Edge Network) 업그레이드를 용이하게 함
고객 경험(Customer Experience) 저하 없이 지속 가능한 확장(Sustainable Scaling) 가능
결과적으로, Gen 13 서버는 Cloudflare의 글로벌 인프라(Global Infrastructure) 경쟁력 강화에 기여할 것이다.