circuit switched vm networks for zero copy io
play

Circuit Switched VM Networks for Zero-Copy IO Johannes Krude, Mirko - PowerPoint PPT Presentation

Circuit Switched VM Networks for Zero-Copy IO Johannes Krude, Mirko Stofgers, Klaus Wehrle https://comsys.rwth-aachen.de/ KBNets18, 2018-08-20 VM Networks VMs are used for Isolation Isolation complicates Communication Until now:


  1. Circuit Switched VM Networks for Zero-Copy IO Johannes Krude, Mirko Stofgers, Klaus Wehrle https://comsys.rwth-aachen.de/ KBNets18, 2018-08-20

  2. VM Networks • VMs are used for Isolation • Isolation complicates Communication • Until now: Performance and Isolation are mutually exclusive Circuit Switched VM Networks enable Zero-Copy IO with Isolation 2 Krude et al. ◮ Multiple Tenants on the same Host ◮ Compartmentalization ◮ Fault Isolation

  3. VM Networks Zero-Copy IO with Isolation 2 Database Server Application Proxy HTTP enable • VMs are used for Isolation Circuit Switched VM Networks are mutually exclusive • Until now: Performance and Isolation • Isolation complicates Communication Krude et al. ◮ Multiple Tenants on the same Host ◮ Compartmentalization ◮ Fault Isolation

  4. VM Networks • VMs are used for Isolation 2 Database Server Application Proxy HTTP Zero-Copy IO with Isolation enable Circuit Switched VM Networks are mutually exclusive • Until now: Performance and Isolation • Isolation complicates Communication Krude et al. VM 1 VM 2 ◮ Multiple Tenants on the same Host ◮ Compartmentalization ◮ Fault Isolation

  5. VM Networks • VMs are used for Isolation 2 NIC Database Server Application Proxy HTTP NIC Zero-Copy IO with Isolation enable Circuit Switched VM Networks are mutually exclusive • Until now: Performance and Isolation • Isolation complicates Communication Krude et al. VM 1 VM 2 ◮ Multiple Tenants on the same Host ◮ Compartmentalization ◮ Fault Isolation

  6. VM Networks • VMs are used for Isolation 2 NIC Database Server Application Proxy HTTP NIC Zero-Copy IO with Isolation enable Circuit Switched VM Networks are mutually exclusive • Until now: Performance and Isolation • Isolation complicates Communication Krude et al. VM 1 VM 2 ◮ Multiple Tenants on the same Host ◮ Compartmentalization ◮ Fault Isolation

  7. VM Networks • VMs are used for Isolation 2 NIC Database Server Application Proxy HTTP NIC Zero-Copy IO with Isolation enable Circuit Switched VM Networks are mutually exclusive • Until now: Performance and Isolation • Isolation complicates Communication Krude et al. VM 1 VM 2 ◮ Multiple Tenants on the same Host ◮ Compartmentalization ◮ Fault Isolation

  8. VM Packet Processing RX/TX Buf Socket Database Socket virtual NIC virtual NIC RX/TX Buf RX/TX Buf Application TCP/UDP Stack TCP/UDP Stack Packet Forwarding 3 Server Socket • Problem: Packet Switching (Copying) • Unnecessary Overhead Multiplexing Packetization Congestion Control Retransmissions Reordering Goals Proxy • Remove Overhead • Keep Application Compatibility • Keep Network Isolation NIC HTTP Krude et al. VM 1 VM 2

  9. VM Packet Processing RX/TX Buf Socket Database Socket virtual NIC virtual NIC RX/TX Buf RX/TX Buf Application TCP/UDP Stack TCP/UDP Stack Packet Forwarding 3 Server Socket • Problem: Packet Switching (Copying) • Unnecessary Overhead Multiplexing Packetization Congestion Control Retransmissions Reordering Goals Proxy • Remove Overhead • Keep Application Compatibility • Keep Network Isolation NIC HTTP Krude et al. VM 1 VM 2

  10. VM Packet Processing RX/TX Buf Socket Database Socket virtual NIC virtual NIC RX/TX Buf RX/TX Buf Application TCP/UDP Stack TCP/UDP Stack Packet Forwarding 3 Server Socket • Problem: Packet Switching Proxy • Unnecessary Overhead Congestion Control Retransmissions Reordering (Copying) Goals • Remove Overhead • Keep Application Compatibility • Keep Network Isolation NIC HTTP Krude et al. VM 1 VM 2 ◮ Multiplexing ◮ Packetization

  11. VM Packet Processing RX/TX Buf Socket Database Socket virtual NIC virtual NIC RX/TX Buf RX/TX Buf Application TCP/UDP Stack TCP/UDP Stack Packet Forwarding 3 Server Socket • Problem: Packet Switching • Keep Application Compatibility • Unnecessary Overhead (Copying) Proxy • Remove Overhead Goals • Keep Network Isolation NIC HTTP Krude et al. VM 1 VM 2 ◮ Multiplexing ◮ Packetization ◮ Congestion Control ◮ Retransmissions ◮ Reordering

  12. VM Packet Processing RX/TX Buf Socket Database Socket virtual NIC virtual NIC RX/TX Buf RX/TX Buf Application TCP/UDP Stack TCP/UDP Stack Packet Forwarding 3 Server Socket • Problem: Packet Switching • Keep Application Compatibility • Unnecessary Overhead Proxy • Remove Overhead Goals • Keep Network Isolation NIC HTTP Krude et al. VM 1 VM 2 ◮ Multiplexing ◮ Packetization ◮ Congestion Control ◮ Retransmissions ◮ Reordering ◮ (Copying)

  13. VM Packet Processing RX/TX Buf Socket Database Socket virtual NIC virtual NIC RX/TX Buf RX/TX Buf Application TCP/UDP Stack TCP/UDP Stack Packet Forwarding 3 Server Socket • Problem: Packet Switching • Keep Application Compatibility • Unnecessary Overhead Proxy • Remove Overhead Goals • Keep Network Isolation NIC HTTP Krude et al. VM 1 VM 2 ◮ Multiplexing ◮ Packetization ◮ Congestion Control ◮ Retransmissions ◮ Reordering ◮ (Copying)

  14. Removing Overhead Server 4 Packet Forwarding Stack TCP/UDP Stack TCP/UDP RX/TX Buf RX/TX Buf RX/TX Buf virtual NIC virtual NIC Socket Database Socket Application • No Packet Processing in VM Kernels Socket • Keep Socket API Provides Access to Streams & Datagrams Required to Support Legacy Applications Provides Isolation between Applications • Provide Zero-Copy API As Optional Extension to Socket API NIC HTTP Proxy Krude et al. VM 1 VM 2 ◮ Move to Host if Still Needed ◮ Remove if Possible

  15. Removing Overhead HTTP 4 TCP/UDP Proxy Stack Socket Database Socket Server Application Socket Proxy Krude et al. • No Packet Processing in VM Kernels NIC As Optional Extension to Socket API • Provide Zero-Copy API Provides Isolation between Applications Required to Support Legacy Applications Datagrams Provides Access to Streams & • Keep Socket API VM 1 VM 2 ◮ Move to Host if Still Needed ◮ Remove if Possible

  16. Removing Overhead HTTP 4 TCP/UDP Proxy Stack Socket Database Socket Server Application Socket Proxy Krude et al. • No Packet Processing in VM Kernels NIC As Optional Extension to Socket API • Provide Zero-Copy API Datagrams • Keep Socket API VM 1 VM 2 ◮ Move to Host if Still Needed ◮ Remove if Possible ◮ Provides Access to Streams & ◮ Required to Support Legacy Applications ◮ Provides Isolation between Applications

  17. Removing Overhead HTTP 4 TCP/UDP Proxy Stack Socket Database Socket Server Application Socket Proxy Krude et al. • No Packet Processing in VM Kernels NIC • Provide Zero-Copy API Datagrams • Keep Socket API VM 1 VM 2 ◮ Move to Host if Still Needed ◮ Remove if Possible ◮ Provides Access to Streams & ◮ Required to Support Legacy Applications ◮ Provides Isolation between Applications ◮ As Optional Extension to Socket API

  18. Circuit Switched VM Networks Socket 5 Circuit Circuit TCP/UDP Proxy Stack Socket Database Socket Server Application Proxy • Separate Shared-Memory based Circuit HTTP NIC Enforces Connection Policies Mediates Connection Establishment • Switch Operator for each Connection Krude et al. VM 1 VM 2 ◮ from VM to Proxy Stack ◮ or Direct from VM to VM

  19. Circuit Switched VM Networks Application 5 Operator Switch Circuit Circuit TCP/UDP Proxy Stack Socket Database Socket Server Socket • Separate Shared-Memory based Circuit Proxy HTTP NIC • Switch Operator for each Connection Krude et al. VM 1 VM 2 ◮ from VM to Proxy Stack ◮ or Direct from VM to VM ◮ Mediates Connection Establishment ◮ Enforces Connection Policies

  20. Circuits Circuit 6 Compatible with Legacy Applications Optional Map Circuit Memory into Application • Zero-Copy Circuit • Protocol Features Socket Database Socket Server Application Control Area: Read & Write Pointers, Flags, … Ring Bufger B Ring Bufger A Krude et al. VM 1 VM 2 → → ← ← ◮ TCP Flow Control: Ring Bufgers ◮ UDP Datagrams: Prepend some kind of Header

  21. Circuits Application 6 • Zero-Copy Circuit • Protocol Features Socket Database Socket Circuit Server Control Area: Read & Write Pointers, Flags, … Ring Bufger B Ring Bufger A Krude et al. VM 1 VM 2 → → ← ← ◮ TCP Flow Control: Ring Bufgers ◮ UDP Datagrams: Prepend some kind of Header ◮ Map Circuit Memory into Application ◮ Optional ⇒ Compatible with Legacy Applications

  22. Network Isolation • No Access to Communication of other Applications • Connection Policies enforced on Connection Setup No Inspection of Individual Packets needed No Redundant State for Stateful Firewalls • Denying Raw Packet Access Same Level of Access as Containers No Crafting of Malicious Packet Headers No Unfair Congestion Control Algorithms 7 Krude et al. ◮ Keeps Socket Isolation ◮ Even when doing Zero-Copy IO

  23. Network Isolation • No Access to Communication of other Applications • Connection Policies enforced on Connection Setup • Denying Raw Packet Access Same Level of Access as Containers No Crafting of Malicious Packet Headers No Unfair Congestion Control Algorithms 7 Krude et al. ◮ Keeps Socket Isolation ◮ Even when doing Zero-Copy IO ◮ No Inspection of Individual Packets needed ◮ No Redundant State for Stateful Firewalls

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