The Andromeda paper reminds me of Azure’s SmartNIC paper and it’s quite interesting that the two papers appear on exactly the same conference. And if I understand correctly, “coprocessors” in the Andromeda paper means a thread in the host CPU that also bills the user, which is quite a contrast to Azure, which says “don’t burn host CPU” as their first design goals. While GCP and Azure both wants high performance and the velocity to evolve, they picked completely different solutions. I guess this might be because Microsoft has lots of experience of building FPGAs and uses home-grown SDN platform (VFP), while Google is better at building pure software solutions and uses open-source projects (Open vSwitch). One thing I think Andromeda did very well is that they measured the bandwidth distribution across flows (Figure 11), which is the key insight to their optimizations. I guess Azure could also adopt the Hoverboard design and run even faster?