Reducing Latency in Multi-Tenant Data Centers via Cautious - - PowerPoint PPT Presentation

reducing latency in multi tenant data centers
SMART_READER_LITE
LIVE PREVIEW

Reducing Latency in Multi-Tenant Data Centers via Cautious - - PowerPoint PPT Presentation

Reducing Latency in Multi-Tenant Data Centers via Cautious Congestion Watch The 49th International Conference on Parallel Processing (ICPP) 2020 Ahmed M. Abdelmoniem, Hengky Susanto, and Brahim Bensaou Outline Introduction and background


slide-1
SLIDE 1

Reducing Latency in Multi-Tenant Data Centers via Cautious Congestion Watch

The 49th International Conference on Parallel Processing (ICPP) 2020

Ahmed M. Abdelmoniem, Hengky Susanto, and Brahim Bensaou

slide-2
SLIDE 2

Outline

  • Introduction and background
  • Preliminary Investigation
  • Exploring solution design space
  • The solution (Hwatch) design
  • Evaluation
  • Conclusion
slide-3
SLIDE 3

Living in Big Data Era

  • Massive amount of data being generated, collected, and processed daily.

› Data for recommendation, machine learning, business intelligence, scientific research, etc.

  • To accelerate the processing speed, this massive amount of data must be processed in parallel.
slide-4
SLIDE 4

Congestion Control in Data Center

  • Data parallel processing is generally conducted in a data center.
  • Modern datacenter employ Data Center TCP (DCTCP).
  • DCTCP is a TCP-like congestion control protocol designed for data center networks.
  • DCTCP leverages Explicit Congestion Notification (ECN) to provide multi-bit feed-back to the end host.

DCTCP DCTCP DCTCP Data parallel processing application

slide-5
SLIDE 5

DCTCP Overview

Sender Switch Receiver

ECN threshold

Switch Buffer

Packet Marked by ECN marking TCP ACK ACK packets carry ECN echo

slide-6
SLIDE 6

Incast Problem in Datacenter Network

Switch Buffer

Worker 1 Worker 2 Worker 3

Aggregator

ECN threshold

Packets drop

  • Incast is bloated buffer incident.
  • Caused by burst of packets arriving at the same time.
  • Common occurrence for data parallel processing in data center network.
  • Often leads to network and application level performance degradation.

Data parallel processing

slide-7
SLIDE 7

Preliminary Investigation

Better understanding of how well DCTCP coping with the incast problem.

slide-8
SLIDE 8

Investigating Incast Problem

Conduct preliminary experiment via NS2 simulator in dumbbell network topology.

  • Short-lived flows are sensitive to the choice of the initial sending window size.
  • DCTCP marking results in the more aggressive acquisition of the available bandwidth.
  • Favor large flows (e.g. data backup traffic) over short-lived flow (e.g. search query) that may degrade the

performance short-lived flow .

slide-9
SLIDE 9

The Root of The Performance Degradation

  • Observation 1 : Short-lived flows (e.g. 1 to 5 packets) do not have enough packets to

generate 3 DUPACKs to trigger TCP fast re-transmission scheme.

  • Or the sender may lose the entire window of packets.
  • Sender must rely on TCP RTO to detect packet drops. (Default Linux’s RTO = 200 ms to 300 ms).
  • Observation 2: Incast problem primarily affects short-lived flows.
  • Today’s data parallel processing applications (E.g. Map-Reduce) generate many short-lived flows.
slide-10
SLIDE 10

Our findings show that, short-lived flows in DCTCP still suffer from packet losses due to the use of large initial congestion windows that results in incast problem.

slide-11
SLIDE 11

Research Question

What is the optimal choice of initial congestion window for DCTCP that mitigates incast problem, while minimizing the average completion time of short-lived flows?

slide-12
SLIDE 12

Exploring Solution Design Space

To provide a holistic view of the problem and better understanding on the complex interactions between network components (switch, sender, and receiver).

slide-13
SLIDE 13

Exploring The Design Space at Sender and Receiver

Sender Switch Receiver

Due to nature of TCP based protocol, there is a wealth

  • f information available at the sender.
  • Number of transmitted packets, congestion window

size, RTT, .., etc. A receiver has a natural position to evaluate information carried by packets with ECN marking from inbound traffic.

Combining information gathered from both the sender and receiver provides a sender with a richer and more holistic view of the network condition.

  • For instance, the number of packets dropped can be approximated by subtracting the number of packets received

by the receiver from the total number of transmitted packets by the sender.

slide-14
SLIDE 14

Exploring The Design Space at The Switch

At time t

Worker 1

Worker 2 Worker 3

Aggregator

Switch Buffer

Switch

Worker 2 Worker 3

Worker 1

Observation : Transmitting packets at different time helps to mitigate packets drop.

At time t+1

slide-15
SLIDE 15

Visualizing Queue Management as Bin-Packing

At time t

Worker 2 Worker 3 Worker 1

At time t+1 Switch Buffer

Visualize switch buffer as the bin. Visualize packet as the items that are packed into a bin.

slide-16
SLIDE 16

Visualizing Incast As Bin-Packing

  • Different perspective in understanding incast problem.
  • Starting point to think how to transmit a bulk data of short-lived flows, which only consists
  • f few packets.
  • Allowing us to inherit wisdom from earlier study on bin-packing problem.
  • Our solution draws inspiration from the classic solution, Next Fit Algorithm.
  • Emulate Bin-Packing problem by utilizing ECN used in DCTCP.
  • The ECN setup follows the recommendation for DCTCP.
slide-17
SLIDE 17

Theoretical Results

Key insight gained from our theoretical results:

  • The initial congestion window size can be approximated by leveraging

information base on the number of packets marked and unmarked by ECN.

  • Given the number of packets marked by ECN, the first 𝑜 transmitted packets

should be transmitted in at least two batches (rounds).

slide-18
SLIDE 18

From Theory to Practice - Practical Challenges

Despite encouraging outcomes from our theoretical results, to realize the theory to practice, we must consider the practical challenges.

  • Incast problem is a distributed online problem.
  • Bin-packing is an offline problem.
  • Short-lived flows (e.g. 1 to 5 packets) may be completed before the sender

receives the ECN echo via ACK packets.

  • Short-lived flows only learn about in network congestion after receiving ECN echo, which is

too late.

slide-19
SLIDE 19

System Design Requirements of The Solution

  • Improves the performance of short-lived flows with minimal

impact on large flows.

  • Simple for deployment in data center.
  • Being Independent of the TCP variant.
  • No modifications to the VM’s network stack.
  • Addresses the practical challenges.
slide-20
SLIDE 20

HWatch

(Hypervisor-based congestion watching mechanism)

An active network probe scheme, that incorporates insights from our theoretical results, to determine the initial congestion window based on the congestion level in the network.

Our solution:

slide-21
SLIDE 21

HWatch System Design in a Nutshell

  • Injects probe packets at connection start-

up during TCP synchronization stage.

  • The probe packets carry the ECN marks to

the receiver in the case of congestion.

  • Receiver sets the receive window (RWND)

according to number of probe packets marked with ECN marking

  • Conveys RWND to sender via ACK packet.
  • Sender sets the Initial congestion window

(ICWND) according to RWND.

Hypervisor NIC

Flow# ECN S1:D1 7 S2:D2 3

Receiver

S1:data S3:data ECN-ECHO

Sender

S3:D3 5

S2:data VM2 VM1 VM3

S1-D1 S2-D2 S3-D3 IN Hook Pre_Route Ip_rcv OUT Hook Post_route Ip_finish rwnd_update

D1:ACK D3:ACK D2:ACK H-WATCH ECN

slide-22
SLIDE 22

HWatch Implementation Overview

  • The Hwatch module is implemented in the shim-layer in both sender and receiver.
  • Hwatch is implemented via Netfilters by inserting hooks in the forward processing path.
  • HWatch is realized by modifying the OpenSwitch kernel datapath module.
  • Adjusting the flow processing table.
  • By doing so, Hwatch is deployable friendly in the production datacenter.

vSwitch daemon flow_lookup receive_from_vport action:do_output (Packet Interceptor) send_packet_to_vswitchd handle_packet_cmd send_to_vport new TCP Flow Table ECN tracking RWND Update extract_key action_execute User Space Kernel Datapath

Local TCP/IP stack Routing Prerouting Forward HWATCH Hook (packet interceptor) Input Output Postrouting

TCP Flow Table ECN tracking RWND Update

slide-23
SLIDE 23

Evaluation and Analysis

(1) Simulation experiments. (2) Testbed experiments.

slide-24
SLIDE 24

ToR switches Aggregation switches

core routers

Servers

pod

Simulation Experiment Setups

  • NS2 simulator.
  • Over 100s of servers connected by commodity switches.
  • Compared to different type TCP traffic sources (TCP-DropTail, TCP-Red, and DCTCP).

Fat Tree Topology

slide-25
SLIDE 25

Simulation Experiment Results

  • HWatch improves the performance of short-lived flows by up to 10X compares to

TCP-DropTail, TCP-Red, and DCTCP.

  • Minimal impact to the performance of large-flows.

Short-Lived flows: Avg FCT Long-Lived flows: Avg Goodput Persistent queue over time Bottleneck utilization over time

Performance of short-lived and long-lived flows in over 100 sources scenario.

slide-26
SLIDE 26

Testbed Experiment Setup

  • Build and deploy HWatch prototype in mini data center.
  • Fat Tree topology connecting 4 Racks of DC-grade servers installed with Incast Guard End-host

Module.

  • Commodity (EdgeCore) Top of Rack switches.
  • Core Switch is PC installed with the NetFPGA Switch.

Rack 1 Rack 2 Rack 3 Core ToR Rack 4 NetFPGA Switch

1 Gb/s

Fat Tree topology

slide-27
SLIDE 27

Testbed Experiments Results

Test experiments confirms that HWatch mitigates packets drop.

  • Improves the performance of short-lived flows by up to 100%.
  • Minimal impact to the performance large flows.

Short-Lived flows: Average FCT Long-Lived flows: Average Goodput

slide-28
SLIDE 28

Key Insights From HWatch Performance

  • Dispersing packets transmission over time, creates smaller size of incasts.
  • Allowing buffer to observed the incoming packets with fewer packet drop.
  • Fewer packet drop allows short-lived flows to achieve faster completion time.
  • HWatch stochastically prioritizes the available buffer space to short-lived flows.
  • Because probe packets indirectly reserve buffer space for short-lived flows.
  • Probing mechanism functions as incast early warning system allowing long-lived

flows that are actively sending data to scale back to release some buffer space for short-lived flows.

slide-29
SLIDE 29

Conclusion

  • HWatch mitigates incast problem in the data center.
  • Hwatch strikes the balance between improving the performance of short-lived

flows while imposing minimal impact on the large flows.

  • Hwatch is deployment-friendly in production data center.
slide-30
SLIDE 30

Thank You

slide-31
SLIDE 31

Exploring The Design Space at The Switch

Time Number of packets

Y number of packets burst (incast)

Packets are dropped from buffer overflow

Time required to drain packets in buffer that are queued at time t.

Packets queued in the buffer

X number of existing packets queued inside the buffer prior the burst

Illustration of the switch buffer experiencing incast.

3 3

t t'

Buffer Size