前景可观的存算一体技术,到底有多难商用?
没有一家公司的存算一体技术解决方案受到广泛的市场认可。
最近,随着5G商用和云计算需求的迅猛增长,建设新一代适用各类AI场景的大规模数据中心成为各大运营商和巨头公司接下来的工作重点,其中,提升性能和降低成本是大家最为关心的话题之一。
今年年初阿里达摩院发布了2020年十大科技趋势,它认为存算一体是突破AI算力瓶颈的关键技术。 因为利用存算一体技术,设备性能不仅能够得到提升,其成本也能够大幅降低。
然而尽管存算一体技术方向广受认可,英特尔、Arm、微软等公司也均参与到该技术方向的投资,也有多家公司给出了可行的存算一体解决方案,但有一个不争的事实是,没有一家公司的存算一体技术解决方案受到广泛的市场认可。
简单来说,虽然“存算一体”概念很容易理解,即计算与存储两个模块的融合设计以实现对数据的高效处理,但落到场景和商业发展推进过程中,它面临的产业矛盾和难处远超业内的想象。
存算一体技术有多复杂?
存算一体技术虽然极具前景,但其实非常复杂,因此很多大公司都选择投资初创公司来完成这件事,而不是自己从头去开发。
如美国著名的存算一体AI芯片初创公司Mythic,因其在存内计算芯片(IPU)有显著的研究进展,在2019年刚刚结束的B+轮融资中,它就受到了软银、美光等投资者的支持,此前它还获得了美国国防部的资金支持。此外,美国另一家专注于语音识别的存算一体AI芯片初创公司Syntiant,它的背书者们——微软、英特尔、亚马逊、博世等,也是广泛分布在计算和存储领域的巨头公司,甚至高通也邀请Syntiant来做可穿戴设备芯片的语音解决方案。
在国内,现在在这一领域有所探索的,包括知存科技、闪亿半导体、忆芯科技等,也都是初创公司。
可以看见,大公司更倾向于选择“站队”,在巨头们中,除了下游大力推进基于ReRAM的存内计算方案的台积电,IBM是唯一公开自己存算一体技术布局的公司。
在相变存内计算方面,IBM已经有了多年的技术积累,因此它也可以代表整个存算一体技术产业的先进水平。但尽管在核心部件PCM器件上有了十余年的研究积累,并且IBM在2016年就透露了其关于存内计算的研发计划,提出了混合精度内存计算的新概念,至今为止,IBM也只发布了基于该项技术的8位模拟芯片,定位是处理深度神经网络。
与传统芯片相比,该芯片在成本和功耗上有非常显著的改进,包括存储与计算模块之间的通信成本也大大降低了,但是它的弱点也很明显:因为AI训练需要保持梯度计算的保真度和权重更新,现有AI芯片大多在16位精度以上,8位的精度看起来是没有办法广泛使用的。
这也很让人怀疑,费了大力气研发出来的全新架构芯片,到底能不能走出实验室?
不得不直面的“困境”
存算一体技术商用真的那么难?
受计算机冯·诺依曼计算机体系架构影响,计算和存储一直以来是相互分离的设计。但是随着大数据时代的到来,以数据为中心的数据密集型技术成为主流系统设计思路,我们的关注点也不再仅限于数据的计算和加工,而更为看重的是对数据的“搬运”,即从根本上消除不必要的数据流动,这催生了计算与存储的融合(存算一体)。
简单来说,在传统计算机的设定里,存储模块是为计算服务的,因此设计上会考虑存储与计算的分离与优先级。但是如今,存储和计算不得不整体考虑,以最佳的配合方式为数据采集、传输和处理服务。这里面,存储与计算的再分配过程就会面临各种问题,而它们主要体现为存储墙、带宽墙和功耗墙 问题。
以存储墙问题为例,因为计算与存储各自独立演进,且传统的观点认为计算系统性能受限于计算能力,因而过去几十年产业界在计算方面的投入巨大。有数据显示,过去二十年,处理器性能以每年大约55%的速度提升,内存性能的提升速度每年只有10%左右。结果长期下来,不均衡的发展速度造成了当前的存储速度严重滞后于处理器的计算速度,内存瓶颈导致高性能存储器难以发挥应有的功效,遭遇了所谓的存储墙问题。
因此,存算一体技术的提出不仅仅要打破人们对传统存储和计算的认知,它还要解决这些已有的“历史遗留”问题,实现存算之间更加低成本的“无缝对接”。
目前,业内提出了几种可行的技术解决方向,其中计算型存储、存内计算、3D堆叠和类脑计算 颇受关注,但究竟哪一种可行,众说纷纭。
图 | 3D堆叠
以现在最为火热的存内计算技术来说,为了推动这项技术的发展,近两年的芯片设计顶会ISSCC已经为其设立了专门的议程,同时2019年电子器件领域顶级会议IEDM有三个专门的议程共二十余篇存内计算相关的论文。
其实存内计算的核心思想很简单,就是把带权重加乘计算的权重部分存在内存单元中,然后在内存的核心电路上做修改,从而让读出的过程就是输入数据和权重在模拟域做点乘的过程,相当于实现了输入的带权重累加,即卷积运算。而同时,由于卷积运算是深度学习算法中的核心组成部分,因此存内计算非常适合AI,对未来AI芯片的存算一体和算力突破都有帮助。
但是不同于传统的数字电路计算,存内计算是用模拟电路做计算,这对存储器本身和存内计算的设计者都是一个全新的、需要探索的领域,IBM所研究的正是这个方向,里面的难度可想而知。
不仅如此,随着数据量的加大,功耗、存算之间的通信等方面都需要变革,以通信的硬件实现工艺来看,是采用光互联技术还是采用3D堆叠的新型封装实现高性能互联,这就是一个大问题,因为采用不同的技术将会导致整体解决方案天壤之别。
AI芯片公司还是存储芯片公司,存算一体技术应该由谁来做?
可以说,现在对于业内而言,树在大家面前的首要问题就是达成技术方向上的共识,而想要达成技术共识之前,可能大家首先要解决的是,存算一体到底由AI芯片公司来做还是由存储公司来做?
由AI芯片公司来做,技术方向更多偏向于计算型存储或类脑计算,而由存储公司来做,存内计算方向则会更容易被发展和推动。
上文介绍的存内计算是从存储的角度去做计算上的融合,尤其伴随SSD产品(由NAND flash构成)的兴起,因嵌入了ARM核和DRAM,NAND flash、ARM和DRAM、控制器和内部总线实际上构成了一个计算机系统,这让存储产品本身就可以做计算任务,因此也为存算一体提供了发展平台。国内就有诸多初创公司在探索这个方向,尤其是由于AI的引入,各种数据的Key-Value只要直接存储在硬盘里,AI需要的数据就可以自动完成分类,可以显著提升非关系数据库的性能。
而计算型存储则是将存储做到计算芯片上,如现在很多处理器公司都在做片上存储这件事,IBM设计的Blue Gene Active Storage(BGAS)结点就是一种‘存储上的计算’系统,每一个BGAS结点包含32个处理器,每个处理器通过PCIe接口连接2TB的SLC NAND非易失闪存介质,大致就是这样一个思路 。
当然不仅仅如此,超越冯·诺依曼架构之上,人的大脑就是一个典型的存储计算系统,而仿照人脑的仿生系统也被认为是最有可能颠覆现有技术的终极发展方向。
作为电子复兴计划的一部分,DAPRA看中的就是这个更高级的系统——通过将电子元件编程为离散阻值状态并将不同权重的电子元件相互卷积以建立一个类似突触和神经元的系统,即神经拟态计算,又被称为类脑计算。此前,国内清华大学类脑计算团队打造的“天机芯”就是被称为异构融合类脑计算芯片,复旦大学也在单晶体管逻辑架构上有突破性的进展,为存算一体发展奠定了技术基础。然而需要指出的是,DAPRA团队在这项研究上已经涉及了超过1800种混合材料,其难度之高可想而知,而后面架构搭建等都是商用道路上必须要迈过去的坎,因此可以说,类脑的存算一体系统遥不可及。
尽管类脑遥不可及,退回到现有的芯片设计上,存算一体的挑战也是十分之多,如器件方面,现有的浮栅器件存储就不适合存内计算;在芯片的工艺上,存算一体的设计和流片周期都将会很长,甚至连现有的EDA工具,目前尚没有支持存算一体设计的。
总体来看,存算一体有IBM、知存科技等数十家大大小小企业在投入和探索,它们广泛分布在存储、计算等领域里,几大技术方向也都在发展中。但是因可探索的方向很多,且没有人知道哪一种是最适合商用的方向,可以说整个市场还处在早期的百家争鸣状态。
降低成本,市场驱动存算一体
说到这里,可以发现存算一体的未来商用发展前景是极其不明晰的。但看向应用端,存算一体的市场发展驱动却是非常强烈的。
以数据中心为例,百亿亿次(E级)的超级计算机成为各国比拼算力的关键点,为此美国能源部启动了“百亿亿次计算项目(Exascale Computing Project)”,希望于2021年至少交付一台E级超算;中国则联合国防科大、中科曙光和国家并行计算机工程技术研究中心积极开展相关研究,计划于2020年推出首台E级超算。但要想研制E级超算,科学家面临的挑战之中首当其冲的就是功耗过高问题。
随着速度和性能要求的不断提高,如果按现有设计方法,通过不断增加处理器数量来研制超算,其体型和规模会越来越大,数据在存储器和处理器之间进出所耗费的功率会越来越多。以现有技术研制的E级超算功率高达千兆瓦,需要一个专门的核电站来给它供电,而其中50%以上的功耗都来源于数据的“搬运”, 本质上就是冯·诺依曼计算机体系结构计算与存储的分离设计所致。
如何降低功耗成为超算中心必须要解决的问题,各国科学家都在致力于降低超算功率,其中一些可行的技术方案包括让存储器更靠近计算器,减少数据行进距离;让高性能存储器向三维扩展而不是朝二维延伸;超算与闪存的结合等,而这些都隶属于存算一体的技术方向。
另一方面,在边缘计算和物联网端,因存算一体能够大幅提升性能和降低功耗, 因此也被大家寄予厚望。
当然,不仅仅是成本,如阿里达摩院在发布的技术报告所言,AI的出现与存内计算格外匹配,存算一体也将会改善现有的AI算力瓶颈。
更多优质内容,请持续关注镁客网~
NAND中是不是可以实现存内计算
如果NAND flash是一个SLC, 一个控制门存0或者1, 那么如果能够连续的对它进行编程,那么就类似于存内计算吗?
SLC闪存中的存内计算
在SLC闪存中,每个存储单元(cell)只能存储1位信息,即“0”或“1”。这使得SLC闪存具有较高的写入和读取速度以及较长的寿命。
存内计算的概念
存内计算(In-Memory Computing)是一种通过在存储单元内直接执行计算任务的技术,旨在减少数据传输的延迟和能耗。以下是几个与SLC闪存相关的存内计算操作的例子:
逻辑操作 :通过对存储单元进行编程操作,可以执行基本的逻辑操作,例如AND、OR、XOR等。例如,两个存储单元可以通过连续的编程和读取操作来执行XOR操作。
多次编程 :在编程过程中,可以通过调整编程电压和脉冲来实现对存储单元状态的精细控制。多次编程可以用来模拟和执行一些复杂的计算任务。
计算操作 :在存储单元中直接进行加法、减法、乘法等操作,利用存储单元的物理特性和编程机制来执行计算。
连续编程操作
连续编程指的是多次对同一存储单元进行编程操作,通过精细控制电压和脉冲来实现特定的计算任务。这类似于逐步逼近的过程,逐渐改变存储单元的状态以达到所需的计算结果。
示例:XOR操作
假设我们有两个SLC存储单元A和B,要在它们之间执行XOR操作并将结果存储在另一个单元C中:
初始状态 :读取A和B的状态。编程操作 :根据A和B的状态,对C进行编程。例如,如果A和B的状态相同(都是0或都是1),则将C编程为0;如果A和B的状态不同,则将C编程为1。结果存储 :C的状态即为A XOR B的结果。优势和挑战
优势 :
减少延迟 :通过在存储单元内直接进行计算,减少了数据在处理器和存储器之间传输的延迟。降低能耗 :减少了数据移动的能耗,提高了系统效率。挑战 :
精度控制 :多次编程需要精细控制电压和时间脉冲,确保计算结果的准确性。电路复杂性 :需要额外的控制电路和算法来管理存内计算操作。可靠性 :多次编程可能影响存储单元的可靠性和寿命,需要平衡计算操作和存储单元的耐用性。结论
通过连续编程SLC闪存,可以实现类似于存内计算的操作。这种技术在减少延迟和能耗方面具有显著优势,但同时也面临精度控制、电路复杂性和可靠性等挑战。尽管如此,存内计算在数据密集型应用中展现了巨大的潜力,有望在未来得到广泛应用。
相关问答
如果CPU是沙子做成的,那内存和闪存是什么做成的?既然能够提出这种问题,也说明了提问的同志有一定的计算机基础。笔者大部分时间都是在和“软件工程”打交道,并不是非常的了解硬件知识,笔者也非常后悔,后悔很多年...
阿斯加特an21t固态读取 速度 多少?阿斯加特AN21T固态硬盘的读取速度取决于多种因素,如其内部芯片类型、传输接口、固件版本等。一般来说,它的顺序读取速度可达到500MB/s以上,而随机读取速度在40...
固态硬盘读写 速度 快的原理是什么?用认真的态度与专业的情怀倾注于存储,欢迎关注我,与我交流哦!感谢悟空的邀请!针对有关固态硬盘的这些疑虑,我们接下来一一阐述。固态硬盘读写速度快的原...用...
固态硬盘传输 速度 - 绀。 的回答 - 懂得固态硬盘厂商大多会宣称自家的固态硬盘持续读写速度超过了500MB/s。固态硬盘(SolidStateDrives),简称固盘,是用固态电子存储芯片阵列而制成的硬盘,...
ssd正常读写 速度 是多少?-ZOL问答这个要看闪存颗粒了,好的NAND的读写都可以达到五百多兆,低端的MLC读入200兆...从网上搬来的图你对比一下受影响的也就是一个读取的速度一般是性能折半,具...
固态硬盘中的“mlc”,“tlc”和“3dv- nand ”的区别是什么?tlc最烂,速度慢寿命短,最便宜mlc居中,速度中等,寿命中等,价格中等slc速度快,寿命长,价格贵3d是三星研究的一项技术,不过本质还是tlc,比一般tlc强点,...tlc...
营养脑细胞的药物有哪些呀_千问健康营养脑细胞的药物有哪些呀_千问健康
三星计划何时量产基于100层V- NAND 闪存的SSD产品?三星电子刚刚宣布,其已开始生产业界首批100层V-NAND闪存,并计划在企业级PCSSD上采用。这家韩国科技巨头称,基于256Gb3-bitV-NAND闪存的SSD,已开.....
ssd 测验, 为什么写入这么慢?-ZOL问答我的西数MyPassport移动硬盘,用ATTO测试速度,读取写入都是100多MB/s,和电脑硬盘速度差不多。你的稍慢一点,也可以了。有用(0)回复s109131671550MB每秒比较....
med存储概念?Med存储,即内存型数据库,是一种将数据存储在主内存而非磁盘中的数据库模式。它极大地提高了数据访问的速度,因为内存比磁盘更快速和更廉价。Med存储是一种高...