专栏名称: 智慧产品圈
营造智慧产品生态圈
目录
相关文章推荐
新浪科技  ·  【#OpenAI推出DeepResearch ... ·  18 小时前  
新浪科技  ·  【#何小鹏开工信谈及DeepSeek#:AI ... ·  昨天  
新浪科技  ·  【分析称#DeepSeek或带来中美科技资产 ... ·  昨天  
51好读  ›  专栏  ›  智慧产品圈

解决存储器的瓶颈

智慧产品圈  · 公众号  ·  · 2019-11-25 08:46

正文

导语

芯片制造商们现在正在努力解决处理器和内存之间的瓶颈,他们正以甚至几个月前都没有人预料到的速度推出各种基于不同架构的新设计。问题在于如何提高系统的性能,尤其是边缘系统。在这些系统中,大量的数据需要在本地或区域处理。传统的方法是在一个芯片上增加更多的计算能力,并带来更多的片上存储器。但这种方法不再具有可扩展性,因此工程师们开始专注于解决处理器和内存之间的瓶颈问题了。



问题的提出

在计算机数据向内存移动过程中,对这一过程的认识并没有很重视。直到最近,它开始被认为是一个值得研究的话题,虽然这个观点通常被系统公司驳回。


已经发布的产品有很多变体,而这些变体有些仍在等待发布。“一般的想法是,你应该停止移动数据,在数据所在的地方就地处理数据,”西门子公司Mentor仿真部门的存储专家Ben Whitehead说。“这一趋势真的很流行,可以说它在创新和应用上弯了一个大弯。这条曲线是从实验开始的,并花了很长时间。就在今年,它开始以更快的速度增长。”


有趣的是,同一个问题在行业内的几个层面上都被问到了。“这和人们看待边缘处理时的讨论是一样的。网络领域的问题是,‘我在哪里处理数据,我要传输多少数据?“Cadence产品管理高级集团总监Frank Schirrmeister说,“它是网络和通信结构之间的平衡,而不是更靠近内存的处理。”


类似的问题也出现在服务器市场上,数据在存储中进行处理。“我们在研究传统应用程序和工作负载时看到了这一点,“ NGD系统营销副总裁Scott Shadley表示,“例如,数据库管理层的位置发生了变化,它不再像Oracle或Hadoop那样只存在于内存中。”


这些变化已经酝酿了一段时间。“正是由于冯诺伊曼在架构层面的局限性,以及摩尔定律和登纳德的缩放预言说(登纳德Dennard在1974年发表论文,预测说晶体管尺寸变小,功耗也随之同比变小),才导致了缩放效率的问题,”Crossbar负责业务发展和战略营销的副总裁Sylvain Dubois说。“关键是我们需要消耗多少能量和能量才能在这些节点上进行计算。这是新体系结构的绝佳机会。”


这可能只是短期炒作吗?“很难夸大这个动作带来的影响,”Mentor的Whitehead说。“这或将极大地改变这个行业,虽然还有很多问题需要回答,但今天市场上已经有很多产品。从基准来看,这些数量是巨大的。”



转变悄悄地开始

这一转变的开始已经受到关注。“GPU是解决这个问题的一种方法,但它并不能真正解决这个问题,”Crossbar的Dubois说。“它只是给了一点额外的空间,因为它是高度并行的,它仍然基于相同的内存瓶颈。人们已经意识到新的架构,如CNNS或Google TPU是新的架构。现在,从处理器、存储器集成到半导体业务,各个公司都在进行垂直投资。这对半导体行业来说是个好消息。”


许多人还认为这是方向上的必要转变。“今天,人们谈论的是让一个引擎进行人工智能优化,然后讨论这个引擎是放在单独的芯片上还是放在内存中,”Adesto的首席技术官Gideon Intrater说。“当你放在芯片上时,带宽得到了改善,但现在有一些解决方案超出了这个范围,这些解决方案实际上是在内存阵列内进行计算,或者是通过使用模拟函数进行非常接近内存阵列的计算。”


Intrater指出了许多不同的可能性。“与使用数百个硬件乘法器进行矩阵运算不同,您可以取每个8位并通过一个D2A运行它们,然后以模拟方式进行计算,只需使用基尔霍夫定律进行乘法运算。它不像以数字方式那样精确或准确,但在大多数情况下,它已经足够好了。虽然通过这样做,供应商声称可以有明显更快的操作和更低的功率,但这也不是领先的。“


最前沿的是将位作为模拟值存储在存储器中,并使用非易失性存储器(NVM)的电阻作为存储在权重中的值,然后通过该权重驱动电流并使用该电阻进行乘法。因此,除了以数字方式进行操作之外,至少还有两个步骤看起来非常有希望。这些是真正的内存处理器,而不是近内存处理。”


这些问题中的许多已经解决了一段时间,但它们仍然还未公开。Whitehead补充道,“这些设备中很多都有十几个处理器。随着越来越多的计算被塞进了固态硬盘,而不是所有的时间都在使用,如果我们碰巧让一些处理能力可用呢?他们开始在不同的模式下使用它,或者添加应用程序处理器并开始运行Linux,这并不是一个扩展。”


这些方法在不破坏现有计算范例的情况下增加了新的可能性。“闪存在旋转介质面前占据了主导地位,而且由于旋转总是有延迟的概念,这对硬件厂商能够用新的架构交付软件需求有很大帮助。”NGD的Shadley说: “闪存实现了很多功能,包括内存和存储处理,如果我们一直使用硬盘,这些功能是不可能实现的。”


事实上,这在很大程度上并不新鲜。但它必须在AI/ML系统和边缘的新计算需求的背景下进行更新。Intrater指出,“它们现在存在于芯片尺寸方面比处理器消耗更多的内存。你可以在内存中调用这个处理,将处理器和应用程序所需的所有内存组合在一起,并将它们放在同一个芯片上,这在8051的前身中就已经出现了。显然,这种解决方案有一个缺点,那就是只能处理尽可能多的数据,以适应片上SRAM。也许您只需要构建它来适应应用程序。”


与当今的许多进步一样,人工智能(AI)和机器学习(ML)正在率先采用新技术。它们不受其他领域发展的约束。“ML算法需要对大量数据进行相对简单和相同的计算,”RealIntent首席技术官PranavAshar说。“在应用程序域中,内存/内存处理将有助于最大化性能功耗比。”



异质思维

然而要使用内存中或内存附近的处理,确实需要一些更改。“在最高层面上,你必须考虑如何将这项工作进行推广和平行化,”UPMEM首席执行官Gilles Hamou表示。“您必须考虑数据局部性和并行性:数据局部性,因为您必须将数据与处理器相关联,并且必须了解如何并行化应用程序。分享工作比组织工作更有效率,这不像GPU,它使用SIMD方法。因此,你不仅要并行化,还要均匀化计算。”


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


这需要重新考虑整个过程。“人们意识到,有创新的方法可以做一些不需要花费成本的事情,但这确实需要做出改变的意愿,而且异构可以以过去只以同类方式完成的方式工作,”NGD的Shadley指出。“每当新技术出现时,你都会发现有人说,‘我知道这是如何工作的,所以在你向我证明之前,我不确定我是否相信这些新技术。’甚至这种情况也开始消失,让更多异构类型的体系结构变得可行。”


还有许多产品因为忽视软件而失败了。“硬件公司看芯片,思考如何使用它的可能性,”Cypress内存产品部门副总裁Amr El-Ashmawi说。“软件团队说,‘这就是我想做的事情。’这就产生了冲突。拥有嵌入式处理器的产品公司在开放后有时会忘记,他们必须带着一个完整的生态系统(工具包、SDK、驱动程序等一大堆东西)加入软件团队,这是一个不同的游戏。”



新的验证挑战

许多新的体系结构都需要新的验证技术。“有了数据局部性,就有了一致性的问题,”Schirrmeister说。“如果你有不同的处理元素,你必须弄清楚它们是否有东西可以通过内存相互交谈。然后缓存一致性变得非常重要,当有人访问内存时,他们都必须决定谁拥有该元素的最新版本。内存中的处理为此增加了一个更有趣的方面,因为内存中的处理也起到了作用。”





请到「今天看啥」查看全文