efficient query dispatching for scale out database systems
play

Efficient Query Dispatching for Scale-Out Database Systems Stefan - PowerPoint PPT Presentation

Efficient Query Dispatching for Scale-Out Database Systems Stefan Klauck, Max Plauth, Sven Knebel Hasso Plattner Institute, University of Potsdam Marius Strobl, Douglas Santry, Lars Eggert NetApp Munich Internet Research Retreat


  1. Efficient Query Dispatching for Scale-Out Database Systems Stefan Klauck, Max Plauth, Sven Knebel Hasso Plattner Institute, University of Potsdam Marius Strobl, Douglas Santry, Lars Eggert NetApp Munich Internet Research Retreat Raitenhaslach, Germany, November 29 – 30, 2017 SSICLOPS is funded by the EU’s Horizon2020 Programme

  2. Problem space … Client 1 Client m … Client 1 Client m Dispatcher DB … DB DB … DB Backend 1 Backend n Backend 1 Backend n (a) Direct communication. (b) Central dispatcher. Figure: Query dispatching architectures. 1 / 6

  3. Dispatcher candidates Hyrise Dispatcher ◮ Query load-balancer for Hyrise [ 6 ] lazy replicating in-memory DB ◮ Routes based on JSON query plan using 1 thread per client ◮ Socket API with buffering to avoid copies, nodejs/http-parser [ 2 ] 2 / 6

  4. Dispatcher candidates Hyrise Dispatcher ◮ Query load-balancer for Hyrise [ 6 ] lazy replicating in-memory DB ◮ Routes based on JSON query plan using 1 thread per client ◮ Socket API with buffering to avoid copies, nodejs/http-parser [ 2 ] HAProxy ◮ “The Reliable, High Performance TCP/HTTP Load Balancer” [ 7 ] ◮ Popular, open-source, general-purpose ◮ Employs socket splicing [5] on GNU/Linux 2 / 6

  5. Dispatcher candidates Hyrise Dispatcher ◮ Query load-balancer for Hyrise [ 6 ] lazy replicating in-memory DB ◮ Routes based on JSON query plan using 1 thread per client ◮ Socket API with buffering to avoid copies, nodejs/http-parser [ 2 ] HAProxy ◮ “The Reliable, High Performance TCP/HTTP Load Balancer” [ 7 ] ◮ Popular, open-source, general-purpose ◮ Employs socket splicing [5] on GNU/Linux Prism ◮ Splits single TCP connections across servers [3] ◮ Controller reprograms SDN switch (P4 [1] or mSwitch [4]) ◮ Eliminates controller/dispatcher as central bottleneck 2 / 6

  6. Prism Prism Controller Update Lookup/Insert Trigger Connection State Protocol/Request Connection Table Handler Hand-Off/ State Seq Ack ... Hand-Back HTTP Handler Prism TCP/IP Connection Hand-Off/Hand-Back Prism Switch Transform Rules Switch Logic to/from Clients Rewrite IP Unmatched Packets Rewrite MAC Zero Window Lookup(Src IP, Src TCP Clear Fin Port, ...) Data/Ack Back-End Prism Interface TCP Repair Socket Figure: Prism software architecture, based on [3]. 3 / 6

  7. Experimental setup Client 1 Load-Balancer Backend 1 Hyrise Dispatcher/ wrk 1 Hyrise DB 1 HAProxy Client 2 Backend 2 mSwitch Learning Bridge Mode wrk 2 Hyrise DB 2 Switch (a) Hyrise dispatcher and HAProxy topology. 4 / 6

  8. Experimental setup Client 1 Load-Balancer Backend 1 Hyrise Dispatcher/ wrk 1 Hyrise DB 1 HAProxy Client 2 Backend 2 mSwitch Learning Bridge Mode wrk 2 Hyrise DB 2 Switch (a) Hyrise dispatcher and HAProxy topology. Client 1 Backend 1 Prism Controller Hyrise DB 1 wrk 1 Prism Server 1 viface1 iface1 iface2 Client 2 Backend 2 mSwitch Hyrise DB 2 Prism Switch Module wrk 2 Prism Server 2 Switch (b) Prism topology. Figure: Topologies for the evaluations, based on [3]. 4 / 6

  9. Experimental results 40 Prism 40 20 Prism 10 Throughput [Gb/s] 10 Dispatcher 40 Dispatcher 10 5 HAProxy 40 2.5 HAProxy 10 1.25 1 10 -2 10 -4 1B 32B 1KiB 32KiB 1MiB 32MiB Payload Figure: Dispatcher throughputs for varying payloads. 5 / 6

  10. Thank you for your attention! Disclaimer: No hardware was harmed in the making of this presentation. Two Mellanox ConnectX-3 cards died in the making of this presentation. 6 / 6

  11. References [1] Pat Bosshart et al. 2014. P4: Programming Protocol-independent Packet Processors. SIGCOMM Comput. Commun. Rev. 44, 3 (July 2014), 87–95. [2] Node.js Foundation. [n. d.]. HTTP Parser. https://github.com/nodejs/http-parser . ([n. d.]). [3] Yutaro Hayakawa, Lars Eggert, Michio Honda, and Douglas Santry. 2017. Prism: A Proxy Architecture for Datacenter Networks. In Proceedings of the 2017 Symposium on Cloud Computing (SoCC ’17) . ACM, New York, NY, USA, 181–188. [4] Michio Honda, Felipe Huici, Giuseppe Lettieri, and Luigi Rizzo. 2015. mSwitch: A Highly-scalable, Modular Software Switch. In Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research (SOSR ’15) . ACM, New York, NY, USA, Article 1, 13 pages. [5] David A. Maltz and Pravin Bhagwat. 2000. TCP Splice Application Layer Proxy Performance. J. High Speed Netw. 8, 3 (Jan. 2000), 225–240. [6] David Schwalb et al. 2015. Hyrise-R: Scale-out and Hot-Standby Through Lazy Master Replication for Enterprise Applications. In Proceedings of the 3rd VLDB Workshop on In-Memory Data Mangement and Analytics (IMDM ’15) . ACM, New York, NY, USA, Article 7, 7 pages. [7] Willy Tarreau. [n. d.]. The Reliable, High Performance TCP/HTTP Load Balancer. https://www.haproxy.org . ([n. d.]).

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