经过近几年的蓬勃发展,云计算,尤其是公有云已经被证明有能力支撑企业应用,并带给企业IT更多的灵活性与可靠性,大中型企业用户对云计算接受度越高,服务提供商之间竞争就越激烈。用户规模的扩大通常意味着公有云数据中心规模的增大,让其有意愿去定制化硬件以获得规模经济效益,除此之外,IaaS谋求差异化,硬件行业拼配置的古老做法得到了全新的演绎。
从云计算,尤其是IaaS层云服务来看,硬件与软件的综合能力是其核心竞争力。在硬件方面,虽然云计算发轫于标准的x86商用硬件(Commercial off the Shelf,COTS),但随着云进程的演进,一方面需要更丰富的服务类型,对硬件有着更高的要求;另一方面,定制化的硬件与自研软件相结合,能够发挥出更好的效率,这对于提升云的综合能力有着显著的影响。
首当其冲的就是CPU,毕竟云服务器的换代也和物理服务器换代一样,跟着CPU的节奏走。以华为为例,去年英特尔推出代号SkyLake的至强可扩展处理器之后,FusionServer系列服务器升级到了V5,华为云的通用计算增强型实例也推出了新一代的C3。
与面向传统企业用户的通用服务器不同,云服务提供商可以根据自己的具体需求,采用向英特尔定制的CPU。与面向通用市场的型号相比,定制版本的处理器可以选择独特的主频与内核数量组合,譬如内核数量相同的情况下,拥有更高的主频,可以让云服务器拥有更好的性能。
云服务商采用定制版本CPU的公开宣传始自2014年,AWS在其计算优化型实例C4中采用英特尔至强家族的定制型号E5-2666 v3。随后微软、阿里云、腾讯云等先后根据自身需求向Intel定制了处理器,定制CPU已经成为云服务提供商实力的象征。
在至强可扩展处理器这一代,华为云定制了两款CPU,包括通用计算增强型实例C3采用的至强金牌处理器。相比于之前的通用计算型实例C1、C2,C3实例的配置有成倍的提高,可选的类型也丰富得多。
华为云中C3实例与C1、C2实例对比,C3实例拥有更多更高的配置类型。相比于C2实例最高32核64G,C3实例最高可达60核256G;CPU与内存比例从原来的1:1或1:2升级到C3的1:2和1:4,配置更高,计算能力更强
不止于计算C3ne网络增强型来了
不止CPU,包括SSD、FPGA乃至新一代网卡等硬件都是公有云的定制对象。正所谓“牵一发而动全身”,当计算与存储(SSD)的性能提高,在实际应用环境中不再是性能瓶颈以后,必然有新的瓶颈产生。就IaaS层而言,在某些应用环境中,网络成为阻碍新的瓶颈,需要加以改善或解决。由此,华为云在C3实例的基础之上,推出了通用网络增强型实例——C3ne(C3 network enhance,C3网络增强型),并于日前(2018年8月16日)正式商用。
C3的网络增强型,顾名思义,就是增强了通用计算型实例在网络方面的性能。C3实例的底层硬件使用的是10Gb/s以太网络适配器,而在C3ne实例中,则升级到了最新一代的25Gb/s以太网络适配器——在这方面,公有云走在了私有云的前面——就云主机的网络性能而言,由原来C3实例最高的17Gb/s提升到了C3ne的40Gb/s。
在华为云C3ne实例正式商用之前,E企研究院针对C3与C3ne实例不同配置下的网络性能进行了测试,检验其在真实环境下的网络性能,下图为测试结果:
从E企研究院的初步试用结果来看,C3ne实例的网络性能不仅达到了C3实例的2-3倍,甚至也比华为云公布的最大带宽数值有不同程度的提升。根据经验分析,这是因为在c3ne还处于公测当中,内部资源盈余,所以在E企研究院的测试中能发挥出最大性能。但华为云工程师建议,正式商用之后,c3ne实例带宽应以基准带宽为准,在保证基准带宽之后,视具体负载程度,最大带宽会有不同程度的性能浮动。
C3ne高性能幕后:新一代智能网卡与eVS 3.0
极致的云主机性能肯定离不开底层物理基础设施的支持,中间软件层的优化能力也必不可少。就C3ne而言,其网络子系统底层采用基于华为自研的新一代25GbE智能网卡——u-NIC,基于开源OVS,拥有高达1000万pps的全功能数据面卸载能力,包括转发、安全组以及Conntrack等功能在内,卸载云网络处理负载,
可将所有x86 CPU核提供给客户(云主机)使用。如果是纯转发,则可以达到1000万pps。
华为云C3ne实例底层所采用的u-NIC智能网卡集成了网络专属优化引擎(PPE)、超大流表和安全规则操作以及高精度硬件QoS等功能特点,让其成为一个高可编程的高性能包转发平台,能够满足云数据中心提出的高性能、高灵活性、多租户隔离以及QoS等需求。并且华为进一步升级了u-NIC中的内部拥塞算法,让其能够更灵活地适应复杂多变的云环境。
华为公布的u-NIC智能网卡在拥塞环境下的响应时间,由于其具有针对性的拥塞算法优化,与同类产品相比,在多台压力客户端并发模拟的拥塞环境下,新一代u-NIC网卡的响应时间要低数倍
除了底层物理硬件具备强大的性能之外,华为云C3ne实例的高网络性能还离不开eVS(Elastic Virtual Switch,弹性虚拟交换机)的配合。基于OVS内核态数据面的eVS 1.0版本最早开始于2013年,华为在2015年时将其升级到基于DPDK用户态数据面的eVS 2.0版本,通过SIMD(单指令多数据)优化和多线程调度,大幅提升了其网络性能。
在今年,华为又发布了新一代的eVS 3.0:通过集成流表卸载架构,以及“软硬结合”的I/O虚拟化技术,成为业界首个千万级虚拟网络交换机,其与新一代的u-NIC智能网卡相结合,最高可达到48Gbps的网络吞吐能力,超过1500万pps的纯转发性能。
eVS与U-NIC智能网卡的组合,实现类似SDN中“控制平面与数据平面的分离”作用,其中eVS作为控制平面,将网络转发等任务卸载到u-NIC智能网卡,一举突破了eVS 2.0中由于CPU资源分配上的限制导致的性能瓶颈。u-NIC核心芯片Hi822为ASIC处理器,具有更好的数据转发效率,通过硬件卸载(offload),可以释放网络带宽,提高网络子系统的数据转发能力。
C3ne实例只是华为云自主研发能力的缩影,实际在很多方面(比如存储),华为都强调自研带来的差异化核心竞争力,并重视“软硬结合”并行发展,由此发挥整个系统的综合性能水平。正是因为这些特点,尽管华为云正式商用时间并不长,但已经迅速跻身于国内领先云服务提供商行列,并以其特有的竞争力吸引了企业用户的关注。