Java教程

存算一体方案解析

本文主要是介绍存算一体方案解析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

存算分离是将计算和存储功能分开部署在不同的节点或设备上的概念。在存算分离架构中,计算任务通常在独立的计算单元(如CPU或GPU)中执行,而数据存储在独立的存储设备中。这种架构可以提供更大的灵活性和可伸缩性,但可能需要进行大量的数据传输和通信。【冯诺依曼架构的特点为存算分离】
存算分离不可避免地存在以下问题:

内存墙计算机系统中处理器速度远远快于内存访问速度而导致的性能瓶颈。解决内存墙问题可以考虑高速缓存、内存层次结构优化、内存访问模式优化以及使用更快速的内存技术(快闪存、非易失性内存等)。

功耗墙指的是处理器和其他组件的功耗增加速度超过了散热和功耗管理技术的改进速度,从而导致系统性能增长受限的现象。为了应对功耗墙,处理器制造商和系统设计者采取了多种策略。其中包括优化芯片设计和电源管理,改进散热技术,采用节能的制造工艺,以及引入新的架构和技术,如低功耗处理器、异构计算和功耗管理技术等。


存算一体方案可以分为三类:近存计算(Processing Near Memory),存内处理(Processing in Memory,PIM)和行内计算(Computing in Memory,CIM)。


近存计算是将存储单元和计算单元集成,增加访存带宽、减少数据搬移,提升整体计算效率。近存计算仍是存算分离架构,本质上计算操作由位于存储外部、独立的计算单元完成,其技术成熟度较高,主要包括存储上移、计算下移两种方式。(华为昇腾910系列芯片为冯诺依曼架构和达芬奇架构的组合,达芬奇架构的本质应为采用多级cache实现近存计算。)

  1. 存储上移(Memory Uplift):存储上移是指将计算操作或部分计算操作移到内存子系统中执行。传统上,计算主要在中央处理器(CPU)中完成,而内存主要用于数据存储。但通过存储上移,内存子系统可以提供一些计算功能,使其具备在处理数据时进行一些简单的计算能力。这样做的好处是可以减少数据从内存到CPU的数据传输量,从而降低数据传输延迟和功耗。
  2. 计算下移(Compute Offloading):计算下移是指将计算任务从主处理器(如CPU)下移到内存子系统中的专用计算单元或加速器中执行。通过计算下移,计算密集型任务可以在专用硬件加速器或内存中的计算单元中进行处理,从而释放主处理器的负担,提高计算效率和能效。计算下移可以采用定制的硬件加速器,如图形处理器(GPU)、向量处理器、FPGA(可编程逻辑门阵列)等,这些加速器专为特定类型的计算任务进行优化。

存内处理的关键点是将计算操作和数据紧密结合,以在存储器内部进行计算,而不需要将数据从存储器传输到计算单元。这种架构可以减少数据传输的需求,降低延迟,并提高计算效率和能效。存内处理的本质是将计算操作直接嵌入到存储器中,以在数据存储位置附近进行计算。


存内计算是真正的存算一体,在芯片设计过程不再区分存储和计算单元,真正实现存算融合。存内计算是计算新范式的研究热点,本质是利用不同存储介质的物理特性,对存储电路重新设计使其同时具备计算和存储能力,直接消除存算界限,在存储原位上实现计算。(后摩时代在2023.5.12发布的H30车载芯片应满足存算一体架构方案。)

这篇关于存算一体方案解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!