服务器可靠性提升(一)内存CE增强隔离技术

简介: 为了提升系统的稳定, 阿里巴巴基础设施服务器系统创新团队联合阿里云等业务团队,对服务器硬件问题导致非预期的宕机进行治理。

image.png

“稳定性及性价比是云服务的核心竞争力。稳定性是基础,没有它云服务的摩天大楼分分钟就变成危房。虽然云原生架构的应用能更好地容忍单点的故障,但这并不意味着我们可放低标准,因为即使是单点故障也通常会对客户造成影响、破坏口碑,更不要说是系统整体故障。”阿里巴巴研究员余锋曾在2018年杭州云栖大会技术分享时表示。

为了提升系统的稳定, 阿里巴巴基础设施服务器系统创新团队联合阿里云等业务团队,对服务器硬件问题导致非预期的宕机进行治理。

提升系统的整体可靠性,为什么首先从内存入手?

1)内存部件作为冯诺伊曼的计算机体系结构中,发展的最快的部件之一,内存的发展和演进速度已经超过CPU的发展速度,同时内存占据最重要的位置之一,作为直接向中央处理器提供数据缓存的关键部件,内存系统的故障,直接导致处理器停止响应,导致系统宕机;

2)从计算机内存的工程工艺角度,内存作为近几年技术飞速发展的一个部件,单DIMM容量从几百M到今天的最大几百G,内存的存储密度越来越高,内存的电压越来越低,与之相反的,内存的主频反而越来越高,内存作为一个半导体的器件,存储单元的密度上升,电压降低,主频的提升,这些不利因素,抵消掉半导体可靠性技术提升的红利以后,导致内存的故障率升高。

3)随着CPU处理器技术的发展,单CPU支持的内存容量越来越大,当前主流的CPU,从两年前的两个通道,发展到现在的六个通道,DDR通道的带宽和频率相对两年前提升一倍以上,与之对应的服务器配置的内存条数越来越多,总容量越来越大,运行频率越来越高,这些也导致了整个计算机系统中,内存出现问题的比率越来越高。从统计数据上看,内存故障导致的宕机比率占到很大一部分,这符合预期,内存失效问题比例高也在情理之中。

image.png

因此对于硬件导致的非预期宕机问题的治理也是先从降低内存故障率入手。

通过对某典型产品业务硬件宕机数据分析, 发现UCE(不可纠正错误)问题占比在内存故障导致的宕机问题中超过大半, 因此内存故障治理也主要聚焦在如何降低内存UCE问题,服务器团队当前主要做了以下方面的工作:

内存故障隔离增强,避免持续恶化

1.内存错误的分级处理

2.服务器故障诊断系统

未来针对服务器可靠性提升,还会陆续开展以下几个方面:

1.资源级/硬件级的故障隔离

2.内存故障预测

3.HDD &SSD 故障预测

为什么要做内存CE的增强隔离?

现在的内存都已经有ECC校验功能,单个bit错误会自动纠正过来,不会对系统造成影响。既然内存最常见的错误已经能够被自动纠正过来,且不会对系统的运行造成影响,那么我们还有必要做增强的故障内存隔离吗,内存故障增强隔离到底增强了些什么,我们这样做的收益到底是什么?

首先,这里直接引用google paper《DRAM Errors in the Wild: A Large-Scale Field Study》中的结论。如下

image.png

Correlations between correctable and uncorrectable errors in the same DIMM.The left graph shows the UE probability in a month depending on whether there were CEs in the same month or in the previous month. The numbers on top of the bars give the increase in UE probability compared to a month without Ces (three left-most bars) and the case where there were no Ces in the previous month (three right-most bars). The right graph shows the factor increase in the probability of observing an UE as a function of the number of Ces in the same month.

内存条在一段时间内有可纠正错误产生,这条内存再次出现问题的概率会明显增加,出现CE和UE的概率都会变高。CE需要操作系统来处理,会消耗系统的处理资源,UE在当前的Intel Xeon处理器上,会直接导致宕机。内存增强隔离通过对已经出现错误的内存单元进行处理,来达到消除影响系统正常运行的潜在风险,从而提升系统可靠性。所以,虽然当前的服务器内存,已经支持了单bit自动纠错的功能,但是为了提升系统的可靠性,降低内存问题导致的性能下降,宕机风险,内存的单bit纠错功能是不够的,还需要采取一些额外的方式,来提升系统的可靠性。

了解内核的人可能会问,linux操作系统中有一整套完备的机制,来对内存的故障进行管理。操作系统也支持内存的故障管理了,阿里的增强隔离和Linux中的内存故障管理有什么差异,难道比Linux的内存故障管理还要全面吗?Linux对内存的故障管理定义的比较完整。Linux对内存的错误主要是依照MCE来进行处理的。

当前OS中,对于内存page的隔离是通过系统的mcelog服务实现。mcelog中的MCE隔离动作如下:

image.png

通过这些表格可以看到linux操作系统对内存的故障做了一些处理,Linux对内存的故障处理使用了一些故障管理的脚本,留了一些处理接口,依照这些脚本和接口,能够减少一些内存故障对系统的影响,但是这些接口和处理脚本,还存在一些问题解决不了,其中最大的一个障碍就是OS能够感知,能够处理的问题,都不算是太严重的问题,都是可以解决的问题。有相当一部分的问题,OS感知到的时候,OS已经死掉了。对于这一类的问题,是当前引起服务器宕机的主要问题。

为此,基础设施服务器系统创新团队,独创一套机制,通过带内带外的方式,成功的在OS的基础上,设计出一套内存故障隔离增强的解决方案。

——当检测到系统的内存出现一些轻微的故障的时候,我们通过基于出错存储单元物理位置的相关性,统计出错单元的故障频度和故障数变化率,使用基本的漏桶算法加上人工智能的自学习算法,来评估这个故障会不会恶化,从而决策是否需要将这个内存单元从系统中隔离出来。

——通过和阿里内核,阿里固件的配合,来确保隔离操作成功,并且不会对操作系统的运行以及业务软件的运行造成影响,从而将内存故障成功的控制在问题发生的初期。

——通过提前对故障的内存单元进行处理,确保业务运行的稳定性,降低宕机率,提升系统稳定性, 当前阿里的内存故障隔离技术对优化宕机率的贡献,已经做到了25%。

总结

针对当前OS中mcelog 服务的不足,基础设施服务器创新团队做了上述的增强改进。通过对故障内存page 的有效隔离,避免进一步出现不可纠正的内存错误,降低宕机率提升系统稳定性。

对于内存故障隔离,未来将会根据内存故障地址解析所在的 row 、colom 、bank ,rank 等,更加精准的判读出故障单位在内存DIMM上分布情况, 了解内存错误在一个DIMM上的分布情况。同时也会基于预测算法对故障单元周围的颗粒进行提前隔离。

目前关键的技术已经突破,核心idea也已经申请专利。

image.png

目录
相关文章
|
11天前
|
人工智能 物联网 C语言
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
SVDQuant是由MIT研究团队推出的扩散模型后训练量化技术,通过将模型的权重和激活值量化至4位,显著减少了内存占用并加速了推理过程。该技术引入了高精度的低秩分支来吸收量化过程中的异常值,支持多种架构,并能无缝集成低秩适配器(LoRAs),为资源受限设备上的大型扩散模型部署提供了有效的解决方案。
38 5
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
|
23天前
|
存储 分布式计算 安全
阿里云服务器经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例介绍与选择参考
在阿里云现在的活动中,可选的云服务器实例规格主要有经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例,虽然阿里云在活动中提供了多种不同规格的云服务器实例,以满足不同用户和应用场景的需求。但是有的用户并不清楚他们的性能如何,应该如何选择。本文将详细介绍阿里云服务器中的经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例的性能、适用场景及选择参考,帮助用户根据自身需求做出合适的选择。
|
22天前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
1月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
48 3
|
1月前
|
存储 缓存 安全
阿里云服务器内存型r7、r8a、r8y、r8i实例区别及选择参考
随着阿里云2024年金秋云创季的开始,目前在阿里云的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y和内存型r8i这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,虽然这几个实例规格的云服务器通常处理器与内存的配比为都是1:8,但是他们在处理器、存储、网络、安全等方面等性能并不是一样的,所以他们的适用场景也有着不同。本文为大家介绍内存型r7、r8a、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
1月前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
792 2
|
1月前
|
弹性计算
阿里云2核16G云服务器多少钱?亲测ECS内存型r8i租赁价格
阿里云2核16G云服务器,内存型r8i实例1年6折优惠后价格为1901元,月付334.19元,按小时计费0.696221元。更多配置及优惠详情,请访问阿里云ECS页面。
|
1天前
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
8天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。