1.2 双11背后基础设施软硬结合实践创新
前言
阿里巴巴作为全球领先的互联网综合业务平台,其遍布全球的数据中心中海量IT硬件设备(服务器和网络)承载了世界上最全的业务体系。一方面各种互联网服务种类之广、应用类型之多、对硬件能力需求之差异,另一方面连续7年的双11狂欢节这类世界级的玩法,对于整个集团整体业务、产品、技术体系的挑战虽不绝后,但一定空前。由此要求与之一体两面的基础设施技术能力必须要解决世界级的问题,建设世界级的架构,掌控核心的关键部件技术。
在广义数据中心总体拥有成本(TCO)模型分析下,其中IT硬件设备通常是资本费用(Capex)和运营费用(Opex)投入方面最重要的组成部分。受驱动于特征各异的应用需求(云计算和大数据、电商、普惠金融服务、智能物流平台、生活综合服务),服务器硬件设备在核心部件、系统架构、能效成本方面的技术挑战一直是阿里基础设施竞争力构建方面“节流”环节的重中之重。
在快速发展变化的技术领域,阿里巴巴如何不断变通调整策略适应新的挑战,制定相应的硬件发展策略,通过源源不断的技术驱动力确保为业务提供质量稳定、技术先进、高性价比的解决方案,本文将从x86核心部件、闪存部件、系统架构等方面的实践创新进行分享。
1. 从产业结构及价值链说起
广义的数据中心产业生态是一个年需求接近千亿美金的生态,其中以大型互联网行业为代表的的大型数据中心其核心生态圈本质上是Intel一手打造、经营的x86生态圈。下图以粗线条勾勒了服务器产业典型的价值分层情况。
通过上图产业价值结构的简要分析可以得出我们的判断:
1)传统行业链在生态演进过程中已经形成相对稳定的角色分工和附加值模型;
2)随着大型互联网行业需求差异化演进,价值链末端中玩家已经出现纵向或者横向的转型和产品延伸(例如ODM的OEM化,以及OEM的ODM能力加持),价值链高端的玩家则表现出核心产品技术与节奏的差异化(例如Flash颗粒技术已经在技术路径和产品化节奏上差异显著),以及端到端解决方案封装化(例如WD收购Sandisk(后者收购FusionIO)后成为颗粒、闪存部件产品、硬盘、存储系统的解决方案提供商);
3)阿里巴巴基于最基础的“开源节流“的逻辑,在节流领域选择白盒化的方式对产业链和系统产品进行解构。即明确工程节奏策略为“从整到零”à“从零到整”。
进一步解析来看,“从整到零”与“从零到整”贯穿始终的驱动初心围绕着客户价值(服务产品化、高效稳定、解决方案竞争力)和技术价值的长期竞争力构筑(资源安全、技术安全、成本竞争力),并基于此来指导技术架构方向思辨、技术路径取舍、技术产品规划。结合不同技术领域产业发展状态和阿里在不同技术领域的技术储备现状,我们需要对于硬件策略进行不断的思考、不断地调整。基于硬件团队过去三年的实践及思考,我们总结为三句话:“人无我有”、“人有我优”、“人优我快”。简单讲就是:
人无我有:第一个想到、实现、用起来;以及构建技术壁垒,模仿及复制成本高。
人有我优:用得最好,业务价值最显著,技术红利充分挖掘,具备比较优势。
人优我快:敏捷迭代、合理取舍、不求完美、最快落地并拿到产业红利。
正如周知的RFC 1925中提到的 "Good, Fast, Cheap: Pick any two (you can‘t have all three)",我们需要辩证的理解3条(人x我y)之间的关系亦是如此,取舍无时无刻不存在于其中。与此同时3条(人x我y)本质上暗示了竞争力构筑的背后是沿着战略方向长期、持续、且不断反思与调整策略的研发投资。
2. 软硬件结合的思考和实践
2.1 定制处理器
x86生态的庄家兼操盘手英特尔始于2006年的Tick-Tock*处理器发展模式像钟摆一样严格且精准的发生了十年,尤其确立了其在数据中心领域x86通用处理器的绝对垄断地位。(注*,Tick指半导体工艺(semiconductor process)升级年,Tock指处理器核心架构(core micro architecture)升级年,即处理器的核心架构和制程工艺隔年升级,两年实现新架构和新工艺的更新迭代)。而十年后的当下,硅基半导体制程工艺逐渐逼近其瓶颈,曾经严谨的tick-tock钟摆停止,原计划17年Skylake一代之后的CanonLake取消,英特尔将延长每一代半导体制程生命周期为3年,改为P-A-O模式:即制程升级(Process)à架构升级(Architecture)à优化升级(Optimization);各大媒体的忧心忡忡都在重复一个观点:摩尔定律举步维艰、越来越难以为继。而阿里巴巴作为重度和深度用户,我们无意评说英特尔在工艺和制程方面遇到的挑战,我们更多回到基本盘从性能、能效、成本几个直接界面问题入手。即代与代之间core同质化(通常个位数性百分比能提升)、performance/watt(能效比)持续下降、以及通用处理器大量存在的“水份”(例如普适业务场景vs阿里业务场景,各种margin等)。
限于篇幅我们在此不详细展开阐述完整的前因后果,简要提炼几条逻辑主线。
(1)集团TCO模型收益为导向硬件策略所要求的单机scale-up关键在于处理器性能、能效;
(2)结合阿里业务多样性的综合性能评估体系,创新性定义并重建speccpu测试指标及权重因子。即以阿里价值评估体系反向定价,而非Intel主导的普适评估体系普适定价;
(3)历时一年与Intel团队深入合作,实现业务级优化,以及性能功耗比vs上架密度vs TCO收益最大化机型置换比等多维度之间相对最优解。
该项目帮助阿里有效沉淀了x86处理器定制从0到1的宝贵经验,产出了Broadwell处理器性能功耗比Top3 的高频高核心AliCPU E5-2682 V4,工程节奏上实现了亚洲第一款定制处理器大规模应用于生产,严格同步Intel官方发布节奏, AliCPU 稳定承载了2016双11大促,成为保障奇迹背后的关键力量。
2.2 定制SSD
先看几张来自互联网的图片,感受一下。
注:历时50年,预计2018年单HDD盘容量可达约20~30TB(3~5年),受限于机械硬盘结构,单盘IOPS上限大约在250~300,接口吞吐不超过300MB/s.
注:历时10年,闪存固态盘容量增长了超过30万倍,而2017年部分闪存盘容量可达到惊人的60TB,部分已量产PCIe接口闪存盘更是突破了单盘百万IOPS的能力。
众所周知,闪存(Flash)介质的能力在过去5年中以超摩尔定律的速度飞速发展,无论是性能、容量、抑或寿命,从而在基础设施硬件层已经越来越成为变革架构释放新存储介质性能、系统能效比提升、以及整体TCO优化的战略机会点。阿里巴巴早在3年即开始了闪存介质的相关技术规划和布局。其中今年双11大促如丝般顺滑的用户体验就有AliFlash(阿里自研SSD)的给力表现,从规模应用承载大促的实践而言,阿里巴巴基础设层对于Flash介质的自主掌控力已经完成了从整到零拆解,首次实践了从零到整的重构的阶段。
我们同样从know-why、know-what、know-how几个层面来简要总结自研SSD之路。Know-why层面从“如果不做如何保障“技术安全、供应安全、成本竞争力来辩证思考。
(1)核心技术、架构、源码自主掌控
(2)关键颗粒直采、生产质量及供应链管控
(3)软硬件打通、提升业务能力性价比和能效比、降低系统TCO、以及支持最新技术
Know-what层面我们规划了多层次的工程目标点和落地节奏,目前从M.2、SATA 2.5寸、NVMe U.2、以及PCIe add-in Card多种规格形态均已完成。其中PCIe Card形态Aliflash采用Host-based架构,即SSD的关键逻辑(垃圾回收,FTL映射等)由Host主机通过驱动直接在内存里进行管理,因此只要修改Host端的AliFlash驱动即可进行软硬件联合调优,具有编译、验证、debug方便的优点。接下来我们将以host-based架构AliFlash在软硬结合调优的know-how具体案例进行提炼分享。
(1)容量vs寿命,够用就好。CDN二级Cache容量优化:CDN的二级Cache需求大容量、低延迟、廉价的SSD方案。由于CDN整体业务压力较低,写入量较小,因此可以调整AliFlash的OP,释放更多空间到用户区域。AliFlash的Nand裸容量为8.6TB左右,标准用户空间为6.4TB,通过调整CDN的AliFlash容量到7.8~8TB,既满足CDN的性能、寿命需求,又显著提升了容量,降低了单位GB成本。
(2)结合业务特征取舍,场景优化。阿里妈妈Tair-ldb延迟优化:阿里妈妈从C7服务器升级到H41服务器(三块AliFlash卡),希望能在读写混合的场景下,读的延时能有很好的保证(500MB/s写入的同时,读延时5ms的超时率控制在万分之一以内)。由于业务的吞吐量要求不高,因此可以调优AliFlash的IO落盘路径,降低一定的吞吐量,用来提升延迟的QoS。AliFlash的IO落盘路径有两条,直接写Nand和SRAM buffer write(延迟较低)。通过关闭直接写Nand,强制所有IO写SRAM buffer write,能使业务读IO超过4ms的比例仅为万分之0.27,远远低于万分之一,同时也满足业务的吞吐量需求,此项调优超出业务预期。
(3)软硬件协同,提升业务能力/¥性价比。集团DB原子写优化:MySQL默认使用双写(double write)来保证数据的一致性,此特性会造成两次IO,带来性能和容量的额外开销。通过开启AliFlash原子写功能,从硬件层面保证了业务写入innodb的page时,不会产生跨页写入,保障数据的一致性。由于关闭了双写,在高IO压力下,对于逻辑卷(LVM),响应时间降低了8%左右。对于裸盘,性能提高约5%左右,RT上降低了18%,约0.3ms。另外,关闭双写降低了30%~45%的业务写入量,能显著提升AliFlash的使用寿命。
除了上述典型场景,AliFlash host-based整体技术白盒化的掌控还能enable debug模式的的个性化需求,极大提升了业务延迟分析、运维稳定性定位、寿命预警健康管理等产品化的配套能力。限于篇幅,该领域还有大量值得专题研讨的内容,恕不一一罗列。
在后续的规划中,AliFlash V2家族将继续在新介质适配、核心控制器自主掌控、结合业务场景深度挖掘软硬协同提效方面保持高质量、技术先进性、配套完备的产品化交付物。
2.3 高效能存储解决方案
传统存储领域有一个非著名行业规则称为克莱德法则,它类似摩尔定律,可表述为每12~18个月同一价格的硬盘存储容量将会翻一番。与此类似在存储消费行业也流行着一种趋势判断,认为存储价格下降一半,则存储需求增加一倍。实际上无论是摩尔定律还是克莱德法则,其内生关联在于技术发展驱动了计算和存储资源的单位成本持续降低,而云计算与大数据技术则持续推动了用户获取、使用、甚至二次开发这些资源的成本持续降低。
2015年马老师最早提出DT时代研判,阿里巴巴是世界上最早研判数据将作为未来关键生产资料的商业公司,即云计算和大数据作为集团战略聚焦方向之一。前文提到与之一体两面的基础设施建设与竞争力构建上,基础设施团队必然将相对应的高效能存储硬件解决方案作为战略项目进行推进。貔貅(项目代号)产品化方案则是软硬结合优化高密度存储解决方案的典型,下文将从存储模型和系统架构设计两个维度来阐述。
勾勒存储系统的边界来看,TCO¥/单位存储容量和TCO¥/IOPS|吞吐是其中关键指标。细分存储系统数据访问频度的不同层次(例如热、温、冷、冰),在满足一定存储性能SLA(服务等级承诺,service level agreement)前提下,关键设计目标聚焦在最优的TCO¥/单位存储容量。
我们以HDD目标介质为例进行模型分析。首先约定边界条件,1)IDC标准机架物理空间40U,电力容量8kw。2)TCO简化为硬件采购成本Capex + 分摊至每套系统的Opex,后者包含IDC机架租金/kw/月,每网络端口成本/port等费用。
其次定义三个维度系数,分别衡量物理密度、功耗利用率、有效成本系数几个指标。
? 存储密度系数SDE (Storage Density Effectiveness):硬盘数/单位U空间;例如12x HDD/U指每单位U空间内可容纳12片HDD的密度度量, 越高则表示空间利用率越好
? 有效存储功耗系数SPE (Storage Power Effectiveness):有效存储介质的功耗/机架付费功耗;例如0.7指8kw中70%用于存储介质HDD的operation功耗消耗,越高则付费功耗利用率越好,理想模型趋于接近1
? 有效存储成本系数SCE (Storage Cost Effectiveness):有效存储介质成本/总系统成本;例如0.85指系统成本每一元钱中,85%用于采购有效存储介质HDD,越高成本占比越优,理想模型趋于接近1。
至此基于该模型我们简要进行如下量化对比,标准2U存储机型vs貔貅不同配置、以及vs理想模型之间差异。这几个抽象的系数本质上代表了系统架构设计在空间密度、能效比、适配业务特征进行资源能力定制几个维度之间进行求解相对最优解的过程。
注:内部数据以X|Y|Z|Z+替代。
注*:40U已经达到标准机架的物理空间极限。即使8kw功率配额尚未用完,也无法提升上架密度。
当然实际系统架构设计还需要考虑满足业务需求SLA的适当计算能力、网络能力、内存容量等方面的配比,兼顾系统可运维性、部署供应颗粒度等某个维度的边界条件, 而这些局部边界条件将会反向修正系统架构设计时在具体实现可行性上的tradeoff。
下图是基于Alirack整机架一体化设计的貔貅节点计算机头与存储机尾俯视图。通过深度结合业务场景的取舍和优化,单位存储容量TCO优化比例高于50%;模块化以及高密度的系统实现,叠加整机架一体式集成交付,极大提高了部署以及运维的效率;节点内部支持闪存介质与硬盘介质的硬件tiering,便于为业务软件兼顾性能与成本提供灵活性。
随着貔貅架构的逐步扩大规模应用、新介质技术的发展,新软硬件架构优化的持续演进;例如计算与存储分离架构演进中,存储集群的资源池化、存储能力服务化、存储侧专有计算能力嵌入化等课题仍然需要软硬件团队更深入的研讨,持续优化模型并拉通硬件模型和业务模型一体化思考,持续演进并不断提升业务体验和产品竞争力。
2.4 下一代通用底盘自研
基础设施团队4年前开始启动“车同轨”、“书同文”的标准化工作,对应到服务器硬件领域则首当其冲为机型的收敛与标准化。从硬件基础设施的资源属性、成本属性、技术属性几个层面来看,2012年第一期的标准化工作主要针对资源单元的标准化(系统规格、部件规格、运维界面的feature等),旨在提高资源准入、运维、流转等效率。而标准化本身是一项持续的活动,在不同的发展阶段也将有不同战略重点,因此具体的内涵和工作抓手也会不同。而本节提到的下一代(即Intel Purley平台,预计17年7月发布)平台通用底盘所处时期,我们将之定位在通过技术白盒化来确保质量和成本的白盒化,项目代号(雷神,AliServer)。
呼应文章开篇提到的RFC 1925所表述 "Good, Fast, Cheap: Pick any two (you can‘t have all three)",从标准化vs质量vs成本的维度辩证思考来看,前者是手段,后者是杠杆,中间是结果。雷神项目旨在打造完全自主知识产权的通用服务器底盘,实现三大目标:
1)Purley平台最极致的配置灵活度以覆盖90%以上机型配置
2)底盘目标成本管理
3)同步Intel官方发布Purley平台即支撑业务规模上线。
而要达成上述三大目标则需要以端到端全流程质量管理活动标准化掌控为前提,下图尝试提炼整个硬件体系全面质量管理活动的端到端全流程和关键环节。创新、成本、质量是硬件领域永恒的根本,雷神项目承载的Purley平台一代硬件质量大盘,将会在第九次双11中以实际担当诠释基础架构事业群“坚若磐石,精益求精”的组织使命。
总结
硬件系统涉及领域众多,相互依赖度复杂,研发及测试周期长,投入资源与产出效果存在显著滞后性。这些客观工程规律决定了基础设施层竞争力构建是一项长期、艰苦、技术密集的过程。同时面对技术快速发展的外部产业环境和集团业务与时俱进的内生需求迭代,主观上要求基础设施技术团队要沉淀出终身学习、不断反思、不断求变的意识定位和心态。
笃定客户价值和长期技术竞争力构建的初心,阿里巴巴基础设施技术团队承诺不断挑战自我、勇于创新、持续交付便捷高效优质的硬件基础设施解决方案。