计算种类有很多,边缘计算、异构计算,量子计算等等不胜枚举。不同计算有不同的聚焦领域和特定用途,各自发展历程也有极大差异,不过总体来说,计算是现代及未来世界解决问题的主要方法。
异构计算的意义是什么?
说到异构计算,其实对于了解电脑行业的人来说并不陌生。随着计算向多元化发展,越来越多的场景开始引入CPU、DSP、GPU、ASIC、FPGA等多种不同计算单元来进行加速计算,由此,异构计算应运而生。异构计算的核心点在于“异构”二字,说白了就是用不同制程架构、不同指令集、不同功能的硬件组合起来解决问题,这就是异构计算。
多元化的计算需求催生异构计算
Tips:异构计算的百科定义:异构计算是一种特殊形式的并行和分布式计算,它或是用能同时支持simd方式和mimd方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。它能协调地使用性能、结构各异地机器以满足不同的计算需求,并使代码(或代码段)能以获取最大总体性能方式来执行。
为什么要用异构计算?
那么为什么要用不同制程架构的硬件,而不用同一制程架构的硬件来解决问题呢?
这其中其实可能有不少人存在一定的误解,把半导体芯片与CPU划等号。但其实半导体芯片制程、工艺包含的不只是处理器,还包括存储、通信、图形等芯片。而每一种芯片并不完全是由一家厂商设计、生产、封装,各家技术实力不同,那么在各自领域推进芯片制程工艺的速度就不同。比如处理器芯片进入14nm制程节点,但GPU芯片可能还在22nm制程节点,通信芯片可能还在28nm制程节点,且不同芯片之间的架构不同,所以如果没有异构技术的话,很难将这些不同规格的芯片封装到一个主板上使用。
异构计算有哪些种类?(构成方式来看)
异构计算并非什么新兴技术,从上世纪80年代开始,异构计算就已经出现并开始逐渐被尝试投入到实际应用领域。以往异构计算主要分为两种:
一种是芯片级(SoC)异构计算;
另外一种是板级集成异构计算。
二者顾名思义,芯片级(SoC)异构计算就是将不同制程、不同架构的芯片进行异构来解决计算问题。比如去年英特尔在冥王峡谷上推出的KabyLake-G平台,就是将英特尔处理器与AMD Radeon RX Vega M GPU进行异构,来解决运算和图形计算问题。
板级异构计算同样很好理解,就是将不同功能的主板进行异构,通过高带宽连接来解决计算问题。
传统异构计算有什么优势和不足
不过,传统异构计算各自之间都存在一些优势和不足。
芯片级异构计算在功耗和性能方面有着不错的优势,但它要求设计人员对应用负载有非常深的理解,同时在设计SoC异构之前要考量耗费至少18个月的时间去做一个异构芯片到底是不是值得。另外,芯片级异构一旦完成就无法更改,如果18个月的时间里客户需求有所变化,那么就得又花费相当长的周期去重新设计、制作一颗异构芯片,整体的人力成本、时间成本非常高,且在灵活性上明显不足。
相比芯片级异构,板级异构计算的优势是比前者更加灵活。但缺点也很明显,毕竟主板和主板之间连接起来使用,一是体积天生比较大,再者就是板与板之间连接的带宽和功耗都很难达到最优解。
所以,异构计算想要有所突破,或者说是适应现在以及未来的应用需求,就需要有新的技术来支持。
重提异构计算的背景
另外可能有人会问:“以PC为例,非异构计算才是现阶段的主流,为何要考虑在异构计算上做文章呢?”
其实这里要简单交代一下半导体芯片制程的背景。大家都知道,近一年时间以来,半导体行业正在从14nm制程节点向10nm、7nm节点演进,前段时间更是有消息曝出苹果已经在布局5nm芯片了。那么大家有没有想过,在制程节点演进到5nm、3nm甚至1nm之后,微缩技术的发展还能否满足如此快速的节点迭代演进呢?如果无法满足,那么有没有其它技术可以弥补呢?
其实这就是现阶段行业重提异构计算的一个大的背景。即当制程节点演进速度放缓、新架构研发成本增高,那么要解决更大规模、更高负载的计算时,异构是一种非常不错、且行之有效的解决方案。
一直以来,半导体芯片行业的发展都聚焦在前沿技术和不断推进制程节点演进方面,但当制程工艺临近物理极限,且技术短时间内无法突破之时,我们就应该换一种思路去满足计算的要求,而非钻牛角尖般的一味“向前冲”。
所以在这种背景之下,英特尔不仅重新开始关注异构计算,而且在其基础之上提出了超异构计算概念。
超异构计算“超”在哪?
相对于芯片级和板级异构计算,超异构计算的核心点在于高灵活性和可客制化。英特尔中国研究院院长宋继强在解释超异构计算的“超”字时说:“‘超’就超在可以把很多现有的、不同节点上已经验证得挺好的Chiplet集成在一个封装里,在这个层级下可以保证体积是小的,能把它的功耗控制的再低一些的话就可以享有更高的带宽和更短的延迟。成本上一定比板集组合便宜很多,而且既快又灵活,甚至可能会比SoC还便宜。如果SoC都做10nm芯片异构,那么成本可能并不便宜,但现在是把一些10nm和14nm,甚至22nm的芯片整合使用,这样就可以很好的控制成本。”
因此,英特尔提出的“超异构计算”概念,主要是通过封装技术实现不同计算模块的系统集成,通过EMIB、Foveros这些2D、3D封装技术将多个Chiplet(小芯片)装配到一个封装模块中,一方面不像SoC异构技术那么复杂,也规避了长周期造成的灵活性不足的问题;另一方面则比传统板级异构的体积更小。
英特尔首款Foveros 3D堆叠设计的异构主板芯片LakeField
如果关注年初CES的话可能还记得,英特尔在公布10nm IceLake平台的同时,还公布了一款通过最新的3D封装技术Foveros打造的LakeField异构主板,这块小巧的主板上集成了英特尔10nm IceLake CPU和22nm Atom小核心。前者负责高负载计算处理,后者负责低负载运算,可以合理的分配算力与功耗。而且可以看到,通过这种方式异构的主板,在具备完整PC功能的同时,又能够保证小尺寸的设计。同时集成在一个主板之上,也可以规避带宽限制,达到更高的效率。
LakeField异构主板
异构计算本身要解决的主要问题
异构计算需要解决很多问题,但最主要的是不同芯片之间的互连互通,以及把不同芯片放在一起之后,如何解决功耗和散热问题。目前来看,英特尔通过Foveros 3D封装打造的LakeField给出了具有参考价值的答案。
结语
超异构计算概念的提出,很大程度上是英特尔对于制程节点演进速度放缓,半导体研发成本逐渐增高的一种有效应对策略。超异构方式由于更加灵活、可客制化特性,可以将不同制程的芯片整合在一起,因此在成本节约方面会发挥极大的作用。
在实际操作中,超异构技术是将以往已经测试过、验证过、产业都适应过的芯片立刻拿来使用,因此也规避了验证阶段的风险。比如现在22nm、28nm制程芯片已经非常成熟,通过与14nm、10nm芯片做异构封装,整体的成熟度和性能方面都不会给行业造成困扰。这是超异构计算的价值所在。