阿里云自研神龙架构,如何解决云计算行业难题?

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介:

_

“神龙X-Dragon架构”是阿里云自研的软硬件一体化计算架构,包含“X-Dragon虚拟化芯片”、“X-Dragon Hypervisor系统软件”、以及“X-Dragon服务器硬件架构”,深度融合了物理机和虚拟机特性,可兼顾虚拟机的弹性资源、分钟级交付、全自动运维和物理机的性能优势、完整特性和硬件级隔离,为用户了提供一种新型的计算资源交付方式。

2016年,阿里云启动了“神龙X-Dragon架构”新一代IaaS计算平台项目,其采用了软硬件协同设计方法,从云计算IaaS领域重新去审视芯片、硬件和软件的定义与协同创新。

2017年10月,阿里云在杭州云栖大会上首次公布了基于神龙X-Dragon架构的裸金属服务器。

2019年9月,阿里云正式发布第三代自研神龙架构,贯穿整个弹性计算平台,全面支持ECS虚拟机、云原生容器等,并在IOPS、PPS等方面提升5倍性能,用户能在云上获得超越传统物理机100%的计算能力。

背景:云计算的历史性难题

从计算机诞生到90年代,计算资源都是作为“可计划性”的资源来使用。然而,互联网时代的到来,一个爆发性事件,就有可能让已有的计算资源招架不住。

云计算的优势之一在于计算资源使用收放自如。这一能力就得益于数十年前诞生的虚拟化技术,它可以通过软件定义的方式来管理数据中心的计算资源。

一直以来,云服务的底层依旧是通用芯片加标准虚拟化软件组合:Intel的X86芯片 + VMware、Redhat、Citrix等开源组织或者商业组织的虚拟化软件,这一组合最终可以根据企业的需求来输出计算能力,即便是数万核计算能力也可以在分钟级内实现。

云计算的便利性在人工智能领域体现得淋漓尽致。以图像识别领域的ImageNet竞赛为例。2015年时,冠军模型ResNet包含了上千万的参数,使用线下服务器完成一个完整的训练需要14天;而现在,同样的模型在云上完成相同的任务仅需要几个小时。

当然,在光鲜亮丽的外表之下,云计算也有着其与生俱来的缺点。

虚拟化会如同黑洞般吸收走一部分机器的性能,也就是云上的弹性能力是以牺牲性能来换取的。举个例子,一台95核的服务器上运行云服务器,可能需要占用8核32G来抵消虚拟化的开销,留给用户使用的只剩88核和剩余内存,造成了算力的极大浪费。不仅如此,在同一服务器上的云服务器之间资源调度无法做到完全的隔离,存在资源抢占的情况,因此其性能也不稳定。

与此同时,整个计算产业链也在潜移默化中发生改变:摩尔定律失效阻碍了通用芯片的发展,基于GPU、FPGA、ASIC等新芯片的定制服务器成为潮流,而传统的虚拟化技术难以跟随这些“非主流”硬件的步伐。

这被认为是云计算行业的阿克琉斯之踵。

尽管云厂商、芯片商、虚拟化厂商都在试图尝试新的方法,例如英特尔等芯片商提供了硬件级别的虚拟化支持,虚拟化技术本身也从Xen演进到了KVM,但由于软件厂商、硬件厂商、系统集成商各司其职,这种层层之间割裂的模式最终未能在根本上解决问题。

这似乎成为了云计算厂商身上的一道魔咒,底层架构的创新迫在眉睫。

阿里云研发下一代虚拟化架构

虚拟化损耗是云计算自诞生以来就有的缺点。阿里云一直以来都在降低云计算虚拟化的损耗,逼近极致。在2016年双11的技术复盘会上,时任阿里巴巴集团CTO张建锋提出了极为苛刻的要求——把虚拟化开销也降低到0。 这看似是违背能量守定律的,即便在学术界也没有相关研究。

最终阿里云团队另辟蹊径,想出了新的解决方案——通过专用芯片来解决虚拟化开销。

从技术的实现思路看,阿里云研发团队需要重构一套计算架构,通过研发一个新的芯片组来为每个节点提供功能性和管理性的需求支持,在此基础上,再研发出一套新的服务器硬件,和配套的系统软件;然后再将这套技术架构融入到现有的产品设计中去。

图灵奖得主、加州伯克利大学计算机科学教授David Patterson曾表示:”随着摩尔定律的终结,为了获得更快性能的计算机,唯一方法就是改进计算机的设计或‘架构’。“

从前,因产业链上下游企业各司其职,虚拟化损耗一直存在。

软硬协同架构设计的理念已然飘向了云端,体量大的云厂商服务器部署规模达到百万级别,意味着可以定制任何硬件,而云厂商也开始重新审视芯片、硬件和软件的协同创新。要想收获软硬融合的技术红利,重要的前提是可以自定义芯片,自主研发硬件。这便是阿里云所做之事。

2017年10月,阿里云在杭州云栖大会上首次公布了基于神龙X-Dragon架构的裸金属服务器。

2019年9月,阿里云正式发布第三代自研神龙架构,贯穿整个弹性计算平台,全面支持ECS虚拟机、云原生容器等,并在IOPS、PPS等方面提升5倍性能,用户能在云上获得超越传统物理机100%的计算能力。

_3

神龙X-Dragon架构的特点

阿里云作为IaaS全球排名前三的厂商,ECS弹性计算产品积累非常庞大的规模,在发展过程中,研发团队对开源Xen/KVM有着非常深刻地认知和理解,同时也注意到了业界芯片和软硬件一体化的发展趋势,从阿里云的神龙X-Dragon架构来看,阿里云定制研发了专用的服务器,研发了专用的虚拟化芯片,开发了专用的MOC卡,开发了整套配到的软件,从BIOS到客户机软件,到上层的整体调度软件等一整套复杂的系统。

moc_

MOC卡是神龙架构的灵魂所在。这张卡完全由阿里巴巴自主设计。 X-Dragon芯片是装在弹性裸金属服务器中的MOC卡的核心。这个阿里云自研的MOC卡拥有独立的处理、存储、I/O等单元,MOC卡承担了原来通过软件实现的网络、存储以及外围设备的虚拟化。而神龙服务器的的主板也是阿里云定制的版本,专门针对MOC卡进行优化,以便X-Dragon Hypervisor可以方便地管理整个机器。

在这样的构架下,每台神龙服务器,可以像虚拟机一样被X-Dragon Hypervisor调用,创建和释放一台神龙弹性裸金属服务器在阿里云控制台中和创建一台ECS实例是一样的。但是由于这种调用是通过硬件来实现的,所以基本没有性能开销整个机器的运行性能和物理机无异。

与此同时,神龙服务器的外部云盘存储、VPC网络等资源,都通过MOC卡支持。低速的外围设备,是现代服务器主要的性能瓶颈,等待硬盘等的存储消耗掉大量计算资源。神龙构架的做法,是将该部分功能,通过硬件直接独立出去,offload到MOC卡上,因为使用了专属芯片硬件,其效率非常高,而且实现了和阿里云原有的云计算体系的完全兼容。神龙裸金属服务器可以像云主机一样,通过挂载镜像进行初始化,还可以通过OpenAPI操作,完全免去了人肉运维的痛苦,使用效率极高,和一台普通ECS使用体验基本相同。

这样一来,神龙弹性裸金属服务器便克服了上面提到的公有云遇到的几个问题。
首先,神龙弹性裸金属服务器没有软件虚拟化带来的性能开销,可以完全发挥处理器和内存的性能。
其次,神龙弹性裸金属服务器的资源是独占的,其性能非常稳定,不会出现性能起伏不定的状况。
第三,神龙弹性裸金属服务器支持嵌套虚拟化,主流的虚拟化系统都可以在上面运行。

神龙云服务器在克服传统云计算主机缺点的同时,又保留了云主机的优点,比如上面提到的弹性部署、API操作、镜像启动、VPC网络等特性一样不少。

一言以蔽之,神龙弹性裸金属服务器兼备物理机的高性能和云的弹性。

神龙X-Dragon架构的应用场景

神龙X-Dragon架构“快”的特点,让它几乎适合承担从轻量级计算到高性能计算所有的云计算任务,例如可以支持ECS,还可以通过灵活的配置,组成计算力强大的超级计算集群,为HPC高性能计算提供驱动力。

以AI人工智能为例,训练一个模型可能需要数天甚至数周时间,这在现在这个分秒必争的社会是不能容忍的。传统的超算面对这类场景也束手无策,通过异构计算集群来加速训练是工业界和学术界的最常用的途径。而神龙则把异构超算能力带到了云上,可以轻松满足这种大算力场景的需求。

大规模计算集群性能损耗通常在50%左右,而基于神龙架构的超算异构集群可以最大限度发挥芯片的计算性能,提供堪比超算中心的并行计算资源。

基于神龙裸金属服务器的异构超算集群SCCGN6,结合低延时RDMA网络、高性能并行文件系统CPFS以及分布式加速框架Ali-Perseus(擎天),最高可以实现100%的性能提升,从而最大限度发挥芯片的计算性能。以ImageNet竞赛的128万张图片的数据集为例,用普通计算资源训练ResNet50模型,如要达到75%的精度需要数天甚至一周的时间,而使用神龙异构超算集群,模型训练可以缩短到几分钟。

不仅如此,神龙还非常适合目前最流行的容器技术。就目前来看,神龙裸金属服务器运行容器对比物理机有10%-30%的性能优势。容器技术是当下最热门的技术,几乎所有的互联网公司都或多或少的应用容器技术来部署自己的服务,而神龙裸金属服务器的种种特性,正好和容器技术紧密结合,提供超越预期的性能。

神龙(X-Dragon)架构已大规模应用于阿里巴巴集团淘宝、天猫、菜鸟等核心业务,满足了双11等大规模流量需求,在阿里巴巴All in Cloud战略中,也全部采用了神龙产品方案。

对外该架构服务于各领域企业,家居工业互联网代表企业三维家已全部采用神龙产品实现全面上云,渲染效率比线下IDC集群高5%-8%;汽车领域知名企业上汽通用使用神龙SCC超算集群,汽车仿真计算效率提升25%;安世亚太基于SCC集群为客户提供HPC解决方案,总体成本下降20%以上;吉利汽车制造企业通过使用神龙云服务器集群显著提升仿真效率近三成,缩短车型设计和推出市场时间若干个月。

参考资料:
阿里造“神龙”
阿里云发布第三代神龙架构
阿里云弹性裸金属服务器-神龙架构(X-Dragon)揭秘
云计算史上的第一次开箱直播,阿里云神龙技术架构首次全方位曝光

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
存储 分布式计算 分布式数据库
【专栏】云计算与分布式系统架构在数字化时代的关键作用。云计算,凭借弹性、可扩展性和高可用性,提供便捷的计算环境
【4月更文挑战第27天】本文探讨了云计算与分布式系统架构在数字化时代的关键作用。云计算,凭借弹性、可扩展性和高可用性,提供便捷的计算环境;分布式系统架构则通过多计算机协同工作,实现任务并行和容错。两者相互依存,共同推动企业数字化转型、科技创新、公共服务升级及数字经济发展。虚拟化、分布式存储和计算、网络技术是其核心技术。未来,深化研究与应用这些技术将促进数字化时代的持续进步。
|
1天前
|
Cloud Native 安全 云计算
什么是云原生架构,我们该如何做好云原生安全,引领云计算时代的应用程序革新
云原生架构,基于云计算设计理念,强调应用在云环境中设计、构建和运行,利用容器化、微服务、自动化管理和持续交付实现灵活、可扩展和高效。其优势包括高可扩展性、可伸缩性、高效性、灵活性、可靠性和成本效益。应用场景广泛,如电商、金融和物联网。构建关键要素包括容器化、微服务、自动化管理和持续交付。保障安全,需重视容器安全,采用如德迅蜂巢·云原生安全平台等解决方案。云原生正引领应用程序革新,成为现代应用构建首选。
|
1天前
|
弹性计算 负载均衡 容灾
应用阿里云弹性计算:打造高可用性云服务器ECS架构
阿里云弹性计算助力构建高可用云服务器ECS架构,通过实例分布、负载均衡、弹性IP、数据备份及多可用区部署,确保业务连续稳定。自动容错和迁移功能进一步增强容灾能力,提供全方位高可用保障。
5 0
|
2天前
|
弹性计算 数据库 Docker
学习阿里云架构设计知识2-翀举
VPC分区清晰架构,VSW网络分隔,CEN连通VPC,按量付费小规格,均衡策略,ESS/ACK内置SNAT,ECS用NAT上网。建DMZ需VPC、VSW、NAT、EIP。主系统多VPC/VSW配ECS和Redis,CEN全连接。CEN设路由表,外网访问设DMZ、CEN、EIP,加堡垒机。Web系统ACR部署WordPress,配数据库。验证WordPress、弹性伸缩,测外访、发文、负载。含架构图。
14 1
学习阿里云架构设计知识2-翀举
|
3天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
11天前
|
人工智能 分布式计算 Cloud Native
阿里云PAI平台架构介绍
阿里云PAI平台架构介绍
24 0
|
13天前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
19天前
|
存储 人工智能 文件存储
阿里云吴结生:云计算是企业实现数智化的阶梯
文章背景:阿里云副总裁、阿里云云存储产品线负责人吴结生在云栖大会的演讲中表示:“从云的角度来看,云的存力、算力,云上提供的数据管理的能力,大数据分析能力和人工智能计算能力,帮助每家企业从数据公司演进到数据驱动的公司。因此云计算是企业实现数智化的阶梯。”
|
20天前
|
敏捷开发 数据可视化 物联网
云效产品使用常见问题之用ARM架构的机器意义不知道如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
24天前
|
存储 监控 API
【云原生系列】云计算概念与架构设计介绍
**云计算**是基于互联网的计算模式,通过共享计算资源(如服务器、存储、应用程序)提供高效、可扩展、可靠、安全和经济的服务。其架构通常包括**物理层**(服务器、存储、网络设备等基础设施)、**虚拟化层**(虚拟机、容器、虚拟网络等)、**平台层**(开发、运行时、数据库服务等)和**应用层**(企业应用、Web应用、移动应用)。云计算服务有IaaS、PaaS和SaaS,广泛应用于企业IT、开发测试、大数据处理、AI和远程办公等领域。为了确保性能和可靠性,云平台采用负载均衡、自动伸缩、备份恢复、安全措施和监控故障排除等方法。
25 1