专访阿里云专家:异构计算,GPU、FPGA、ASIC芯片将三分天下
编者按:10月11-14日,为期四天的2017杭州云栖大会(门票火热抢购中!)将再度在杭州云栖小镇起航,作为全球最具影响力的科技展会之一,本届大会将有不少阿里集团专家以及各企业行业领袖的精彩演讲。从今天开始,云栖社区将会对大会嘉宾做一系列专访,想了解嘉宾以及最新议题信息请关注“云栖大会”公众号。今天,我们采访的是阿里云虚拟化平台负责人张献涛,他将在10月的云栖大会上分享他对异构计算领域的理解以及未来趋势的解读。
在IT界,异构计算并不是一个新兴的词。
近十年来,计算行业经历了从32bit、“x86-64”、多核心、通用GPGPU以及2010年“CPU—GPU”异构计算的变迁。而最近几年,随着人工智能、高性能数据分析和金融分析等计算密集型领域的兴起,异构计算才突然火了起来。
因为传统通用计算的方式已经无法满足我们对计算能力的需求,异构计算被认为是现阶段挑起计算大梁的关键技术,阿里云异构计算产品解决方案就在这样的大环境下诞生了,这支团队的掌舵人正是张献涛。
张献涛,花名旭卿,武汉大学信息安全博士,加入阿里巴巴前,他就职于英特尔亚太研发中心,是Xen、KVM等多个开源虚拟化项目的主要贡献者,曾担任Xen/IOMMU以及KVM/IA64项目的Maintainer;同时,他也是Intel HAXM加速器的主要作者和贡献者,并因此获得英特尔最高成就奖。
2014年,张献涛正式加入阿里巴巴任资深专家,目前在阿里主要负责虚拟化技术、高性能计算产品、异构计算产品、以及一些创新类型产品的技术和研发的团队。
在这次访谈中,张献涛分享了目前企业使用异构计算方案的痛点,他还深入介绍了阿里云在均衡异构计算资源所做的工作。
异构计算的机遇与挑战
异构计算是指不同类型的指令集和体系架构的计算单元组成的系统的计算方式,目前 “CPU+GPU”以及“CPU+FPGA” 都是最受业界关注的异构计算平台。它最大的优点是具有比传统CPU并行计算更高效率和低延迟的计算性能,尤其是业界对计算性能需求水涨船高的情况下,异构计算变得愈发重要。整个计算行业生态无一不在此发力,芯片企业投入了大量的资金,异构编程的开发标准也在逐渐成熟,而主流的云服务商更是在积极布局,一时间,异构计算大有取代传统同构计算之势。
张献涛也表示,异构计算能够很好的满足人工智能、高性能数据分析、金融分析等计算密集型领域的计算需求,而这一技术会逐渐取代原来通用计算不擅长的部分。
但是在光鲜亮丽的外壳之下,对于一般用户来说,异构计算的采购、部署以及使用门槛对绝大多数企业来说都很高。对此,张献涛主要谈到以下几个痛点:
1.采购成本高:用户小量采购基本上没有议价能力,特别是购买FPGA板卡,量少的话采购价格特别高。
2.交付周期长:通常用户从开始需要采购,到机型选择、硬件架构设计、供应商选择、机房选择、财务审批等流程通常需要几个月的时间。
3.没有弹性:采购完了GPU/FPGA的数量就固定了,任务少的话多买的GPU/FPGA就浪费了,任务多的话GPU/FPGA数量又不够用。
4.没有硬件红利:采购完了型号就固定了,如果有新的GPU/FPGA架构上线只能追加预算购买,老的GPU/FPGA性能跟不上应用了。
5.数据孤岛:线下的GPU/FPGA和线上的服务无法打通。
另外,他还补充道,做FPGA产品的最大挑战是整个FPGA的生态环境很差,具备FPGA开发能力特别是开发FPGA做计算加速的客户非常少。为此,我们会在云上建立IP开发市场并且引入一系列的FPGA IP合作伙伴,并推动建立云上FPGA的开发标准,丰富整个FPGA的开发生态环境,吸引更多的IP开发厂商和合作伙伴把他们的IP放在IP开发市场上,去服务他们的最终用户,从而进一步丰富整个FPGA的生态环境。”
阿里云在短时间里先后推出弹性GPU和FPGA异构计算的解决方案,目的就是降低异构计算资源使用的门槛,对高性能计算有需求的企业可以随买随用。
云栖社区了解到,阿里云弹性GPU产品主要面向人工智能、数据分析、科学计算、电影渲染、视频图像处理、视频转码等场景,目前的应用案例包括行为数据分析、千人千面、人脸识别、视频识别、图像识别、对象分类等;阿里云弹性FPGA产品主要面向人工智能、半导体设计、基因计算、视频图像处理、数据分析决策等场景,目前的应用案例包括深度学习推理、深度学习模型裁剪、非规整数据计算、视频图像处理、硬件半导体设计等。
阿里云在异构计算领域的探索
众所周知,相比CPU,GPU和FPGA拥有太多的优势,GPU有更高的并行度、更高的单机计算峰值、更高的计算效率;而FPGA的优势则主要体现在它拥有更高的每瓦性能、非规整数据计算更高的性能、更高的硬件加速性能、更低的设备互联延迟。
但在云端的解决方案上,便意味着优势的进一步放大,张献涛介绍,阿里云GPU和FPGA异构计算解决方案主要有以下特点:
1.GPU/FPGA资源即买即用,弹性伸缩。
2.超大规模资源池,满足业务峰值的GPU/FPGA数量的需求。
3.享受异构计算超摩尔定律的硬件红利,以相同的价格使用性能更强的GPU/FPGA实例。
4.最全面的异构产品线,满足人工智能训练、推理,图像视频处理等各种不同的需求。
5.产品整合:和整个阿里云产品体系深度整合,数据打通。
这些特性完美的解决了用户使用异构计算方案的痛点。张献涛还透露,现在大部分客户都在单机上训练模型,通常需要几周到一个月的时间,因此阿里云正在计划推出一款超高性能异构集群的产品。
“该产品的GPU/FPGA之间可以通过25/100Gb ROCE走RDMA协议直连,可以多机多卡,用非常多的GPU/FPGA设备集群来共同训练一个模型,大大减少用户训练的时间,从几周到一个月缩短到一天或者几个小时的级别。”
值得一提的是,阿里云异构计算解决方案也针对开发者做出了更友好的体验:
在GPU编程方面,阿里云会推出分布式多机多卡训练框架和其他GPU上的性能优化服务,能够大大降低客户使用多机多卡的门槛,从而减少客户在云上做深度学习训练的时间。
FPGA方面,阿里云会建立IP开发市场并且引入一系列的FPGA IP合作伙伴,并且会推出自研的IP系列,通过IP市场的繁荣让更多的最终用户能够享受到FPGA的性能加速。
另外,阿里云还推出了IaaS+的服务,包括发布E-HPC产品做异构集群的资源调度、账号管理和弹性伸缩,通过容器服务来做一键部署、分布式训练和弹性伸缩,通过XDL来做行为数据分析,利用阿里云自研的GPU汇编器来优化提升应用的性能,提高异构计算设备的利用率,减少资源的采购成本。
未来:GPU、FPGA、ASIC三分天下
人工智能以及其它新兴应用领域对于计算量的需求超过了通用CPU的摩尔定律的发展速度,而异构计算的性能增长速度能够满足这些新兴的方向和趋势,可以预见的是,异构计算会在今后的数据中心中占据越来越多的份额。
宏观来看,异构计算的发展也得益于国家战略的推动。例如,最近国家下发了人工智能的发展规划,人工智能已经成为国家战略,这势必会刺激异构计算的需求。当然,张献涛也坦言,虽然异构计算的应用需求越来越多,但通用计算的需求也会一直存在,二者将会长期共存。
毫无疑问,目前异构计算领域GPU处理器已经占据了主流地位,但对未来的趋势,张献涛则表示,“随着FPGA的生态环境的建立和完善、ASIC芯片的逐渐成熟,未来异构计算领域会呈现GPU、FPGA、ASIC芯片三分天下的局面,GPU、FPGA、ASIC芯片都会有自己独特的特长和应用领域,有自己独特的客户群体。”
这也是张献涛团队专注的方向,接下来团队会发布包括8卡/16卡GPU产品、下一代的Volta架构的GPU产品、新一代的FGPA的产品,而ASIC芯片的产品上云也正在研发当中。
目前他所带领的团队主要有两个目标:一方面致力于让异构计算变成用户即买即用的计算资源,提供最为全面的异构计算产品方案;另一方面致力于让用户能够用好异构资源,充分发挥异构资源的处理能力,让用户的服务更具备竞争力。也就是推动异构计算变成一种普适的计算能力。
云栖大会亮点揭秘
本次杭州云栖大会将设立异构计算/高性能计算专场、虚拟化技术专场,届时张献涛都将发表主题演讲,在大会正式开幕之前,他也向云栖社区透露了一个重磅消息——阿里云将发布几款重量级的异构计算家族产品,涉及到异构计算、通用计算、高性能计算等多个领域。他表示,这些产品都是为了解决用户在使用阿里云的过程中遇到的痛点,包括集群的管理和调度问题、云上弹性使用付费软件的License问题、实例需要即拥有虚拟机的弹性又要拥有物理机的性能、多机多卡分布式训练降低训练时间等问题。
以下是本次访谈实录:
云栖社区:异构计算能提供比传统CPU并行计算更高效率和低延迟的计算性能,这是否意味这后者将会被取代?您如何看待二者的发展趋势?
张献涛:通用计算和异构计算的需求都会一直存在,通用计算不会完全被取代。但是随着人工智能、高性能数据分析、金融分析等计算密集型领域的日益兴起,异构计算能够更好的满足这部分的计算需求,异构计算会越来越多的取代原来通用计算不擅长的部分。阿里云顺应这个趋势推出弹性GPU和FPGA异构计算的解决方案,就是为了更好的满足日渐增长的人工智能、数据分析、商业智能对于异构计算的需求,能够让他们随买随用,让异构计算不再是一种高高在上的昂贵的资源,而变成一种普适性的基础计算资源,推动人工智能等产业的发展。
云栖社区:今年1月,阿里云推出了弹性GPU和FPGA异构计算解决方案,这一方案主要面向哪些应用场景推出的?目前有哪些应用案例?
张献涛:首先,GPU的的优势包括比CPU更高的并行度、更高的单机计算峰值、更高的计算效率,阿里云弹性GPU产品主要面向人工智能、数据分析、科学计算、电影渲染、视频图像处理、视频转码等场景,目前的应用案例包括行为数据分析、千人千面、人脸识别、视频识别、图像识别、对象分类等。
其次,FPGA的优势包括更高的每瓦性能、非规整数据计算更高的性能、更高的硬件加速性能、更低的设备互联延迟,阿里云弹性FPGA产品主要面向人工智能、半导体设计、基因计算、视频图像处理、数据分析决策等场景,目前的应用案例包括深度学习推理、深度学习模型裁剪、非规整数据计算、视频图像处理、硬件半导体设计等。
除此之外,因为现在大部分客户都在单机上训练模型,通常需要几周到一个月的时间,我们计划推出一款超高性能异构集群的产品,该产品的GPU/FPGA之间可以通过25/100Gb ROCE走RDMA协议直连,可以多机多卡,用非常多的GPU/FPGA设备集群来共同训练一个模型,大大减少用户训练的时间,从几周到一个月缩短到一天或者几个小时的级别。
云栖社区:异构计算方案的优势很明,但仍然处于发展初期,目前异构计算模式面临的最大挑战是什么?
张献涛:目前用户自己采购异构计算的话遇到最大的痛点包括:
(1)采购成本高:用户小量采购基本上没有议价能力,特别是购买FPGA板卡,量少的话采购价格特别高。
(2)交付周期长:通常用户从开始需要采购,到机型选择、硬件架构设计、供应商选择、机房选择、财务审批等流程通常需要几个月的时间。
(3)没有弹性:采购完了GPU/FPGA的数量就固定了,任务少的话多买的GPU/FPGA就浪费了,任务多的话GPU/FPGA数量又不够用。
(4)没有硬件红利:采购完了型号就固定了,如果有新的GPU/FPGA架构上线只能追加预算购买,老的GPU/FPGA性能跟不上应用了。
(5)数据孤岛:线下的GPU/FPGA和线上的服务无法打通。
所以阿里云推出了弹性的异构计算解决方案,能够很好的解决用户的这些痛点:(1)GPU/FPGA资源即买即用,弹性伸缩。(2)超大规模资源池,满足业务峰值的GPU/FPGA数量的需求。(3)享受异构计算超摩尔定律的硬件红利,以相同的价格使用性能更强的GPU/FPGA实例。(4)最全面的异构产品线,满足人工智能训练、推理,图像视频处理等各种不同的需求。(5)产品整合:和整个阿里云产品体系深度整合,数据打通。
另外弹性FPGA产品的最大挑战是整个FPGA的生态环境很差,具备FPGA开发能力特别是开发FPGA做计算加速的客户非常少,我们会建立IP开发市场并且引入一系列的FPGA IP合作伙伴,并推动建立云上FPGA的开发标准,丰富整个FPGA的开发生态环境,吸引更多的IP开发厂商和合作伙伴把他们的IP放在IP开发市场上,去服务他们的最终用户,从而进一步丰富整个FPGA的生态环境。
云栖社区:对开发者而言,异构计算的编程难度和开发成本更高,对此阿里云作了哪些工作?
张献涛:GPU编程方面阿里云会推出分布式多机多卡训练框架和其他GPU上的性能优化服务,能够大大降低客户使用多机多卡的门槛,大大降低客户在云上做深度学习训练的时间。FPGA方面,阿里云会建立IP开发市场并且引入一系列的FPGA IP合作伙伴,并且会推出自研的IP系列,通过IP市场的繁荣让更多的最终用户能够享受到FPGA的性能加速。另外阿里云还推出了IaaS+的服务,包括发布E-HPC产品做异构集群的资源调度、账号管理和弹性伸缩,通过容器服务来做一键部署、分布式训练和弹性伸缩,通过XDL来做行为数据分析,利用阿里云自研的GPU汇编器来优化提升应用的性能,提高异构计算设备的利用率,减少资源的采购成本。
云栖社区:能否谈谈对异构计算的理解?以及分享你在工作中获得的一些宝贵经验?
张献涛:随着人工智能的兴起,一些新兴应用领域对于计算量的需求以及超过了通用CPU的摩尔定律的发展速度,而异构计算的性能增长速度能够满足这些新兴的方向和趋势,异构计算会在今后的数据中心中占据越来越多的份额。最近国家也下发了人工智能的发展规划,人工智能已经成为国家战略,未来会推动国家产业升级、社会进步的方方面面,而人工智能离不开异构计算。我们的工作一方面致力于让异构计算变成用户即买即用的计算资源,提供最为全面的异构计算产品方案,另一方面致力于让用户能够用好异构资源,充分发挥异构资源的处理能力,让用户的服务更具备竞争力。我们希望推动异构计算变成一种普适的计算能力,从而推动人工智能的发展,进而推动产业升级和社会进步,改变人们的生产、生活方式。
云栖社区:您认为异构计算领域未来会有什么样的新变化?
张献涛:目前异构计算领域是GPU处理器占据主流地位,未来随着FPGA的生态环境的建立和完善,随着ASIC芯片的逐渐成熟,未来异构计算领域会呈现GPU、FPGA、ASIC芯片三分天下的局面,GPU、FPGA、ASIC芯片都会有自己独特的特长和应用领域,有自己独特的客户群体。阿里云后面会推出更加全面的异构计算产品族,包括8卡/16卡GPU产品、包括下一代的Volta架构的产品、包括新一代的FGPA的产品,另外,ASIC芯片的产品上云也在研发中。
云栖社区:在本次云栖大会上,您想分享什么话题?能否提前透露一些亮点,以及分享这个话题的初衷?
张献涛:本次云栖大会我们会发布几款重量级产品,涉及到异构计算,通用计算,高性能计算等多个领域。这些产品都是为用户提供更好的体验,解决包括集群的管理和调度问题、云上弹性使用付费软件的License问题、实例需要即拥有虚拟机的弹性又要拥有物理机的性能、多机多卡分布式训练降低训练时间等问题,敬请期待,关注云栖大会的异构计算专场,虚拟化技术专场以及弹性计算的专场。