Uber, CPU 할당을 표준화하는 독자적 지표 도입
Uber는 성능이 다른 다양한 서버가 혼재하는 자사 인프라를 위해 CPU 할당을 일관된 기준으로 관리하기 위한 독자적 지표 'NCU(정규화 컴퓨팅 유닛)'를 도입했다. 코어 수라는 단순한 척도로는 파악하기 어려웠던 서버 간 성능 차이를 보정하여, 상태 보존 워크로드에 대해 보다 정밀한 리소스 스케줄링을 실현하는 시도이다.

Uber는 사내 서버에 대한 CPU(처리 장치) 할당을 보다 일관되게 하기 위해 'NCU(정규화 컴퓨팅 유닛 · Normalized Compute Units)'라 불리는 독자적 지표를 새롭게 도입했다. 이를 통해 다른 성능을 가진 다양한 서버가 혼재하는 환경에서도 컴퓨팅 리소스를 보다 균일한 기준으로 관리할 수 있게 된다.
배경에는 대규모 기술 기업들이 안고 있는 공통의 과제가 있다. 서비스 규모가 확대됨에 따라 기업의 서버군은 세대와 성능이 다른 하드웨어가 혼재하는 '이종 혼합' 상태가 되기 쉽다. 그러한 환경에서는 단순히 CPU의 코어 수(처리 실행 단위)를 세는 것만으로는 각 서버의 실제 처리 능력을 정확히 파악하기 어렵다. 같은 '8코어'라도 세대가 다르면 실제 성능은 크게 달라질 수 있기 때문이다.
NCU는 이러한 문제를 해소하기 위해 설계된 지표로, 다른 사양의 CPU를 횡단적으로 비교할 수 있도록 성능을 공통의 단위로 환산하는 메커니즘을 가지고 있다. Uber의 경우, 처리의 성질이 동적으로 변하는 '상태 보존 워크로드(상태를 유지하면서 처리를 계속하는 태스크)'에 대응한 스케줄링, 즉 어느 서버에 어느 처리를 할당할지의 판단에 NCU를 활용하고 있다. 이를 통해 성능의 실태에 맞춘 리소스 배분이 가능해진다고 알려져 있다.
이 시도가 주목되는 이유는 리소스 관리의 세밀함이 증가함으로써 처리 지연 감소와 인프라 비용 최적화로 이어질 가능성이 있기 때문이다. 특히 Uber처럼 배차·배달·결제 등 다양한 실시간 처리를 동시에 대규모로 운영하는 기업에서는 서버에 대한 처리 할당 정밀도가 서비스 품질에 직결되기 쉽다. 코어 수라는 단순한 지표에 의존하지 않고 실제 처리 능력을 반영한 지표를 사용함으로써 인프라 전체의 효율을 높이려는 접근 방식으로 위치지을 수 있다.
클라우드 컴퓨팅이 보편화된 현재에도 자사에서 서버를 대규모로 운영하는 기업에게 있어 하드웨어의 세대 차이를 어떻게 흡수할지는 지속적인 과제이다. 범용적인 클라우드 기반과는 달리 자사 인프라에서는 구매 시기가 다른 기기가 장기간에 걸쳐 공존하는 경우가 많아 관리의 복잡성이 증가하기 쉽다. NCU 같은 추상화 레이어를 설치함으로써 하드웨어의 차이를 소프트웨어 쪽에서 흡수하는 접근 방식은 유사한 과제를 가진 대규모 인프라 운영자에게도 참고가 되는 사례라고 볼 수 있다.
앞으로 주목할 점은 이 NCU의 메커니즘이 실제 운영에서 얼마나 효과를 발휘하는가 하는 부분이다. CPU뿐 아니라 GPU나 메모리 등 다른 리소스로의 응용 가능성, 혹은 오픈소스로의 공개 등의 전개가 있는지 여부도 업계의 관심을 모을 포인트가 될 것이다. 대규모 인프라 운영의 지식을 체계화·공유하는 움직임은 엔지니어링 커뮤니티 전체의 수준 향상으로도 이어질 수 있다고 생각된다.
본 기사는 AI issue 편집부가 사실(fact)을 바탕으로 독자적으로 작성·편집한 저작물입니다. 저작권은 AI issue에 있으며, 무단 전재·재배포 및 AI 학습·활용을 금합니다.