后摩尔时代,异构计算会是通用系统的唯一解决方案吗?
应用倒逼异构计算发展,产业落实却又困难重重。
说起异构计算,它起源于上世纪80年代,其在技术层面的定义很简单:不同类型指令集和体系架构的计算单元组成系统的计算方式,以区别于同构计算。不过从商用角度来看,仅看硬件,其涉及到的计算单元就包括CPU、GPU、ASIC、FPGA等,类型之多和搭配之丰富让其成为了一件让人“望而却步”的事情。
但是现在,华为、阿里等在人工智能领域有深入布局的公司均在异构计算技术上有不同程度的探索和战略规划,特别是在移动应用领域,三星、苹果等公司更是主要的参与者。继云计算之后,异构计算也逐渐发展成为了另一个具有更为广泛含义的产业发展方向代名词。
在《鲲鹏计算产业发展白皮书》(下文简称“白皮书”)中,华为这样阐释计算产业创新发展的必要性:“面对新兴应用对计算平台提出的端—边—云协同、海量多样化数据智能处理、实时分析等需求,IT基础设施需要在计算体系架构、芯片架构、业务部署架构等诸多方面进行创新来适配该需求,从而找到最优解决方案。”
这里面所提到的架构和技术创新最优方案,在不断发展的过程中,已经逐步形成了大家的共识,也就是我们所熟知的异构计算产业。
后摩尔时代,异构计算带来效率提升
说起催生异构计算产业发展起来的重要因素,应用需求的增长是主要推动力,深度学习算法的发展和快速普及则是关键的导火索,而摩尔定律的失效恰好成为最后推手。
进入后摩尔时代,整个计算机产业都从“重硬件”观念中走了出来,软件的地位随着深度学习算法的出现逐步走高。
不同于传统算法,深度学习算法的出现让处理海量数据成为可能,它对应用的渗透也让单一功能之间可以产生联动,场景中数据(如语音、文本、图片、视频等)和功能的处理因此变得复杂起来,随之而来的是整个市场中没有一种满足所有业务诉求的通用计算架构,这也成为所有企业不得不直面的困难。
以阿里巴巴的在线交易OLTP数据库系统为例来看,根据统计,OLTP每天的记录写入量达到了几十亿。从2011年开始参战双十一到2017年的双十一,系统的峰值吞吐达到了千万级TPS (transactions per second),呈倍数增长。
迅速的业务增长对服务器数量和系统存储都是一个严峻的考验,盲目加装服务器显然不符合成本预期,因此为了满足业务对性能和成本近乎苛刻的要求——在功耗和成本不做过多提升的基础上完成对逻辑复杂调度任务的执行和海量数据的高效并发处理,整个系统架构都需要改变和创新。
面对多样的处理需求,选择异构处理器、异构体系结构组成的异构系统成为企业自然而然的选择。异构计算能够充分发挥CPU/GPU在通用计算上的灵活性,及时响应数据处理需求,搭配上FPGA/ASIC等特殊能力,来充分发挥协处理器的效能,根据特定需求合理地分配计算资源。这样做的好处显而易见,在处理速度和功耗之间找到平衡,达到高效又省电的效果。
事实是它确实提升了企业处理高速并行任务的效率。华为实验室曾给出数据公开力证了“异构”设计的好处:以大数据应用为例,相比于传统处理器,鲲鹏处理器(异构处理器)的综合性能提升30%,并在同等性能条件下,功耗降低20%。
在异构计算的带动下,HSA(异构系统体系结构)逐步代替了传统的ISA(本机指令集体系结构),SoC(复杂的片上系统)、3D异构封装也成为芯片设计厂商主流的选择,而非遵从摩尔定律的约束。
可以说,异构计算切实走进了技术商用发展的舞台。
从鲲鹏看未来发展
目前,随着异构计算的商用,配合改变最大的仍然是底层芯片架构,因此芯片厂商的动作也最为频繁,除了国内几家以异构设计为关键业务的芯片设计公司,老牌厂商也纷纷迎合市场需求在异构计算技术上进行布局。如英特尔最新推出的AI平台,就包含了CPU、GPU、DSP、NNP、FPGA等一系列不同的处理核心,英伟达的机器人平台Jetson Xavier也包含了6种处理器——GPU/CPU/NPU/NVDLA等。
不过纵观整个商用市场,将异构计算盘面铺得最大的非华为莫属。通过鲲鹏生态的建设,华为首次将计算业务直接推出并落实,因此去看异构计算产业商业化的发展,从鲲鹏生态的布局可以窥得一二。
据白皮书上介绍,华为将鲲鹏计算产业定义为基于鲲鹏处理器构建的全栈IT基础设施、行业应用及服务,其中包括PC、服务器、存储、操作系统、中间件、虚拟化、数据库、云服务、行业应用以及咨询管理服务等各个细分环节。
自上个月发布白皮书以来,华为迅速在四川、河北等多地落户研发中心,发布了“华为鲲鹏”培训认证体系并与Arm、金山云等超过150家厂商建立合作。可以说,从人才、政策到上下游厂商生态建设,华为进行了非常全面的布局。
从它的动作来看,目前华为选择了政府、金融、电信和互联网等行业的主要场景。而对于未来,它是这样设想的,“随着鲲鹏计算产业向纵深发展,将逐步实现全行业、全场景覆盖,基于鲲鹏处理器的算力将会像水像电一样无所不及,为政府、运营商、金融、互联网、能源、交通、教育、医疗等各个行业带来产业变革的新机遇。”
但不难发现,鲲鹏生态的建设免不了一场浩大工程,除了要与海内外生态厂家合作,它还要投入到操作系统、编译器、工具链、算法优化库等的开发和维护,同时针对数据中心大数据、分布式存储、云原生应用等场景,开发基于鲲鹏处理器的各类解决方案产品,这都不是一朝一夕可以达成的。
难啃的“骨头”,需合力破生态的局
由上看出,异构系统所涉及的环节十分之多,华为面临的困难是十分明显的,整个异构计算商业化进程的推进阻力也是显而易见:每个环节都要创新意味着上下游厂商均向一处使力,这不仅仅涉及到各厂商自身的创新,上下游的配合、标准的建立都将成为一个浩大的工程。
我们了解到,在硬件领域,整机厂商行业整体的利润率就比较低,且设计能力参差不齐,在考虑兼容性等性能的条件下做出设计上的改变显然难如登天;而在基础软件领域,由于此前产业的发展,现在已经形成不同芯片不同基础软件的“百花齐放”状态,做好系统之间的兼容显然也不是容易的事情;至于行业应用领域,也存在着用基于传统计算架构的行业标准来评估新计算架构,制约行业应用往新计算架构迁移的问题。比如HPC行业普遍采用衡量双精度浮点计算能力的HPL标准来评估系统性能,但这并不符合内存密集型等应用的业务实际需求。
由此不难发现,虽然异构计算带来的计算效率提升是指数级的,但是它需要有配套工具、基础设施等,其带来的生态问题也是严峻的。
针对存在的问题,华为发展鲲鹏计算产业给出了几大关键举措:为帮助厂商快速开发基于鲲鹏处理器和PC等计算产品,降低系统设计和开发难度,华为自己开发服务器主板和PC主板;支持整机厂商基于鲲鹏处理器主板发展自由品牌;软件层面的开源。
但是,显然还不够。
异构计算生态的建设少不了华为这样的巨头去推进,但作为商用个体,华为的号召力难免要弱;同时,几大举措虽然指出了大方向,但是关键技术至今尚未显露,如华为盛推的鸿蒙系统,这必然会大大降低上下游厂商的士气和兴趣。而且从短短32页的白皮书来看,华为对于鲲鹏计算产业的设想细则不够明晰,这难免会让人产生质疑。此外,未来计算产业创新多少有些伤经动骨,生态重建难度之大可想而知。
异构计算是一块难啃的“骨头”。
不过由需求推动,市场里不同领域内也涌现出了成功案例,它们提醒我们,从更长远的角度去看,也许需要给异构计算自然发展更多的时间。
目前,在硬件层面,高通、Intel等纷纷在各个领域做起了异构平台,寒武纪、谷歌等公司也为云或端侧真正的异构处理器的设计贡献了思路;同时在基础软件层面,为了发展异构系统,2012年HSA基金会就已经成立,并取得了一定进展:简化了异构编程,推出了免版税的开放规范、创建了标准和可全面运行的生产系统,允许使用许多常见的编程语言(包括C / C ++、Python、OpenCL、Java等)对不同类型的处理器进行编程。可以说星星之火已然点起。
最后
今年,从各个公司的动作和各大报道上可以察觉出,“异构计算”来势汹汹。在华为的白皮书中我们可以看出,异构计算的提出源于需求催生的架构创新,但是在寻求技术与架构创新的路上,如何落实异构计算成为最大的难题。
在技术发展历史上,无论是人工智能还是半导体领域,其发展都超过了一个甲子,相比较来看,诞生于上世纪80年代的异构计算确实显得年轻了许多,因为所涉环节之多,它很容易让人提出质疑:现在过多谈论异构计算生态是否为时过早?
不得不说,异构计算产业的落实,必然是一件需要技术和生态两方面支撑的事情,道阻且长。
最后,记得关注微信公众号:镁客网(im2maker),更多干货在等你!
硬科技产业媒体
关注技术驱动创新