p4dns in network dns
play

P4DNS: In-Network DNS Jackson Woodruff, Murali Ramanujam, Noa - PowerPoint PPT Presentation

P4DNS: In-Network DNS Jackson Woodruff, Murali Ramanujam, Noa Zilberman University of Cambridge September 23, 2019 1 / 9 Introduction Networks continue to increase bandwidths without achieving much latency reduction. Latency is


  1. P4DNS: In-Network DNS Jackson Woodruff, Murali Ramanujam, Noa Zilberman University of Cambridge September 23, 2019 1 / 9

  2. Introduction ◮ Networks continue to increase bandwidths without achieving much latency reduction. ◮ Latency is particularly important in data center networks. ◮ In-network computing brings network computation closer to it’s use. ◮ We develop P4DNS using P4 → NetFPGA ◮ 52x throughput improvement and 100x latency reduction over NSD ◮ Identify areas where P4 is ill-suited for developing traditional applications on an FPGA. 2 / 9

  3. DNS Server Internet (ms) Data Center Network (us) Rack Machine 4 DNS Server Data Center Network (us) Switch Machine 3 Machine 2 Machine 1 3 / 9

  4. DNS Server Internet (ms) Data Center Network (us) Rack Machine 4 DNS Server Data Center Network (us) Switch + DNS Machine 3 Machine 2 Machine 1 4 / 9

  5. Architecture Data Plane (P4) + Control Plane (Python) Data Plane DNS DNS Request Switch Output Packet Packet Packet Checks Non DNS Request DNS Response or Control Plane Recursive Request Host Processor 5 / 9

  6. Architecture Data Plane (P4) + Control Plane (Python) Data Plane DNS DNS Request Switch Output Packet Packet Packet Checks Non DNS Request DNS Response or Control Plane Recursive Request Host Processor DNS Request (64B) Ethernet IP UDP DNS Accept DNS Request (65B) 5 / 9

  7. Architecture Data Plane (P4) + Control Plane (Python) Data Plane DNS DNS Request Switch Output Packet Packet Packet Checks Non DNS Request DNS Response or Control Plane Recursive Request Host Processor 5 / 9

  8. Architecture: Control Plane ◮ Functionality: ◮ Recursive requests ◮ Cache updates ◮ TTL updates ◮ Multi-threaded python running on a CPU 6 / 9

  9. Design Lessons: Hardware for Traditional Protocols ◮ Control plane is a bottleneck: ◮ Protocols with mutable state tax this bottleneck. ◮ Existing protocols are designed for software: ◮ DNS uses C-style strings. ◮ String length is not clear until you have reached the last character. 7 / 9

  10. Design Lessons: Hardware for Traditional Protocols ◮ Control plane is a bottleneck: ◮ Protocols with mutable state tax this bottleneck. ◮ Existing protocols are designed for software: ◮ DNS uses C-style strings. ◮ String length is not clear until you have reached the last character. But, partial implementations can work: ◮ P4DNS achieves 52x throughput improvement and 100x latency improvement. 7 / 9

  11. P4 on Hardware Limitations ◮ Field length limitations: 384 bits. ◮ Complex parsing state machines used excessive hardware resources on FPGAs. 8 / 9

  12. P4 on Hardware Limitations ◮ Field length limitations: 384 bits. ◮ Complex parsing state machines used excessive hardware resources on FPGAs. DNS Request (64B) Ethernet IP UDP DNS Accept DNS Request (65B) ◮ For many applications, a simple bitstream is enough ◮ FPGAs remove some advantages (recursion) of state machines. 8 / 9

  13. Conclusion ◮ We implemented P4DNS, a DNS accelerator integrated into a P4 switch using P4 → NetFPGA. ◮ We demonstrated potential for large performance improvement without changing existing protocols. ◮ But P4 is not without limitations for hardware targets. 9 / 9

Recommend


More recommend