欢迎进入上海某某电子仪器有限公司网站
全国服务热线
021-49393958
华中科技大学冯丹:支持近数据处理的存储技术
时间: 2019-09-18 11:21 浏览次数:
640.webp .jpg

冯丹表示,支持近数据处理的固态盘技术以及存算一体的忆阻器技术为解决“存储墙”问题提供了全新的路径,并从三个方面进行了阐述。

以下为演讲实录:

谢谢,我给大家分享一下我们做的一些工作,这是近数据处理存储技术,主要从三个方面给大家分享。

应该说,大数据时代第一个对存储有挑战,第二个对数据处理也存在挑战,存储方面据统计增长率已经达到了36%,2018年全球的数据总量是33ZB,预计到2025年将达到175ZB。但是大量的数据实际上除了要存之外,更多的要做处理,比如说大数据的5V特征——Volume、Velocity、Variety、Veracity进行修改之后来使用,包括加上配置信息的面积到底有多大。

如果面积小的模块剔除去,面积大的尽量保留在缓存里头这样加快速度。这样就使得整个性能比不加改进要更好一些,不至于说因为做配置,用可重构提高了性能,因为配置又把性能降下去了,所以使得整个不至于出现瓶颈问题,这是第一个工作,可重构的近数据处理的固态盘。

第二个工作做存算融合存储器探索的研究,主编存储器第一个方面可以做存储,通过高组、低组,以及不同的组织状态做存储,同时也可以做逻辑计算,另外做模拟计算,我们也把它叫做近似的计算,主要就可以做矩阵的向量乘法。

实际上忆阻器的发展主要从2008年开始,正式了忆阻器之后得到了研究界广泛的关注。这是近十年来相应的研究,包括把它用做大容量存储,逻辑计算,还有近似计算,也就是做矩阵的计算,做AI的加速研究的是非常多的。

这是做AI的加速,既可以做存储,又可以做计算,阵列的控制模块通过变化来使得达到是做存储,还是做计算的目的。比如说当他做存储的时候,他就排除掉一些逻辑。而当他做计算模式的时候才发挥作用,同时也提供编程接口或者是优化接口。

这是在探索怎么样基于忆阻既做存储,又做计算这样的体系结构。未来我们认为除了专用的探索之外,能够做高性能计算的加速,也可以做神经网络计算的加速,或者是做图像处理的加速等等这些专用的加速之外,我们也希望探索一些通用的架构,能够满足不同的应用需求。也就是说,通过可配置的方式能够满足只要是我希望能够在存储器里头做计算的,做存算一体化或者融合的,都可以用这样的架构,这是在探索方面。

另一方面从它真正实现来看,研究界非常热,但很多基于理想的假设之后做了研究。

比如说器件级就有这种非线性导致存储可靠性降低的问题,当做成阵列形势的时候就有电阻、电流,导致存储能效下降的问题。还有当他做大规模计算的时候,多个阵列之间要做一些直连,会有误差的传递、累计,从而导致计算的准确度下降的问题。

尽管好处是说我要做计算,实际上很简单,我先写,把电阻值子放到相应的数字,做矩阵的成价运算,就是加一个电压读过程就完了,非常快。但是真正实现起来就不那么简单了。要克服这样非理想因素的影响,比如说单元级的,非线性组织的变化,还有D2D和C2C变化系,是很理想的直线。

还有电流、电压的特性,尽管本身是一个组织,但实际上电压是线性的特点。当他作为阵列的时候,因为是共享,就有电容的问题,还有连线电阻的问题,本来是一个小的组织,但是连线上也有电阻,也会影响他。当他做成下面第二个图的结构时候,绿色的线本身是希望加一个电压电流走这个线,结果发现电流会像红色的线到处跑,原因是共享导致。

还有操作的问题,哪些是不能并线操作的,哪些是能并线操作的,这些都是我们在底层要解决的,我们就做了一点这样的工作,尽管上层可以做的很好,可以做各种各样的运算,但真正要实现起来首先要解决底层非理想因素的影响。

我们解决具体的对象就多机存储单元,以及3D的模型,也就是说共享的模型。在这个过程中间我们发现做计算首先要写一个值,再就是读一次就出来了,实际上我要做大容量的存储也要解决这样的问题,写的可靠问题,以及写的低能耗的问题。我们发现有效电压在左边加进来会有一个逐渐的衰减,到右上角的时候衰减是最厉害的,也就是多单不对称的现象,所以就要做偏压的操作对他进行补偿。

我们发现组织变化的时候高组态变化线是比较大的,低组态的变化是小的。如果是传统的不同高组、低组只是均匀划分进行采样情况下准确度会降低,所以我们就根据变化线高组态划宽,低组态划窄,也就是变化性感知状态划分的方式,来提高可靠性。最差的情况下变化性降低了40%,提高了可靠性。

另外大家都知道我们要去写的时候都是写一个高组或者低组,传统的方式是采用脉冲的迭代写,写到中间这个态。我们提出来比例控制的状态调整,也就是说第一次调的时候幅度大一点调到附近,然后再做准确的控制反馈,这样就使得写入速度加快,平均的迭代次数减少31%,降低了写入延迟。

另外还有并行线的问题,我们也写出了相应的并行调度的方法。这里有一个例子,当前的状态是1213,目标状态是3125,哪些是可以并行的?第一个和第三个都要并行做两次操作就可以完成的,中间实际上就可以把第三位同时写掉了,就相应的提出了并行的算法来提高并行性。

当他用做大容量存储的时候,我们用内存的对它进行测试,平均的内存访问延迟降低了67.6%,IPC提高了2.94倍。这个是新写进去,当做存储的时候读要准确,我们发现这样的问题,这是一个阵列的示意图,由于有电压降的问题,左边还是加电压到最右端的红点的时候电压就衰减,衰减之后导致理想读的状态应该是右边的绿线,就变成橙色的线。也就是说,读出来的值会出错,测量的电流值由于电压下降之后测量的电流肯定也是减少,减少之后如果还用理想状态读出来肯定是错的,所以我们也是做了相应的表,就可以准确来读取出来。

当他做运算的时候,我们就不利用这种查表的方式,因为是加一个电压就有电流出来。由于有电压降的问题存在,就会导致整个电流肯定都是会减少了,我们就采用片压,之前未先感知的互联电压降补偿的方法,来使得每一个测量都是准确的,从而提升结果的准确度提升15%,这就是我们在底层做了一些工作,怎么样能够真正支持大容量存储;第二个在这种结构怎么样支持高速存算一体化,首先存,然后再计算。

当然,在体系结构方面我们也在做一些,今天由于时间限制就不给大家分享了。总的来说,今天给大家分享了两个工作,第一个在SSD里头做了近数据处理的,基于可重构的FPGA近数据处理的硬件的加速,来减少数据的传输。

第二个基于SRAM做了一体化的探索,基本上大容量的探索,首先是做大容量的存储,其次是能够做存算一体化,克服非理想因素我们做了相应的工作。未来我们也在做体系结构设计,支持神经网络、图像处理等等这样的体系结构的设计,下次有机会再给大家分享。


Copyright © 上海某某电子仪器有限公司 版权所有
全国服务电话:021-49393958   传真:
公司地址:

客服
点击这里给我发消息 在线客服
电话
服务电话:
021-49393958
微信

微信公众号