hyDNS: Acceleration of DNS Through Kernel Space Resolution
Source
Ebpf 2024 Proceedings of the ACM SIGCOMM 2024 Workshop on Ebpf and Kernel Extensions Part of SIGCOMM 2024
Date Issued
2024-08-04
Author(s)
Bardinelli, Joshua
Zhang, Yifan
Su, Jianchang
Huang, Linpu
Parilla, Aidan
Jarvi, Rachel
Zhang, Wei
Abstract
The Domain Name System (DNS) is a core component of Internet infrastructure, mapping domain names to IP addresses. The recursive resolver plays a critical role in this process, requiring high performance due to multiple request-response exchanges. However, its performance is hindered by costly message copying, user-kernel space transitions, and kernel stack traversal. Kernel bypass techniques can mitigate these issues but often result in resource waste or deployment challenges. To overcome these limitations, We present hyDNS, a hybrid recursive resolver that combines eBPF offloading in the kernel with a user-space resolver. The DNS kernel cache allows most requests to be served before reaching the kernel network stack. To manage limited DMA memory, excess requests are passed to user space once a threshold is reached, enabling the system to handle high query loads. hyDNS uses programmable NICs to create a scalable kernel cache, implementing a lockless per-core eBPF hash map. Filters on the NIC direct requests to each core. Preliminary results show significant performance improvements with eBPF offloading, achieving up to 4.4× the throughput and a 65% reduction in latency compared to user space implementations.
Subjects
Domain Name System (DNS) | eBPF (extended Berkeley Packet Filter) | In-Kernel Cache | XDP (eXpress Data Path)
