[논문 리뷰] $\lambda$-NIC: Interactive Serverless Compute on Programmable SmartNICs
이 논문은 새로운 매칭+람다 추상화와 특화된 머신 모델을 사용하여 프ogrammable SmartNIC에서 직접 상호작용 워크로드를 실행하는 서버리스 컴퓨팅 프레임워크인 $\lambda$-NIC를 제안한다. SmartNIC의 고코어 수의 NPU 아키텍처를 활용함으로써 $\lambda$-NIC는 CPU 기반 서버리스 시스템 대비 최대 880배 낮은 지연 시간과 736배 높은 처리량을 달성하면서도 호스트 CPU와 메모리 사용을 크게 감소시킨다.
There is a growing interest in serverless compute, a cloud computing model that automates infrastructure resource-allocation and management while billing customers only for the resources they use. Workloads like stream processing benefit from high elasticity and fine-grain pricing of these serverless frameworks. However, so far, limited concurrency and high latency of server CPUs prohibit many interactive workloads (e.g., web servers and database clients) from taking advantage of serverless compute to achieve high performance. In this paper, we argue that server CPUs are ill-suited to run serverless workloads (i.e., lambdas) and present $\\lambda$-NIC, an open-source framework, that runs interactive workloads directly on a SmartNIC; more specifically an ASIC-based NIC that consists of a dense grid of Network Processing Unit (NPU) cores. $\\lambda$-NIC leverages SmartNIC's proximity to the network and a vast array of NPU cores to simultaneously run thousands of lambdas on a single NIC with strict tail-latency guarantees. To ease development and deployment of lambdas, $\\lambda$-NIC exposes an event-based programming abstraction, Match+Lambda, and a machine model that allows developers to compose and execute lambdas on SmartNICs easily. Our evaluation shows that $\\lambda$-NIC achieves up to 880x and 736x improvements in workloads' response latency and throughput, respectively, while significantly reducing host CPU and memory usage.
연구 동기 및 목표
- 고전적인 CPU 기반 서버리스 컴퓨팅의 한계, 특히 낮은 지연 시간과 상호작용 워크로드에 대해 높은 컨텍스트 스위칭 오버헤드와 낮은 동시성 문제를 해결하기 위해.
- SmartNIC의 고코어, 저지연 특성을 활용해 서버리스 함수를 직접 실행하는 것의 가능성과 성능 이점을 탐색하기 위해.
- 고수준의 이벤트 기반 프로그래밍 모델을 통해 저수준 하드웨어 복잡성을 추상화함으로써 SmartNIC 프로그래밍을 단순화하기 위해.
- ASIC 기반 SmartNIC의 NPU 코어에서의 막대한 병렬 처리 능력을 활용해 엄격한 테일 지연 시간 보장을 달성하고 고처리량을 실현하기 위해.
- 호스트에서 전체 서버리스 워크로드를 SmartNIC로 오프로드하여 호스트 CPU와 메모리 오버헤드를 줄이기 위해.
제안 방법
- 이벤트 기반 람다를 네트워크 패킷 매칭에 의해 트리거할 수 있도록 허용하는 고수준 프로그래밍 모델인 매칭+람다 추상화를 도입한다.
- P4의 매칭-액션 파라다임을 확장하여 더 풍부한 액션 기능을 제공함으로써 SmartNIC에서 복잡하고 상태 기반의 서버리스 함수 실행을 지원하는 머신 모델을 활용한다.
- 클라이언트와 SmartNIC에 호스팅된 람다 간의 다중 패킷 메시지 전송을 위해 RDMA를 사용하여 신뢰성 있고 저지연 전송을 구현한다.
- Match+Lambda 함수를 효율적인 NPU 코드로 컴파일하고 최적화하며, NPU 그리드 전반에 걸쳐 자원 할당, 스케줄링, 메모리 접근을 관리한다.
- 호스트 CPU 간섭 및 가상화 계층이 필요 없도록 SmartNIC에서 전체 서버리스 함수 실행을 가능하게 한다.
- 현대적 NIC가 TCP를 종료하고 완전한 메시지를 처리할 수 있도록 통합함으로써 패킷 수준 및 메시지 수준 처리를 모두 지원한다.
실험 결과
연구 질문
- RQ1수백 개의 NPU 코어를 갖춘 SmartNIC가 수천 개의 동시, 저지연 서버리스 함수를 실행하기 위해 호스트 CPU를 효과적으로 대체할 수 있는가?
- RQ2SmartNIC 하드웨어의 복잡성을 숨기면서도 서버리스 워크로드의 효율적 실행을 가능하게 하는 고수준의 개발자 友好的 추상화는 어떻게 설계할 수 있는가?
- RQ3서버리스 함수를 SmartNIC로 오프로드할 경우, 호스트 CPU와 메모리 사용을 얼마나 줄일 수 있으며, 지연 시간과 처리량은 어떻게 향상되는가?
- RQ4실제 상호작용 워크로드에서 CPU 대신 SmartNIC에서 서버리스 함수를 직접 실행할 경우 달성 가능한 성능 향상은 어느 정도인가?
- RQ5높은 병렬성과 분산 아키텍처를 갖춘 SmartNIC 환경에서 상호작용 워크로드에 대해 엄격한 테일 지연 시간 보장을 달성할 수 있는가?
주요 결과
- $\lambda$-NIC 프레임워크는 기존 CPU 기반 서버리스 실행 대비 최대 880배의 응답 지연 시간 향상을 달성한다.
- 처리량은 최대 736배 향상되어 SmartNIC의 NPU 코어에서의 막대한 병렬 처리의 효과를 입증한다.
- 전체 워크로드가 SmartNIC로 오프로드됨에 따라 호스트 CPU 활용도가 크게 감소하여 가상화 및 컨텍스트 스위칭 오버헤드가 제거된다.
- 서버리스 함수가 호스트에서 별도의 컨테이너나 VM 오버헤드 없이 SmartNIC의 고립된 로컬 메모리에서 실행되므로 호스트 메모리 사용이 극적으로 감소한다.
- 매칭+람다 추상화는 람다를 SmartNIC에 효율적으로 컴파일하고 배포할 수 있도록 하며, 성능을 희생시키지 않은 채 저수준 하드웨어 복잡성을 추상화한다.
- 프레임워크는 패킷 수준 및 메시지 수준 처리를 모두 지원하여, 이제 NIC에서 종료되는 현대적 전송 프로토콜인 TCP와의 통합을 가능하게 한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.