计算存储是不是智算时代的杀手锏?

2023-12-25 18:30

本文主要是介绍计算存储是不是智算时代的杀手锏?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

想象一下,在一个繁忙的数据中心里,有一家大型互联网公司叫做“数据中心的故事”。这家公司一直在使用传统的CPU架构来处理海量数据。但是随着数据量的不断增长,CPU架构遇到了很多问题和瓶颈,这让“数据中心的故事”感到非常苦恼。

有一天,“数据中心的故事”请来了一位神秘的朋友——魔术师DPU,他带来了全新的解决方案。魔术师DPU一挥魔法棒,将数据中心里的一些工作负载交给了专门处理这些工作的DPU。这样一来,CPU就可以减轻负担,专注于处理更加复杂的计算任务。

“数据中心的故事”觉得这个魔术师DPU非常神奇,但魔术师DPU说:“这还不是全部,我还有一个更神奇的朋友——超级魔法师CSD。”

于是,超级魔法师CSD也加入了“数据中心的故事”,他带来了一个全新的计算存储驱动器(CSD)。这个驱动器可以将计算和存储结合在一起,让数据存储变得更高效。在超级魔法师CSD的帮助下,“数据中心的故事”的数据中心变得更加强大、灵活和高效。

传统的数据中心架构主要以CPU为中心,这使得数据中心的计算和存储任务主要依赖于CPU的处理能力。但是,随着数据量的不断增长,这种架构逐渐显现出一些问题和瓶颈,如处理速度慢、效率低下等。

目前已经从传统CPU为中心的架构,开始向以数据为中心的新型架构转变。新的架构处理需求,就涌现了多种卸载传统CPU计算能力的产品,比如DPU、CSD等。

DPU的出现为以数据为中心的计算架构提供了创新思路。它主要分担数据中心其他处理器的工作,如网络卸载、计算卸载或数据服务卸载等,以节省成本,尤其是降低进入数据中心的资本成本和降低数据中心的运营成本。通过将基础设施服务卸载和隔离出来,DPU通过卸载CPU和GPU的工作负载,可以使CPU和GPU专注于处理核心的计算任务,提高整体性能。此外,DPU还通过硬件加速技术,以更快的速度处理这些服务,从而大大提高了数据中心的效率。

例如,一个BlueField-3 DPU所提供的数据中心基础设施服务可相当于多达300个CPU核才能实现的服务。

类似地,CSD的出现也是为了优化数据中心的性能和效率。通过将计算和存储结合在一起,CSD可以利用硬件计算加速引擎将存储处理任务集成到盘上,从而释放CPU进行更高价值的工作。这种架构可以提高存储效率和性能。

在计算存储领域CSD,三星和ScaleFlux是业界的两大主要参与者,在计算存储驱动器(CSD)方面都有一定的研发和应用进展。

三星SmartSSD计算存储驱动器 (CSD) 是业界首款可定制、可编程的计算存储平台,它可以将计算推进到数据所在的位置,从而显著加速数据密集型应用,增速达10倍以上。SmartSSD CSD可以为各种应用加速,包括数据库管理、视频处理、人工智能层和虚拟化等。

它的核心是Xilinx自适应平台,这是利用Xilinx FPGA的可编程性创建的完全可定制的计算存储设备。在存储数据的位置对数据进行高速计算,超快速并行计算将CPU解放出来,以便更高效地处理其它高级任务。不仅如此,SmartSSD CSD的另一个优势是能在不牺牲性能或存储容量的情况下提高存储效率和节省存储空间。

ScaleFlux也推出了了一款名为CSD 3000的计算存储SSD。它利用硬件计算加速引擎将存储处理任务集成到盘上,从而释放CPU进行更高价值的工作,延长使用寿命,并提高整体性能。它的核心设计是针对闪存存储优化的处理方式,在数据写入时进行透明压缩,并在数据读取时进行无缝解压缩,这减轻了CPU的负担。这种透明压缩技术最高可以使存储的数据量提升高达4倍,从而提高存储效率和节省存储空间。

此外,CSD 3000通过采用可变长度映射和写入聚合(write aggregation)技术,优化了数据写入方式,减少写入操作对闪存存储的擦除和写入次数,从而有效地延长了SSD的使用寿命。

除此之外,还有一些新兴公司和团队也在计算存储领域进行积极的研发和创新。

同时,目前计算存储领域也在SNIA和NVME两大组织的带领下,形成行业生态。在2022年8月已经发布了《Computational Storage Architecture and Programming Model Version 1.0》。

目前加入到SNIA工作组的成员已经有258家,行业生态的建设如火如荼。

NVME规范也成立相应的工作组,相应的功能/命令规范也在讨论制定中。

SNIA对Computational Storage定义为一种将计算和存储资源整合在一起的技术,以支持更高效、更智能的数据中心。在这种定义下,Computational Storage强调将计算和存储功能集成到一个统一的系统中,以提高数据管理和处理效率。

NVME将Computational Storage定义为一种将存储设备转化为计算资源的技术,以支持更高效、更灵活的数据中心。在这种定义下,NVMe强调将存储设备转化为可编程的计算资源,以实现更高效的数据处理和管理。NVMe规范侧重于存储设备的性能优化和灵活性。

虽然SNIA和NVMe在Computational Storage的定义上有所不同,但它们的重点都在于将存储和计算资源更有效地整合在一起,以提高数据中心的效率和灵活性。SNIA更注重存储和计算的集成,而NVMe更注重存储设备的性能优化和灵活性。这两种定义在实际应用中都有其价值,并且可以相互补充。

总的来说,计算存储是一个发展非常快的领域,目前行业内的研发状态呈现出百家争鸣的局面。每个公司都有自己的研发方向和技术优势,未来的竞争将更加激烈。

这篇关于计算存储是不是智算时代的杀手锏?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Java实现数据库图片上传与存储功能

《Java实现数据库图片上传与存储功能》在现代的Web开发中,上传图片并将其存储在数据库中是常见的需求之一,本文将介绍如何通过Java实现图片上传,存储到数据库的完整过程,希望对大家有所帮助... 目录1. 项目结构2. 数据库表设计3. 实现图片上传功能3.1 文件上传控制器3.2 图片上传服务4. 实现

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

WiFi6时代来临! 华三H3C NX54路由器还值得购买吗?

《WiFi6时代来临!华三H3CNX54路由器还值得购买吗?》WiFi6时代已经来临,众多路由器厂商也纷纷推出了兼容WiFi6协议的路由器,今天我们将深入体验H3CNX54路由器,这款由知名企业... 随着科技的发展,WiFi6逐渐走进了我们的日常生活之中,相比WiFi5来说,WiFi6拥有更高的带宽、更高

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

Golang基于内存的键值存储缓存库go-cache

《Golang基于内存的键值存储缓存库go-cache》go-cache是一个内存中的key:valuestore/cache库,适用于单机应用程序,本文主要介绍了Golang基于内存的键值存储缓存库... 目录文档安装方法示例1示例2使用注意点优点缺点go-cache 和 Redis 缓存对比1)功能特性

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(