jon crowcroft, jac22 data center networks for the application
TRANSCRIPT
![Page 1: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/6.jpg)
5 port virtual output queued
![Page 7: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/7.jpg)
Latency of ping v. iperf
![Page 8: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/8.jpg)
Hadoop perturbs time synch
![Page 9: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/9.jpg)
Hadoop perturbs memcached
![Page 10: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/10.jpg)
Hadoop perturbs Naiad
![Page 11: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/11.jpg)
Qjump – self admit/policer (per hypervisor, at least)
![Page 12: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/12.jpg)
Qjump latency thru 1 switch
![Page 13: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/13.jpg)
Memcached latency redux w/ QJ
![Page 14: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/14.jpg)
QJ naiad barrier synch latency redux
![Page 15: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/15.jpg)
Experimental topology
![Page 16: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/16.jpg)
PTPd/memcached along, with Hadoop, with Hadoop+QJump
![Page 17: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/17.jpg)
2PC throughput with and without QJump
![Page 18: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/18.jpg)
QJump: variance compared with other schemes…
![Page 19: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/19.jpg)
Topology for flow completion experiment
![Page 20: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/20.jpg)
Web search FCT100Kb ave
![Page 21: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/21.jpg)
Web search FCT 99th centile
![Page 22: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/22.jpg)
Web search FCT 10Mb ave
![Page 23: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/23.jpg)
Data-mining 100k FCT ave
![Page 24: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/24.jpg)
Data-mining 100k FCT 99th cent
![Page 25: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/25.jpg)
Data-mining 10M FCT ave
![Page 26: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/26.jpg)
Memcached latency
![Page 27: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/27.jpg)
Qjump scale-up emulation
![Page 28: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/28.jpg)
Latency bound validation topo
![Page 29: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/29.jpg)
Big Picture Comparison – Related work…
![Page 30: Jon Crowcroft, jac22 Data Center Networks for the Application](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e7a5503460f94b7aaed/html5/thumbnails/36.jpg)
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…