[논문 리뷰] Everything Matters in Programmable Packet Scheduling
PACKS는 기존 하드웨어에서 순서 기반 우선순위 대기열 간의 랭크 인버션을 최소화하면서도 순서 기반 우선순위 대기열 간의 스마트한 대기열 매핑과 랭크 인식 입구 제어를 조합함으로써 기존 하드웨어에서 Push-In First-Out (PIFO) 대기열 동작을 완전히 근사하는 새로운 프로그래머블 패킷 스케줄러이다. 이는 인텔 토피노2 스위치에서 라인레이트 성능을 달성하며, SP-PIFO와 같은 최신 기술 대비 스케줄링 오류를 최대 75% 감소시키고, 다양한 워크로드 분포에서 AIFO보다 입구 제어 정확도에서 뛰어난 성능을 보인다.
Programmable packet scheduling allows the deployment of scheduling algorithms into existing switches without need for hardware redesign. Scheduling algorithms are programmed by tagging packets with ranks, indicating their desired priority. Programmable schedulers then execute these algorithms by serving packets in the order described in their ranks. The ideal programmable scheduler is a Push-In First-Out (PIFO) queue, which achieves perfect packet sorting by pushing packets into arbitrary positions in the queue, while only draining packets from the head. Unfortunately, implementing PIFO queues in hardware is challenging due to the need to arbitrarily sort packets at line rate based on their ranks. In the last years, various techniques have been proposed, approximating PIFO behaviors using the available resources of existing data planes. While promising, approaches to date only approximate one of the characteristic behaviors of PIFO queues (i.e., its scheduling behavior, or its admission control). We propose PACKS, the first programmable scheduler that fully approximates PIFO queues on all their behaviors. PACKS does so by smartly using a set of strict-priority queues. It uses packet-rank information and queue-occupancy levels at enqueue to decide: whether to admit packets to the scheduler, and how to map admitted packets to the different queues. We fully implement PACKS in P4 and evaluate it on real workloads. We show that PACKS: better-approximates PIFO than state-of-the-art approaches and scales. We also show that PACKS runs at line rate on existing hardware (Intel Tofino).
연구 동기 및 목표
- 기존 프로그래머블 스케줄러들이 PIFO 동작의 두 핵심 요소 중 하나인 스케줄링 순서 또는 입구 제어만 근사화하는 데서 발생하는 격차를 해결하기 위해.
- 하드웨어 재설계 없이도 PIFO 대기열의 입구 제어 및 스케줄링 동작을 동시에 근사화하는 스케줄러를 설계하기 위해.
- 기존 데이터 플레인 프리미티브만을 사용하여 상용 프로그래머블 스위치에서 복잡한 스케줄링 알고리즘의 실용적 구현을 가능하게 하기 위해.
- 순서 기반 우선순위 대기열에서 순서 뒤집힘을 최소화하면서도 공정성과 플로우 완료 시간을 향상시키는 동시에, 라인레이트 동작을 달성하기 위해.
제안 방법
- PACKS는 PIFO 동작을 모방하기 위해 엄격한 우선순위 대기열 세트를 하드웨어 추상화 기반으로 사용한다.
- 입구 제어 메커니즘을 통해 예상 랭크 분포와 현재 대기열 점유율을 기반으로 패킷이 허용될지 예측한다.
- 미래의 랭크 인버션을 최소화하기 위해 들어오는 패킷을 특정 우선순위 대기열에 동적으로 할당하는 동적 대기열 매핑 기법을 적용한다.
- 스케줄러는 대기열에 삽입할 때 이상적인 PIFO 대기열의 예상 동작을 추정하고, 사전에 입구 제어 및 스케줄링 결정을 시행한다.
- P4에서 전체 설계를 구현하고, 실제 워크로드와 토피노2 하드웨어 테스트베드에서 평가한다.
- 시스템은 패킷 랭크와 대기열 점유율 수준을 활용하여 실시간으로 결정을 내려 PIFO가 패킷을 재정렬하거나 제거할 수 있는 능력을 모방한다.
실험 결과
연구 질문
- RQ1프로그래머블 스케줄러는 동시에 PIFO 대기열의 입구 제어 및 스케줄링 동작을 근사화할 수 있는가?
- RQ2이미 대기열에 삽입된 패킷을 재정렬하거나 제거할 수 없는 하드웨어에서 PIFO 유사 동작은 어떻게 모방할 수 있는가?
- RQ3다중 대기열 엄격 우선순위 프레임워크에서 스케줄링 오류와 랭크 인버션을 최소화하는 입구 제어 및 매핑 전략은 무엇인가?
- RQ4제안된 스케줄러는 SP-PIFO 및 AIFO에 비해 스케줄링 정확도와 입구 제어 정확도에서 어떻게 비교되는가?
- RQ5기존 프로그래머블 스위치, 예를 들어 인텔 토피노2에서 라인레이트 성능을 달성할 수 있는가?
주요 결과
- PACKS는 다양한 부하 수준과 랭크 분포에서 SP-PIFO 대비 스케줄링 오류를 최대 75% 감소시켰다.
- 80% 활용도에서 PACKS는 이상적인 PIFO 성능에 4.12% 이내로 근접했으며, 99번째 백분위수에서 SP-PIFO를 능가하고 AIFO와 동등한 성능을 보였다.
- 소규모 플로우(10K 패킷 이하)의 경우 PACKS는 평균 플로우 완료 시간이 가장 낮았으며, AFQ에 비해 오직 10% 뒤처졌다.
- 토피노2 하드웨어 테스트베드에서 PACKS는 고우선순위 플로우를 성공적으로 우선순위를 부여하여 대역폭을 효과적으로 할당했고, FIFO는 이를 구분하지 못했다.
- PACKS는 인텔 토피노2 스위치에서 라인레이트 성능을 유지하여 실용적인 구현 가능성을 입증했다.
- 모든 테스트 랭크 분포에서 PACKS는 AIFO보다 PIFO의 입구 제어 행동을 더 잘 근사화했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.