mp hula a multipath transport layer aware datacenter load
play

MP-HULA A Multipath Transport Layer Aware Datacenter Load Balancing - PowerPoint PPT Presentation

MP-HULA A Multipath Transport Layer Aware Datacenter Load Balancing Scheme Using Programmable Data Planes Cristian Hernandez Benet , Andreas J. Kassler, Theophilus Benson, Gergely Pongracz MP-HULA: A Transport Layer aware Load Balancing


  1. MP-HULA – A Multipath Transport Layer Aware Datacenter Load Balancing Scheme Using Programmable Data Planes Cristian Hernandez Benet , Andreas J. Kassler, Theophilus Benson, Gergely Pongracz MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 1

  2. Motivation § Multiple Paths § Large Bisection Bandwidth – But: at most 25% of core links are highly utilized à effective load balancing required § Volatile, Unpredicted Traffic patterns § Multipath Transport Protocols (e.g. MPTCP) – Applications enhance their performance using several paths (e.g. SIRI) § Symmetric/Assymetric topologies with different number of layers MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 2

  3. State of the Art ECMP CONGA HULA DRILL CLOVE GRANULARITY FLOW FLOWLET FLOWLET PACKET FLOWLET CONGESTION- NO YES YES YES YES AWARE CUSTOM-ASIC NO YES NO YES NO PROGRAMMABLE NO NO YES NO NO SCALABLE YES NO YES YES YES MULTIPATH- TRANSPORT- NO NO NO NO NO AWARE MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 3

  4. State of the Art ECMP CONGA HULA DRILL CLOVE GRANULARITY Not Multipath Transport Aware CONGESTION- AWARE CUSTOM-ASIC PROGRAMMABLE SCALABLE E.g. SCTP, MULTIPATH- MPTCP, QUIC TRANSPORT- AWARE MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 4

  5. Challenges – How to timely and accurately detect congestion in scalable way? – Robust against reordering – Efficiently load balance for asymetric topologies or link failures – Scalable MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 5

  6. State of the Art - HULA § HULA – SOSR’16 Probe propagation Per next-hop utilization monitoring – Distance-vector like propagation • Periodic probes carry path utilization – Each switch chooses best downstream path • Maintains only best next hop à cannot exploit d2 multipath transport features à focus of this work d1 • Scales to large topologies – Programmable at line rate Gap ≥ | d1 - d2 | MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 6

  7. Challenges Probing – Global link – How to timely and accurately detect utilization information congestion in scalable way? – Robust against reordering Flowlet switching – Efficiently load balance for asymetric The periodic arrival of probes topologies or link failures is used as keep-alive Only storing best-next hop – Scalable for selected destination MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 7

  8. MP-HULA – Problem statement TCP Connection 1 TCP Connection 2 1 0 Best Next-hop The switch does not have 0 FL:1 contextual information about FL:1 Flowlet gap MPTCP FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 8

  9. MP-HULA – Problem statement § Most of the Load balancing schemes are not Multipath Transport Aware – Sub-flows might be routed over the same path à bandwidth aggregation might be reduced – Redundancy and persistence might be reduced if all sub-flows end-up in a failed link 1 0 Best Next-hop 0 FL:1 FL:1 Flowlet gap FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 9

  10. MP-HULA – Problem statement Ø When both flowlets arrive, the best next-hop is port 0 1 0 Best Next-hop 0 FL:1 FL:1 Flowlet gap FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 10

  11. MP-HULA – Problem statement Ø Both flowlets are sent over port 0. Best Next-hop is updated but FL:1 FL:1 flowlets are still sent over the same hop until flowlet expires 1 0 Best Next-hop 1 FL:1 FL:1 Flowlet gap FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 11

  12. MP-HULA – Problem statement Ø When the flowlet expires, the new flowlet is sent over the current FL:1 best next-hop (port 1) FL:2 1 0 Best Next-hop 1 FL:1 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 12

  13. MP-HULA – Problem statement Ø When the flowlet expires, the new flowlet is sent over the current best next-hop (port 1) FL:2 1 0 Best Next-hop 1 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 13

  14. MP-HULA – Problem statement Ø Best Next-hop is port 1, so we send flowlet 2 over port 1 FL:2 1 0 Best Next-hop 1 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 14

  15. MP-HULA – Problem statement What do we want to achieve instead? • Bandwidth aggregation • Redundancy & Persistence 1 0 Best Next-hop 0 FL:1 FL:1 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 15

  16. MP-HULA – Problem statement What do we want to achieve instead? FL:1 FL:1 1 0 1 st Best Next-hop 0 2 n Best Next-hop 1 FL:1 FL:1 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 16

  17. MP-HULA – Problem statement How can we do it? FL:1 FL:1 1) Tracking not only the best next-hop but k -best hops 1 0 1 st Best Next-hop 0 2 n Best Next-hop 1 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 17

  18. MP-HULA – Problem statement FL:1 FL:1 2) Identifying the MPTCP session and sub-flows to 1 0 1 st Best Next-hop send their flowlets over 0 2 n Best Next-hop different ports 1 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 18

  19. MP-HULA – Problem statement 2) Identifying the MPTCP session and sub-flows to 1 0 1 st Best Next-hop send their flowlets over 0 2 n Best Next-hop different ports 1 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 19

  20. MP-HULA – Problem statement Not aware that this flowlet belongs to the same MPTCP connection FL:2 FL:2 3) Mark sub-flows belonging to a specific MPTCP session 1 0 1 st Best Next-hop 1 2 n Best Next-hop 0 FL:2 FL:2 SF:1 SF:2 SF:1 SF:2 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 20

  21. MP-HULA – MPTCP Identification Problem § MPTCP spreads application data over multiple sub-flows § MPTCP in general improves fairness, throughput and robustness 1. Syn § Beneficial for long flows (elephant flows) 1 0 Best Next-hop 0 FL:1 SF:1 SF:1 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 21

  22. MP-HULA – MPTCP Identification Problem § MPTCP spreads application data over multiple sub-flows § MPTCP in general improves fairness, throughput and robustness 2. ACK § Beneficial for long flows (elephant flows) 1 0 Best Next-hop 0 FL:1 SF:1 SF:1 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 22

  23. MP-HULA – MPTCP Identification Problem MPTCP sender/receiver generates token A and B from {Key A} and {Key B} for authentication 3. ACK 1 0 Best Next-hop 0 FL:1 SF:1 SF:1 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 23

  24. MP-HULA – MPTCP Identification Problem Sender MPTCP A sends the generated Token B and a random number (nonce) 4. ACK 1 0 Best Next-hop 0 FL:1 FL:1 SF:1 SF:2 SF:1 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 24

  25. MP-HULA – MPTCP Identification Problem MPTCP receives the generated Token A and validates it. 5. ACK 1 0 Best Next-hop 0 FL:1 FL:1 SF:1 SF:2 SF:1 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 25

  26. MP-HULA – MPTCP Identification Problem This node is not aware of the 3- MPTCP sends the generated handshake messages authentication code HMAC A and the connection is initiated. 5. ACK 1 0 Best Next-hop 0 FL:1 FL:1 SF:1 SF:2 SF:1 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 26

  27. MP-HULA – Parse, Identification and Correlation This node is not aware of the 3- § (1) Parse - The ToR parses the MPTCP handshake messages option messages carrying the keys and tokens to (2) identify the MPTCP session using external function to compute SHA1 § (3) The ToR correlates sub-flows to a given MPTCP connection 1 0 Best Next-hop 0 FL:1 The ToR parses, FL:1 identifies, correlates and marks the SHA1 MPTCP traffic SF:1 SF:2 SF:1 MPTCP 1 MP-HULA: A Transport Layer aware Load Balancing Scheme for Programmable Data Planes 27

Recommend


More recommend