从里德-所罗门算法到Flex EC,数学是华为云真正的“硬核”

“宇宙很大,粒子很小,火箭的速度,化学的技能,地球的变化,生物的神秘,日常使用,数学无处不在。”

----华罗庚

2012年,吴军博士编辑的《数学之美》在中国畅销。本书更容易,更轻松地教授高级数学原理,使非专业读者也能体会到数学的魅力。吴军博士在书中提到,着名计算机科学家兰迪卡茨发明了RAID(计算机独立磁盘冗余阵列)系统,这是商业存储系统高性能和可靠性的基础。 RAID的核心思想是使用EC(Erasure Code)纠错码灵活配置数据冗余,并提供比多拷贝技术更好的存储利用率,同时保持存储系统的高性能和可靠性。

1.Erasure Code和Reed-SolomonCodes:

随着云计算领域的发展,云计算能力呈指数级增长,5G和AI应用的兴起,云上的海量数据已经是不可逆转的趋势,云存储系统管理的数据已经从传统企业存储太字节。对于EB级别(1EB=1 000 000 TB),在云存储开发的早期阶段,受技术能力的限制,每个云存储供应商主要使用多种复制机制(通常为3份),从而实现云存储的空间利用系统只有33%,数据存储成本很高,而且业界通常使用EC来降低成本。

传统的EC(Erasure Code)纠错码使用Reed-Solomon码(RS码),它们应用于云存储系统:

将云存储的所有存储单元(单个硬盘或存储节点)(主要是公共云对象存储系统)视为一个Erasure Code存储池,它可以以N + M模式存储对象(N是对象数据碎片,M是一个检查切片),它将对象分成N个数据和M个检查块。以6 + 3 EC为例,空间利用率可达67%。较大比例的N + M将具有更高的空间利用率,并且在成本方面具有很强的竞争力。同时,系统的吞吐量为3 A副本(或多个副本)具有更大的提升。因此,EC技术已经在云存储领域得到了大规模应用。

但是,传统的EC机制在公共云场景中面临许多问题:

1.在对象大小不确定的情况下,需要零填充和填充计算,这会浪费存储空间并且成本很高。

2.如果不补零,则需要多次写入以确保EC成员组的原子性。这可能导致系统复杂性增加,吞吐量降低,CPU速度更快,网络带宽更大,以及存储成本增加。

3.此外,有一种方法可以增加Cache-Tier以避免使用EC时的单位不满:首先以3份拷贝的形式写入高性能SSD层,然后计算并移动到HDD层填充EC单元后。离线EC方法具有以下缺点:

a)额外的SSDTier,成本高;

b)对SSD可靠性的持续写作挑战;

c)数据移动消耗大量内部带宽。

4,传统的EC在很大比例的N + M(如20 + 3)中,如果出现节点/介质故障,则需要读取大量数据切片和校验和进行数据重建,导致陡峭系统性能下降。

基于以上所述,我们可以知道使用EC测量数据存储系统的优点可以通过以下方面来考虑:

1.有效的空间利用:系统可以稳定地提供多少空间利用率,并且在给定的N + M下空间利用率是恒定的。

2,高效的写性能:无论业务层如何变化,对象的大小如何变化,都应该有一个恒定的写带宽,IOPS。

3,高效的重建性能:尽可能少的系统重建IO带宽,尽可能少地占用跨AZ/DC的网络带宽。

2.华为云“在线流媒体擦除编码”和“Flex擦除编码”:

华为云OBS服务通过创新的“在线流式擦除编码”和“Flex擦除编码”提供在线擦除编码存储机制,解决了公共云对象存储系统中的几个关键问题。

1.在线流式擦除编码

如下图所示,整个系统的核心组件是Streaming ErasureCoding Unit。多个对象的数据可以流入处理单元,并且由其执行编码操作。通过多个对象数据的组合,可以在对象未满时消除数据写入零填充的浪费。

此过程不需要复杂且低效的分布式事务,也不需要读取已编写的数据。通过Streaming ErasureCoding Unit,提供在线EC机制以避免内部数据重定位动作。

2. Flex Erasure Coding算法:

通过应用新的Flex Erasure Coding编解码算法,华为云在保持数据重建效率的基础上显着降低了带宽需求,大大提高了故障期间数据重建的性能,有效缩短了重建时间。保证数据持久性和系统吞吐量。

通过以上两种自主开发的算法,华为云OBS单流带宽达到业界朋友的3到5倍,超过300MB/S,并发链路能力超过1000万,并且在高流量负载下仍能保持稳定的低延迟,整体性能和空间利用率在多个副本或传统EC技术上得到显着改善:

在大数据应用场景中,随着写入放大率的大幅降低,单流带宽大大提高,在大数据对象的情况下性能倍数得到提高,用户可以更快地获得数据分析结果。

在物联网方案中,大量物联网设备需要实时向云传输数据,而OBS具有数百万并发能力,可支持数亿物联网设备的连接访问。

在视频应用(视频监控,直播和点播)场景中,华为云OBS的稳定低延迟支持快速播放高清视频而不会出现干扰。

在更多的应用场景中,华为云OBS展示了同样出色的性能:数学算法的优化可以使软件产品能力再次引领行业。

软件的灵魂是算法,算法的核心是数学

“我认为使用物理方法解决问题已经接近饱和,我们必须注意数学方法的兴起。” - 任正非

正是由于华为在数学领域的长期持续投入,其产品在云+ AI + 5G时代具有领先的竞争力。

早在1999年,华为就在俄罗斯建立了一个特殊算法研究所。基于俄罗斯科学家的数学能力,它不断突破3G/4G移动网络技术的特殊瓶颈,使华为成为4G移动网络设备的全球领导者。 2016年,华为再次宣布在法国建立第二所欧洲数学研究所,并继续加强基础科学研究。

除了在俄罗斯和法国建立的数学研究所外,华为还积极参与和投资包括中国在内的全球数学家的研究项目,积极推动数学研究和数学成就的发展。在华为的长期支持下,Erdal Arikan教授在Polar代码方面取得了许多突破,最终成为5G控制信道编码标准,推动了通信技术的发展。

基于数学和其他基础科学研究在芯片设计,集成电路开发,软件算法和质量管理等方面的应用,华为可以成为ICT行业的长跑者,可以维持当前的外部环境。持续进步的动力。

华为在其官方媒体上发表了一篇文章《基础研究与基础教育是产业诞生和振兴的根本》(链接),以官方公告的形式阐述了基础研究,特别是数学研究对行业发展的贡献。它还提出“数学是打开一切的工具”。论文。

数学是华为持续的指导和华为云的真正“硬核”力量。

——