异构计算简史
为什么要用异构计算,想想开头的例子就清楚了,如果人脑就是主流的通用处理器的话,那么异构计算就是为这个处理器额外配备的“计算器”或工具,用来执行更高复杂度的计算或应用,而这种复杂度主要指的就是超大规模的并行处理,对于更擅长串行处理的CPU来说是一个极大的互补。
异构计算的概念本身其实并不新鲜,最早可以追溯到30年前(在某些定义中,则是以指令集的处理模式来区分异构与否,但基本上已并非是主流概念),可要谈到异构计算的真正崛起,则要从2001年用GPU实现通用矩阵计算开始,而标志性事件发生在2005年,GPU终于在执行LU分解(用于解线性方程组)的性能方面战胜了CPU,从那之后,基于GPU的大规模并行计算方案开始崭露头角。
CPU+GPGPU是目前最为知名的异构计算组合,也是第一代异构计算的典型代表
2007年,NVIDIA推出了专门用于简化GPU应用编程的统一计算设备架构(CUDA,Compute Unified Device Architecture),它标志着GPU的通用计算应用开发开始走向易用、成熟。时至今日,GPU+CPU的异构计算平台已经越来越多的出现在高性能计算系统中(HPC),大大弥补了CPU在浮点运算方面的能力。
当然,在GPGPU之前其实还有多种芯片在向通用计算领域迈进,其中之一就是FPGA,它是最可匹敌GPGPU的异构计算技术。
2012年英特尔发布的Atom E6x5C嵌入式处理器,就已经在单Socket封装上整合了Altera的FPGA,但这个FPGA的主要任务不是计算,而是针对不同应用场景的I/O定制化与指定的信号处理,很难用于通用场合
FPGA于1985年诞生,很快就开始尝试在通用计算领域的运用,可以说比GPGPU的出现还要早。GPGPU所擅长的浮点运算,FPGA同样也在积极参与,但成果远没有GPGPU显著(看看超级计算机全球TOP500的排名配置就知道了)。在整数型运算方面,虽然FPGA更有优势,可惜那时的计算量除非个别应用,普遍并不大,CPU自己就能搞定,所以FPGA加速更多用于细分应用市场,应用规模相对来说并不大。不过,随着物联网、大数据、人工智能、机器学习等新兴的大规模数据处理需求的不断涌现,现在它的机会要来了,而且底层互联 技术也比当前的异构系统更为先进,它就是由OpenPOWER CAPI所开辟的新一代异构计算平台,主打CAPI+FPGA的组合。
而在我看来,它们其实是开启了第二代异构计算的时代。
好文章,需要你的鼓励
后来广为人知的“云上奥运”这一说法,正是从这一刻起走上历史舞台。云计算这一概念,也随之被越来越多的人所熟知。乘云科技CEO郝凯对此深有感受,因为在2017年春节过后不久,他的公司开始成为阿里云的合作伙伴,加入了滚滚而来的云计算大潮中。同一年,郝凯带领团队也第一次参加了阿里云的“双11”活动,实现了800万元的销售业绩。
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面