算力的字面意思,大家都懂,就是计算能力(Computing Power)。
更具体来说,算力是通过对信息数据进行处理,实现目标结果输出的计算能力。
在云计算之前,人类苦于单点式计算(一台大型机或一台PC,独立完成全部的计算任务)的算力不足,已经尝试过网格计算(把一个巨大的计算任务,分解为很多的小型计算任务,交给不同的计算机完成)等分布式计算架构。
云计算,是分布式计算的新尝试。它的本质,是将大量的零散算力资源进行打包、汇聚,实现更高可靠性、更高性能、更低成本的算力。
具体来说,在云计算中,中央处理器(CPU)、内存、硬盘、显卡(GPU)等计算资源被集合起来,通过软件的方式,组成一个虚拟的可无限扩展的“算力资源池”。
用户如果有算力需求,“算力资源池”就会动态地进行算力资源的分配,用户按需付费。
相比于用户自购设备、自建机房、自己运维,云计算有明显的性价比优势。
算力的分类:
云计算和数据中心之所以会出现,是因为信息化和数字化的不断深入,引发了整个社会强烈的算力需求。
这些需求,既有来自消费领域的(移动互联网、追剧、网购、打车、O2O等),也有来自行业领域的(工业制造、交通物流、金融证券、教育医疗等),还有来自城市治理领域的(智慧城市、一证通、城市大脑等)。
不同的算力应用和需求,有着不同的算法。不同的算法,对算力的特性也有不同要求。
通常,我们将算力分为两大类,分别是通用算力和专用算力。
大家应该都听说过,负责输出算力的芯片,就有分为通用芯片和专用芯片。
像x86这样的CPU处理器芯片,就是通用芯片。它们能完成的算力任务是多样化的,灵活的,但是功耗更高。
而专用芯片,主要是指FPGA和ASIC。
FPGA
,是可编程集成电路。它可以通过硬件编程来改变内部芯片的逻辑结构,但软件是深度定制的,执行专门任务。
ASIC,是专用集成电路。顾名思义,它是为专业用途而定制的芯片,其绝大部分软件算法都固化于硅片。
ASIC能完成特定的运算功能,作用比较单一,不过能耗很低。FPGA,介于通用芯片和ASIC之间。
我们以比特币挖矿为例。
以前,人们都是用PC(x86通用芯片)挖矿,后来越挖难度越大,算力不够。于是,开始使用显卡(GPU)去挖矿。再后来,显卡的能耗太高,挖出来的币值还抵不上电费,就开始采用FPGA和ASIC集群阵列挖矿。
在数据中心里,也对算力任务进行了对应划分,分为基础通用计算,以及HPC高性能计算(High-performance computing)。
HPC计算,又继续细分为三类:
科学计算类:物理化学、气象环保、生命科学、石油勘探、天文探测等。工程计算类:计算机辅助工程、计算机辅助制造、电子设计自动化、电磁仿真等。智能计算类:即人工智能(AI,Artificial Intelligence)计算,包括:机器学习、深度学习、数据分析等。
科学计算和工程计算大家应该都听说过,这些专业科研领域的数据产生量很大,对算力的要求极高。
以油气勘探为例。油气勘探,简单来说,就是给地表做CT。一个项目下来,原始数据往往超过100TB,甚至可能超过1个PB。如此巨大的数据量,需要海量的算力进行支撑。
智能计算,这个,我们需要重点说一下。
AI人工智能是目前全社会重点关注的发展方向。不管是哪个领域,都在研究人工智能的应用和落地。
人工智能的三大核心要素,就是算力、算法和数据。
大家都知道,AI人工智能是一个算力大户,特别“吃”算力。在人工智能计算中,涉及较多的矩阵或向量的乘法和加法,专用性较高,所以不适合利用CPU进行计算。
在现实应用中,人们主要用GPU和前面说的专用芯片进行计算。尤其是GPU,是目前AI算力的主力。
GPU虽然是图形处理器,但它的GPU核(逻辑运算单元)数量远超CPU, 适合把同样的指令流并行发送到众核上,采用不同的输入数据执行,从而完成图形处理或大数据处理中的海量简单操作。
因此,GPU更合适处理计算密集型、高度并行化的计算任务(例如AI计算)。
这几年,因为人工智能计算的需求旺盛,国家还专门建设了很多智算中心,也就是专门进行智能计算的数据中心。
除了智算中心之外,现在还有很多超算中心。超算中心里面,放的都是“天河一号”这样的超级计算机,专门承担各种大规模科学计算和工程计算任务。
我们平时看到的数据中心,基本上都属于云计算数据中心。
任务比较杂,基础通用计算和高性能计算都有,也有大量的异构计算(同时使用不同类型指令集的计算方式)。因为高性能计算的需求越来越多,所以专用计算芯片的比例正在逐步增加。
前几年逐渐开始流行起来的TPU、NPU和DPU等,其实都是专用芯片。
大家现在经常听说的“算力卸载”,其实不是删除算力,而是把很多计算任务(例如虚拟化、数据转发、压缩存储、加密解密等),从CPU转移到NPU、DPU等芯片上,减轻CPU的算力负担。
近年来,除了基础通用算力、智能算力、超算算力之外,科学界还出现了前沿算力的概念,主要包括量子计算、光子计算等,值得关注。
算力的衡量:
算力既然是一个“能力”,当然就会有对它进行强弱衡量的指标和基准单位。大家比较熟悉的单位,应该是FLOPS、TFLOPS等。
其实,衡量算力大小的指标还有很多,例如MIPS、DMIPS、OPS等。
MFLOPS、GFLOPS、TFLOPS、PFLOPS等,都是FLOPS的不同量级。具体关系如下:
不同的算力载体之间,算力差异是非常巨大的。为了便于大家更好地理解这个差异,小枣君又做了一张算力对比表格:
前面我们提到了通用计算、智算和超算。从趋势上来看,智算和超算的算力增长速度远远超过了通用算力。
根据GIV的数据统计,到2030年,通用计算算力(FP32)将增长10倍,达到3.3
ZFLOPS。而AI智算算力(FP16),将增长500倍,达到105 ZFLOPS。
目前发展:
全球各国的算力规模与经济发展水平,已经呈现出显著的正相关关系。一个国家的算力规模越大,经济发展水平就越高。
世界各国算力和GDP排名(来源:迟九虹,华为算力时代峰会演讲)
在算力领域,国家之间的竞争博弈日益激烈。
2020年,我国算力总规模达到135 EFLOPS,同比增长55%,超过全球增速约16个百分点。目前,我们的绝对算力,排名世界第二。
但是,从人均角度来看,我们并不占优势,仅处于中等算力国家水平。
世界各国人均算力对比(来源:唐雄燕,华为算力时代峰会演讲)