超级计算机为我所用
- 来源:微型计算机 smarty:if $article.tag?>
- 关键字:计算机 smarty:/if?>
- 发布时间:2010-06-29 10:42
在七八年前,以光盘为介质,在本机运行的即时战略和3D射击游戏是当时PC游戏的绝对主导,那个时代诞生的很多名作至今让人难忘。随着时间的推移,以CS为代表网络对战3D游戏代替了单机3D游戏,引领了几年的风潮。再往后,网游中的淘金故事让电子游戏实现彻底的网络化。
而在未来的十年,云渲染将为游戏业界注入新一轮的活力。
从云计算到云渲染
2007年10月,Google与IBM共同在学术界发起“云计算(cloud computing)”计划,该计划的核心内容是利用超级计算系统为用户提供远程计算服务,实现计算资源的共享和灵活调用,降低学术机构购买计算设备的开销。之后,云计算的概念被进一步的深入阐述,而作为云计算思想“发源地”的SUN公司,也实质性地发展了云计算的理念,它指出未来的计算资源将会变为像电力、自来水一样的基础资源,用户上网就可以获取更强大的计算性能或更多的应用,而不仅仅依赖于单机环境—早在1994年,SUN所提出的“NC,Network Computing”就是指这种计算模式,但当时的网络形态非常初级,NC无法得到大面积的推广,只有在银行、证券、零售业等机构中才得以应用。
与NC相比,云计算的概念显然大大向外延伸了。它将计算能力作为一种资源于互联网上共享,而在现时的互联网条件下,云计算已具有高度可行性,作为提出者的Google其实已经在提供云计算服务,比如众所周知的Gmail、Google Docs、Google Picasa等业务,微软公司也在发展自己的在线Off ice,这其实都是云计算的范畴。然而,广义的云计算远不仅于此,除上述Web应用外,云计算还涵盖了计算能力资源的获取,用户可以向云供应商购买相应的计算量,然后通过PC这一“客户端入口”将任务传达给远程的超级计算机,待任务执行完毕后,再将结果返回给用户。
这种应用模式非常适合那些科学计算、气象预报、太空探索、DNA测序、高清视频处理等需要极高运算量的应用,一个普通的学术机构所购置的超级计算机也属于比较初级的水准,而云计算环境下的超级计算机对于这类应用而言则没有上限,它可以快速地完成用户提交的任务。而对消费级用户来讲,云计算可以提供数万倍于消费级PC的性能,同时单位计算成本又远低于传统PC,并且摆脱了对终端设备的依赖。用户只要连网并缴纳费用,就可以便利地使用这些资源—在这套系统中,计算能力实际上演化成为类似于水、电及燃气一般的基础资源。毫无疑问,这对于IT工业来说不吝为一次技术革命。
作为PC用户最热衷的应用,3D渲染同样需要耗费极大的运算能力。那么,将3D渲染从本机迁移到云计算平台是否可行呢?在2009年1月份的CES展会上,AMD展出一套名为“AMDFusion Render Cloud”的云渲染概念平台,将云渲染模式带入现实。
虽然在整个2009年度,人们云计算更多停留在讨论阶段,对网络带宽要求更高的云渲染的关注也逐渐降温,但如果我们将目光放远到十年后的未来,便会发现云渲染同样将会成为关键性的应用形态。
云渲染的应用模式与优势作为云计算的子集,云渲染平台也是利用相同的模型,即由远程的超级计算机提供强大的计算能力,只不过在云渲染平台中,核心运算部件不再是CPU,而是专司3D图形渲染任务的GPU,这套系统中包含了数量巨大的顶级GPU,借此来提供超越PC几百倍甚至上千倍的渲染性能。
云渲染将令用户终端获得彻底解放。我们先来看看云渲染的应用模式:首先,用户的终端可以是PC、笔记本电脑、上网本、智能手机或者iPad这类带有显示屏和浏览器的设备。如果用户需要执行某个渲染任务、比如运行3D游戏,在点击程序的入口之后,程序会自动将渲染请求发送至远程的云平台中,由云平台负责实际的渲染工作,渲染生成的画面以图片的形式传送给用户的终端加以显示—用户甚至可以通过Web看到这些渲染的结果。
在这样的云渲染系统中,终端设备变得无关紧要,因为终端本身的功能只是发送请求、接收数据和显示数据,不涉及任何3D渲染工作,这意味着本机的GPU甚至可有可无,只要具有显示输出功能即可。用户想要获得什么样的渲染精度,只要支付相应的费用即可—譬如普通的中等精度和高精度的3D画面渲染,在价格上有区别,用户根据自身的情况来购买相应的服务。这种模式实际上是将3D渲染能力当作可随时随地获取的基础资源,条件只是设备能够高速地与云平台相连接。
在这套系统中,我们可以将终端设备比作家中的水龙头或插座,高速网络接入则相当于水管或电线,云平台的超级计算机系统则相当于水厂或电厂。相信很多用户都会有这样的疑虑:现行的单机渲染模式各方面的表现都属不错,尽管无法提供电影级画质,但也未有显著的瓶颈。
从表面上看,如果云渲染平台没有足够多的额外好处,将很难让用户接受这样的转变。但这样的怀疑其实比较多余,因为相对传统模式,云渲染应用优势巨大:
第一,云渲染令画面效果与终端的配置完全脱离关系。换个角度说,任何一种终端都可以获得卓越的3D效果,比如你可以在iPad上以超精美的画质、流畅地玩诸如《极品飞车13》这样的大作。借助云渲染应用,你可以在候机室、汽车上以及无聊时依靠3D游戏来打发时光。
第二,云渲染模式可以为用户节省开支。一般来讲,只要不是发烧的游戏玩家,大家对于大型3D渲染的需求并不会很多,云渲染提供一种“按需付费”的模式:只有当你需要用到它时才缴纳费用,这意味着只要低廉的支出就可以满足要求。而在现行环境下,即便你只是“偶尔”需要大型3D渲染应用,那么也不得不花上高价购置高配置的PC,并且在两年后它就过时了,你大概不得不继续重新再破费一次。与此形成鲜明对比的是,云渲染只要求小额的费用支出,同时不必担心折旧问题,并且资费标准会按照摩尔定律递减,具有非常好的经济性。
第三,云渲染令电影画质的渲染成为可能。我们在很多好莱坞大片中都见识到计算机的威力,比如《阿凡达》、《爱丽丝梦游仙境》的场景其实都由计算机渲染生成,但它们的画面精度与真实毫无二致—做到这种终极效果其实没有秘诀,它是依靠计算机长时间的渲染一帧一帧地生成,制作半小时的画面往往需要花费数个月甚至更长的时间。3D游戏界的最终梦想就是让画面变得完全真实,同时又必须实时渲染生成。显然,这种构想不可能在目前的PC中实现,未来的PC系统若要具备这样的能力恐怕也需要得在十多年甚至二十年的时间。但通过云渲染平台,这个过程可以被大大加速:云渲染中大量的GPU阵列将具备实时渲染高精美画面的能力,只要用户能够为此付费,便能够在终端中亲身体验——尽管用户支付的费用可能不菲,但至少能够在技术上成为现实。
第四,云渲染适用的范围不仅仅只是狭义中的3D游戏。实际上,我们有很多的日常任务都可以通过它来完成—比如,当你要对一系列数码图片进行复杂的处理,而你的终端设备硬件配置不够强悍,此时便可以由云渲染平台代劳;或者你想对拍摄下来的一段视频进行优化操作,同样也可以让云平台帮你处理。只要你手上有一部基本的操作终端,就可以完成各种各样复杂的应用,这实际上将用户从笨重的PC中解放了出来。
对运营者来说,推行云渲染平台同样有诸多好处。SUN公司在被甲骨文公司收购前就是云计算的鼎力支持者,它认为云渲染应用能够让自己的服务器业务找到第二春—抱同样想法的还有IBM公司。NVIDIA和AMD或许对此会喜忧参半,不过虽然云渲染会大大削弱终端对GPU的渴求,但是随之蓬勃而起的云渲染计算系统却需要更多的高性能GPU,它们甚至可以借助手中的GPU资源直接介入到云平台的建造,摇身一变成为资源供应商,分享到额外的商业利润。
游戏厂商同样会欢迎这种变化,实际上它们自身几乎不需要作出什么调整,同样能够通过出售各种各样的游戏道具获利。同时云渲染平台可以让游戏的服务器变得更加集中,外挂、破解更加难以进行。另一方面,游戏运营商将具有极好的伸缩性:它们不再需要斥巨资自己架设服务器系统,并承担可能出现的玩家不足,投资浪费的风险,而只要在游戏上线之初向云供应商租用相对少量的渲染资源,随着玩家人数的提升,再相应增加渲染资源的购买量。这种方式可以让游戏厂商从繁琐的服务器保障中脱身,将精力集中在游戏作品本身上面。
再者,云渲染平台所具有的超强3D渲染性能,足以让游戏厂商构建更为真实、宏大的游戏场景,支持上百万人同时在线,这种模式所提供的画面精美程度将远超现时流行的各种网络游戏。
从开发环境到网络接入:云渲染将面对的挑战要创建云渲染系统,不仅只是需要高性能的超级计算机和高速网络连接。
更为关键的是,软件系统必须为此作好准备,而这涉及到用户终端、通信协议和云渲染服务端三个领域。
其中用户终端的改变最为简单,它其实是一种减法操作,不再需要复杂、庞大的功能,只要能够提供稳定快速的浏览器即可。除了Web方案,很多软件开发者会更喜欢独立的程序入口,不过这个入口同样非常简单,它仅仅只要提供指令的输入以及接收来自云端的输出结果。软件系统实际上是运行于云端的超级计算机系统中。
用户终端与服务端需要快速的通讯,这主要依赖于高速的网络系统,但对软件开发者来说,采用何种包传输机制同样非常重要,在带宽限定的条件下,要获得更流畅的画面显示,唯一的办法就是采用压缩技术,将数据包的容量有效缩小,使得单位时间可以传送更多的图像数据,开发者显然需要在这里下一番功夫。另外,包传输机制也必须解决安全性问题,确保数据包不会被破解或篡改—在这些方面,现行的软件开发水平其实已非常成熟。
软件开发者需要面对的最大改变,就是原本只是为PC平台编程,而现在要为超级计算系统编程—这完全是两个概念,因为云端的超级计算机拥有大量的处理器、GPU以及内存资源,如何充分利用这些硬件资源就是一个挑战。
PS3、Xbox 360以及多核CPU的普及,一定程度上带动了游戏开发者对多核平台的优化,但这还远远不够。在短时间内,游戏开发者很难适应从PC到超级计算机的转变,而保守估计,这种过渡大约需要耗费五年以上才能达成。
软件开发并不是云渲染能否商用化的唯一障碍,网络接入速度也是很关键的制约。我们知道,任何一款3D游戏要想保持流畅度,帧速至少都要在30f ps以上,一般在60f ps之上才是比较理想的。游戏的分辨率以最高1920×1080作为基准,正常一幅该分辨率的图像需要占据300KB~400KB之间,60fps帧速就意味着每秒需要传输18MB~24MB的数据,相当于必须占用144Mbps~192Mbps的网络带宽。与此形成鲜明对比的是,在我国,4Mbps接入已经是个不错的速度,绝大多数用户还挣扎在2Mbps ADSL的低标准下,显而易见,这样的网络环境仅可提供单纯的浏览,云渲染根本就无从谈起,虽然中国电信等基础运营商正在向20Mbps宽带发起努力,但是很显然这个速度也无法满足云渲染的需要,何况短时间也根本不可能达成。相比之下,欧美日韩等地区的网络状况就显得非常理想:50Mbps只是非常基础的标准,目前网速最快的当属韩国,95%的家庭在2009年9月前就已经实现平均163Mbps的超快接入—与云渲染的标准相比,仅有韩国能勉强达到这个水平。不过别高兴得太早,云渲染平台的最主要应用应该是移动终端,这也意味着无线网络要提供高达144Mbps~192Mbps的接入,显然3G是指望不上了,而八字还没一撇的4G时代估计都很难满足这一要求。
网速的限制让人非常沮丧,不过并非没有解决之道。游戏开发者可以通过压缩传输技术来解决问题:在云端,超级计算机将渲染生成的画面进行实时压缩后传送,用户端收到后解压显示,由于云端具有强大的性能,压缩-解压所产生的延时可以控制在微秒级别,用户在主观上无法感受到差异。通过强有力的压缩技术,对网络接入带宽的要求可以大大降低,至少在欧美日韩等地区目前就可以开展相关应用。
集中式与分布式:云渲染的服务端系统构建如果没有足够多的好处,游戏厂商很难尝试云渲染平台,毕竟这是一个非常激进的计划。我们认为云渲染的应用很难一蹴而就,它必然要落后于其它的云计算应用。
目前应用最为广泛的当属Gmail和Google Docs套件,Gmail就不必多说,我们关注的Google Docs受到网速的限制,国内鲜有企业开始尝试,但经过我们的试用,在4Mbps带宽条件下,Google Docs已经具备不差的可用性,反应延迟完全可以接受,目前美国已经吸引大量的中小企业使用。随着时间的推移,更多云服务将会不断推出,涉及到科学计算、效果图生成、动画制作、电影特技等诸多领域,对于这些不需要实时获得输出结果的应用来说,对网速的依赖性大大降低,而由于云计算平台的显著优势,我们认为它将能够在今后五年快速地流行,并有望成为计算资源利用的主要方式。
伴随着各类云应用的广泛流行,云渲染也将拉开序幕,这种过渡将会以自然地方式进行,一旦用户体验到云渲染的巨大优势,传统的单机渲染模式便会被逐渐取代。整个计算工业真正地从以PC为中心发展到以网络为中心。这种转型也意味着巨大的商业机会,哪一个企业能够率先占领圈地市场,便有更大的机会获得成功。
不过,云服务商之间的对抗,更多在于硬实力:谁拥有的服务器数量更多,谁能提供更高的计算资源,谁就能够占据优势。其实这很好理解,就像拥有发电量多的电厂总有更高效益一样。根据最新数字,目前在全球服务器版图中,Google拥有百万台,Intel有大约10万台,而微软拥有30万台,并以每月1万台的速度递增,大力抢滩云计算市场。
与常规的服务器不同,云渲染是以GPU为核心,这意味着运营商将从头开始搭建云渲染平台。大型游戏运营商一定会想搭建自己的云端系统,但这项高昂的投资却不是每一个运营商都能接受。作为三大游戏企业,索尼、微软、任天堂无疑将会在恰当的时候搭建自己的云渲染平台,将游戏主机升格到网络时代。NVIDIA、AMD等传统的图形厂商一定也不甘寂寞,因为新兴的云端市场代替传统PC市场,而云端客户的GPU采购量都是数以万计并且不会轻易更换平台,这对于竞争双方而言都是残酷的考验,为避免一旦落败全盘皆输,NVIDIA和AMD都将不得不直接搭建自己的云渲染平台,为游戏运营商和终端用户提供服务。游戏运营商租用这些渲染资源,然后再与自己的游戏应用打包销售给终端用户。
NVIDIA和AMD则
从传统的销售GPU获利转移到租用渲染资源获利。
拥有网络资源的电信运营商也有望直接杀入这一市场。目前,电信运营商最多只是出售机房资源,云渲染令计算力也成为一种基础资源,介入这一领域非常自然,何况电信运营商将在网络带宽方面占有先天的优势。
集中式的云服务器并非唯一的解决方案,分布式计算也有机会成为云渲染的重要选择。对于效果图生成、影像处理等不需要实时结果的渲染应用来说,分布式计算会在成本方面占据优势,同时分布式计算不需要昂贵的硬件部署,具有高度的弹性,有希望占据云渲染的半壁江山。
在2009年11月,AIO科技为首的“计算资源互助联盟”(Associationfor Computing Resource Sharing简称ACRS)率先推出了“云渲染”服务(Cloud Render):任何个人或者企业,只要与ACRS签署官方协议、即可参与这个计划,前提是计算机系统必须是Mac OS或Linux。ACRS会根据接到的渲染任务的情况向你提出资源请求,你的计算机会根据自身状况作出判断,划出一定的空闲计算能力供ACRS调用。反之,假如你有某个渲染任务的需要,ACRS同样会发出请求给联盟中的其他会员,让他人的计算机为你执行渲染服务。
分布式计算的关键在于控制软件的设计,该软件同时包括服务端和客户端两种功能:服务端负责划拨本机资源给其他用户,客户端则负责本机提出的渲染请求。在ACRS系统中,还有一个核心服务器承担着任务接收和指派的功能,比如它会将一个视频处理任务分解为大量的计算片,然后分别将这些计算片分配给众多联盟成员,之后再将画面按照次序重新整合。
云渲染:又一个延伸的战场
G PU无疑是云渲染应用的核心,以Radeon HD 5870和GeForceGTX480为代表的新一代GPU都具有惊人的浮点计算能力和3D渲染能力,NVIDIA与AMD也早已发展出诸如Hybrid SLI、CrossFire在内的多GPU并行渲染技术—虽然这些技术暂时大多应用于单部计算机内,但将它们扩展到多部计算机系统间,允许成千上万个GPU并行运作也不会有太大的技术难度。
在这一领域,NVIDIA的Tesla Server平台走在前面。这套平台目前已发展到第三代,GPU核心更新为Fermi架构,同时提供个人超级计算机和TeslaGPU计算集群,后者面向数据中心,费效比远优于传统的超级计算机方案。同时,Tesla计算集群也很好地适应云渲染的需要—作为计算核心的Tesla本身就是GPU,3D渲染是它的专长所在。从这个角度来看,云渲染的硬件环境其实已经非常成熟。
除了3D渲染,云渲染应用还将涉及电影特效制作、高清视频处理、科学计算等需要高计算能力的任务,传统的超级计算机平台虽然速度要慢得多,但是编程界面非常友好,开发者可以很快编制出云渲染平台的各类应用。而TeslaServer在这方面也不逊色,NVIDIA的CUDA环境提供了从程序语言、开发工具到编译器的完整开发平台,支持面向对象的开发方式,也已为图像、视频工业和学术界所广泛采用,因此对于视频类的云渲染应用来说,采用Tesla Server作为云服务端也不会给开发带来多少阻碍。
AMD对此后知后觉,这大概与它在近几年糟糕的财务状况有关,在GPU领域,AMD将精力集中于传统的PC市场并获得出色成绩,独立显卡的市场占有率已超越NVIDIA。在专业领域,AMD虽然也很早就推出FireStream流处理卡,但它并未提供完善的开发环境,也没有将超级计算作为重点,已经居于绝对的劣势。这让它很可能在云渲染平台中继续扮演追赶者的角色。
……
而在未来的十年,云渲染将为游戏业界注入新一轮的活力。
从云计算到云渲染
2007年10月,Google与IBM共同在学术界发起“云计算(cloud computing)”计划,该计划的核心内容是利用超级计算系统为用户提供远程计算服务,实现计算资源的共享和灵活调用,降低学术机构购买计算设备的开销。之后,云计算的概念被进一步的深入阐述,而作为云计算思想“发源地”的SUN公司,也实质性地发展了云计算的理念,它指出未来的计算资源将会变为像电力、自来水一样的基础资源,用户上网就可以获取更强大的计算性能或更多的应用,而不仅仅依赖于单机环境—早在1994年,SUN所提出的“NC,Network Computing”就是指这种计算模式,但当时的网络形态非常初级,NC无法得到大面积的推广,只有在银行、证券、零售业等机构中才得以应用。
与NC相比,云计算的概念显然大大向外延伸了。它将计算能力作为一种资源于互联网上共享,而在现时的互联网条件下,云计算已具有高度可行性,作为提出者的Google其实已经在提供云计算服务,比如众所周知的Gmail、Google Docs、Google Picasa等业务,微软公司也在发展自己的在线Off ice,这其实都是云计算的范畴。然而,广义的云计算远不仅于此,除上述Web应用外,云计算还涵盖了计算能力资源的获取,用户可以向云供应商购买相应的计算量,然后通过PC这一“客户端入口”将任务传达给远程的超级计算机,待任务执行完毕后,再将结果返回给用户。
这种应用模式非常适合那些科学计算、气象预报、太空探索、DNA测序、高清视频处理等需要极高运算量的应用,一个普通的学术机构所购置的超级计算机也属于比较初级的水准,而云计算环境下的超级计算机对于这类应用而言则没有上限,它可以快速地完成用户提交的任务。而对消费级用户来讲,云计算可以提供数万倍于消费级PC的性能,同时单位计算成本又远低于传统PC,并且摆脱了对终端设备的依赖。用户只要连网并缴纳费用,就可以便利地使用这些资源—在这套系统中,计算能力实际上演化成为类似于水、电及燃气一般的基础资源。毫无疑问,这对于IT工业来说不吝为一次技术革命。
作为PC用户最热衷的应用,3D渲染同样需要耗费极大的运算能力。那么,将3D渲染从本机迁移到云计算平台是否可行呢?在2009年1月份的CES展会上,AMD展出一套名为“AMDFusion Render Cloud”的云渲染概念平台,将云渲染模式带入现实。
虽然在整个2009年度,人们云计算更多停留在讨论阶段,对网络带宽要求更高的云渲染的关注也逐渐降温,但如果我们将目光放远到十年后的未来,便会发现云渲染同样将会成为关键性的应用形态。
云渲染的应用模式与优势作为云计算的子集,云渲染平台也是利用相同的模型,即由远程的超级计算机提供强大的计算能力,只不过在云渲染平台中,核心运算部件不再是CPU,而是专司3D图形渲染任务的GPU,这套系统中包含了数量巨大的顶级GPU,借此来提供超越PC几百倍甚至上千倍的渲染性能。
云渲染将令用户终端获得彻底解放。我们先来看看云渲染的应用模式:首先,用户的终端可以是PC、笔记本电脑、上网本、智能手机或者iPad这类带有显示屏和浏览器的设备。如果用户需要执行某个渲染任务、比如运行3D游戏,在点击程序的入口之后,程序会自动将渲染请求发送至远程的云平台中,由云平台负责实际的渲染工作,渲染生成的画面以图片的形式传送给用户的终端加以显示—用户甚至可以通过Web看到这些渲染的结果。
在这样的云渲染系统中,终端设备变得无关紧要,因为终端本身的功能只是发送请求、接收数据和显示数据,不涉及任何3D渲染工作,这意味着本机的GPU甚至可有可无,只要具有显示输出功能即可。用户想要获得什么样的渲染精度,只要支付相应的费用即可—譬如普通的中等精度和高精度的3D画面渲染,在价格上有区别,用户根据自身的情况来购买相应的服务。这种模式实际上是将3D渲染能力当作可随时随地获取的基础资源,条件只是设备能够高速地与云平台相连接。
在这套系统中,我们可以将终端设备比作家中的水龙头或插座,高速网络接入则相当于水管或电线,云平台的超级计算机系统则相当于水厂或电厂。相信很多用户都会有这样的疑虑:现行的单机渲染模式各方面的表现都属不错,尽管无法提供电影级画质,但也未有显著的瓶颈。
从表面上看,如果云渲染平台没有足够多的额外好处,将很难让用户接受这样的转变。但这样的怀疑其实比较多余,因为相对传统模式,云渲染应用优势巨大:
第一,云渲染令画面效果与终端的配置完全脱离关系。换个角度说,任何一种终端都可以获得卓越的3D效果,比如你可以在iPad上以超精美的画质、流畅地玩诸如《极品飞车13》这样的大作。借助云渲染应用,你可以在候机室、汽车上以及无聊时依靠3D游戏来打发时光。
第二,云渲染模式可以为用户节省开支。一般来讲,只要不是发烧的游戏玩家,大家对于大型3D渲染的需求并不会很多,云渲染提供一种“按需付费”的模式:只有当你需要用到它时才缴纳费用,这意味着只要低廉的支出就可以满足要求。而在现行环境下,即便你只是“偶尔”需要大型3D渲染应用,那么也不得不花上高价购置高配置的PC,并且在两年后它就过时了,你大概不得不继续重新再破费一次。与此形成鲜明对比的是,云渲染只要求小额的费用支出,同时不必担心折旧问题,并且资费标准会按照摩尔定律递减,具有非常好的经济性。
第三,云渲染令电影画质的渲染成为可能。我们在很多好莱坞大片中都见识到计算机的威力,比如《阿凡达》、《爱丽丝梦游仙境》的场景其实都由计算机渲染生成,但它们的画面精度与真实毫无二致—做到这种终极效果其实没有秘诀,它是依靠计算机长时间的渲染一帧一帧地生成,制作半小时的画面往往需要花费数个月甚至更长的时间。3D游戏界的最终梦想就是让画面变得完全真实,同时又必须实时渲染生成。显然,这种构想不可能在目前的PC中实现,未来的PC系统若要具备这样的能力恐怕也需要得在十多年甚至二十年的时间。但通过云渲染平台,这个过程可以被大大加速:云渲染中大量的GPU阵列将具备实时渲染高精美画面的能力,只要用户能够为此付费,便能够在终端中亲身体验——尽管用户支付的费用可能不菲,但至少能够在技术上成为现实。
第四,云渲染适用的范围不仅仅只是狭义中的3D游戏。实际上,我们有很多的日常任务都可以通过它来完成—比如,当你要对一系列数码图片进行复杂的处理,而你的终端设备硬件配置不够强悍,此时便可以由云渲染平台代劳;或者你想对拍摄下来的一段视频进行优化操作,同样也可以让云平台帮你处理。只要你手上有一部基本的操作终端,就可以完成各种各样复杂的应用,这实际上将用户从笨重的PC中解放了出来。
对运营者来说,推行云渲染平台同样有诸多好处。SUN公司在被甲骨文公司收购前就是云计算的鼎力支持者,它认为云渲染应用能够让自己的服务器业务找到第二春—抱同样想法的还有IBM公司。NVIDIA和AMD或许对此会喜忧参半,不过虽然云渲染会大大削弱终端对GPU的渴求,但是随之蓬勃而起的云渲染计算系统却需要更多的高性能GPU,它们甚至可以借助手中的GPU资源直接介入到云平台的建造,摇身一变成为资源供应商,分享到额外的商业利润。
游戏厂商同样会欢迎这种变化,实际上它们自身几乎不需要作出什么调整,同样能够通过出售各种各样的游戏道具获利。同时云渲染平台可以让游戏的服务器变得更加集中,外挂、破解更加难以进行。另一方面,游戏运营商将具有极好的伸缩性:它们不再需要斥巨资自己架设服务器系统,并承担可能出现的玩家不足,投资浪费的风险,而只要在游戏上线之初向云供应商租用相对少量的渲染资源,随着玩家人数的提升,再相应增加渲染资源的购买量。这种方式可以让游戏厂商从繁琐的服务器保障中脱身,将精力集中在游戏作品本身上面。
再者,云渲染平台所具有的超强3D渲染性能,足以让游戏厂商构建更为真实、宏大的游戏场景,支持上百万人同时在线,这种模式所提供的画面精美程度将远超现时流行的各种网络游戏。
从开发环境到网络接入:云渲染将面对的挑战要创建云渲染系统,不仅只是需要高性能的超级计算机和高速网络连接。
更为关键的是,软件系统必须为此作好准备,而这涉及到用户终端、通信协议和云渲染服务端三个领域。
其中用户终端的改变最为简单,它其实是一种减法操作,不再需要复杂、庞大的功能,只要能够提供稳定快速的浏览器即可。除了Web方案,很多软件开发者会更喜欢独立的程序入口,不过这个入口同样非常简单,它仅仅只要提供指令的输入以及接收来自云端的输出结果。软件系统实际上是运行于云端的超级计算机系统中。
用户终端与服务端需要快速的通讯,这主要依赖于高速的网络系统,但对软件开发者来说,采用何种包传输机制同样非常重要,在带宽限定的条件下,要获得更流畅的画面显示,唯一的办法就是采用压缩技术,将数据包的容量有效缩小,使得单位时间可以传送更多的图像数据,开发者显然需要在这里下一番功夫。另外,包传输机制也必须解决安全性问题,确保数据包不会被破解或篡改—在这些方面,现行的软件开发水平其实已非常成熟。
软件开发者需要面对的最大改变,就是原本只是为PC平台编程,而现在要为超级计算系统编程—这完全是两个概念,因为云端的超级计算机拥有大量的处理器、GPU以及内存资源,如何充分利用这些硬件资源就是一个挑战。
PS3、Xbox 360以及多核CPU的普及,一定程度上带动了游戏开发者对多核平台的优化,但这还远远不够。在短时间内,游戏开发者很难适应从PC到超级计算机的转变,而保守估计,这种过渡大约需要耗费五年以上才能达成。
软件开发并不是云渲染能否商用化的唯一障碍,网络接入速度也是很关键的制约。我们知道,任何一款3D游戏要想保持流畅度,帧速至少都要在30f ps以上,一般在60f ps之上才是比较理想的。游戏的分辨率以最高1920×1080作为基准,正常一幅该分辨率的图像需要占据300KB~400KB之间,60fps帧速就意味着每秒需要传输18MB~24MB的数据,相当于必须占用144Mbps~192Mbps的网络带宽。与此形成鲜明对比的是,在我国,4Mbps接入已经是个不错的速度,绝大多数用户还挣扎在2Mbps ADSL的低标准下,显而易见,这样的网络环境仅可提供单纯的浏览,云渲染根本就无从谈起,虽然中国电信等基础运营商正在向20Mbps宽带发起努力,但是很显然这个速度也无法满足云渲染的需要,何况短时间也根本不可能达成。相比之下,欧美日韩等地区的网络状况就显得非常理想:50Mbps只是非常基础的标准,目前网速最快的当属韩国,95%的家庭在2009年9月前就已经实现平均163Mbps的超快接入—与云渲染的标准相比,仅有韩国能勉强达到这个水平。不过别高兴得太早,云渲染平台的最主要应用应该是移动终端,这也意味着无线网络要提供高达144Mbps~192Mbps的接入,显然3G是指望不上了,而八字还没一撇的4G时代估计都很难满足这一要求。
网速的限制让人非常沮丧,不过并非没有解决之道。游戏开发者可以通过压缩传输技术来解决问题:在云端,超级计算机将渲染生成的画面进行实时压缩后传送,用户端收到后解压显示,由于云端具有强大的性能,压缩-解压所产生的延时可以控制在微秒级别,用户在主观上无法感受到差异。通过强有力的压缩技术,对网络接入带宽的要求可以大大降低,至少在欧美日韩等地区目前就可以开展相关应用。
集中式与分布式:云渲染的服务端系统构建如果没有足够多的好处,游戏厂商很难尝试云渲染平台,毕竟这是一个非常激进的计划。我们认为云渲染的应用很难一蹴而就,它必然要落后于其它的云计算应用。
目前应用最为广泛的当属Gmail和Google Docs套件,Gmail就不必多说,我们关注的Google Docs受到网速的限制,国内鲜有企业开始尝试,但经过我们的试用,在4Mbps带宽条件下,Google Docs已经具备不差的可用性,反应延迟完全可以接受,目前美国已经吸引大量的中小企业使用。随着时间的推移,更多云服务将会不断推出,涉及到科学计算、效果图生成、动画制作、电影特技等诸多领域,对于这些不需要实时获得输出结果的应用来说,对网速的依赖性大大降低,而由于云计算平台的显著优势,我们认为它将能够在今后五年快速地流行,并有望成为计算资源利用的主要方式。
伴随着各类云应用的广泛流行,云渲染也将拉开序幕,这种过渡将会以自然地方式进行,一旦用户体验到云渲染的巨大优势,传统的单机渲染模式便会被逐渐取代。整个计算工业真正地从以PC为中心发展到以网络为中心。这种转型也意味着巨大的商业机会,哪一个企业能够率先占领圈地市场,便有更大的机会获得成功。
不过,云服务商之间的对抗,更多在于硬实力:谁拥有的服务器数量更多,谁能提供更高的计算资源,谁就能够占据优势。其实这很好理解,就像拥有发电量多的电厂总有更高效益一样。根据最新数字,目前在全球服务器版图中,Google拥有百万台,Intel有大约10万台,而微软拥有30万台,并以每月1万台的速度递增,大力抢滩云计算市场。
与常规的服务器不同,云渲染是以GPU为核心,这意味着运营商将从头开始搭建云渲染平台。大型游戏运营商一定会想搭建自己的云端系统,但这项高昂的投资却不是每一个运营商都能接受。作为三大游戏企业,索尼、微软、任天堂无疑将会在恰当的时候搭建自己的云渲染平台,将游戏主机升格到网络时代。NVIDIA、AMD等传统的图形厂商一定也不甘寂寞,因为新兴的云端市场代替传统PC市场,而云端客户的GPU采购量都是数以万计并且不会轻易更换平台,这对于竞争双方而言都是残酷的考验,为避免一旦落败全盘皆输,NVIDIA和AMD都将不得不直接搭建自己的云渲染平台,为游戏运营商和终端用户提供服务。游戏运营商租用这些渲染资源,然后再与自己的游戏应用打包销售给终端用户。
NVIDIA和AMD则
从传统的销售GPU获利转移到租用渲染资源获利。
拥有网络资源的电信运营商也有望直接杀入这一市场。目前,电信运营商最多只是出售机房资源,云渲染令计算力也成为一种基础资源,介入这一领域非常自然,何况电信运营商将在网络带宽方面占有先天的优势。
集中式的云服务器并非唯一的解决方案,分布式计算也有机会成为云渲染的重要选择。对于效果图生成、影像处理等不需要实时结果的渲染应用来说,分布式计算会在成本方面占据优势,同时分布式计算不需要昂贵的硬件部署,具有高度的弹性,有希望占据云渲染的半壁江山。
在2009年11月,AIO科技为首的“计算资源互助联盟”(Associationfor Computing Resource Sharing简称ACRS)率先推出了“云渲染”服务(Cloud Render):任何个人或者企业,只要与ACRS签署官方协议、即可参与这个计划,前提是计算机系统必须是Mac OS或Linux。ACRS会根据接到的渲染任务的情况向你提出资源请求,你的计算机会根据自身状况作出判断,划出一定的空闲计算能力供ACRS调用。反之,假如你有某个渲染任务的需要,ACRS同样会发出请求给联盟中的其他会员,让他人的计算机为你执行渲染服务。
分布式计算的关键在于控制软件的设计,该软件同时包括服务端和客户端两种功能:服务端负责划拨本机资源给其他用户,客户端则负责本机提出的渲染请求。在ACRS系统中,还有一个核心服务器承担着任务接收和指派的功能,比如它会将一个视频处理任务分解为大量的计算片,然后分别将这些计算片分配给众多联盟成员,之后再将画面按照次序重新整合。
云渲染:又一个延伸的战场
G PU无疑是云渲染应用的核心,以Radeon HD 5870和GeForceGTX480为代表的新一代GPU都具有惊人的浮点计算能力和3D渲染能力,NVIDIA与AMD也早已发展出诸如Hybrid SLI、CrossFire在内的多GPU并行渲染技术—虽然这些技术暂时大多应用于单部计算机内,但将它们扩展到多部计算机系统间,允许成千上万个GPU并行运作也不会有太大的技术难度。
在这一领域,NVIDIA的Tesla Server平台走在前面。这套平台目前已发展到第三代,GPU核心更新为Fermi架构,同时提供个人超级计算机和TeslaGPU计算集群,后者面向数据中心,费效比远优于传统的超级计算机方案。同时,Tesla计算集群也很好地适应云渲染的需要—作为计算核心的Tesla本身就是GPU,3D渲染是它的专长所在。从这个角度来看,云渲染的硬件环境其实已经非常成熟。
除了3D渲染,云渲染应用还将涉及电影特效制作、高清视频处理、科学计算等需要高计算能力的任务,传统的超级计算机平台虽然速度要慢得多,但是编程界面非常友好,开发者可以很快编制出云渲染平台的各类应用。而TeslaServer在这方面也不逊色,NVIDIA的CUDA环境提供了从程序语言、开发工具到编译器的完整开发平台,支持面向对象的开发方式,也已为图像、视频工业和学术界所广泛采用,因此对于视频类的云渲染应用来说,采用Tesla Server作为云服务端也不会给开发带来多少阻碍。
AMD对此后知后觉,这大概与它在近几年糟糕的财务状况有关,在GPU领域,AMD将精力集中于传统的PC市场并获得出色成绩,独立显卡的市场占有率已超越NVIDIA。在专业领域,AMD虽然也很早就推出FireStream流处理卡,但它并未提供完善的开发环境,也没有将超级计算作为重点,已经居于绝对的劣势。这让它很可能在云渲染平台中继续扮演追赶者的角色。
