谁才是ARM平台存储系统的忠实践行者?

2024-04-28 08:58

本文主要是介绍谁才是ARM平台存储系统的忠实践行者?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 1

用着ARM,想着x86?

当生态被把持住之后,想撼动真是难上加难,几十年了,没有任何一家非x86平台能在企业级和桌面市场撼动Intel的地位。幸好在移动终端领域ARM彻底站稳了脚跟,没有给x86一点机会。其实这还是得益于ARM平台的低功耗特性,想做一款移动设备时,大家第一时间想到的不可能是x86,虽然Intel和AMD后来都有各自低功耗产品,但是IT领域先入为主,生态壁垒的玩法,屡试不爽。

 

说到ARM在企业级服务器存储产品中的应用,大家不由得想到前几年某互联网公司率先发布了ARM平台的服务器,该服务器平台据说用于冷存储业务场景,这也是理所当然的,因为那时候的ARM性能还比较孱弱,不像现在,有些ARM处理器平台性能已经不亚于x86,当然,功耗也是成正比上升。然而ARM平台服务器并没有从此势如破竹,而是继续在泥坑里挣扎前行。更有外界猜测,做这个平台无非就是想获取更高的x86平台议价权。

 

这不由得让我想起了国产化服务器和存储系统,飞腾申威平台到底会用在哪些场景?一些特殊领域自然不用说,但是更广泛的通用企业市场,会不会用这些平台,或者说真的用起来,都还有待观察。

 

面对ARM等非主流平台,大家好像都还在观赏,而且还时不时称赞两句,但是恐怕心里想的还是x86。

 2

缅怀先烈

在存储系统方面,业界也没停止思考,ARM到底怎么被用在存储系统里才更好。由于存储系统是个自封闭的平台,它只需要在软件上对外提供标准访问协议就可以了,而且商用存储系统一般不允许用户安装其它软件,所以,相比开放的服务器平台,存储系统更应该成为ARM的温床。

然而在传统双控存储系统平台上,至今没有看到ARM进入,其原因则是存储系统其实还是需要较强算力的,因为存储系统不仅是一个存数据的地方,更是对数据进行管理、优化、分析、保护的地方,其内置的诸如重复数据删除、数据压缩、数据分层、冗余校验、AI模型的训练和推理识别等,对算力的需求并不低。而如果采用高功耗的多核众核ARM,则失去了节省成本的意义,因为ARM平台开发涉及到整体的兼容性测试、驱动移植、业务移植,以及各种潜在尚未发现的坑儿,这些风险和投入可能会抵消原有的低成本。

为此,ARM可能要另辟蹊径。这方面有些先烈方案需要提一下。早在五六年前,某硬盘厂商和系统厂商合作开发了一款IP硬盘存储系统。该硬盘采用SATA的连接器,但是承载的确是以太网+IP,相当于这块硬盘本身就是一台小系统,对外不再支持SAS/SATA协议,不提供LBA块访问方式,转为提供对象key/value存储接口,而且还不是标准的,需要上层应用采用该厂商提供的访问库重新改写接口并编译。

结果可想而知,这套系统推广不开。原因并不是因为用了ARM,也并不是因为换了以太网+IP接口,而是因为它要求用户改写应用接口,这就注定无法在传统商业软件生态架构中推广,即便是数据中心用户,除非这套系统能够显著降低成本,否则改写应用也是不太有可能的事情,顶多陪着你做个PoC,要说线上部署,不太可能。另外,正因为该系统让应用直接访问到每个硬盘小系统,所以每块硬盘都需要接入以太网,虽然该系统内置交换机,出万兆汇聚接口,但是仍然无法杜绝大量的IP地址暴露到网络上,这会对网关造成很大压力,另外管理上很松散,每个节点单独管理,带来了巨大开销。

 3

ARM+EBOD,挺好的方案

说道这里似乎无解了,双控不适合用ARM,做成分布式的小鞭炮又暴露了太多节点增加了管理复杂度。不过仔细想来其实还有一种方案,那就是在这一堆小鞭炮前端增加一个总控角色,让这个角色来屏蔽这些节点的可见性,然后对外呈现标准的、不需要改应用的标准访问接口。如下图所示。

而如果换一种思维去看这个系统,如果把带着ARM SoC单板管理的HDD、后端私有的汇聚以太网交换机、供电散热等支撑模块一起坐到一个单独的箱子里的话,那么这个箱子看上去就是一个JBOD,只不过里面的互联网络不再使用SAS Expander(用于SAS/SATA盘)或者PCIe Switch(用于NVMe盘),而是用以太网。业界给这个JBOD起名EBOD

这里可能会产生一个疑问,为何不直接老老实实用SAS JBOD呢?这就得请出目前市场上唯一一家忠实践行ARM存储方案的厂商——瑞驰(vClusters)来给大家上上课了。


 4

BlueData,瑞驰的ARM冷存储

先来看一段视频。

瑞驰这款冷存储系统由网关节点和存储阶段组成。其中网关节点可以是x86平台或者Ampere平台(性能较高的一款ARM架构处理器)。存储节点可以在2U高度、整机280瓦峰值功耗的条件下容纳24块3.5寸SATA硬盘。其中每两块硬盘接入一块ARM SoC控制板,形成一个刀片(Cell),每个节点最多接入12个Cell。存储节点被称为NxCells。

在2019年12月3/4号由DOIT举办的中国数据峰会现场,冬瓜哥与瑞驰副总裁郭昊先生进行了交流。郭昊表示,利用ARM对节点进行分布式管理,有很多好处,比如,可以在ARM板上实现对硬盘的精确功耗控制和状态监测,以及在数据的冗余校验计算过程中实现分布式计算来卸载机头的负载,另外最关键的一点是,网关和ARM节点之间的协议并非SCSI/ATA协议,而是对象存储协议,这样将太过底层的访问协议封装到ARM和HDD之间,更有利于扩展性。经过这样的设计,在前置网关上可以更聚焦上层业务的开发,比如冷热分层,备份归档管理等。

为一款冷存储及归档系统,需要保持低功耗,而随时又能调取数据,对于磁带和光盘库这些归档存储来讲,迅速调取数据是不可能了,都有相当的延迟。而BlueData系统中,停转之后的硬盘的唤醒延迟基本都在毫秒级。

纠删码,以及硬盘、节点、机柜感知,基本上已经成为现代分布式存储系统的基本功了。这些技术也在瑞驰BlueData系统中加以实现。

瑞驰的这种冷数据存储方案具备大容量及数据统一归档的优势,日常归档状态下进行休眠,可根据用户使用需求自动唤醒并进行数据调阅,大大提高冷数据调阅效率,并且从设备投入、电力投入等方面减少大量成本,为用户带来高性价比的冷数据存储方案。有大容量、简易运维、智能管理、低成本的特点。

BlueData先后实施过一些大型案例,还是积累了相当的经验的。瑞驰不仅在ARM平台发力,在国产的飞腾和龙芯平台也都有相应的产品。此外,瑞驰还在人脸识别、安卓云等方面开发了一系列产品,并与大型数据中心用户保持着深度合作。

说实话,能真真切切践行ARM存储平台设计开发的厂商,瑞驰算是走在了前列,做出了真东西,还是非常值得肯定的。

END

 

扫码入当当/京东直购《大话计算机》



   

展阅读展

扩展阅读

连书都得看国外写的才能做好芯片?这儿有人不服!

《大话计算机》同款T恤,我要了!!

《大话计算机》动图一则展示

《大话计算机》序言① by廖恒

《大话计算机》序言② by 包云岗老师

《大话计算机》序言③ by 何万青

《大话计算机》序言④ by 雷迎春

《大话计算机》序言⑤ by 汪利文

《大话计算机》序言⑥ by 张勇

《大话计算机》序言⑦ by @去流浪

  

博主简介:冬瓜哥,《大话计算机》与《大话存储 终极版》、《大话存储 后传》图书作者。多项专利发明人。

现任某半导体公司高级资深架构师。

大话计算机   大话存储

长按扫码可关注

这篇关于谁才是ARM平台存储系统的忠实践行者?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942831

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

Java 结构化并发Structured Concurrency实践举例

《Java结构化并发StructuredConcurrency实践举例》Java21结构化并发通过作用域和任务句柄统一管理并发生命周期,解决线程泄漏与任务追踪问题,提升代码安全性和可观测性,其核心... 目录一、结构化并发的核心概念与设计目标二、结构化并发的核心组件(一)作用域(Scopes)(二)任务句柄

Java中的Schema校验技术与实践示例详解

《Java中的Schema校验技术与实践示例详解》本主题详细介绍了在Java环境下进行XMLSchema和JSONSchema校验的方法,包括使用JAXP、JAXB以及专门的JSON校验库等技术,本文... 目录1. XML和jsON的Schema校验概念1.1 XML和JSON校验的必要性1.2 Sche

SpringBoot集成WebService(wsdl)实践

《SpringBoot集成WebService(wsdl)实践》文章介绍了SpringBoot项目中通过缓存IWebService接口实现类的泛型入参类型,减少反射调用提升性能的实现方案,包含依赖配置... 目录pom.XML创建入口ApplicationContextUtils.JavaJacksonUt

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1