Skip to main content
QUICK REVIEW

[논문 리뷰] ATP: a Datacenter Approximate Transmission Protocol.

Ke Liu, Shin-Yeh Tsai|arXiv (Cornell University)|2019. 01. 07.
Cloud Computing and Resource Management참고 문헌 39인용 수 5
한 줄 요약

ATP는 손실 가능한 네트워크에서 제어된 패킷 손실을 활용하여 근사 응용 프로그램이 최적의 대역폭 활용도를 달성할 수 있도록 해주는 새로운 데이터센터 네트워크 프로토콜이다. 손실 기반의 전송 속도 제어를 통해 공정한 자원 공유를 보장하면서도, TCP 기반 솔루션 대비 최대 74.6% 런타임을 단축시키고 UDP 대비 최대 94%의 정확도 향상을 이룬다.

ABSTRACT

Many datacenter applications such as machine learning and streaming systems do not need the complete set of data to perform their computation. Current approximate applications in datacenters run on a reliable network layer like TCP. To improve performance, they either let sender select a subset of data and transmit them to the receiver or transmit all the data and let receiver drop some of them. These approaches are network oblivious and unnecessarily transmit more data, affecting both application runtime and network bandwidth usage. On the other hand, running approximate application on a lossy network with UDP cannot guarantee the accuracy of application computation. We propose to run approximate applications on a lossy network and to allow packet loss in a controlled manner. Specifically, we designed a new network protocol called Approximate Transmission Protocol, or ATP, for datacenter approximate applications. ATP opportunistically exploits available network bandwidth as much as possible, while performing a loss-based rate control algorithm to avoid bandwidth waste and re-transmission. It also ensures bandwidth fair sharing across flows and improves accurate applications' performance by leaving more switch buffer space to accurate flows. We evaluated ATP with both simulation and real implementation using two macro-benchmarks and two real applications, Apache Kafka and Flink. Our evaluation results show that ATP reduces application runtime by 13.9% to 74.6% compared to a TCP-based solution that drops packets at sender, and it improves accuracy by up to 94.0% compared to UDP.

연구 동기 및 목표

  • 현재 근사 응용 프로그램이 송신자 측에서 데이터를 버리거나, 신뢰성 있는 프로토콜인 TCP와 같은 프로토콜을 통해 모든 데이터를 전송함으로써 발생하는 비효율성을 해결하기 위해.
  • 네트워크 무관성 문제를 제거하기 위해, 네트워크 조건에 동적으로 적응할 수 있도록 설계된 프로토콜을 통해 근사 데이터 전송의 네트워크 의식을 향상시키기 위해.
  • 응용 프로그램 정확도를 유지하면서도 네트워크 오버헤드를 줄이기 위해 제어된 패킷 손실을 허용함으로써 근사 응용 프로그램의 성능을 향상시키기 위해.
  • 스위치의 버퍼 경쟁을 최소화함으로써 근사 흐름과 정확한 흐름 간의 공정한 대역폭 공유를 보장하기 위해.
  • 송신자 측에서 데이터를 제거하는 TCP 기반 솔루션과 패킷 손실 제어가 없는 UDP 기반 접근 방식을 모두 능가하는 성능을 확보하기 위해.

제안 방법

  • 제어된 기회적 패킷 손실을 허용함으로써 가용 대역폭을 최대한 활용할 수 있도록 하는 손실 기반 전송 프로토콜인 ATP를 설계하기 위해.
  • 관측된 패킷 손실에 기반하여 전송 속도를 조정하는 손실 기반 전송 속도 제어 알고리즘을 구현하여 재전송과 대역폭 낭비를 방지하기 위해.
  • 근사 흐름이 스위치 버퍼를 독점하지 않도록 공정성 메커니즘을 통합하여 정확한 흐름을 위한 헤드룸을 유지하기 위해.
  • 손실 이벤트를 모니터링하는 피드백 루프를 사용하여 전송 속도를 조정함으로써 과도한 혼잡을 피하면서도 고대역폭 활용도를 유지하기 위해.
  • Apache Kafka와 Flink와 같은 실제 데이터센터 워크로드를 사용하여 시뮬레이션 및 실제 환경 모두에서 ATP를 구현하기 위해.
  • 성능 및 정확도의 상호 교환 관계를 분리하기 위해, ATP를 TCP(송신자 측에서 데이터 제거) 및 UDP와 대조하여 평가하기 위해.

실험 결과

연구 질문

  • RQ1송신자 측에서 데이터를 제거하는 TCP와 비교해 볼 때, 손실 기반 전송 프로토콜이 근사 데이터센터 응용 프로그램의 런타임을 향상시킬 수 있는가?
  • RQ2ATP의 손실 기반 전송 속도 제어는 전통적인 혼잡 제어 대비 대역폭 활용도와 재전송 방지 측면에서 어떻게 비교되는가?
  • RQ3UDP는 패킷 손실 제어가 없기 때문에, ATP는 UDP 대비 응용 프로그램 정확도를 얼마나 향상시키는가?
  • RQ4ATP는 버퍼 제약 환경에서 정확한 응용 프로그램과 네트워크 자원을 공정하게 공유하는가?
  • RQ5ATP는 스트리밍 및 머신러닝 파이프라인과 같은 다양한 워크로드에서 어떤 성능 향상을 제공하는가?

주요 결과

  • ATP는 송신자 측에서 패킷을 제거하는 TCP 기반 솔루션 대비 응용 프로그램 런타임을 13.9%에서 74.6%까지 단축시켰다.
  • ATP는 패킷 손실 제어가 없는 UDP 대비 응용 프로그램 정확도를 최대 94.0% 향상시켰다.
  • ATP는 제어된 손실을 통해 가용 대역폭을 활용함으로써 더 높은 대역폭 활용도를 달성했으며, 재전송을 피하고 네트워크 혼잡을 줄였다.
  • ATP는 스위치 버퍼 공간을 공정하게 공유하여 정확한 응용 프로그램의 성능을 향상시키기 위해 버퍼 용량을 확보함으로써 성능 향상을 이뤘다.
  • ATP는 마크로 벤치마크와 Apache Kafka, Flink와 같은 실제 응용 프로그램 모두에서 일관된 성능 향상을 보였다.
  • 손실 기반 전송 속도 제어 메커니즘은 유량과 손실을 효과적으로 균형 잡아, 과도한 재전송 없이도 고성능을 유지했다.

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

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

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

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