- 主题:美轮美奂的硬件生涯
gpu买来做板,你打算卖给谁?
【 在 wkt (~~~) 的大作中提到: 】
: dsp fpga arm 都有芯片出售 一堆人买芯片做板卡呢
: 这几种一片也能买啊 资料也很多
: 但gpu好想没听说过
: ...................
--
FROM 36.45.169.*
云计算行业的问题主要来自于,在100g带宽的情况下,cpu显得太慢了
64小包留给软件工程师的时间,最多也就30左右的时钟周期,对于sdn来说完全不够用
所以微软在2014年左右提出了fpga加速,2018年左右在他的全部数据中心完成建设。现在网上随便买它的accelerated network,都是fpga加速的
https://www.microsoft.com/en-us/research/uploads/prod/2018/03/Azure_SmartNIC_NSDI_2018.pdf
aws2017年抄了一个,把fpga改成arm了,我前几天以为它抄的时候是原样抄的。那原话就改成每两台云计算服务器有一台带fpga吧。
剩下的这些真互联网公司能力弱,还都在抄作业中
在执行长函数的情况下,在性能和价格方面,arm vs fpga哪个能胜出?贵版各位专家们更有发言权,讨论讨论
【 在 lvsoft 的大作中提到: 】
: 你这个云计算行业每台服务器都带一个FPGA的说法也太浮夸了。
: 是没错,云上有fpga instance可以用,
: 几个大厂也确实都有研究用fpga去进一步提升自己的数据中心基础设施的竞争力。
: ...................
--
FROM 221.221.18.*
就是在x86系统上,有一个需要大概几千个时钟周期的函数,前后有依赖,不太好并行处理,基本上可以认为需要顺序执行。每秒需要执行几亿次,每次和每次倒是可以并行处理
现在需要剥离出来单独加速,用arm和fpga处理的吞吐上限大概能多少?达到上限时总体成本约是多少?
【 在 leadu 的大作中提到: 】
: 云计算行业的问题主要来自于,在100g带宽的情况下,cpu显得太慢了
: 64小包留给软件工程师的时间,最多也就30左右的时钟周期,对于sdn来说完全不够用
: 所以微软在2014年左右提出了fpga加速,2018年左右在他的全部数据中心完成建设。现在网上随便买它的accelerated network,都是fpga加速的
: ...................
--
FROM 221.221.18.*
当然是说的x86啊,毕竟你对比的对象是GPU啊。
x86的所谓开源主板,都是淘汰了nn年的落后方案了。
而且还是低端atom线。
【 在 wkt 的大作中提到: 】
: 各种arm芯片 有芯片 有资料 有参考 为什么不能?
: 就是x86也有开源的主板啊
: 难道要从汇编 从bios开始造轮子?
: ...................
--
FROM 180.111.51.*
下午一直在开会,晚上有点时间写几句。
那篇文章我当年就看过。虽然不知道它具体解决什么问题,但大概是想解决网络虚拟化的问题。
这个时间前后大家都在上云,云的核心门槛就是网络虚拟化。
这点除了aws外,早期各家都很扯蛋。各种开源实现,包括各种山寨aws都是耍小聪明绕开了这个核心问题的。
比如有的基于vlan,有的基于ebtables,阿里云早期也出过安全组隔离失效的事情(我记得有这个事情,但搜了下似乎找不到对应的帖子了)。
要解决这个问题,终极思路要爆改交换机设备,把复杂的虚拟化隔离规则在交换机硬件层面实施掉,这样才能offload cpu。
所以才会有这篇文章里面提出的各种问题。这个方向趋势是sdn,其中一个呼声很大的方案是OpenFlow,它允许数据流带上自己的控制逻辑,在交换机上执行了控制逻辑之后再决定后面的流向。但我觉得这个思路不靠谱,太复杂,太难控制,一看就是个典型的又贵又容易出一堆问题的东西。我感觉这个方向可能不一定会形成一个统一天下的下一代网络方案,反正云大厂就那么几个,也只有他们有这个需求,肯定都是diy自己的solution了。
然后,100g带宽对cpu来说主要的问题不是cpu慢,而是延迟高。cpu一个时钟周期可以干很多事情,但取到要处理的数据才是主要瓶颈,毕竟到L3 cache就要十几个周期了,从内存取那就要破百了。此外cpu用来干这个负载,总线上塞满了数据流,基本也干不了别的事情了,这才需要专门的硬件解决方案。fpga是马上就会想到的首选路线,搬运数据好歹是fpga的擅长领域,但fpga的问题是太底层,复杂点的控制逻辑用fpga做本质上还是得做成cpu的样子。我不认为这方面fpga和arm有什么本质区别。两种方案都有妥协的地方。选arm可以很快实现复杂控制逻辑,但提升吞吐量上限可能是个问题;选fpga可以很快怼出个高吞吐量的结果出来show下,但你的控制逻辑是否足够复杂,足够支持你的业务需求,是否要做阉割妥协就是个问题。我觉得没啥本质区别,高性能数据处理的核心问题从来就是data locality,到最后都是技术路线探索清楚定型之后弄个特化npu实现出来。
至于纯软方案,这里有个例子:
https://www.openvswitch.org/support/ovscon2019/day1/1337-OvsCon_2019_2.pdf
它用的硬件是XEON4110 @ 2.1Ghz, 8核×2的配置,虽然插了100GbE卡,但这货居然是跑在PCIE3.0 x8上的,理论带宽只有62Gbps。他用OvS测出的数据是26.5Gbps @ 64byte,不算理想。所以后面他报告的时候被人质疑了,因为DPDK是可以做到100Gbps @ 64byte package的。但大致上,哪怕从这个例子你也可以看出纯软方案并不是你想的那样有多搞不定这个事情。就算是这次的实验,距离100Gbps @ 64byte也就是4倍差距,主频提升下,cpu core提升下,pcie问题解决下就行的。
【 在 leadu 的大作中提到: 】
: 云计算行业的问题主要来自于,在100g带宽的情况下,cpu显得太慢了
: 64小包留给软件工程师的时间,最多也就30左右的时钟周期,对于sdn来说完全不够用
: 所以微软在2014年左右提出了fpga加速,2018年左右在他的全部数据中心完成建设。现在网上随便买它的accelerated network,都是fpga加速的
: ...................
--
FROM 180.111.51.*
虚拟网络从来都不是问题,只是那几个真互联网公司技术不过硬,第一次切入企业市场栽的跟头
x86处理100g网也不是问题,但问题是cpu不能都给网络用,最多也就给一个核,剩下的要卖。而且要处理的逻辑可比交换机多,所以就不够了
至于解决方案,微软上的fpga,aws上的arm,现在云计算的每台主机都需要带一块smartnic了。我给的那个pdf里面,微软批评arm方案
1.However, at higher network speeds of 40GbE and above, the number of cores increases significantly.
2.The future of SoC-style network offload is also ques-tionable. At 10GbE, the total package was tolerable, with a few general purpose SoC cores being sufficient. 40GbE required nearly 4x the cores, though several ven-dors still created viable solutions. Still, 40GbE parts with software-based datapaths are already surprisingly large, power hungry, and expensive, and their scalability for 100GbE, 200GbE, and 400GbE looks bleak
不过微软的分析有可能有倾向性,贵版各位专家分析分析,fpga和arm方案,在一秒处理60G个包的情况下,哪个性能高价格便宜潜力大。这两家在smartnic后面少说几十亿的投资进去了,看看谁要打水漂
【 在 lvsoft 的大作中提到: 】
: 下午一直在开会,晚上有点时间写几句。
: 那篇文章我当年就看过。虽然不知道它具体解决什么问题,但大概是想解决网络虚拟化的问题。
: 这个时间前后大家都在上云,云的核心门槛就是网络虚拟化。
: ...................
--
FROM 221.221.18.*
虚拟网络只谈实现那简单的很,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.*