서지주요정보
Latency-based congestion detection and control for datacenters = 데이터센터를 위한 지연 시간 기반 네트워크 혼잡 탐지 및 제어
서명 / 저자 Latency-based congestion detection and control for datacenters = 데이터센터를 위한 지연 시간 기반 네트워크 혼잡 탐지 및 제어 / Changhyun Lee.
발행사항 [대전 : 한국과학기술원, 2015].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8028538

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 15022

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Large-scale datacenters have become an essential part of today's online services, and performance issues within datacenter networks have received much attention in recent years. In datacenter workloads, latency-sensitive flows are prevalent, so achieving low latency is important in improving end-users' experience. Since queueing delay dominates total network delay in datacenter networks, lowering queueing delay has been a major research challenge. To solve the queueing delay problem, congestion control algorithms should be re-designed to target datacenter networks' own needs. The nature of congestion feedback largely governs the behavior of congestion control. In datacenter networks, where RTTs are in hundreds of microseconds, accurate feedback is crucial to achieve both high utilization and low queueing delay. Previous proposals for datacenter congestion control predominantly leverage ECN or even explicit in-network feedback to minimize the queuing delay. In this dissertation, we explore latency as accurate congestion feedback and develop a new congestion control algorithm that is specifically designed to achieve low queueing delay in datacenter networks. Before developing the algorithm, we first analyze the required properties for congestion control mechanism in datacenters and derive our design choices. Our first design choice is the use of latency as a congestion feedback instead of packet loss or ECN-based feedback. Previous TCP algorithms such as TCP Vegas have already proposed to use latency feedback, but it has been known that end-to-end latency measurements are noisy and cannot represent accurate congestion level in the networks. To overcome such limitations in our algorithm, we measure end-to-end latency in driver-level and hardware-level. We implement driver-level measurement with Intel DPDK platform and hardware-level measurement with Mellanox timestamping-enabled network interface card. We come up with additional calibration techniques on packet bursts and hardware DMA. After removing all the sources of errors, we demonstrate that latency-based feedback is up to an order of magnitude more accurate and fine-grained than ECN-based feedback; the number of packets in the network switch can be accurately inferred by our latency measurements. Our second design choice is accurate window size calculation. DX, our congestion control algorithm, calculates the number of packets to saturate the network link without queueing every RTT. Such fine-grained calculation is only possible due to our accurate latency measurement. One of the advantages of using DX is that there is no parameter setting whatsoever. Finally, we implement DX in Linux kernel and evaluate the performance with testbed experiments and large-scale simulations. In our dumbbell topology experiments, DX achieves 5.33 times smaller queueing delay at 1Gbps link than DCTCP, the most popular ECN-based solution, and 1.57 times smaller queueing delay at 10Gbps. We believe that improvement in hardware timestamping technology will enable better performance at 10Gbps and even higher network link rates in future datacenter networks.

인터넷 서비스들이 처리해야 하는 데이터의 규모가 늘어나면서, 데이터 센터의 성장이 급속화되고 있다. 이에 따라 데이터 센터의 내부 네트워크에서 필요한 성능 요구 사항들이 새롭게 생겨났는데, 서비스 사용자들이 경험하는 응답 시간을 줄이기 위해 노드와 노드 사이의 delay를 낮추는 것이 가장 큰 이슈 중 하나로 떠올랐다. 기존의 광역 네트워크에서도 낮은 delay 가 선호되는 것은 당연한 일이었지만, 데이터 센터 네트워크만의 구조적 특징이 delay 문제의 중요성을 더욱 부각시키게 되었다. 데이터 센터 네트워크가 기존의 광역 네트워크로부터 구별되는 가장 큰 차이점은 노드들 사이의 거리가 상대적으로 매우 짧아서 propagation delay가 전체 delay에서 차지하는 비중이 거의 없어진다는 부분이다. 따라서 스위치에서 생기는 queueing delay 가 전체 delaly의 대부분을 차지하게 되고, 이 queueing delay를 줄이는 것이 사용자 경험을 크게 향상시키는 방법이 될 수 있다. 데이터 센터의 queueing delay를 줄이기 위해서 다양한 방법들이 이전 연구에서 제안되었는데, 그 중 가장 대표적인 연구인 DCTCP는 과거의 TCP에서 네트워크 혼잡의 신호로 사용하던 패킷 손실을 대신하여 스위치가 패킷에 마킹을 해주는 ECN 필드를 사용하였다. 이를 통해 네트워크 혼잡을 더 빠르게 알아채고, 실제로 스위치 큐에 쌓여있는 패킷의 수를 추측하여 그에 알맞게 윈도우 크기를 줄이게 되어 네트워크 링크를 100\%로 사용하면서도 스위치 큐를 비교적 낮게 유지할 수 있게 된다. 하지만 이 방식에서는 ECN threshold를 관리자가 설정해주어야 하는 어려움과, 추측한 스위치의 패킷 개수가 부정확할 수 있다는 단점이 존재한다. DCTCP 이외에도 HULL 과 같은 스위치 기반의 솔루션이 존재하지만, 이들은 성능을 얻기 위해 스위치 내부를 수정해야하기 때문에, 실제 네트워크에 구현해서 사용하기에 어려움이 따른다. 본 연구에서는 end-to-end delay 측정을 통하여 데이터 센터 네트워크에서 스위치의 큐 길이를 더욱 정확하게 알아내고, 이 정보를 이용하여 데이터 센터 네트워크의 queueing delay 를 효과적으로 줄일 수 있는 새로운 알고리즘인 DX를 제안한다. 먼저 end-to-end delay 측정값으로부터 스위치 큐 길이를 알아내기 위해서, 우리는 스위치 큐가 아닌 다른 곳으로부터 나오는 delay, 즉 네트워크가 아닌 호스트에서 발생되는 delay 를 최대한 제거하는 측정 방식을 택하였다. 호스트에서 발생되는 delay 를 네트워크 delay로 잘못 받아들일 경우, 스위치의 큐를 실제보다 크게 측정하게 되는 오류가 생길 수 있다. 호스트 delay 를 제거하기 위하여 우리는 우선 커널 수준이 아닌 드라이버 수준에서 패킷 타임 스탬핑을 하였고, 더 나은 성능을 위해 패킷이 네트워크 인터페이스 카드 (NIC) 를 빠져나가기 직전인 하드웨어 수준에서의 타임 스탬핑도 구현해 테스트 하였다. 이에 추가로 burstiness 로부터 오는 순간적인 delay와 하드웨어 DMA 로부터 발생하는 delay 보정 기술을 개발하였고, 그 결과 10Gbps 링크 실험의 경우 드라이버 수준 측정에서 2us의 오차, 하드웨어 수준 측정에서 500ns의 오차로 네트워크 delay 를 측정할 수 있게 되었다. 이처럼 정확하게 측정된 queueing delay를 이용하여 우리는 DX라는 새로운 네트워크 혼잡 제어 알고리즘을 개발하였다. Reno 와 같은 과거의 TCP에서 네트워크 혼잡이 발생했을 때 윈도우 크기를 반으로 줄이던 것에 비해, DX는 전송 노드가 현재 알고 있는 스위치 큐의 패킷 개수를 이용하여 다음 라운드 전송에서 네트워크 링크 bandwidth를 딱 맞게 채우기 위해 필요한 윈도우 크기를 수학적으로 계산하게 된다. 이 계산 과정에서 필요한 정보들은 전송하는 노드에서 모두 알고 있는 값으로, 네트워크 관리자가 따로 파라미터 설정을 하지 않아도 된다는 장점을 가지고 있다. 우리는 DX 알고리즘을 드라이버와 리눅스 커널에 각각 구현하였는데, delay 측정 구현은 Intel DPDK 기반으로 만들어진 SoftNIC 프레임워크 안에서 이루어졌고, 측정된 delay 를 받아서 실제 혼잡 제어하는 부분을 리눅스 커널의 TCP 스택에 구현하였다. DX 의 성능을 측정하기 위해서 시뮬레이션과 실제 실험을 같이 활용하였는데, 시뮬레이션의 경우 ns-2 시뮬레이터를 사용하였고, 실험은 구현 프로토타입을 실제 머신과 스위치 환경에서 수행하였다. 보유한 머신의 수량 한계로 소규모의 성능 측정은 실험을 이용하였고, 보다 대규모의 성능 측정을 위해서는 시뮬레이션을 이용하였다. 먼저, 실험 측정에서는 1Gbps, 10Gbps 의 네트워크 링크 하나를 두 개의 노드가 경쟁적으로 사용하는 시나리오를 만들었고, 측정 결과 1Gbps 에서 DX 가 DCTCP 보다 스위치 큐를 5.33 배 적게 사용하면서도 링크 utilization을 100\%로 유지할 수 있음을 확인하였다. 같은 시나리오의 10Gbps 환경에서는 1.57 배의 성능 향상이 있었다. 대규모 시뮬레이션에서는 192 개 노드로 이루어진 fat-tree 구조의 데이터센터를 생성하였고, 공개되어 있는 실제 데이터 센터의 워크로드를 사용하여 각 flow의 completion time을 측정하였다. 그 결과, 10KB 이하의 작은 flow 의 경우 DX 를 이용했을 때 평균적으로 1.9 배 가량 빨리 끝나는 것을 알 수 있었다. 본 연구의 파급 효과는 크게 두 가지로 나누어 볼 수 있다. 먼저 네트워크 혼잡 제어를 위한 신호로 기존의 패킷 손실, ECN을 대체하는 정확한 delay 측정 방법의 제안이다. Delay를 혼잡 제어 신호로 사용하는 개념 자체는 TCP Vegas 등 이전 연구에도 존재했으나, 높은 bandwidth 와 낮은 latency를 갖는 데이터 센터 환경에서도 유용하게 쓰일 수 있도록 나노초 수준의 오차로 정확하게 측정을 하는 방법은 없었다. 이러한 새로운 네트워크 혼잡 신호는 미래에 다양한 목적을 가진 제어 알고리즘을 개발의 기반이 될 수 있다. 여기서 더 나아가 본 연구에서는 이러한 신호를 직접 활용하는 알고리즘인 DX를 만들었고, 데이터 센터의 내부 전송에 사용되었을 때 스위치 큐를 효과적으로 줄일 수 있음을 실제 구현 및 실험으로 검증하였다.

서지기타정보

서지기타정보
청구기호 {DCS 15022
형태사항 viii, 70 : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 이창현
지도교수의 영문표기 : Sue Bok Moon
지도교수의 한글표기 : 문수복
공동지도교수의 영문표기 : Dong Su Han
공동지도교수의 한글표기 : 한동수
수록잡지명 : "Accurate Latency-based Congestion Feedback for Datacenters". USENIX Annual Technical Conference (ATC), (2015)
Including Appendix
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p.
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서