所在位置:
首页 >
营销资讯 >
行业动态 > 负载分化:从存内计算到网内计算,出现大量可从CPU卸载的任务
负载分化:从存内计算到网内计算,出现大量可从CPU卸载的任务
时间:2022-04-28 03:03:01 | 来源:行业动态
时间:2022-04-28 03:03:01 来源:行业动态
计算的两个核心要素:数据和计算,在数据和计算之间通过复杂的存储层次来均衡带宽、延迟、容量、成本等因素,尽可能让计算芯片对数据能做到随用随取,然而这在物理上是不可能实现的。将数据从生产侧或存储侧搬运到计算节点上也需要时间和能耗。为了把数据搬运到完成布尔逻辑的计算单元,已经消耗了90%以上的能耗了。过去50年,乘着摩尔定律的东风,单颗计算芯片的处理性能指数增长,然而访存带宽受限于管脚数和时钟频率仅能做到线性增长,相对而言数据搬运的开销被继续放大了。端到端的延迟越来越难以控制,要把处理器喂饱也变得越来越困难。为了不浪费处理器计算容量,只好通过各种共享机制来相互隐藏数据搬运的延迟和开销而这本身就是一种开销。
一个直接的想法就是将数据靠近计算芯片、或者将计算芯片靠近数据,而且是物理临近。出现了存内处理(PIM,Process In Memory)的概念,也称之为"In-Memory Computing,存内计算。例如,将一些地址计算,地址转换,校验码计算、查找表等设置在存储控制器中。但这本质上是卸载了部分CPU负载的计算到内存控制器,其实并没有把CPU完全嵌入内存,但也算是一种间接的存内计算的实现方式。还有一种更依赖新型器件技术的存算一体,比如非易失性存储单元的阻抗(或导纳)作为被存数据,当在一端施加输入数据(电压),输出就是二者的乘积,再通过模拟信号处理,模拟-数字转换后,得到CPU可以处理的二进制数据;当把这些节点组织称一个阵列,就相当于完成了一次两个向量的乘累加(MAC)操作。
另外一种存算融合的方式是近内存计算(Near-Memory Computing), 主要体现为放置更多的存储器件(包括非易失性存储器件)到片上,可以视为一种通过片上集成大内存作为一级高速缓存,这种方式更多是存储技术和集成技术来驱动的,比如已经开始采用的高带宽存储器(HBM), 得益于3D集成技术,单个存储堆栈带宽即可以达到100GB/s,相比于GDDR5的DRAM的28GB/s,有接近4倍的提升!本质上来看,CPU的存储层次之所以发展为多层、多级,也是为了使处理器更靠近数据。
中科驭数SmartNIC产品
这些技术都是局部计算和存储的融合技术,即以单机、单节点为优化对象。如果把一座数据中心视为一台计算机,正所谓"The Datacenter as a Computer", 那么计算的分布就有新的可能性。数据中心虽然可以逻辑上被视为一台计算机,但其中的节点是需要通过网络互连的。计算的分配、存储的共享、硬件资源的虚拟化等,都将成为整合数据中心资源的开销。而数据中心的CPU和GPU都不是针对数据中心的这些负载来设计的,诸如网络协议处理、存储压缩、数据加密。网卡设备在数据中心中起到了关键作用。既然网卡可以处理物理层和链路层的数据帧,为什么不继续卸载网络层和部分应用层的计算到网卡上来呢?所以网卡从只负责节点间的互连互通到可以帮助CPU处理一些底层数据处理,其名称也就从NIC(Network Interface Card)升级成了SmartNIC。网卡也从单纯的处理数据帧变成了附带更多计算业务的小服务器,拓展成真正的网内计算(In- Network Computing)。
无论是存内计算、近内存计算、还是网内计算、其最终的目的都是将数据所经历的的存储、传输、计算的环节做有针对性的处理,提升系统的整体效率。