Slide 1

Slide 1 text

Research Paper Introduction #3 “SRLB: The Power of Choices in Load Balancing with Segment Routing” @cafenero_777 2019/07/17

Slide 2

Slide 2 text

$ which • SRLB: The Power of Choices in Load Balancing with Segment Routing • Yoann Desmouceaux ∗† , Pierre Pfister † , J´erˆome Tollet † , Mark Townsley ∗† , Thomas Clausen∗ • ∗Ecole Polytechnique, 91128 Palaiseau, France{yoann.desmouceaux,mark.townsley,thomas.clausen}@polytechnique.edu • †Cisco Systems Paris Research and Innovation Laboratory (PIRL), 92782 Issy-les-Moulineaux, France {ydesmouc,ppfister,jtollet,townsley}@cisco.com • http://www.thomasclausen.net/wp-content/uploads/2017/06/2017-ICDCS-SRLB-The-Power-of- Choices-in-Load-Balancing-with-Segment-Routing.pdf • https://www.internet-of-everything.fr/2017/06/09/paper-on-line-srlb-the-power-of-choices-in-load- balancing-with-segment-routing/

Slide 3

Slide 3 text

Agenda • ֓ཁͱಡ΋͏ͱͨ͠ཧ༝ • Abstract • Introduction • αʔϏεϋϯςΟϯά • ίωΫγϣϯΞΫηϓλϯεϙϦγʔ • ࣮ݧ؀ڥ • ϙΞιϯτϥϑΟοΫ • ΢ΟΩϖσΟΞϦϓϨΠ • Conclusion

Slide 4

Slide 4 text

֓ཁͱಡ΋͏ͱͨ͠ཧ༝ • ֓ཁ • SRv6Λ࢖ͬͯϓϩτίϧඇґଘͳΞϓϦέʔγϣϯLoad BalancerΛݕূͨ͠ɻ • ैདྷͷϥϯμϜͳLBʹൺ΂ͯɺେ͖ͳύϑΥʔϚϯε޲্͕ࣔ͞Εͨɻ • ಡ΋͏ͱͨ͠ཧ༝ • SRv6 (Segment Routing IPv6)ͷ࣮ྫΛ஌Γ͍͔ͨΒɻ͓΋͠Ζͦ͏͔ͩΒɻ • LBͳΒ਎ۙʹײ͔ͨ͡Βɻ(NOT Service Chaining͔ͩΒɻ) • VPPΛ࢖࣮ͬͯ૷͍ͯͨͨ͠Ίɻ

Slide 5

Slide 5 text

ΠϯτϩμΫγϣϯ • ΞϓϦέʔγϣϯεέʔϦϯά • L4-LB(ECMP+RoundRobin), L7-LB(ΞϓϦέʔγϣϯͷঢ়ଶʹґΔ෼ࢄ) • ཧ૝తʹ͸2ͭΛ૊Έ߹Θ͕ͤྑ͍ɺ͕ݱ࣮తʹ͸ߴෛՙ • ཱࣗ෼ࢄܕɿC-hash෼ࢄͰNW෼ࢄɻΞϓϦෛՙ෼ࢄ͸͠ͳ͍ɻEx. Maglev/Ananta • தԝूݖܕɿSDNίϯτϩʔϥ͕NW/APPෛՙΛݟͯෛՙ෼ࢄ -> ίϯτϩʔϥଆʹΞϓϦଆͷstateΛอ࣋ • ΞϓϦଆ͕ঢ়ଶΛ޿ใ͢Δͷ͸ύϑΥʔϚϯεྼԽ • Α͋͘Δෛՙ෼ࢄํࣜ • NW LB: DNS Round Robin, NAT/IP rewrite, IP redirect • L7 LB: ΞϓϦଆͷෛՙΛݟͳ͕Β෼ࢄɻ Ex. HAProxy • SRv6 • Ѽઌ͚ͩͰͳ͘ɺηάϝϯτʢordered sequence of instructionsʣΛอ࣋ɻѼઌʹಧ͘·ͰNW্Ͱॱ൪ʹ”࣮ߦ”͞ΕΔ • IPv6֦ுϔομ͕࢖ΘΕΔ

Slide 6

Slide 6 text

αʔϏεϋϯςΟϯά • LBͰόϥϯγϯά • ϥϯμϜͰ΋ྑ͍͠hashͰ΋ྑ͍ • ࣮ݧʢޙड़ʣͷͨΊɺ࣮ࡍ͸2୆ • S1͕ड৴͢Δ͔࣍ͷηάϝϯτΛॲཧ͢Δ͔͸S1͚ͩͷϩʔΧϧϙϦγʔʹґΔ • LBͱͷL7 stateಉظ͕ཁΒͳ͍ʂ • ΞϓϦέʔγϣϯΤʔδΣϯτ͕ҎԼΛݩʹड৴͢Δ͔Λ൑அ • ߥͬΆ͍൑ఆɿCPUෛՙɾϝϞϦ࢖༻཰Λߟྀ • ΑΓࡉ͔͍൑அɿΞϓϦͷΞΠυϧεϨουͷϝτϦΫε౳ • ڞ༗ϝϞϦΛ࢖͑͹γεςϜίʔϧ΍ಉظॲཧͷෛՙ૿Ճ͕ແ͘ɺ
 ϦΞϧλΠϜͷॲཧίετ͸ແࢹͰ͖Δ • S2͔Β໭Δͱ͖ɺSRϔομʹS2, LBΛೖΕͯฦ͢ • ಉҰϑϩʔΛอূ͢ΔͨΊ

Slide 7

Slide 7 text

ίωΫγϣϯΞΫηϓλϯεϙϦγʔ • Static policy • ͖͍͠஋cΛࣄલʹࢦఆ • busy thread਺b (0

Slide 8

Slide 8 text

࣮ݧ؀ڥ • Load-Balancer • SR headerૠೖͱϑϩʔ੍ޚ͸VPPϓϥάΠϯͱ࣮ͯ͠૷ • ΧʔωϧόΠύε͢ΔͷͰੑೳ΋ྑ͍ • Apache HTTP Server Agent • VPPϓϥάΠϯͱ࣮ͯ͠૷ • Apache’s scoreboard shared memoryܦ༝ͰbusyεϨου਺ΛಡΈࠐΈ • System set-up • ΫΤϦδΣωϨʔλɺLB͸ಉҰ෺ཧϚγϯ্ͰՔಇ • ΞϓϦ͸2-core VMͱͯ͠ՔಇɺશͯಉҰᝑମ্ͰՔಇʢXeon E5-2690, 24coreʣ • LB(VPP)ͱΞϓϦ্ͷVPP͸ಉҰϦϯΫͰ઀ଓɺstatic routeΛར༻ • mpm_prefork moduleΛར༻ɺ32ϫʔΧʔεϨουɺ128ͷTCP backlog • tcp_abort_on_over fl ow Λ࢖ͬͯbacklog͕͍ͬͺ͍ʹͳͬͨͱ͖ʢߴෛՙ࣌ʣʹTCP RSTΛు͘Α͏ʹɻ • ͜ΕͰΞϓϦέʔγϣϯͷϨεϙϯε஗Ԇ͕ଌΕΔ

Slide 9

Slide 9 text

ϙΞιϯτϥϑΟοΫ • CPU-intensiveͳϖʔδ (ฏۉ100ms͔͔Δϖʔδ) • 12୆VMʹରͯ͠ϙΞιϯ෼෍ʢ଴ͪߦྻʣΛଌఆ • 20k query, SR4 ͕best͕ͩSRdyn ΋΄΅Ұॹ • खಈௐ੔͸ඞཁͳ͠ɺdynͰॆ෼

Slide 10

Slide 10 text

ϙΞιϯτϥϑΟοΫ (Cont.) • ಉ࣮͡ݧΛαʔόଆ • SRRR ͩͱCDF͕෼ࢄେ͖͍ • SRC ͷํ͕αʔόͷෛՙ௿ݮ • ΑΓ௿ෛՙͳঢ়گͩͱC͕େ͖ͯ͘΋ޮՌͳ͠ • SR4 , SRdyn ͕࠷ྑ ΑΓ௿ෛՙͳঢ়گ

Slide 11

Slide 11 text

΢ΟΩϖσΟΞϦϓϨΠ • ΑΓݱ࣮తͳworkloadͷଌఆ • English version of Wikipedia • MediaWiki/MySQL/memcached on VM • 24࣌ؒ෼τϨʔεΛ࣮ߦ • SR4 ͕࠷ྑ • ΦϑϐʔΫ࣌͸SR4 , SRRR ͲͪΒ΋มΘΒͣ • Response timeதԝ஋ͰSR4: 0.20, SRRR: 0.25

Slide 12

Slide 12 text

Conclusion • SRLB • ΞϓϦέʔγϣϯඇґଘ • application-instance state aware query assignment within the IP forwarding plane • தԝूݖܕɾSDNతͳ΋ͷʢOOB signalingʣ͸ඞཁͳ͠ • RR/Static/Dynamic query acceptance policy • RRΑΓSRΛ࢖ͬͯϑΟʔυόοΫͨ͠ํ͕ੑೳ͕ྑ͍