一.存内计算
存内计算是一种计算方式,它将计算单元嵌入到内存当中。在传统的计算机运行体系中,如冯·诺依曼体系,计算机通常包括存储单元和计算单元两部分。计算机进行运算时,需要先将数据存入主存储器,然后按照顺序从主存储器中取出指令并执行。在这种体系下,数据需要在处理器与存储器之间进行频繁迁移。
当内存的传输速度跟不上CPU的性能时,就会导致计算能力受到限制,即所谓的“内存墙”问题。例如,如果CPU处理运算一道指令的耗时为1ns,但内存读取传输该指令的耗时可能已达到10ns,这就会严重影响CPU的运行处理速度。
存内计算旨在解决这一问题。通过将计算单元嵌入到内存中,存内计算能够减少数据在处理器与存储器之间的迁移次数,从而显著提高计算效率。这种技术特别适用于需要处理大规模实时数据或进行高速计算的场景,如金融交易系统、内容分发网络、嵌入式系统和机器学习等。
二.面向存内计算架构—图算法优化
图算法在各个领域都扮演着重要的角色,从网络分析到集成电路设计。传统上,实现这些算法涉及复杂的矩阵运算,如矩阵乘法,这在内存计算架构中带来了显著的计算开销,尤其是在存内计算中。然而,最近的研究提出了一种突破性的方法,将传统的基于矩阵的实现方式转向利用简单的位运算来利用底层图结构。这种范式转变承诺在内存处理单元内实现图算法的高效执行,为前所未有的计算效率和可伸缩性铺平了道路。
基于MRAM的图计算存内加速架构图如下。
2.1发挥位运算的威力
这种创新方法的关键在于利用图表示和矩阵运算之间的内在等价性。通过深入分析矩阵运算与图计算之间的物理意义,可以避免复杂的矩阵操作,转而利用简单的位运算。这种方法将计算负担从传统的矩阵操作转移到了更为高效的位运算上,从而使得图算法在内存计算架构中的实现变得更加高效和可行。
研究人员意识到,图结构与矩阵运算之间存在内在的等价关系。通过利用这种等价性,他们提出了一种方法,将传统的矩阵运算转换为更为高效的位运算。这种方法的核心思想是避免复杂的矩阵操作,转而利用位运算来操作图数据。这种方法在存内计算架构中具有潜在的优势,可以显著提高图算法的计算效率。
2.2重塑单源最短路径算法
单源最短路径算法是图算法中的一个重要组成部分,在路线规划、网络分析等领域都有着广泛的应用。传统的算法通常涉及大量的循环和递归操作,难以在存内计算架构中实现高效运行。因此,急需对单源最短路径算法进行优化设计。
单源最短路径算法是图算法中的一个重要问题,应用广泛,例如在路线规划、网络路由等领域。传统的算法往往依赖于复杂的循环和递归操作,难以在内存计算单元中实现高效计算。因此,研究人员提出了一种基于原位计算的单源最短路径算法。该算法首先将图数据存储在内存中,然后利用位运算进行路径计算,从而实现了对图的高效处理。这种方法不仅避免了传统算法中的复杂矩阵运算,而且具有较低的计算开销,适用于存内计算架构。
基于位逻辑运算优化实现单源最短路径图如下。
2.3基于局部重叠度的链路预测算法
链路预测在图计算中是一个经典而又具有挑战性的问题,它涉及通过已知的网络节点和结构信息来预测尚未连接的节点之间是否会产生链接。这项任务的重要性体现在各种领域,比如学术合作关系、社交网络以及电子商务等。本文将重点关注于一种基于局部重叠度的链路预测方法,并提出了一种优化设计,旨在提高预测准确性和效率。
有一种基于局部重叠度的链路预测算法优化设计方案,以提高预测准确性和计算效率。
-
图数据结构优化:采用紧凑的图数据结构以减少内存占用和访问时间,例如压缩存储邻接表或邻接矩阵。
-
并行计算策略:利用并行计算框架,如OpenMP或CUDA,加速预测过程,充分利用多核处理器或GPU的并行计算能力。
-
特征工程:结合节点的属性信息和网络拓扑结构,构建更丰富的特征表示,以提高预测模型的表达能力。
-
阈值优化:通过对历史数据进行分析和实验,动态调整阈值参数,以适应不同网络规模和特性的链路预测需求。
基于位逻辑运算优化实现链路预测算法如下。
通过以上优化设计方案,我们可以提高链路预测算法的准确性和效率,在大规模网络中实现更快速、更可靠的预测。未来的研究可以进一步探索基于深度学习和图神经网络的链路预测方法,以应对复杂网络结构和更高的预测精度要求。同时,结合实际应用场景和领域知识,定制化地设计链路预测算法也是未来研究的重要方向。
三.存内计算存储介质
3.1非易失性存储器
近年来,随着大数据、人工智能和图计算等应用的迅速发展,对存储器访问延迟和能量开销等方面提出了更高的要求。传统的动态随机存储器(DRAM)由于需要进行定期的刷新操作,具有存取速度慢、静态功耗高、外围电路复杂等特点,已经难以满足未来应用市场的需求。因此,非易失性存储器近年来得到了学术界和工业界的广泛关注,有望引领新一轮存储技术的革命浪潮。
相较于传统的DRAM,新型的非易失性存储器具有许多优势,包括静态功耗低、断电数据不丢失、读取速度快和扩展性强等。这些新型非易失性存储器包括相变随机存储器(PCRAM)、阻变随机存储器(ReRAM)和磁性随机存储器(MRAM)等。下表总结了DRAM与常见的几种非易失性存储器的物理性能对比:
物理指标 | DRAM | PCRAM | ReRAM | MRAM |
---|---|---|---|---|
单元大小/位 | 2 | 6~ | 106 | 106 |
读时间/纳秒 | 15 | 20 | 10 | 10 |
写时间/纳秒 | 15 | 100 | 20 | 20 |
写耐受 | 10^6 | 16 | 10^8 | 10^6 |
写功耗 | 高 | 低 | 较低 | 较低 |
读功耗 | 低 | 低 | 低 | 非常低 |
静态功耗/瓦特 | 非常低 | 非常低 | 非常低 | 非常低 |
众多厂商推出了各自的非易失性存储器设计,例如Intel和Micron公司推出了基于PCRAM的3D X-Point Memory存储器,HP和SanDisk公司推出了基于ReRAM的SCM(Storage Class Memory)存储器,美国EverSpin公司推出了1GB容量的商用STT-MRAM芯片等。非易失性存储器的快速发展同时也推动了存内计算技术的工业落地,例如台积电积极推广基于ReRAM的存内计算方案,EBM公司公布了基于PCRAM的存内计算方案,国内的知存和闪亿等公司也推出了各自的存内计算芯片。
3.2基于ReRAM的存内计算技术
忆阻器(Memristor)的概念最早由Chua等人在1971年提出,然而由于缺乏可靠的物理模型支持,其实现长期陷入停滞状态。直到2008年,惠普公司提出了可靠的金属氧化物开关物理模型,并利用忆阻器实现了简单的布尔逻辑运算功能。
忆阻器单元物理模型如下图。
忆阻器的结构类似于三明治,由两个5nm厚的金属电极层和一个50nm厚的二氧化钛薄膜组成。通过给存储单元的外部施加电压,可以引起离子在金属氧化物介质内的移动,其电阻受离子运动的影响会发生变化。因此,可以通过改变施加在其两端电压的大小和方向来改变忆阻器自身的阻值状态。具体来说,当施加在电极上的正向电压达到一定值阈值时,金属氧化物层中的导电细丝连通,器件从高阻值状态(HRS)转变为低阻值状态(LRS);当施加在电极上的反向电压达到一定值阈值时,金属氧化物层中的导电细丝断裂,器件从低阻值状态转变为高阻值状态。通过使用不同的阻值状态可以表示不同的逻辑值,例如高阻值状态表示逻辑值“0”,低阻值状态表示逻辑值“1”。
在工业界,Fujitsu公司于2016年推出了12Mb的ReRAM芯片,中芯国际于2017年推出了40nm工艺的ReRAM芯片,昕原半导体进一步推出了28nm工艺的ReRAM芯片。
相比于其他新型非易失性存储器器件,ReRAM具有多个优点。例如,ReRAM的擦写速度取决于触发电阻转变的脉冲宽度,一般小于100ns,因此ReRAM具有较快的写速度;ReRAM的读写过程是非破坏性的,因此ReRAM具有较长的使用寿命;忆阻器可以包含多种电阻状态,因此ReRAM每个存储单元具有存储多个数据位的可能,从而具有较高的存储密度。ReRAM优良的特性为存内计算技术的实现提供了可靠的物理基础,为开发高效能、存算一体的新型计算系统提供了切实可行的解决方案。
ReRAM交叉阵列如下图。
ReRAM内部采用大量字线(wordline)与位线(bitline)交错的交叉阵列结构(crossbar),数据以阻值的形式保存在每个存储单元之中。为了实现向量矩阵乘加运算,还需要外围电路的支持,例如数字模拟转换器(DAC)、模数转换器(ADC)、采样保持电路(S&H)和移位累加器(Shift&Add)。由于ReRAM存储单元容量有限,每个权重都被分解为多个bit,并被存储在ReRAM交叉阵列同一字行下的多个连续的位行中。基于欧姆定律和基尔霍夫定律,ReRAM交叉阵列可以就地执行向量矩阵乘加运算。具体来说,当执行向量矩阵乘加运算时,输入数据首先通过数字模拟转换器(DAC)转换为电压信号施加在ReRAM交叉阵列的各个字行上,之后输入数据与权重的乘积以电流的形式累积在各条位线上并被保存在采样保持电路上,紧接着通过模数转换器(ADC)读出各条位线上累积的电流并将其转化为数字形式,最后使用移位累加器将多个连续的位行中的计算结果相加得到最终的计算结果。
四.总结
本文探讨了存内计算及其面向的架构优化,尤其侧重于图算法优化和存内计算存储介质。文章介绍了存内计算的概念和意义,着重强调了存内计算解决了内存墙问题,提高了计算效率。针对图算法的优化,提出了基于位运算的创新方法,重塑了单源最短路径算法,并介绍了基于局部重叠度的链路预测算法优化设计。接着,文章详细讨论了存内计算存储介质,特别是非易失性存储器,比较了不同类型存储器的性能,并重点介绍了基于ReRAM的存内计算技术,包括其物理模型和交叉阵列结构。文章展望了未来发展方向,包括基于深度学习和图神经网络的链路预测方法以及定制化的链路预测算法设计。整体而言,本文系统性地介绍了存内计算及相关技术,为读者提供了全面的了解和参考。
参考文献
- DRAM时代即将到来,泛林集团这样构想3D DRAM的未来架构
- 3D DRAM Is Coming. Here’s a Possible Way to Build It.Benjamin Vincent
- .3D堆叠DRAM Cache的建模以及功耗优化关键技术研究
- 存内计算概述
- 中国科学技术大学
- 应用于忆阻器阵列存内计算的低延时低能耗新型感知放大器
- 基于存算一体集成芯片的大模型专用硬件架构
- 高能效高安全新兴计算芯片:现状、挑战与展望 54.01(2024):34-47.
- 校准方法和存内训练相结合的忆阻器神经形态计算方法
- Survey of In-Memory Computing Technology Based on SRAM and Non-Volatile Memory
- 基于存内计算的深度神经网络压缩技术研究
- 一种基于斯格明子介质的高效存内计算框架
- 基于 SRAM 和 NVM 的存内计算技术综述
- 存内计算芯片研究进展及应用