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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend