本文作者祁海江,青岛五脉泉信息有限公司技术主管,宾夕法尼亚大学生物工程博士,南京大学计算机硕士。多年从事图形图像、3D视觉、神经计算、机器学习等算法研究。
【摘要】云计算服务本质上是一种社会智力资源的共享,通过云端的技术封包,降低了难度门槛,使得更多用户可采用“很难很先进”技术。中国的移动互联新经济高度繁荣,需要有相应技术高度的云计算服务作为龙骨支撑。当今计算技术很明显的趋向是:
视频音图+3D+规模机器学习+大数据分析 =》高强度计算任务 =》云GPU并行运算
而中国的云服务商,目前多数采用过于简单粗放的“远程机房+移动大硬盘”模式,不能满足并行图形处理的计算需求。美国著名图形卡厂商Nvidia公司早已成功推出了基于其Cuda系统的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并行计算技术,在多个领域已发挥重要作用
n 在科研界,CUDA应用广泛。例如,CUDA现已能够对AMBER进行加速。AMBER是一款分子动力学模拟程序,全世界在学术界与制药企业中有超过60,000名研究人员使用该程序来加速新药的探索工作。
n 在金融市场,Numerix以及CompatibL针对一款全新的对手风险应用程序发布了CUDA支持并取得了18倍速度提升。Numerix为近400家金融机构所广泛使用。
n 在消费级市场上,几乎每一款重要的消费级视频应用程序都已经使用CUDA加速或很快将会利用CUDA来加速,其中不乏Elemental Technologies公司、MotionDSP公司以及LoiLo公司的产品。
4.NVIDIA公司非常重视GPU并行计算在云服务器上的嫁接,美国已有数家云服务商提供GPU并行的云计算服务。
n 2009年10月20日,NVIDIA与Mental images联合推出一款基于云计算的高端服务器——RealityServer。
n 2012年5月17日,NVIDIA推出利用GPU加速云计算技术。
n 2012年10月17日,NVIDIA推出了首款云计算虚拟GPU加速平台——VGX K2。
n 2013年GTC大会上,NVIDIA带来了在云计算领域最新的产品服务器平台——NVIDIA GRID。
随后几年时间里,美国多家服务器厂商推出了各自的基于GPU并行计算的云服务平台。现在提供GPU云计算的服务提供商主要有Amazon,Nimbix,Peer 1 Hosting。
云服务提供商
提供的云服务
服务价格
服务介绍
Amazon.com
1. 亚马逊集群超强图形计算实例
2. WorkSpace
3. AppStream
1.小型计算实例为每小时0.085美元;
2.高内存双倍超大型计算实例收费每小时1.00美元;
3.集群计算四倍超大计算实例每小时1.60美元。
1.该实例提供了云中的GPU处理能力。它为开发者和企业提供了对高度协调的GPU计算性能的即时访问。
2. 云端桌面计算服务。
3. 能够让图形计算密集型应用程序在不具备特殊GPU工具的设备上正常运行。
Nimbix
基于云计算的高性能计算基础设施和应用
每次大约是开始每节点2.00美元/小时,专用节点每月899美元,免费的数据传输
HPC应用程序透过Nimbix加速计算云服务
Peer 1 Hosting
GPU云服务( HPC Cloud )
HPC云提供基于NVIDIA GPU卡交付最终的专业级高性能计算
5.一个让人十分费解的局面是,国内各大云服务提供商(诸如阿里云、盛大云、万网云)似乎对GPU并行计算没有任何动作。
自从云计算的概念提出,迅速在中国