国内云计算的缺失环节: GPU并行计算(转)
【IT时代周刊编者按】云计算特有的优点和巨大的商业前景,让其成为了近年来的IT界最热门词汇之一。当然,这也与中国移动互联网的繁荣紧密相关,它们需要有相应的云计算服务作为支撑。但本文作者祁海江结合自身的经验,对国内目前的云计算服务进行观察后认为,国内云服务商多数采用过于简单粗放的“远程机房+移动大硬盘”模式,不能满足并行图形处理的计算需求,“应认清技术潮流,整合前沿计算工具,尽快推进云GPU并行计算服务,促进中国移动互联网整体技术水准攀升。”那么云GPU并行计算服务有多重要?作者在文中作了深入浅出的解读,字里行间也能一窥国内云服务的夸大与事实上的落后现状。
本文作者祁海江,青岛五脉泉信息有限公司技术主管,宾夕法尼亚大学博士,南京大学硕士。多年从事图形图像、3D视觉、神经计算、机器学习等算法研究。
联系方式:青岛五脉泉信息有限公司 pentoring@163.com ; pentoring@gmail.com
很长时间以来,云计算成了一个热闹词汇。那么到底什么是云计算呢?它本质上是一种社会智力资源的共享,通过云端的技术封包,降低了难度门槛,使得更多用户可以采用各种原本“很难很先进”的技术。
这种技术可以应用到什么地方呢?我们看到现在中国的移动互联新经济高度繁荣,这就需要有相应技术高度的云计算服务作为龙骨支撑。但现在中国的云服务商多数采用过于简单粗放的“远程机房+移动大硬盘”模式,不能满足并行图形处理的计算需求。按照当今计算技术的趋向看——“视频音图+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(ComputeUnifiedDeviceArchitecture,统一计算架构)。
以GeForce8800GTX为例,其核心拥有128个内处理器。利用CUDA技术,就可以将那些内处理器串通起来,成为线程处理器去解决数据密集的计算。而各个内处理器能够交换、同步和共享数据。利用NVIDIA的C-编译器,通过驱动程序,就能利用这些功能。亦能成为流处理器,让应用程序利用进行运算。GeForce8800GTX显示卡的运算能力可达到520GFlops,如果建设SLI系统,就可以达到1TFlops。
有软件厂商利用CUDA技术,研发了一个AdobePremierePro的插件。通过插件,用户就可以利用显示核心去加速H.264/MPEG-4AVC的编码速度。速度是单纯利用CPU作软件加速的7倍左右。
NVIDIA从所有基于G80及之后架构的民用与专业显卡或运算模块皆支持CUDA技术。整体运算能力比单纯利用CPU的速度提高7倍甚至更高。TeslaGPU是针对工作站和服务器的加速器,与消费级显卡和专业图形卡相比,具有完整的双精度浮点运算性能,具备双DMA引擎可满足双向PCIe通信,板载内存达到12G(TeslaK40GPU),具有专门的Linux补丁、InfiniBand驱动程序以及CUDA驱动程序,针对Windows 操作系统的CUDA驱动程序可实现更高性能,TCC驱动程序可减少CUDA内核的系统总开销并支持远程桌面(WindowsRemoteDesktop) 以及Windows服务。
3:以CUDA为代表的GPU并行计算技术,在多个领域已发挥重要作用。
在科研界,CUDA应用广泛。例如,CUDA现已能够对AMBER进行加速。AMBER是一款分子动力学模拟程序,全世界在学术界与制药企业中有超过60,000名研究人员使用该程序来加速新药的探索工作。
在金融市场,Numerix以及CompatibL针对一款全新的对手风险应用程序发布了CUDA支持并取得了18倍速度提升。Numerix为近400家金融机构所广泛使用。
在消费级市场上,几乎每一款重要的消费级视频应用程序都已经使用CUDA加速或很快将会利用CUDA来加速,其中不乏ElementalTechnologies公司、MotionDSP公司以及LoiLo公司的产品。
4:NVIDIA公司非常重视GPU并行计算在云服务器上的嫁接,美国已有数家云服务商提供GPU并行的云计算服务。
2009年10月20日,NVIDIA与Mentalimages联合推出一款基于云计算的高端服务器——RealityServer。
2012年5月17日,NVIDIA推出利用GPU加速云计算技术。
2012年10月17日,NVIDIA推出了首款云计算虚拟GPU加速平台——VGXK2。
2013年GTC大会上,NVIDIA带来了在云计算领域最新的产品服务器平台——NVIDIAGRID。
随后几年时间里,美国多家服务器厂商推出了各自的基于GPU并行计算的云服务平台。现在提供GPU云计算的服务提供商主要有Amazon,Nimbix,Peer1Hosting,SoftLayer, PenguinComputing等。
5:一个让人十分费解的局面是,国内各大云服务提供商(诸如阿里云、盛大云、万网云)似乎对GPU并行计算没有任何动作。
自从云计算的概念提出,迅速在中国IT界形成了热点,大大小小的云服务商如雨后春笋般出现。几大云服务商以各种名目强调自身特色的云计算服务组合,如阿里云的“飞天”平台;百度BAE云平台;浪潮集团建立的HPC/IDC、媒体云、教育云;华为公司弹性云计算FusionCloud战略;腾讯云生态系统;华云数据公司推出的运营型PaaS平台。
然而在形形色色的各种名号之下,各家公司的服务内容非常同质化,基本都是网络存储 + 虚拟CPU计算时段租用的模式。对用户真正的运算需求理解挖掘不够,往往只是把一些浅层的PC功能简单转移到云端,对于复杂度高、维护难度大的运算功能未能提供虚拟层的解决方案。换句话说,凡是用户在PC端已经能轻松愉快做的事(比如办公软件),云服务商不厌其烦的去劝说用户将其转移到云端,而中小企业用户感到力不从心、真正需要帮助的具有技术难度的运算功能,云服务商就一问三不知了。
近期,笔者单位由于为客户开发的应用涉及高强度的数据处理,需要并行运算。我们与多个云服务商接洽,均未见有提供GPU并行运算服务。这是一个让人难以理解的局面,电话联系云服务商相关工作人员,他们的典型反应如下:
(客服人员)“这个我们不是很清楚,帮你转接技术人员”。
(技术支持)“没怎么听说过,这个国内好像还没有吧?”
(技术经理)“我们的服务器能不能加载GPU并行运算不清楚,不太了解市场有没有这样的需求”。
高性能并行计算主要采用CPU+GPU的异构模式,这种构架已经成功的在云服务器端实现资源虚拟化。但令人迷惑的是,中国国内各大云服务商的官网连 GPU并行运算的影子都看不到,甚至接触过的各大公司技术服务及营销人员似乎对GPU并行运算毫无概念。以下我们分别就几个问题,探讨这一尴尬局面的成因:
(1)难道GPU并行运算目前在国内没有市场?
(2)虚拟化GPU并行运算在国内的实施遇见技术上的困难?
(3)各大云服务公司管理层,是否对计算需求缺乏了解、对高性能技术发展不敏感?
(4)亦或是商务决策层与先进技术圈形成脱节?
对上述的第(1)点市场因素:如前所述,随着图形图像、动画视频、3D运算、及大数据分析的广泛应用,对GPU并行运算的需求很高;而玩儿转这种高大上的前沿计算,普通中小企业在系统搭建、程序开发及维护都缺乏足够档次的常备技术队伍,因此非常需要云服务商的界入,降低此类技术的使用门槛,提供包括IaaS、PaaS、SaaS等整套共享租用服务。因此国内的市场需求是非常旺盛的。
关于上述的第(2)点技术实施因素:虚拟化GPU运用于云计算服务的技术也早已成熟。如前所述,NVIDIA公司CUDA体系与云服务器已经有了完美的对接,在此基础上美国Amazon,Google,Joyent等公司均已提供相应的商业云计算租用服务。
2014年1月,曙光公司、NVIDIA公司、思杰公司合作推出“云图”(W760-G10),具备GPU硬件虚拟化的能力;虽然尚未见有明确的云租用服务,但是可以看出,技术实现并非阻碍所在。
对上述的(3)管理层因素:近年成长起来的国内明星公司,如腾讯、阿里等,都经历了一个极短时间内的快速膨胀,很多早期人员随之自然升入高级管理层。然而,早期人员许多在自身的知识基础、学习能力方面存着严重的不足。大专生去面试本科生、研究生的现象实属常见。随着公司业务的拓展,整体技术积淀不足的弱点显露出来,管理层对技术的理解力与敏感度不够。
对上述的第(4)点因素:中国IT及互联网的发展,曾长期奉行技术“拷贝主义”,精力心思多用于摸索中国土壤上的营利模式。中国企业对于应用层面的市场敏感度是相当出色的。但是,对于深层的技术策源动向,一直是忽视的。商务决策层需倚靠技术管理层的建议,而技术管理层或者自身够不着技术前沿、或者早已脱离技术前沿;中国高校科研机构以纯文章数为导向的研究风气,培养不出既尖端又实用的新鲜血液给企业,也鲜有学术专家真正花心思做好企业顾问。种种原因,商务决策层和先进技术圈是脱节的。
因此我们认为,对GPU并行云计算的市场需求和技术实现都不是问题所在。中国有志于做好云计算服务的各个公司,有必要进一步提升其技术管理层的技术素养、商务决策层的技术意识。
【IT时代周刊批注】虽然全球云计算市场保持着平稳增长的态势,但也应看到,各个国家间的云计算产业、市场和服务现况相距非常大。以中国为例,除了上述云服务企业存在的技术和服务因素外,传统的网络安全也不容忽视。有专家就指出,国内云服务商在网络安全方面的防护措施仍比较薄弱。国内典型云服务企业发生的安全事件中有50%是传统网络攻击造成的,占比达53%,随着我国云服务用户规模的不断扩大,安全问题数量也将迅速增长。
6:云计算商应脚踏实地、聚焦本质价值:帮助众多中小公司运用前沿计算工具,提升中国移动互联新经济的技术档次。
中国过去三十多年的经济奇迹,是从无到有、从低到高的迅速变换过程。在经济层次迅速攀升的年代,昨日的成功者、今日的弄潮儿,难免不受以往经验与习惯思维的影响。出于习惯,凡起商业项目,重视商业渠道的争夺、善于造势,对于产品内涵价值的挖掘却很欠缺。此种做生意的方式,不可否认在以往也取得过巨大的成功,但是我们也看到,每当新流行概念出现,就呈现“众口一词、一拥而上、简单复制、同质单一”的局面。善于热炒,而不扎实做事,不深入挖掘概念的内涵价值,如纳米、物联、机器人、3D打印等等流行热点比比皆是。概念固然很好,不做实做真,终究增加不了硬实力。
云计算服务,通过将繁琐的技术维护的移至云端,把“很难很先进”的技术功能打包封装,降低用户使用的技术门槛,实现社会智力资源共享。而现今中国的大大小小云服务商,简单讲就是个“远程机房+移动大硬盘”模式,意义着实有限。当今世界经济几乎唯中国一枝独秀,中国名企牛气冲天,何以搞个云计算却停留在如此低的层次?归根结底还在于商务观念未脱落低水平市场中粗放竞争的历史烙印,不习惯通过深挖技术内涵,发挥内在价值而建立商务优势的路线。
云计算作为一个“很实在很技术”东西,服务对象是商业应用型公司,具有理智化决策的行为特征。脑白金式的蒙蔽营销手法登峰造极,放在这里却未必有效。中国的移动互联新经济在应用层面,欣欣向荣,活力四射,全世界数一数二。相应的,云计算服务作为其龙骨支撑,不跟上是不行的。大量的视频音图+3D+ 规模机器学习+大数据分析=》高强度计算任务=》云GPU并行运算,这是一个非常简单明了的推导链条。何必瞻前顾后,剪不断理还乱?
【IT时代周刊编后】作者的这篇文章直接点出了国内云计算与先进国家的差距。在美国,以微软、谷歌、亚马逊等巨头为代表的IT企业,正在不断巩固自身在云服务上的优势地位,而且不断向海外市场拓展。有数据显示,全球前100个云计算企业中,超过80家是美国企业。而相比之下,国内云计算市场的体量虽说也在不断增大,但云服务企业的技术和服务有待提高、服务易用性、安全性、数据的迁移与分配等都有非常大的提高的空间,要做出调整和改进,首先需要改变以硬件采购为主的市场结构才行。
国内云计算的缺失环节: GPU并行计算(转)的更多相关文章
- [信安Presentation]一种基于GPU并行计算的MD5密码解密方法
-------------------paper--------------------- 一种基于GPU并行计算的MD5密码解密方法 0.abstract1.md5算法概述2.md5安全性分析3.基 ...
- 浅说CPU并行计算与GPU并行计算
最近在学一门课,叫做“C++与并行计算”.要用到多CPU(进程)并行的原理,实现语言是C++的MPI接口.联想到上学期用到CUDA C/C++来做并行计算,就对这两门语言做一个总结,分享下自己关于并行 ...
- 科学计算 | Matlab 使用 GPU 并行计算
科学计算 | Matlab 使用 GPU 并行计算 本文转载自: https://sanwen8.cn/p/14bJc10.html Matlab下直接使用GPU并行计算(预告)< ...
- 从 2017 OpenStack Days China 看国内云计算的发展现状
目录 目录 China Runs On OpenStack 私有云正式迈入成熟阶段 混合云的前夜已经来临 China Runs On OpenStack OpenStack Days China 作为 ...
- 【并行计算-CUDA开发】浅谈GPU并行计算新趋势
随着GPU的可编程性不断增强,GPU的应用能力已经远远超出了图形渲染任务,利用GPU完成通用计算的研究逐渐活跃起来,将GPU用于图形渲染以外领域的计算成为GPGPU(General Purpose c ...
- 89、tensorflow使用GPU并行计算
''' Created on May 25, 2017 @author: p0079482 ''' # 分布式深度学习模型训练模式 # 在一台机器的多个GPU上并行训练深度学习模型 from date ...
- pytorch利用多个GPU并行计算多gpu
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Answer3664/article/de ...
- [个人论文]一种基于GPU并行计算的MD5密码解密方法
求轻喷... [顺便get一份LaTeX论文模板....还是XeLaTex好用.珍爱生命远离CJK http://files.cnblogs.com/files/pdev/paper.zip
- 【Udacity并行计算课程笔记】- Lesson 4 Fundamental GPU Algorithms (Applications of Sort and Scan)
I. Scan应用--Compact 在介绍这节之前,首先给定一个情景方便理解,就是因为某种原因我们需要从扑克牌中选出方块的牌. 更formal一点的说法如下,输入是 \(s_0,s_1,...\), ...
随机推荐
- 2014年可用的TRACKER服务器大全
udp://tracker.openbittorrent.com:80/announceudp://tracker.publicbt.com:80/announcehttp://pubt.net:27 ...
- tortoise svn 请求的名称有效,但是找不到请求的类型的数据
可能是博客园出bug了,现在无法放图,间断重复刷新十多次依然如故,弃之 这个问题是在安装完svn服务器(visual svn)后复制url,tortoise svn import 粘贴url后 出现的 ...
- tell me one of your favorite project-练习英语
原则:引导面试官,不要提很多自己不清楚的东西 [DFS模板] [BFS] q.offer(root)在最上端,q创建后紧随其后 扩展时用的是q.poll()中的head [segment tree] ...
- PHP下ajax跨域的解决方案之jsonp
首先要说明一下json和jsonp的区别? json是一种基于文本的数据交换方式,或者叫做描述数据的一种格式. var person = { "name": "test& ...
- JSF控件的immediate属性和页面生命周期
JSF中的控件基本都有immediate属性,对于这个属性的使用总结如下,更详细内容可参考Oracle官方文档. 1,为了更好的理解immediate属性,先看一下JSF页面的生命周期: JSF页面的 ...
- 如何利用jQuery post传递含特殊字符的数据【转】
在jQuery中,我们通常利用$.ajax或$.post进行数据传递处理,但这里通常不能传递特殊字符,如:“<”.本文就介绍如何传递这种含特殊字符的数据. 1.准备页面和控制端代码 页面代码如下 ...
- ubuntu 开机自动挂载nfs服务器上的home分区
通过‘fstab’也可以配置 NFS 和 SMB 的共享目录.由于涉及到的可选项很重要,并且需要了解一些协议的工作情况,您得先阅读 Samba 和 NFS . 基本语法和本地介质相差不是很多.条目中的 ...
- Android窗口背景的优化
视图有背景,每个窗口也是有背景的.每一Activity是一个窗口,每一个Activity都有不同得背景.界面的绘画顺序如下:窗口——跟视图 ——子视图.当我们的跟视图已经覆盖了整个窗口的时候 ,程序还 ...
- 编写可维护的JavaScript 收纳架
如果你看过Nicolas C.Zakas写过的任何作品,你必须承认他是个不折不扣的天才.也只有天才级的才能写出<JavaScript高级程序设计>让所有的前端攻城师人手一本.Nicolas ...
- java利用递归实现汉诺塔算法
package 汉诺塔; //引入Scanner包,用于用户输入 import java.util.Scanner; public class 汉诺塔算法 { public static void m ...