今天这篇文章,我们来聊聊算力。

        这两年,算力可以说是ICT行业的一个热门概念。在新闻报道和大咖演讲中,总会出现它的身影。


        那么,究竟到底什么是算力?算力包括哪些类别,分别有什么用途?目前,全球算力正处于怎样的发展状态?

        接下来,小枣君就给大家详细科普一下。

        什么是算力

        算力的字面意思,大家都懂,就是计算能力(Computing Power)

        更具体来说,算力是通过对信息数据进行处理,实现目标结果输出的计算能力。

       

        我们人类,其实就具备这样的能力。在我们的生命过程中,每时每刻都在进行着计算。我们的大脑,就是一个强大的算力引擎。

        大部分时间里,我们会通过口算、心算进行无工具计算。但是,这样的算力有点低。所以,在遇到复杂情况时,我们会利用算力工具进行深度计算。

        远古时期,我们的原始工具是草绳、石头。后来,随着文明的进步,我们有了算筹(一种用于计算的小棍子)、算盘等更为实用的算力工具,算力水平不断提升。

        到了20世纪40年代,我们迎来了算力革命。

        1946年2月,世界上第一台数字式电子计算机ENIAC诞生,标志着人类算力正式进入了数字电子时代。

       
        ENIAC,1946年
        再后来,随着半导体技术的出现和发展,我们又进入了芯片时代。芯片成为了算力的主要载体。

       
        世界上第一个集成电路(芯片),1958年

        时间继续推移。

        到了20世纪70-80年代,芯片技术在摩尔定律的支配下,已经取得了长足进步。芯片的性能不断提升,体积不断减小。终于,计算机实现了小型化,PC(个人电脑)诞生了。

       
        世界上第一台PC(IBM5150),1981年
       

        PC的诞生,意义极为深远。它标志着IT算力不再仅为少数大型企业服务(大型机),而是昂首走向了普通家庭和中小企业。它成功打开了全民信息时代的大门,推动了整个社会的信息化普及。

        在PC的帮助下,人们充分感受到IT算力带来的生活品质改善,以及生产效率提升。PC的出现,也为后来互联网的蓬勃发展奠定了基础。

        进入21世纪后,算力再次迎来了巨变。

        这次巨变的标志,是云计算技术的出现。

       
        云计算,Cloud Computing
        在云计算之前,人类苦于单点式计算一台大型机或一台PC,独立完成全部的计算任务)的算力不足,已经尝试过网格计算(把一个巨大的计算任务,分解为很多的小型计算任务,交给不同的计算机完成)等分布式计算架构。

        云计算,是分布式计算的新尝试。它的本质,是将大量的零散算力资源进行打包、汇聚,实现更高可靠性、更高性能、更低成本的算力。

        具体来说,在云计算中,中央处理器(CPU)、内存、硬盘、显卡(GPU)等计算资源被集合起来,通过软件的方式,组成一个虚拟的可无限扩展的“算力资源池”

        用户如果有算力需求,“算力资源池”就会动态地进行算力资源的分配,用户按需付费。

        相比于用户自购设备、自建机房、自己运维,云计算有明显的性价比优势。

       
        云计算数据中心

        算力云化之后,数据中心成为了算力的主要载体。人类的算力规模,开始新的飞跃。

        算力的分类

        云计算和数据中心之所以会出现,是因为信息化和数字化的不断深入,引发了整个社会强烈的算力需求。

       

        这些需求,既有来自消费领域的(移动互联网、追剧、网购、打车、O2O等),也有来自行业领域的(工业制造、交通物流、金融证券、教育医疗等),还有来自城市治理领域的(智慧城市、一证通、城市大脑等)。

       

        不同的算力应用和需求,有着不同的算法。不同的算法,对算力的特性也有不同要求。

       

        通常,我们将算力分为两大类,分别是通用算力专用算力

       

       

        大家应该都听说过,负责输出算力的芯片,就有分为通用芯片和专用芯片。

        像x86这样的CPU处理器芯片,就是通用芯片。它们能完成的算力任务是多样化的,灵活的,但是功耗更高。


       
                而专用芯片,主要是指FPGAASIC。       

       
               
       

        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的不同量级。具体关系如下:

       
        浮点数有FP16、FP32、FP64不同的规格
        不同的算力载体之间,算力差异是非常巨大的。为了便于大家更好地理解这个差异,小枣君又做了一张算力对比表格:


       

        前面我们提到了通用计算、智算和超算。从趋势上来看,智算和超算的算力增长速度远远超过了通用算力。

        根据GIV的数据统计,到2030年,通用计算算力(FP32)将增长10倍,达到3.3 ZFLOPS。而AI智算算力(FP16),将增长500倍,达到105 ZFLOPS。

        算力的现状与未来

        早在1961年,“人工智能之父”约翰·麦卡锡就提出Utility Computing(效用计算)的目标。他认为:“有一天,计算可能会被组织成一个公共事业,就像电话系统是一个公共事业一样”。

        如今,他的设想已经成为现实。在数字浪潮下,算力已经成为像水、电一样的公共基础资源,而数据中心和通信网络,也变成了重要的公共基础设施。

        这是IT行业和通信行业辛苦奋斗大半个世纪的成果。

        对于整个人类社会来说,算力早已不是一个技术维度的概念。它已经上升到经济学和哲学维度,成为了数字经济时代的核心生产力,以及全社会数智化转型的基石


        我们每个人的生活,还有工厂企业的运转,政府部门的运作,都离不开算力。在国家安全、国防建设、基础学科研究等关键领域,我们也需要海量的算力。

        算力决定了数字经济发展速度,以及社会智能发展高度。

        根据IDC、浪潮信息、清华大学全球产业研究院联合发布的数据显示,计算力指数平均每提高1点,数字经济和GDP将分别增长3.5‰和1.8‰。

       

        全球各国的算力规模与经济发展水平,已经呈现出显著的正相关关系。一个国家的算力规模越大,经济发展水平就越高。

       
        世界各国算力和GDP排名(来源:迟九虹,华为算力时代峰会演讲)
        在算力领域,国家之间的竞争博弈日益激烈。

        2020年,我国算力总规模达到135 EFLOPS,同比增长55%,超过全球增速约16个百分点。目前,我们的绝对算力,排名世界第二。

        但是,从人均角度来看,我们并不占优势,仅处于中等算力国家水平。

       
        世界各国人均算力对比(来源:唐雄燕,华为算力时代峰会演讲)
        尤其是在芯片等算力核心技术上,我们与发达国家还有很大的差距。很多掐脖子技术未能解决,严重影响了我们的算力安全,进而影响了国家安全。

        所以,脚下的路还有很长,我们还需要继续努力。

       
        最近,对手又打起了光刻机的主意(图片来自网络)

        未来社会,信息化、数字化和智能化将会进一步加快。万物智联时代的到来,大量智能物联网终端的引入,AI智能场景的落地,将产生难以想象的海量数据。

        这些数据,将进一步刺激对算力的需求。

        根据罗兰贝格的预测,从2018年到2030年,自动驾驶对算力的需求将增加390倍,智慧工厂需求将增长110倍,主要国家人均算力需求将从今天的不足500 GFLOPS,增加20倍,变成2035年的10000 GFLOPS。

        根据浪潮人工智能研究院的预测,到2025年,全球算力规模将达6.8 ZFLOPS,与2020年相比提升30倍。

        新一轮的算力革命,正在加速启动。


        结语

        算力是如此重要的资源,但事实上,我们对算力的利用仍然存在很多问题。

        比如算力利用率问题,以及算力分布均衡性问题。根据IDC的数据显示,企业分散的小算力利用率,目前仅为10%-15%,存在很大的浪费。

       

        摩尔定律从2015年开始放缓,单位能耗下的算力增速已经逐渐被数据量增速拉开差距。我们在不断挖掘芯片算力潜力的同时,必须考虑算力的资源调度问题。

        那么,我们该如何对算力进行调度呢?现有的通信网络技术,能够满足算力的调度需求吗?


        敬请期待下集:到底什么是“算力网络”?


        —— 全文完 ——

        参考文献:1、《中国算力发展指数白皮书》,信通院;2、《算力网络技术白皮书》,中国移动;3、《算力网络(CAN、CFN、CPN)、东数西算是怎么回事》,QianLing,知乎;4、《中国联通算力网络白皮书》,中国联通;5、《算力网络发展介绍与展望》,曹畅;6、《什么是算力网络》,吴卓然;7、《关于“算力网络”底层技术的思考》,鄢贵海;8、《AI算力需求快增长,平台化基础设施成焦点》,广发证券,刘雪峰、李傲远、吴祖鹏。


        本文由编辑推荐,原出处:https://www.eet-china.com/mp/a149845.html