云计算下个十年:云原生
云计算产业的领头羊,阿里云的云栖大会已经成为中国数字经济领域的年度盛会,是全球最具影响力的科技展会之一,也是众多最新的科技创新成果集中亮相的舞台。2020年9月18日,在今年线上大会期间,阿里巴巴正式成立云原生技术委员会,阿里巴巴高级研究员蒋江伟担任委员会负责人,达摩院数据库首席科学家李飞飞、阿里云计算平台高级研究员贾扬清、阿里云原生应用平台研究员丁宇等多位阿里技术负责人参与其中,云原生升级为阿里技术新战略。
“云原生”的概念产生已有数年,到底如何定义“云原生”,如何理解云原生架构,开源对云原是否必不可少要,分布式的云原生架构如何部署等话题仍然众说纷纭。2015年谷歌成立了原生云计算基金会(CNCF),基金会成员几乎包含了当今云计算领域的所有重量厂商。CNCF认为CloudNative系统需包含的属性至少包含三个,即容器化封装,自动化管理和面向微服务。在市场实践中,容器,微服务,Serverless作为云原生的典型技术的确已获得业内的共识,处于蓬勃发展阶段,并逐渐成为应用云化开发的主流方式。
根据CNCF2019年的统计报告,受访者中2019年正在各自业务生产环境中使用Kubernetes的比例从2018年的58%上升到78%;至少41%的受访者在使用Serverless技术,而2019年使用容器技术的开发者增长更为显著,从2018年的18%暴涨到升到84%。另据2020年IDC全球数据中心预测报告,到2023年,80%的工作负载将转移到容器/微服务或由容器/微服务创建。
“Cloud Native is eating the world”,已不是危言耸听,而是大势所趋。无论是企业,开发者,框架中间件提供商还是云计算基础设施构建者都已开始拥抱云原生,面向云原生,以全新的技术来构建各自的产品。
对于部署了上万级容器应用的集群来说,资源竞争将是对容器应用稳定性最大的威胁之一,在生产环境中要尽量缓解节点上不同容器应用在多种工作负载下,由于资源竞争而带来的稳定性问题。常见的一种被动预防的办法是在部署前对整个平台进行全方位的压力测试,利用数据分析的手段预判应用需要的实例数量和所需的资源量,从而对资源进行既定分配或做冗余处理。
无论是既分配资源的匹配度还是冗余资源的弹性,都是从计算资源数量上的部署策略。如何从单一计算资源本身来衡量算力容量和弹性,在部署策略中制定更确定的资源分配和冗余设计?于是,CPU计算核性能输出的可预测和稳定性将至关重要。
一直以来,传统服务器处理器架构的计算核都采用了多线程设计。多线程处理器通常为每个激活线程准备一组额外的寄存器集,这样计算核就能快速得从一个线程切换到另一个线程。对于软件来说,一个多线程的核心单元看起来就是两个(或者更多)在分别执行单一线程的核心。将多线程核与多个核相结合封装成一个芯片,提供更多的“虚拟核”。
CPU在运行时由于cache miss, 分支预测或者其他pipeline问题必然存在的“停顿”(stall)间隔,这些“停顿”将浪费很多周期。多线程核设计就是利用了这一现象,通过添加另一个线程来利用这些“停顿”周期。多线程CPU核在原线程(线程1)从暂停恢复执行之前,会切换到另一个线程(线程2)工作,如下图所示。这样多线程处理器通过更有效地使用单线程中“停顿”周期来提供在单位时间内更高的吞吐量和总体性能。但是,在某些情况下,特定线程(线程2)的完成时间比原线程“停顿”所提供的周期花费的时间更长,这就会导致原单线程任务(线程1)的完成时间延长,从而延长了原线程的完成周期,线程1的则表现为性能的衰减。
当众多容器应用在共享计算资源时,随着某单一节点上运行的容器应用数量的增加,或某些应用工作负载的加重,在这种多线程设计的架构下,单一线程的性能衰减将导致原部署时的算力预算或冗余资源出现不足。
相对的,采用单核单线程设计的计算核心,包括计算单元,寄存器,一级二级缓存等计算资源均是核心独享,实现一致的可预测性能,核心(线程)之间无资源争用,随着活跃线程数量的增加,单线程性能稳定,整个节点算力的输出保持线性增长。
Ampere Computing 2020年发布的首款云原生处理器Altra采用了单核单线程的设计。stress-ng是Linux平台中被广泛使用CPU压力测试工具,通过在Ampere Altra平台进行测试,可以明显地看出Altra单线程内核随负载可以线性扩展,并提供极其可预测的性能。
而对于超线程设计的CPU,其算力的输出随着线程数量的增加会出现明显的性能妥协。
云原生的发展趋势将要求处理器单核的一致性可预测性能,更高的核密度,更出色的单核能效。Ampere Computing“为云而生”,专注为云计算和云原生应用设计处理器产品, 从80核的云原生处理器Altra到2021年128核的Altra Max,Ampere将紧跟云计算的最新技术方向,保持一年一款的节奏,不断为云计算用户提供创新的绿色计算平台。