PURR: a primitive for reconfigurable fast reroute: hope for the best and program for the worst
PURR: a primitive for reconfigurable fast reroute: hope for the best and program for the worst
复制标题
DOI:
10.1145/3359989.3365410
复制
发表时间:
2019-12
期刊:
影响因子:
--
通讯作者:
Marco Chiesa;R. Sedar;G. Antichi;Michael Borokhovich;Andrzej Kamisiński;G. Nikolaidis;S. Schmid
中科院分区:
文献类型:
--
作者:
Marco Chiesa;R. Sedar;G. Antichi;Michael Borokhovich;Andrzej Kamisiński;G. Nikolaidis;S. Schmid
Highly dependable communication networks usually rely on some kind of Fast Re-Route (FRR) mechanism which allows to quickly re-route traffic upon failures, entirely in the data plane. This paper studies the design of FRR mechanisms for emerging reconfigurable switches. Our main contribution is an FRR primitive for programmable data planes, PURR, which provides low failover latency and high switch throughput, by avoiding packet recirculation. PURR tolerates multiple concurrent failures and comes with minimal memory requirements, ensuring compact forwarding tables, by unveiling an intriguing connection to classic "string theory" (i.e., stringology), and in particular, the shortest common supersequence problem. PURR is well-suited for high-speed match-action forwarding architectures (e.g., PISA) and supports the implementation of arbitrary network-wide FRR mechanisms. Our simulations and prototype implementation (on an FPGA and Tofino) show that PURR improves TCAM memory occupancy by a factor of 1.5x--10.8x compared to a naïve encoding when implementing state-of-the-art FRR mechanisms. PURR also improves the latency and throughput of datacenter traffic up to a factor of 2.8x--5.5x and 1.2x--2x, respectively, compared to approaches based on recirculating packets.