中文 英语

解决内存瓶颈

在系统周围移动大量数据不再是成功的路径。它太慢,消耗太多的力量。是时候翻转等式的时候了。

受欢迎程度

芯片制造商正在争先恐后地解决处理器和内存之间的瓶颈,他们正在基于不同架构推出新的设计,其速度甚至在几个月前都没有人预料到。

争论的焦点是如何提高系统的性能,特别是那些在边缘,大量的数据需要在当地或地区进行处理。传统的方法是在芯片中添加更多的计算能力,并增加芯片上的内存。但这种方法不再适用,所以工程师们开始专注于解决处理器和内存之间的瓶颈。

计算机迁移到内存一直戏剧性。直到最近,它被认为是研究的合适主题,并由系统公司驳回。即使在设计自动化大会(2019年6月)中,也有许多反对者。但是,由Hotchips(2019年9月)几家公司发布了产品,其中一些已经签署了他们的第一轮客户。

释放产品有许多变体以及仍在翅膀中宣布的产品。“一般来说,概念是您必须尽可能多地停止移动数据,并在仿真部门的存储专家说:Ben Whitehed,Ben Whiteberd导师,西门子的业务。“这种趋势真的很流行。它已经触及创新和采用曲线的膝盖,或大弯曲。这条曲线从实验开始,在那个区域花费了很长时间。就在今年,它开始从膝盖上脱落,开始以更快的速度增长。”

有趣的是,同样的问题在行业的多个层面上被问及。该公司产品管理高级集团总监弗兰克•席默斯特(Frank Schirrmeister)表示:“人们在研究边缘处理时,也会有同样的讨论。韵律。“网络领域的问题是,‘我在哪里处理数据,我要传输多少数据?’这是网络和通信结构与处理更接近记忆之间的一种平衡。”

在服务器市场中,在存储中可以看到类似的问题。“我们在观看传统应用程序和工作量时看到它,”NGD系统营销副总裁Scott Shadley说。“例如,在放置数据库管理层的位置存在转换。它不再只是oracle或hadoop等内存。那个水有一些泥泞的水平。“

这些变化已经酝酿了一段时间。“这都是关于冯·诺伊曼在架构层次上的局限性摩尔定律Dennard扩展Crossbar业务发展和战略营销副总裁Sylvain Dubois表示。“这是关于我们在这些节点上计算需要消耗多少能量。这对新架构来说是一个很好的机会。”

这可能只是短期炒作吗?“很难夸大这种运动的腿,”导师的白头说。“它将改变行业很多。仍有很多问题要回答,但今天市场上有产品。基准方面所看到的数字是巨大的。“

安静的开始
这种偏移的开始往往落在雷达下。“GPU是一种解决方案,但它并没有真正解决它,”Crossbar的Dubois说。“这只是给出一点点额外的房间,因为它非常平行化。它仍然基于相同的内存瓶颈。人们已经意识到CNN或Google TPU等新架构是新的架构。公司现在从处理器和内存集成到半导体业务的垂直投资。这是半导体行业的好消息。“

它也被许多人视为必要的方向变化。“今天,人们正在谈论发动机优化才能做AI,然后讨论发动机是否坐在单独的芯片或内存中,”首席技术官Gideon Intrater说Adesto。“当你在芯片上时,带宽得到了改善,但现在有一些解决方案超越了这一点——通过利用内存阵列或非常接近内存阵列的方法来进行计算模拟职能。”

Intrater指出了许多不同的可能性。“与其使用数百个硬件乘法器来做矩阵运算,你可以潜在地把每个8位的乘法器通过D2A运行,然后以一种模拟的方式进行计算基尔霍夫定律做繁殖。它不像数字方式这样做并不准确,但对于大多数情况而言,它足够好。通过这样做,供应商索赔显着更快,操作较低。甚至那不是前缘。非常前缘是将比特存储在存储器中作为模拟值,并使用该非易失性存储器(NVM),其被存储在权重的值的电阻,然后通过该并用它来执行乘法驱动电流。因此,至少有两个步骤以以一种似乎非常有前途的数字方式执行操作。这些都是内存处理器而不是近记忆处理。“

这些问题中的许多已经被研究了一段时间,但它们仍然有些隐蔽。“磨损程度、垃圾收集和固态硬盘(SSD)中发生的一切比大多数人认为的要复杂得多,”怀特海德补充说。“很多这样的设备都有十几个甚至更多的处理器。随着越来越多的计算被塞进ssd中,并不是所有的计算都一直在使用,如果我们碰巧提供了一些可用的处理能力呢?他们开始以不同的模式使用它,或者添加应用程序处理器并开始运行Linux,这并不是一种延伸。”

这些方法增加了新的可能性,而不会中断现有的计算范式。“世界的世界闪光存储在旋转媒体前接管,旋转总会带来延迟的概念,这对硬件人员在新架构下交付软件需求有很大帮助,”NGD的Shadley断言。“Flash实现了很多功能,包括内存和存储内处理,如果我们坚持使用硬盘驱动器,这些功能永远无法实现。”

事实上,大部分都不是新的。但它必须在AI / ML系统和边缘的新计算需求的上下文中更新。“你正在谈论相当于微控制器,”指出了interant。“他们今天存在于比处理器消耗的模具大小的更多内存。您可以在内存中调用该处理。组合应用程序和应用所需的所有内存,并在同一芯片上将它们放在一起,自8051的前任以来一直存在于此。显然,这种解决方案存在缺点,这是您只能处理多个数据可以适合片内静态存储器。也许你只需要建立它以适应申请。“

与今天的许多进步一样,人工智能(AI)和机器学习(ML)是采用新技术的先锋。他们不受那些阻碍其他领域发展的遗产的束缚。“ML算法需要对大量数据进行相对简单和相同的计算,”普拉纳夫·阿沙尔(Pranav Ashar)说真正的意图。“在/近记忆处理将在此应用程序域中有意义以最大化性能功率指标。”

除了计算之外,其他操作也可以进行优化。Adesto的Intrater表示:“这些引擎是为了完成特定任务而设计的,比如AI所需的矩阵操作,它们与专门提供必要信息的DMA引擎结合在一起。”“这些矩阵很大,但是数组中有很大一部分是0。您不希望将它们相乘,因此通常使用智能DMA引擎只引入非零值。针对专门为AI设计的处理器,我们考虑了许多优化。”

但只有到目前为止,这是技术的卷积神经网络可以去,说横杆的dubois说。“CNN是重要的,但它们不是解决主要问题,即数据访问。人们通过计算和AI实现了,您可以获得有效如何访问数据并将其带回计算。这是一个有利的趋势,因为每个人都意识到数据访问是解决我们想要变得更加节能或将AI放到边缘的最重要的事情。“

异构的思考
但是,为了利用内存中的或近内存中的处理,确实需要进行一些更改。UPMEM的首席执行官吉勒•哈姆表示:“在最高层面上,你必须考虑如何将这项工作分散并并行化。”“你必须考虑数据局部性和并行性——数据局部性是因为你必须将数据与处理器关联起来,你必须理解如何并行化应用程序。与组织工作相比,分享工作更有效率。这与GPU不同,后者使用SIMD方法。这样一来,你不仅要并行化,还要同质化你的计算"

随着系统变得更加异构,需要解决其他问题。Whitehead说:“很多东西都是异步进行的,而且很难夸大异质性。“我不认为这有什么变化。它是计算集群和小存储集群,将有软件来管理它。但它不是齐次的。它不再只是一个可寻址的内存空间。当您将计算分布到所有节点时,得到答案的延迟将是所有节点中最大的延迟。以前,如果设备不进行垃圾收集,它会很快给你一个答案,但现在延迟成为一个重大问题。”

这需要重新思考整个过程。“People are realizing that there are new and innovative ways to do stuff that doesn’t cost them, but it does require a willingness to make change and that heterogeneous can work in ways that were only done in a homogeneous manner in the past,” points out NGD’s Shadley. “Anytime new technologies come out you find the guys who say, ‘I know how this works, so I am not sure I trust this new stuff until you prove it to me.’ Even that is starting to go away to allow more heterogeneous types of architecture to become viable. You will always have the companies who are the owners of that homogeneous piece of the puzzle that don’t want it to change because their market has to change. But they are now realizing that they can allow it to adapt, and they have to adapt with it.”

许多产品失败是因为他们忘记考虑软件。“硬件人员看着芯片,他们考虑如何使用它的可能性,”Amr El-Ashmawi说,塞普拉斯记忆产品部门的副总裁。“软件团队说,‘这就是我想要的做事方式。这就产生了冲突。拥有嵌入式处理器的产品公司有时会忘记他们必须带着一个完整的生态系统去软件团队——工具包、SDK、驱动程序等等——这是一场不同的比赛。”

新的验证挑战
这些新架构中的许多都需要新的验证随之而来的技术。Schirrmeister说:“在数据局部性中,你会遇到一致性的问题。”“如果你有不同的处理元素,你必须弄清楚它们是否有东西可以通过记忆彼此交流。”那么缓存一致性就变得非常重要。当有人访问内存时,他们都必须决定谁拥有该元素的最新版本。在内存中处理增加了一个更有趣的方面,因为该记忆的处理也发挥了作用。”

这不是一个不可逾越的问题。“一些内存是共享的,有些内容紧紧地连接到每个核心,”Dubois说。“我们在系统中有更多的内核,并且越来越多的具有一些专用内存的硬件加速器,并且必须在核心之间共享一些数据。所以它确实增加了一个更级别的复杂性,但这不是革命。设计人员用于处理芯片开发中的许多核心系统。这只是一个进化。“

尽管如此,一些需求是新的。“我们必须提供解决方案,使他们能够在硅的5%内测量与这些驱动器相关的性能和延迟,”Whitehead说。“这些是我们需要通过验证工具回答的问题类型。我们可以看到行业在哪里,因为我们必须了解为什么某些事情对他们来说非常重要。他们知道他们需要什么,他们非常苛刻我们提供他们所需要的工具。“

一个问题是让向量锻炼它们。“从性能透视中查看内存接口变得更加重要,”施马俑添加。“应用程序级性能分析变得更加重要。你如何为此生成测试?许多错误表现出来的唯一方法是,某人说这个操作应该比它更快。然后,您必须分析和调试 - 不在信号级别,甚至在交易级别,但更多在拓扑级别 - 要弄清楚为什么其他进程正在暂停和系统周围存在的依赖关系,表示该系统任务不正常化,或者管道未正确定义。“

系统的时间方面正成为最重要的方面。Breker verification Systems的副总裁兼首席营销官Dave Kelf说:“不同的处理过程可能以一种暂时的随机方式发生,因此,依赖于逐周期刺激和监控的验证解决方案将不会有效。”“需要依赖于能够以一系列方式处理意外并发活动的总体意图规范的验证。这将推动更多的测试合成方法,从而产生这些测试矢量形式。”

或者我们也许我们必须以不同的方式看待问题。“异步接口不是核心计算上的提交或覆盖。他们根深蒂固的核心计算,“断言真正的意图的阿什拉。“验证的自下而上的验证流程延期性在这种设计范式中,异步接口的硬度和数据完整性可以被认为是强制性的。”

结论
虽然在内存或近内存中计算的大多数技术方面都不是新的,但它们的采用将迫使整个行业发生重大变化。肥胖的冯诺依曼体系结构, Moore’s Law和Dennard scaling现在正共同迫使行业做出改变,而这反过来又会影响应用程序思考它们所运行的硬件平台的方式。

许多新设备今天正在进入市场,大多数都为现有软件提供了适度的收益。但要获得最大的好处,将需要重新构建软件。

这将由控制这两部分的系统公司主导,而行业的其他公司将被允许在任何可能的时候利用新功能。然而,那些等待太久的人可能很快就会在市场上失去竞争力。

有关的故事
将内存处理工作?
SIDESTEP VON NEUMANN架构可能是低功耗ML硬件的关键的变化。
使用不同的内存来提高速度
让数据更快地进出内存增加了一些意想不到的挑战。
记忆中的计算挑战进入焦点
研究人员在von neumann瓶颈周围挖掘道路。
边缘的机器学习推理
设计ML芯片与其他类型的处理器不同。



4评论

peter j康奈尔大学 说:

作为一个新手,我发现我非常奇怪,我类似地思考了NVME控制器上的相当强大的处理器的可能性。
我想到,每个nvme都有可能对其本地存储的数据执行独立的处理。

如果AI等将不得不筛选pb级的元数据,那么在处理器之间移动数据的延迟、有限的带宽和功耗将是最费力的。在没有存储的地方进行~一些处理将是一个好处。

安迪沃克 说:

伟大的文章

BillM 说:

远程数据处理在功耗(仅在传输完整的未处理数据流时)、传输时间、甚至处理的安全性方面与原始数据相比都提供了额外的安全性方面有很多优点。一个缺点是在边缘区域整合更多的处理能力,但整合是一个很好的磨练过程。

我希望在不久的将来,分布式处理能够成为所有产品的标准。

凯文卡梅伦 说:

您可以调整SMP体系结构,使其能够进行内存计算——解决了大部分问题。

通过删除RTL并与光子仪一起删除并进行异步来修复其他问题。

此时唯一缺失的部分是微功率可调激光器。

发表评论


(注意:此名称将公开显示)