Skip to main content
QUICK REVIEW

[논문 리뷰] Unlocking the Power of Inline Floating-Point Operations on Programmable Switches

Yifan Yuan, Omar Alama|arXiv (Cornell University)|2021. 12. 11.
Parallel Computing and Optimization Techniques인용 수 7
한 줄 요약

이 논문은 프로그래머블 스위치에서 기존 하드웨어를 활용해 실시간으로 부동소수점 연산을 효율적으로 수행할 수 있도록 하는 소프트웨어 정의 부동소수점 표현인 Fpisa를 제안한다. Fpisa는 부동소수점 값을 지수와 부호 있는 가수 성분으로 분해하여 파이pline 단계를 통해 처리함으로써 다중 사이클 블로킹을 방지한다. Fpisa는 15nm 공정에서 실현 가능한 최소한의 하드웨어 수정으로 상태 기반 시스템 대비 분산 학습에서 최대 85.9% 높은 처리량과 부동소수점 쿼리 처리에서 2.7배 높은 처리량을 달성한다.

ABSTRACT

The advent of switches with programmable dataplanes has enabled the rapid development of new network functionality, as well as providing a platform for acceleration of a broad range of application-level functionality. However, existing switch hardware was not designed with application acceleration in mind, and thus applications requiring operations or datatypes not used in traditional network protocols must resort to expensive workarounds. Applications involving floating point data, including distributed training for machine learning and distributed query processing, are key examples. In this paper, we propose FPISA, a floating point representation designed to work efficiently in programmable switches. We first implement FPISA on an Intel Tofino switch, but find that it has limitations that impact throughput and accuracy. We then propose hardware changes to address these limitations based on the open-source Banzai switch architecture, and synthesize them in a 15-nm standard-cell library to demonstrate their feasibility. Finally, we use FPISA to implement accelerators for training for machine learning and for query processing, and evaluate their performance on a switch implementing our changes using emulation. We find that FPISA allows distributed training to use 25-75% fewer CPU cores and provide up to 85.9% better throughput in a CPU-constrained environment than SwitchML. For distributed query processing with floating point data, FPISA enables up to 2.7x better throughput than Spark.

연구 동기 및 목표

  • 프로그래머블 스위치에서의 네이티브 부동소수점 지원 부족으로 인해 데이터센터 워크로드(예: 분산 머신러닝 학습 및 쿼리 처리)의 가속화가 저해되는 문제를 해결하기 위해.
  • 소프트웨어 기반 형식 변환 또는 전용 FPU 하드웨어와 같은 기존 대체 방법이 높은 오버헤드 또는 유연성 부족과 높은 비용을 수반하는 문제를 극복하기 위해.
  • 맞춤형 ASIC이 필요 없이 P4 프로그래머블 스위치에서 직접 작동하는 일반적이고 효율적이며 하드웨어로 실현 가능한 부동소수점 표현(Fpisa)을 설계하기 위해.
  • 수정된 스위치 아키텍처에서 하드웨어 합성과 시뮬레이션을 통해 Fpisa의 실현 가능성과 성능 이점을 입증하기 위해.

제안 방법

  • Fpisa는 32비트 부동소수점 수를 별도의 지수와 부호 있는 가수 성분으로 분해하여, 다중 파이pline 단계를 통해 처리함으로써 다중 사이클 블로킹을 방지한다.
  • 정수 ALU에서 네이티브로 지원되지 않는 부분 연산을 실현하기 위해 스위치 파이프라인 내 기존 네트워크 중심 하드웨어 요소(예: 시프터, 비교기)를 재사용한다.
  • 기본 성능를 평가하고 처리량 및 정확도 제약을 파악하기 위해, 초기 구현으로서 Fpisa-a를 공급업체 기반 인텔 토파이노에서 구현한다.
  • 전체 정밀도 및 고처리량 Fpisa 연산을 지원하기 위해 오픈소스 Banzai 스위치 아키텍처 기반 최소한의 하드웨어 확장을 제안한다.
  • 면적, 전력, 타이밍 측면에서 실현 가능성을 검증하기 위해 제안된 하드웨어 변경 사항을 15nm 표준 셀 라이브러리에서 합성한다.
  • 실제 워크로드를 사용한 시뮬레이션을 통해 성능을 평가한다: 쿼리 처리에는 Cheetah, 분산 학습에는 FP32 데이터를 사용한 수정된 Cheetah 벤치마크를 사용한다.

실험 결과

연구 질문

  • RQ1기존 하드웨어 구성 요소와 소프트웨어 수준의 분해만을 사용하여 프로그래머블 스위치에서 부동소수점 연산을 효율적으로 구현할 수 있는가?
  • RQ2공급업체 기반 프로그래머블 스위치에서 Fpisa와 같은 소프트웨어 정의 표현을 통해 부동소수점 연산을 구현할 경우의 성능 및 정확도 상호 간의 트레이드오프는 어떠한가?
  • RQ3최소한의 비용 효율적인 하드웨어 확장은 면적 또는 전력 소비를 크게 증가시키지 않으면서 Fpisa의 처리량과 정밀도를 어떻게 향상시킬 수 있는가?
  • RQ4기존 솔루션 대비 Fpisa는 분산 머신러닝 학습 및 부동소수점 데이터베이스 쿼리 처리와 같은 실제 애플리케이션을 얼마나 빠르게 가속화할 수 있는가?
  • RQ5수용 가능한 오버헤드로 15nm CMOS 공정에 Fpisa 호환 하드웨어 확장을 통합하는 것이 실현 가능한가?

주요 결과

  • Fpisa는 CPU 자원이 제한된 환경에서 CPU 코어 사용량을 25–75% 감소시키며, SwitchML 대비 최대 85.9% 높은 처리량을 달성함으로써 분산 학습을 가속화한다.
  • 부동소수점 데이터를 포함한 분산 쿼리 처리에서는 Fpisa가 네이티브 Spark 대비 최대 2.7배 높은 처리량을 제공하며, 정수 자료형 처리에서 관찰된 성능 향상과 유사한 성과를 기록한다.
  • 인텔 토파이노에서의 초기 Fpisa-a 구현은 스위치의 기존 파이프라인 제약으로 인해 처리량 및 정확도 측면에서 심각한 제약을 드러냈다.
  • Banzai 아키텍처에 대한 제안된 하드웨어 확장은 15nm 표준 셀 라이브러리에서 합성 가능하며 면적, 전력, 타이밍에 미치는 영향이 최소한이다.
  • 시뮬레이션 결과는 Fpisa가 스케일링된 머신러닝 학습 및 쿼리 처리 워크로드를 모두 가속화할 수 있음을 확인하였으며, 정수 기반 가속기에서 관찰된 성능 향상과 일치하는 성능 향상을 보였다.
  • Fpisa는 전용 FPU나 FPGA 기반 가속기의 높은 비용과 유연성 부족을 피할 수 있는 일반적이고 확장 가능하며 하드웨어 효율적인 대안을 제공한다.

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

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

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

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