Amiya · 2021年06月25日

近内存计算NMC

近内存计算NMC(Near Memory Computing)

二十年前就提出了内存计算Processing in Memory,然而一直以来困难重重,退而求其次,近内存不失为良策。

背景:海量数据

内存在延迟和能耗方面一直赶不上处理器技术的进步,这被称为内存墙。系统架构师试图通过引入内存层次结构来弥合这一差距,从而减轻片外DRAM的一些缺点。然而,内存芯片上有限的管脚数量无法满足当今多核处理器的带宽需求。此外,随着Dennard scaling的消亡,Moore定律的减慢,以及硅计算机的性能已经达到了一个平台。

同时,大量的数据在射电天文学、材料科学、化学、健康科学等多个领域产生。例如,在射电天文学中,平方公里阵列(SKA)的第一阶段旨在每秒处理超过100TB的原始数据样本,每年产生大约300PB的SKA数据产品。SKA目前正处于设计阶段,预计在未来十年的前五年在南非和澳大利亚建造。这些射电天文学应用通常表现出大量的数据并行性和低的运算强度和有限的局部性。在传统系统上,这些应用程序会导致内存子系统和处理器之间频繁的数据移动,这严重影响性能和能效。类似地,像Apache、Spark这样的集群计算框架能够对批处理和流数据进行分布式内存处理,它们也表现出上述问题。因此,当前的许多研究都集中于提出创新的制造技术和体系结构来克服这些问题。

引出:近内存计算(NMC)

内存层次结构通常由多级缓存、主内存和存储器组成。传统的方法是将数据从存储器移到高速缓存中,然后对其进行处理。相比之下,近内存计算(NMC)的目标是在接近数据所在的位置进行处理。这种以数据为中心的方法将靠近数据的计算单元耦合在一起,以尽量减少昂贵的数据移动。值得注意的是,三维堆叠作为接近内存处理的真正推动者,它允许通过硅通孔(TSV)将逻辑和内存堆叠在一起,这有助于减少内存访问延迟、功耗并提供更高的带宽。Micron的混合内存立方体(HMC),AMD和Hynix的高带宽内存(HBM),以及三星的宽I/O是3D内存领域的竞争产品。

计算系统演化

下图描述了基于程序在执行期间引用的信息的系统演化,该信息被称为工作集。以前的系统基于以CPU为中心的方法,将数据移动到核心进行处理(图(a)-(c)),而现在使用近内存处理(图(d))将处理核心移动到数据所在的位置。内存计算(图(e))范式旨在通过使用具有计算能力的内存(例如忆阻器、相变存储器(PCM))来完全减少数据移动。

1.jpeg

从概念上讲,近内存计算方法可以应用于任何级别或类型的内存,以提高系统的整体性能。在分类法中,不包括基于磁盘的系统,因为由于磁盘的高访问延迟和高故障率,它们无法再提供及时响应。尽管如此,主要研究如何在磁盘中提供处理能力。然而,由于边际性能改善无法证明相关成本的合理性,因此没有被业界广泛采用。相反,将新兴的非易失性存储器称为存储类存储器(SCM),它们试图填补DRAM和磁盘之间的延迟间隙。

2.jpeg

小结

在异构计算中,FPGA作为加速器,采用线上处理方式,在网络分组收发的过程中,实现对应用数据的在线处理,是一种典型的NMC场景。

作者:珠穆朗玛2048
来源:https://zhuanlan.zhihu.com/p/365026034

更多FPGA智能网卡相关技术干货请关注FPGA加速器技术专栏。

推荐阅读
关注数
1601
内容数
22
阐述CPU性能瓶颈问题如何破解,FPGA如何突围
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息