云计算特有的优点和巨大的商业前景,让其成为了近年来的IT界最热门词汇之一。当然,这也与中国移动互联网的繁荣紧密相关,它们需要有相应的云计算服务作为支撑。但本文作者祁海江结合自身的经验,对国内目前的云计算服务进行观察后认为,国内云服务商多数采用过于简单粗放的“远程机房+移动大硬盘”模式,不能满足并行图形处理的计算需求,“应尽快认清技术潮流,整合前沿计算工具,以便推进云GPU并行计算服务。”那么云GPU并行计算服务有多重要?作者在文中作了深入浅出的解读,字里行间也能一窥国内云服务的夸大与事实上的落后现状。
很长时间以来,云计算成了一个热闹词汇。那么到底什么是云计算呢?它本质上是一种社会智力资源的共享,通过云端的技术封包,降低了难度门槛,使得更多用户可以采用的一种“很难很先进”的技术。
这种技术可以应用到什么地方呢?我们看到现在中国的移动互联新经济高度繁荣,这就需要有相应技术高度的云计算服务作为龙骨支撑。但现在中国的云服务商多数采用过于简单粗放的“远程机房+移动大硬盘”模式,不能满足并行图形处理的计算需求。按照当今计算技术的趋向看——“视频音图+3D+规模机器学习+大数据分析=》高强度计算任务=》云GPU并行运算”,运营商应尽快认清技术潮流,整合前沿计算工具,以便推进云GPU并行计算服务。这是因为:
1. 现行的图形、图像及3D计算在各种视频游戏、电影产业、工业设计、医疗成像、空间探索、远程通讯等方面有着广泛的应用。
随着计算机技术的发展,人们对图形和图像的处理要求也越来越高,尤其现在兴起的3D技术,使图形图像处理和3D计算已经应用到了各种视频游戏,电影产业,医疗成像,空间探索,远程通信等各个方面。
现在风靡的大型3D游戏,诸如《使命召唤》《极品飞车》等,这些游戏画面逼真,3D特效强烈,所以要求计算机对图形图像的处理能力要求也非常高。2010年放映的电影《阿凡达》开创了动画形象代替了演员的3D电影的先河,它完美的运用了3D立体画面的创造了逼真的效果使画面美轮美奂。在工业设计上,有很多广为人们熟知的3D处理软件,例如AutoCAD,Maya,SolidWorks等知名软件。在医疗成像方面,3D/4D立体成像技术,使医护人员可以获得从传统平面显示无法捕捉到的信息数据,能够360度全方位立体读取影像信息,为临床诊断提供了更丰富、精准的影像资料,大幅度降低了对病灶的漏诊,提高了诊疗质量,必将掀起医疗影像信息处理的一次技术革命。
伴随着IT互联网以及手持终端的发展和普及,要处理的数据量的爆发式增长,手机上也出现了3D游戏的发展趋势,这些都对数据图像和3D计算提出了更多的需求。
由此看来,目前对图形图像以及3D计算的巨大需求,已经要求计算机需要具备强大的3D建模能力,然而CPU的串行处理能力远不能满足高效的处理图像以及3D计算的能力,因此并行计算技术的使用日益广泛。
2. 以美国NVIDIA公司图形显示卡的CUDA运算包为代表的GPU并行运算技术,已成为工作站、服务器、个人电脑的标准组件。
GPU是电脑图形显示卡上负责图像运算工作的微处理器。著名的显示卡公司NVIDIA为其主流显卡产品设计了专门的GPU并行计算工具包,称之为CUDA(Compute Unified Device Architecture,统一计算架构)。
以GeForce 8800 GTX为例,其核心拥有128个内处理器。利用CUDA技术,就可以将那些内处理器串通起来,成为线程处理器去解决数据密集的计算。而各个内处理器能够交换、同步和共享数据。利用NVIDIA的C-编译器,通过驱动程序,就能利用这些功能。亦能成为流处理器,让应用程序利用进行运算。GeForce 8800 GTX显示卡的运算能力可达到520GFlops,如果建设SLI系统,就可以达到1TFlops。
有软件厂商利用CUDA技术,研发了一个Adobe Premiere Pro的插件。通过插件,用户就可以利用显示核心去加速H.264/MPEG-4 AVC的编码速度。速度是单纯利用CPU作软件加速的7倍左右。
NVIDIA从所有基于G80及之后架构的民用与专业显卡或运算模块皆支持CUDA技术。整体运算能力比单纯利用CPU的速度提高7倍甚至更高。Tesla GPU是针对工作站和服务器的加速器,与消费级显卡和专业图形卡相比,具有完整的双精度浮点运算性能,具备双DMA引擎可满足双向PCIe通信,板载内存达到12G(Tesla K40 GPU),具有专门的 Linux 补丁、InfiniBand 驱动程序以及 CUDA 驱动程序,针对 Windows 操作系统的 CUDA 驱动程序可实现更高性能,TCC 驱动程序可减少 CUDA 内核的系统总开销并支持远程桌面 (Windows Remote Desktop) 以及 Windows 服务
3.以CUDA为代表的GPU并行计算技术,在多个领域已发挥重要作用
在科研界,CUDA应用广泛。例如,CUDA现已能够对AMBER进行加速。AMBER是一款分子动力学模拟程序,全世界在学术界与制药企业中有超过60,000名研究人员使用该程序来加速新药的探索工作。
在金融市场,Numerix以及CompatibL针对一款全新的对手风险应用程序发布了CUDA支持并取得了18倍速度提升。Numerix为近400家金融机构所广泛使用。
在消费级市场上,几乎每一款重要的消费级视频应用程序都已经使用CUDA加速或很快将会利用CUDA来加速,其中不乏Elemental Technologies公司、MotionDSP公司以及LoiLo公司的产品。
4.NVIDIA公司非常重视GPU并行计算在云服务器上的嫁接,美国已有数家云服务商提供GPU并行的云计算服务。
2009年10月20日,NVIDIA与Mental images联合推出一款基于云计算的高端服务器——RealityServer。
2012年5月17日,NVIDIA推出利用GPU加速云计算技术。
2012年10月17日,NVIDIA推出了首款云计算虚拟GPU加速平台——VGX K2。
2013年GTC大会上,NVIDIA带来了在云计算领域最新的产品服务器平台——NVIDIA GRID。
随后几年时间里,美国多家服务器厂商推出了各自的基于GPU并行计算的云服务平台。现在提供GPU云计算的服务提供商主要有Amazon,Nimbix,Peer 1 Hosting。
5.一个让人十分费解的局面是,国内各大云服务提供商(诸如阿里云、盛大云、万网云)似乎对GPU并行计算没有任何动作。
自从云计算的概念提出,迅速在中国IT界形成了热点,大大小小的云服务商如雨后春笋般出现。几大云服务商以各种名目强调自身特色的云计算服务组合,如阿里云的“飞天”平台;百度BAE云平台;浪潮集团建立的HPC/IDC、媒体云、教育云;华为公司弹性云计算FusionCloud战略;腾讯云生态系统;华云数据公司推出的运营型PaaS平台。
[1] [2] [3] [4]