上次在看Google介绍自己网络设计的presentation,下面有观众提问和Azure网络加速的比较。才发现NSDI’18同期还有Azure介绍的基于FPGA的网络加速方案。这种区别于Google的纯软件实现和只能网卡纯硬件实现的Datapath还是很独特的就把论文也找来看了一下。这里主要介绍一下从Azure角度其他软硬件实现和FPGA方案的对比,工程上的经验以及Azure和AWS,GCP对比的性能评测。具体的软硬件设计细节,由于我对FPGA也不是很了解,感兴趣的读者可以参考文末的论文链接来看看。 背景 第一个大的背景是目前网卡的速率提升超过了CPU性能的提升速率。Azure在09年启动时网卡带宽是1Gbps,17年的时候来到了50Gbps,我刚刚去Mellanox的官网看了一下在卖的产品,现在的最大带宽已经到了200Gbps。十年的时间带宽提升了200倍,而CPU显然没有那么大的速率提升。在过去几乎不需要什么优化,单核CPU就可以轻松跑满1Gbps的带宽,10Gbps时代就需要很多优化了。而现在已经有了200Gbps,未来可能还会有带宽更大的网卡,基于CPU的网络处理面临着越来越大的挑战。 第二个背景和Azure的商业模式相关,也就是公有云靠出卖计算能力来获取收入。由于单机的带宽越来越大,那么就需要保留越来越的CPU核心来处理网络数据包,这会造成可对外售卖的CPU数量下降,这会影响Azure的利润率。 第三个背景是和GCP类似,Azure内部设计了自己的SDN,网络方面的能力和功能需要随着市场的变化和客户的需求进行高速的迭代,更新的周期往往也是周级别的,传统硬件加速方案无法保持如此快的更新节奏。… Read More »Azure 基于 FPGA 的公有云网络加速