大数据呈爆炸性增长,现代数据中心日益复杂,然而数据中心没有模板,并不存在典型的数据中心,数据中心的工作负载是动态变化的,不存在单一的或某种类型的应用能够主导数据中心。因此现在的数据中心面临不断变化的要求和应用,必须保持可扩展性和敏捷性,无需进行硬件升级和扩展的前提下,能够不断的运行变化的应用。为了满足这一需求,赛灵思推出了可组合式数据中心。

 

何谓可组合式数据中心?赛灵思数据中心市场营销总监Ed Wright解释,所谓“可组合式”不仅是计算、网络和存储的分离,也不仅是在基础设施层面,可组合式数据中心是在器件层面实现可扩展和可配置,从而满足各类应用的需求。

 

 

SN1000:SmartNIC迎来新成员

在10G以内,市场上一直使用标准的NIC,支持高效的输入输出,从服务器到网络,一直到存储都不需要进行加速。但是从10G到25G节点,CPU的内核开始出现卡顿,于是就产生了卸载NIC,从而减轻CPU的负担,同时推进网络数据包的加速。但是卸载NIC使用的都是ASIC,无法重新编程,而且卸载只能支持10G到25G。随着端口速率从25G向40G、50G甚至100G过渡,CPU内核资源更多用于网络数据包加速处理,于是可编程SmartNIC应运而生。

 


 
最早采用SmartNIC技术的是超大规模的数据中心和云服务提供商,包括百度、阿里、腾讯等公司,它们对线速性能的数据包处理性能要求很高。超大规模数据中心的要求各不相同,因此在实施过程中如果使用CPU和ASIC,很难满足客户的差异化要求。AISC方案跟不上超大规模数据中心每过12-18个月就会有很大变化的演进速度;CPU和SoC方案无法满足硬件加速的要求和性能。

 

超大规模的数据中心和云服务提供商的要求主要体现在三大领域:网络、安全和存储,他们希望SmartNIC可以实现加速网络、安全和存储卸载功能。

 


赛灵思推出的Alveo SN1000 是业界首款硬件可组合式SmartNIC,既包括网络功能的卸载,还可以进行计算卸载和计算加速,也是可组合式数据中心的核心。赛灵思数据中心事业部网络与存储产品管理总监 Kartik Srinivasa介绍,这是一个2×100GB的SmartNIC,符合数据中心封装尺寸和功耗仅为75瓦的需求,这款产品基于赛灵思16nm UltraScale+架构 FPGA,和 16核 NXP Arm处理器,以线速提供协议级的可编程能力。

 


如上图所示,红色部分FPGA是数据面,白色部分是控制面,中间灰色部分是内存,内存既支持数据面也支持控制面。赛灵思预先对硬件进行了加速,包括OVS加速、网络虚拟化安全加速和存储加速等,因此SN1000 SmartNIC开箱即用,而且即插即用。客户可以选择对数据面进行配置。例如,客户可以用SmartNIC进行远程存储加速,对NVMe进行加速。同样的客户如果想使用SN1000对于网关流量进行加速,他可以进行相应的配置加速安全和防火墙,同时还能够保持相关性能。在这个案例中还有一些剩余空间,客户还可以对数据面的其他方面进行加速。也就是说,SN1000 支持客户根据不同的要求进行灵活的组合并进行加速。

 


如上图所示,在此案例中,客户加入了一个定制虚拟交换机,而不是用赛灵思的OVS。同时还可以对虚拟化和安全进行加速,所以客户可以先使用SN1000提升或者增加数据面的功能和加速,或者是根据客户需求去除预装的功能,然后进行定制,满足客户的要求。

 

客户怎么才能充分利用可组合式的功能呢?主要是通过赛灵思统一软件平台Vitis全新打造的Vitis Networking 软件平台。通过Vitis Networking,用户可以使用像P4这样的高级语言来对数据面进行编程,也可以使用C和C++的语言对于ARM进行控制和流量的管理。

 


对于成熟的用户来说,他们可以继续使用RTL或者是其它高级综合这样传统的FPGA编程方法,对数据面进行管理。通过该模块,无论是配置还是加速,既可以由赛灵思来实现,也可以由客户来实现,以及客户的客户、独立的软件和IP合作伙伴来实现,这就是可编程带来的强大灵活性。