jon crowcroft, jac22 data center networks for the application

36
Jon Crowcroft, http://www.cl.cam.ac.uk/~jac22 Data Center Networks for the Application

Upload: frank-foster

Post on 29-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jon Crowcroft, jac22 Data Center Networks for the Application

Jon Crowcroft, http://www.cl.cam.ac.uk/~jac22

Data Center Networks for the Application

Page 2: Jon Crowcroft, jac22 Data Center Networks for the Application

Data Centers don’t just go fast

They need to serve applications1. Latency, not just throughput2. Availability & Failure Detectors3. Application code within network

Work based on Matt Grosvenor’s PhD And EPSRC funded NaaS project…

Page 3: Jon Crowcroft, jac22 Data Center Networks for the Application

1. Deterministic latency bounding

Learned what I was teaching wrong! I used to say:

Integrated Service too complex Admission&scheduling hard

Priority Queue can’t do it PGPS computation for latency?

I present Qjump scheme, which Uses intserv (PGPS) style admission ctl Uses priority queues for service levels

Page 4: Jon Crowcroft, jac22 Data Center Networks for the Application

Data Center Latency Problem

Tail of the distribution, due to long/bursty flows interfering

Need to separate classes of flow Low latency are usually short flows (or

RPCs) Bulk transfers aren’t so latency/jitter

sensitiv

Page 5: Jon Crowcroft, jac22 Data Center Networks for the Application

Data Center Qjump Solution

In Data Center, not general Internet! can exploit topology & traffic matrix & source behaviour knowledge

Regular, and simpler topology key But also largely “cooperative” world…

Page 6: Jon Crowcroft, jac22 Data Center Networks for the Application

5 port virtual output queued

Page 7: Jon Crowcroft, jac22 Data Center Networks for the Application

Latency of ping v. iperf

Page 8: Jon Crowcroft, jac22 Data Center Networks for the Application

Hadoop perturbs time synch

Page 9: Jon Crowcroft, jac22 Data Center Networks for the Application

Hadoop perturbs memcached

Page 10: Jon Crowcroft, jac22 Data Center Networks for the Application

Hadoop perturbs Naiad

Page 11: Jon Crowcroft, jac22 Data Center Networks for the Application

Qjump – self admit/policer (per hypervisor, at least)

Page 12: Jon Crowcroft, jac22 Data Center Networks for the Application

Qjump latency thru 1 switch

Page 13: Jon Crowcroft, jac22 Data Center Networks for the Application

Memcached latency redux w/ QJ

Page 14: Jon Crowcroft, jac22 Data Center Networks for the Application

QJ naiad barrier synch latency redux

Page 15: Jon Crowcroft, jac22 Data Center Networks for the Application

Experimental topology

Page 16: Jon Crowcroft, jac22 Data Center Networks for the Application

PTPd/memcached along, with Hadoop, with Hadoop+QJump

Page 17: Jon Crowcroft, jac22 Data Center Networks for the Application

2PC throughput with and without QJump

Page 18: Jon Crowcroft, jac22 Data Center Networks for the Application

QJump: variance compared with other schemes…

Page 19: Jon Crowcroft, jac22 Data Center Networks for the Application

Topology for flow completion experiment

Page 20: Jon Crowcroft, jac22 Data Center Networks for the Application

Web search FCT100Kb ave

Page 21: Jon Crowcroft, jac22 Data Center Networks for the Application

Web search FCT 99th centile

Page 22: Jon Crowcroft, jac22 Data Center Networks for the Application

Web search FCT 10Mb ave

Page 23: Jon Crowcroft, jac22 Data Center Networks for the Application

Data-mining 100k FCT ave

Page 24: Jon Crowcroft, jac22 Data Center Networks for the Application

Data-mining 100k FCT 99th cent

Page 25: Jon Crowcroft, jac22 Data Center Networks for the Application

Data-mining 10M FCT ave

Page 26: Jon Crowcroft, jac22 Data Center Networks for the Application

Memcached latency

Page 27: Jon Crowcroft, jac22 Data Center Networks for the Application

Qjump scale-up emulation

Page 28: Jon Crowcroft, jac22 Data Center Networks for the Application

Latency bound validation topo

Page 29: Jon Crowcroft, jac22 Data Center Networks for the Application

Big Picture Comparison – Related work…

Page 30: Jon Crowcroft, jac22 Data Center Networks for the Application

2 Failure Detectors

2PC & CAP theorem Recall CAP (Brewer’s Hypothesis)

Consistency, Availability, Partitions Strong& weak versions! If have net&node deterministic failure

detector, isn’t necessarily so! What can we use CAP-able system

for?

Page 31: Jon Crowcroft, jac22 Data Center Networks for the Application

Consistent, partition tolerant app?

Software Defined Net update! Distributed controllers have distributed

rules Rules change from time to time Need to update, consistently Need update to work in presence of

partitions By definition!

So Qjump may let us do this too!

Page 32: Jon Crowcroft, jac22 Data Center Networks for the Application

3. Application code -> Network

Last piece of data center working for application

Switch and Host NICs have a lot of smarts Network processors, like GPUs or (net)FPGAs Can they help applications? In particular, avoid pathological traffic

patterns (e.g. TCP incast)

Page 33: Jon Crowcroft, jac22 Data Center Networks for the Application

Application code

E.g. shuffle phase in map/reduce Does a bunch of aggregation (min, max, ave) on a row of results And is cause of traffic “implosion” So do work in stages in the switches in

the net (like merge sort!) Code very simple Cross-compile into switch NIC cpus

Page 34: Jon Crowcroft, jac22 Data Center Networks for the Application

Other application examples

Are many … Arose in Active Network research

Transcoding Encryption Compression Index/Search

Etc etc

Page 35: Jon Crowcroft, jac22 Data Center Networks for the Application

Need language to express these

Finite iteration (not Turing-complete language) So design python– with strong types! Work in progress in NaaS project at

Imperial and Cambridge…

Page 36: Jon Crowcroft, jac22 Data Center Networks for the Application

Conclusions/Discussion

Data Center is a special case! Its important enough to tackle

We can hard bound latency easily We can detect failures and therefore

solve some nice distributed consensus problems

We can optimise applicatiosn pathological traffic patterns

Plenty more to do…