Title: In-Network Address Caching for Virtual Networks
Authors : Lior Zeno (Technion); Ang Chen (University of Michigan); Mark Silberstein (Technion)
Scribe : Huan Shen (Xiamen University)
Introduction
The paper is about virtual-to-physical address translation in virtual networks. The tradeoffs between mapping update and lookup performance are inherent in such systems. Existing systems either sacrifice routing efficiency for fast updates or vice versa, which is suboptimal for the performance-sensitive operations of modern data centers. The paper proposes an in-network caching mechanism and controls the replication factor to escape this inherent tradeoff.
Key idea and contribution
The paper proposes SwitchV2P, a novel system that leverages the network’s switching infrastructure to cache address mappings, thereby reducing the latency and overhead. The key innovation lies in offloading the address translation task from gateways or end-hosts to the network switches, which learn and cache mappings directly from the traffic.
The main challenges lie in keeping important mappings and handing updates. For keeping important mappings, the paper proposes a topology-aware caching mechanism that classifies the switches into five categories based on their location in the network and lets each category differ in terms of the cache admission policy and certain additional functions. For handing updates, the paper proposes a lazy cache invalidation method based on an observation that the in-network cache does not have to be strongly consistent with the “ground truth” at the gateways.
Evaluation
The paper prototypes SwitchV2P in Tofino switches and evaluates using NS3 simulations. The results show that SwitchV2P delivers significant performance benefits, improving FCT by up to 7.8× and reducing first packet latency by up to 4.3×. It also achieves up to a 1.9× reduction in bandwidth overheads and requires fewer gateways for equivalent performance.
Q&A
Q1: I have two concerns. The first one is that the virtual network and the physical network belong to two teams in the company. In the physical switches, we cannot detect the virtual address of the inner header. The second concern is how many entries can be stored in the ToRs and if the storage is short what is the case?
A1: We don’t have this limitation that two teams don’t talk to each other so we assume we can modify the header. For ToR switches, we can store 200000 entries. In higher levels of the topology, we expect fewer available memory.
Q2: Do you have to perform more fine-grained routing when running your system? Imagine a programmable switch routing a packet on the ToR without the corresponding cache line.
There are two next hops, one of them actually contains the cache line, and the other doesn’t. Do you have consider this?
A2: We don’t change the routing. We have a discussion section in the paper that talks about this kind of design choice.
Personal thoughts
The paper views the problem as an instance of the classical problem of state sharing in a distributed system and therefore optimizes the V2P translation performance tradeoffs by controlling the replication factor of the mappings. I appreciate the thorough evaluation and the practical insights provided by the real-world trace-based simulations. However, although the paper assumes that network policies do not change frequently so they can be pre-installed and enforced by the host, there might be problems when VMs hit the cache and bypass some policies (e.g., ACLs) that need to be performed in gateway.