Skip to main content
QUICK REVIEW

[논문 리뷰] Programmable Packet Scheduling

Anirudh Sivaraman, Suvinay Subramanian|arXiv (Cornell University)|2016. 02. 19.
Interconnection Networks and Systems참고 문헌 29인용 수 3
한 줄 요약

이 논문은 라인레이트 스위치에서 프로그래머블 패킷 스케줄러를 구현하기 위해 푸시인프리오우트(PIFO) 추상화를 사용한다. 이는 하드웨어 재설계 없이도 WFQ, LSTF, 계층적 스케줄러와 같은 다양한 스케줄링 알고리즘을 런타임에서 프로그래밍할 수 있도록 한다. 16-nm 공정에서 1 GHz 동작을 달성하면서 칩 면적의 4% 미만의 오버헤드를 기록하여, PIFO가 현대 스위치에서 고성능이고 유연한 스케줄링을 위해 실현 가능하다는 것을 입증한다.

ABSTRACT

Switches today provide a small set of scheduling algorithms. While we can tweak scheduling parameters, we cannot modify algorithmic logic, or add a completely new algorithm, after the switch has been designed. This paper presents a design for a programmable packet scheduler, which allows scheduling algorithms---potentially algorithms that are unknown today---to be programmed into a switch without requiring hardware redesign. Our design builds on the observation that scheduling algorithms make two decisions: in what order to schedule packets and when to schedule them. Further, in many scheduling algorithms these decisions can be made when packets are enqueued. We leverage this observation to build a programmable scheduler using a single abstraction: the push-in first-out queue (PIFO), a priority queue that maintains the scheduling order and time for such algorithms. We show that a programmable scheduler using PIFOs lets us program a wide variety of scheduling algorithms. We present a detailed hardware design for this scheduler for a 64-port 10 Gbit/s shared-memory switch with <4% chip area overhead on a 16-nm standard-cell library. Our design lets us program many sophisticated algorithms, such as a 5-level hierarchical scheduler with programmable scheduling algorithms at each level.

연구 동기 및 목표

  • 네트워크 운영자가 하드웨어 재설계 없이도 라인레이트 스위치에 맞춤형 스케줄링 알고리즘을 구현할 수 있도록 한다.
  • 고정 기능 스케줄러가 사전 정의된 소수의 알고리즘만 지원하는 한계를 극복한다.
  • 프로그래머블, 계층적, 비워크컨스밍 스케줄링 알고리즘을 지원하는 하드웨어 효율적이고 고성능의 스케줄러를 설계한다.
  • 현대 실리콘에서 PIFO 기반 스케줄러를 최소한의 면적 및 전력 오버헤드로 실현 가능하다는 것을 입증한다.
  • 등급 기반 트랜잭션과 PIFO 추상화를 통해 복잡한 스케줄링 정책을 표현할 수 있는 프로그래밍 모델을 구축한다.

제안 방법

  • 논문은 패킷 스케줄링 순서와 시간을 큐에 삽입할 때 할당된 등급에 기반해 유지하는 PIFO(푸시인프리오우트 큐) 데이터 구조를 도입한다.
  • 스케줄링 트랜잭션을 정의한다—이것은 패킷을 큐에 삽입하기 전에 그의 등급을 계산하는 작은 프로그램으로, 알고리즘의 유연성을 보장한다.
  • 많은 스케줄링 결정(순서 및 시간)이 큐에 삽입할 때 이미 결정될 수 있다는 관찰을 활용하여, 구현을 단순화한다.
  • 다중 PIFO를 조합하여 계층적 스케줄러를 구축함으로써 각 수준에서 다른 알고리즘을 사용할 수 있도록 하며, 예를 들어 5단계 계층 스케줄링이 가능하다.
  • 하드웨어는 16-nm 표준 셀 라이브러리에서 합성되어, PIFO 정렬 연산이 낮은 면적 오버헤드로 실현 가능하다는 것을 보여준다.
  • 구현은 64포트 10 Gbps 스위치를 지원하며, 1 GHz에서 동작하며 약 60K개의 패킷과 1,000개의 흐름에 대한 버퍼링을 처리할 수 있다.

실험 결과

연구 질문

  • RQ1단일 추상화를 사용해 다양한 스케줄링 알고리즘을 지원하는 프로그래머블 패킷 스케줄러를 구축할 수 있는가?
  • RQ2현대 실리콘에서 PIFO 기반 스케줄링을 최소한의 면적 및 성능 오버헤드로 실현할 수 있는가?
  • RQ3순서 및 시간과 같은 스케줄링 결정을 큐에 삽입할 때 결정할 수 있는가? 이는 효율적인 하드웨어 설계를 가능하게 하는가?
  • RQ4일부 스케줄링 알고리즘을 표현하는 데 있어 PIFO 추상화의 한계는 무엇인가?
  • RQ5PIFO와 스케줄링 트랜잭션을 사용해 계층적 및 비워크컨스밍 스케줄링 알고리즘을 효율적으로 프로그래밍할 수 있는가?

주요 결과

  • PIFO 추상화를 통해 WFQ, LSTF, HPFQ, 그리고 세밀한 우선순위 스케줄링과 같은 다양한 스케줄링 알고리즘을 프로그래밍할 수 있다.
  • 하드웨어 설계는 1 GHz 클럭 주파수를 달성하여 64포트 10 Gbps 공유 메모리 스위치에 충분하며, 성능 저하 요소가 없다.
  • 16-nm 표준 셀 라이브러리에서 기준 스위치(고정 스케줄링 알고리즘) 대비 칩 면적의 4% 미만 오버헤드를 기록한다.
  • 구현은 5단계 계층 스케줄링을 지원하며, 각 수준에서 서로 다른 프로그래머블 스케줄링 알고리즘을 실행할 수 있다.
  • PIFO 설계는 현대 트랜지스터 기술에서 실현 가능하며, 이전의 가정(스케줄러 내 정렬 연산이 면적 제약이 있는 스위치에는 너무 비싸다)을 뒤집는다.
  • 이 접근법은 네트워크 운영자가 제조사가 하드코딩한 논리 외의 새로운 맞춤형 스케줄링 알고리즘을 구현할 수 있도록 한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.