谁才是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

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成