TY - GEN
T1 - Fast software cache design for network appliances
AU - Zhou, Dong
AU - Yu, Huacheng
AU - Kaminsky, Michael
AU - Andersen, David G.
N1 - Publisher Copyright:
Copyright © Proc. of the 2020 USENIX Annual Technical Conference, ATC 2020. All rights reserved.
PY - 2020
Y1 - 2020
N2 - The high packet rates handled by network appliances and similar software-based packet processing applications place a challenging load on caches such as flow caches. In these environments, both hit rate and cache hit latency are critical to throughput. Much recent work, however, has focused exclusively on one of these two desiderata, missing opportunities to further improve overall system throughput. This paper introduces Bounded Linear Probing (BLP), a new cache design optimized for network appliances. BLP works well across different workloads and cache sizes by balancing between hit rate and lookup latency. To accompany BLP, we also present a new, lightweight cache eviction policy called Probabilistic Bubble LRU that achieves near-optimal cache hit rate (assuming the algorithm is offline) without using any extra space. We make three main contributions: a theoretical analysis of BLP, a comparison between existing and proposed cache designs using microbenchmarks, and an end-to-end evaluation of BLP in the popular Open vSwitch (OvS) system. Our end-to-end experiments show that BLP is effective in practice: replacing the microflow cache in OvS with BLP improves throughput by up to 15%.
AB - The high packet rates handled by network appliances and similar software-based packet processing applications place a challenging load on caches such as flow caches. In these environments, both hit rate and cache hit latency are critical to throughput. Much recent work, however, has focused exclusively on one of these two desiderata, missing opportunities to further improve overall system throughput. This paper introduces Bounded Linear Probing (BLP), a new cache design optimized for network appliances. BLP works well across different workloads and cache sizes by balancing between hit rate and lookup latency. To accompany BLP, we also present a new, lightweight cache eviction policy called Probabilistic Bubble LRU that achieves near-optimal cache hit rate (assuming the algorithm is offline) without using any extra space. We make three main contributions: a theoretical analysis of BLP, a comparison between existing and proposed cache designs using microbenchmarks, and an end-to-end evaluation of BLP in the popular Open vSwitch (OvS) system. Our end-to-end experiments show that BLP is effective in practice: replacing the microflow cache in OvS with BLP improves throughput by up to 15%.
UR - http://www.scopus.com/inward/record.url?scp=85091891509&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85091891509&partnerID=8YFLogxK
M3 - Conference contribution
AN - SCOPUS:85091891509
T3 - Proceedings of the 2020 USENIX Annual Technical Conference, ATC 2020
SP - 657
EP - 671
BT - Proceedings of the 2020 USENIX Annual Technical Conference, ATC 2020
PB - USENIX Association
T2 - 2020 USENIX Annual Technical Conference, ATC 2020
Y2 - 15 July 2020 through 17 July 2020
ER -