Skip to main content
QUICK REVIEW

[논문 리뷰] Programmable Switch as a Parallel Computing Device

Li Chen, Ge Chen|arXiv (Cornell University)|2018. 03. 05.
Software-Defined Networks and 5G참고 문헌 10인용 수 9
한 줄 요약

이 논문은 프로그래머블 스위치에 Map-Reduce 워크로드를 오프로딩하여 전송 중 데이터 처리를 수행하는 병렬 프로그래밍 프레임워크 p4mr를 제안한다. 이는 CPU 기반 실행 대비 최대 20×의 성능 향상을 달성한다. 데이터 플레인 계산 비용을 모델링하고 P4 기반 컴파일러 스택을 사용함으로써, 종속성 인식 기반 레이블 배치와 패킷 수준의 실행을 통해 네트워크 스위치 집합에 걸쳐 계산을 효율적으로 분산할 수 있다.

ABSTRACT

Modern switches have packet processing capacity of up to multi-tera bits per second, and they are also becoming more and more programmable. We seek to understand whether the programmability can translate packet processing capacity to computational power for parallel computing applications. In this paper, we first develop a simple mathematical model to understand the costs and overheads of data plane computation. Then we validate the the performance benefits of offloading computation to network. Using experiments on real data center network, we finnd that offloading computation to the data plane results in up to 20x speed-up for a simple Map-Reduce application. Motivated by this, we propose a parallel programming framework, p4mr, to help users efficiently program multiple switches. We successfully build and test a prototype of p4mr on a simulated testbed.

연구 동기 및 목표

  • 프로그래머블 스위치의 높은 패킷 처리 용량을 활용하여 이들이 병렬 컴퓨팅 장치로 기능할 수 있는지 조사하기 위해.
  • 성능 저하를 최소화하면서 Map-Reduce와 같은 병렬 워크로드를 데이터 플레인으로 오프로딩하는 데 도전하는 것.
  • 다중 스위치에 걸쳐 분산된 데이터 플레인 계산을 사용자가 표현하고 배포할 수 있도록 하는 확장 가능한 프로그래밍 프레임워크를 설계하기 위해.
  • 실제 워크로드를 사용한 시뮬레이션 테스트베드를 통해 네트워크 내 계산의 실현 가능성과 성능 이점을 평가하기 위해.

제안 방법

  • 데이터 플레인 계산의 성능 오버헤드를 분석하기 위한 수학적 모델을 개발하였으며, 주로 직렬화 및 포워딩 비용에 중점을 두었다.
  • 고수준 p4mr 코드를 추상 구문 트리(_AST_)로 파싱하고, 이를 종속성 기반 방향 무향 그래프(DAG)로 변환하기 위해 flex 및 bison를 사용한 P4 기반 컴파일러 스택을 설계하였다.
  • 종속성과 홉 수 최소화를 기반으로 계산 작업(레이블)을 스위치에 할당하기 위한 게으른 레이블 배치 알고리즘을 구현하였다.
  • 응용 프로그램 ID, 라우팅 ID, 컬렉션 ID 및 데이터 페이로드 필드를 포함하는 커스터마이징된 패킷 헤더 포맷을 정의하여 네트워크 내 계산 및 결과 집계를 지원하였다.
  • Mininet을 사용하여 P4 스위치 기반 프로토타입을 구축하여 p4mr 프로그램의 실행을 시뮬레이션하였으며, 패킷 조립 및 상태 기반 변수 업데이트를 포함하였다.
  • 최종 결과를 지정된 호스트로 포워딩하여 검증함으로써 종단 간 테스팅을 통해 정확성을 평가하였다.

실험 결과

연구 질문

  • RQ1프로그래머블 스위치에서 병렬 워크로드를 위해 효율적으로 구현할 수 있는 기본 계산 primitive는 무엇인가?
  • RQ2전통적인 CPU 기반 실행 대비 데이터 플레인으로 계산을 오프로딩할 경우 발생하는 성능 저하는 어느 정도인가?
  • RQ3다중 스위치를 어떻게 프로그래밍하고 조율하여 확장 가능하고 효율적인 방식으로 분산된 데이터 처리 작업을 수행할 수 있는가?
  • RQ4프로그래머블 스위치에서 일반 목적의 병렬 컴퓨팅을 구현하기 위한 주요 시스템 설계 과제는 무엇인가?

주요 결과

  • 데이터 플레인으로 단순한 Map-Reduce 워크로드를 오프로딩한 결과, CPU 기반 실행 대비 최대 20×의 성능 향상을 달성하여 뚜렷한 성능 이점을 입증하였다.
  • 제안된 p4mr 프레임워크는 Mininet과 P4 스위치를 사용한 시뮬레이션 테스트베드에서 Word-Count 유사 워크로드를 성공적으로 컴파일하고 실행하였다.
  • 종속성 인식 기반 레이블 배치 알고리즘이 데이터 패킷의 평균 홉 수를 효과적으로 최소화하여 전반적인 성능 향상을 이끌었다.
  • 프로토타입은 P4 스위치의 상태 기반 변수를 사용하여 중간 결과를 정확히 집계하고 지정된 호스트로 최종 결과를 성공적으로 전달하였다.
  • 프레임워크는 데이터 플레인 내 분산 계산의 기능 정확성을 지원하지만, 실제 하드웨어에서의 성능 평가는 향후 작업으로 남아있다.
  • 이 연구는 메모리 프로파일과 다중 작업 스케줄링을 생산적 배포를 위한 핵심 과제로 규명하였다.

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

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

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

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