HackerNews

BPF LPMトライのパフォーマンスと最適化に関する深掘り

A deep dive into BPF LPM trie performance and optimization

https://blog.cloudflare.com/a-deep-dive-into-bpf-lpm-trie-performance-and-optimization/


この記事では、BPF LPMトライというデータ構造のパフォーマンスと最適化について詳しく解説しています。このトライは、ネットワークパケットのルーティングにおいて、IPおよびIP+ポートのマッチングに広く使用されています。しかし、現行の実装は遅延が多く、特に数百万のエントリを格納する際には、ルックアップ時間が数百ミリ秒を要し、マップの解放に10秒以上のCPUロックが発生することもあります。このボトルネックは、CloudflareのMagic Firewallルールの評価時にトラフィックパケットの損失を引き起こすことがあります。トライは効率的なストレージと検索を可能にするデータ構造で、特にプレフィックスマッチングやCIDRを使用したIPルーティングに非常に適しています。記事では、トライの基本的な仕組み、ベンチマーク結果、現行のBPF LPMトライの課題についても触れています。