虚拟网络只谈实现那简单的很,linux下有个东西叫vde,你想怎么搞就怎么搞。我当初用32台服务机建了一个10000台虚拟机的集群,里面开了20000台虚拟交换机搭了个复杂网络。这个不是容器之类的轻量级虚拟方案,每个都是真实的虚拟机,有完整的boot过程。
但你想同时满足高性能、低成本、高复杂性,那就没这么简单。
至于最多给一个核的问题,如果你的机器接入是100GbE,那光收数据就要用上所有的核。
其实都不用到100GbE,从10GbE开始在网卡驱动里就要用上多核去收数据了。只不过10GbE这种情况下cpu占用率很低,还有大量的cpu时间可以干别的事情。
有个东西叫MSI-X,你可以看看这篇whitepaper
https://www.intel.com/content/dam/doc/white-paper/improving-network-performance-in-multi-core-systems-paper.pdf.
说到100GbE,我反正也没玩过,没啥发言权。但这个问题跟你要做到什么关系很大。
如果只是简单包转发,那2018年就有人用一块VU37P实现了12 x 100GbE的包交换了。
但云设施里面的规则是复杂多变,动态实时更新,分布式策略的。我不认为能在rtl层面搞定,一定是需要cpu core+软件的。
【 在 leadu 的大作中提到: 】
: 虚拟网络从来都不是问题,只是那几个真互联网公司技术不过硬,第一次切入企业市场栽的跟头
: x86处理100g网也不是问题,但问题是cpu不能都给网络用,最多也就给一个核,剩下的要卖。而且要处理的逻辑可比交换机多,所以就不够了
: 至于解决方案,微软上的fpga,aws上的arm,现在云计算的每台主机都需要带一块smartnic了。我给的那个pdf里面,微软批评arm方案
: ...................
--
修改:lvsoft FROM 180.111.51.*
FROM 180.111.51.*