7月7日上午,我来到北航校园,在新主楼G座采访了北航计算机学院的胡春明博士。他主要从事计算资源虚拟化研究,我请他就计算资源虚拟化在移动互联网基础技术体系中的地位及其重要性、北航在计算资源虚拟化方面的技术及其特点、对计算资源虚拟化产业化的畅想等问题做了阐述,请大家分享。
移动互联网是未来互联网发展的重要趋势,在此背景下,从技术层面我们已经实现了与多方的合作,包括与移动研究院的合作、在核高基项目中与卓望的合作等,通过国家项目的推动实现了产学研合作。计算资源虚拟化作为云计算的基石,云计算的应用必定是基于虚拟化的。所以,要了解云计算,就必须要先了解虚拟化。
计算资源虚拟化的定义和特点
虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。在计算机出现早期,由于资源有限,所以多人共用一台机器,但因此产生很多不便,大家都希望能拥有各自的独占环境,虚拟化概念由此产生。将一台大机器虚拟成若干个小机器,然后让每个人拥有一台小机器,也就是所谓的独占环境。
虚拟化并不是很新的技术,最早在IBM的360机器上就已经得到实现。而直到最近虚拟化才成为关注热点,其中经历了两个阶段,第一个阶段为PC化,就是将大型机器实现个人电脑的过程;第二阶段则是英特尔推出的VT技术,也就是Vanderpool Technology虚拟技术,VT实现了CUP指令集的扩展,大大提升了计算机的性能。
另外,虚拟化本身的一些特点也是值得研究的:隔离性。虚拟化可以通过虚拟若干个机器来实现不同应用的存储,以此来形成隔离,通过隔离可以解决四大类型的冲突,包括磁盘冲突、网络端口冲突、安全策略冲突、操作系统版本冲突。资源分配。最典型的为业务的峰值统计,各个业务的忙时与闲时有所不同,为了保证业务能良好运转,所以在系统程序上需要按照其峰值进行一一配备,由此产生了大量工作,而虚拟化则可以实现错峰,即根据忙闲时灵活分配资源。如IBM的硬分区就是利用了虚拟化的该特性。灵活性。虚拟化通过虚拟若干个机器来实现不同应用的存储,我们可以直接将虚拟的机器实现“在线迁移”,实现了在不同环境的持续服务。
这三大特点也是使虚拟化在2000年后成为关注热点的重要原因之一。但真正使虚拟化得到关注的应该是目前应用十分广泛的云计算。云计算就是将所有业务都放在云端,而这个云端需要在一个大的资源池上去运作业务,运作业务时是否有冲突、是否需要隔离、是否需要错值、如何调试资源等问题就正好是虚拟化所能解决的,虚拟化成为云计算的基石。从Amazon和Google的云计算里,我们能看到弹性计算,就是根据需要按需分配计算能力,也就是目前云计算的重要技术之一,而虚拟化则是支撑这样一个需求的重要实现手段。
虚拟化在移动领域的应用
随着移动互联网的飞速发展,网络的带宽也会越来越大,而基于带宽的应用也会越来越多,但一些应用很难在带宽上得到支撑,例如最典型的模式,一种是传统的Web应用;另一种是类似Mobile Market、App Store的应用模式。
传统Web应用是基于Web的在线访问模式,应用模式则是通过下载执行的模式。而计算资源虚拟化很可能会支撑一种新的应用执行的模式——云计算模式,或者被称为透明计算模式,是通过一种透明的方式让终端属于计算环境中的一部分,然后利用这一部分与可以满足终端的各种计算需求的后台环境实现对接。从应用执行模式来看,虚拟化能够实现远程执行,利用应用程序实现在后台的云端实现,然后通过终端来展开。或者利用虚拟化直接对支撑的后台业务资源进行管理。如运营商的数据资源中心中的IDC机房,也通过虚拟化来对其进行管理。
在核高基项目中,就是希望通过透明计算来提供远程执行的能力,然后通过透明的方式去访问后台环境,定位于为新型的网络操作系统提供一个虚拟化软件执行环境和服务化软件运营功能。这里面包含了两个层次,第一层是利用云端的计算资源执行原本在客户端执行的程序,也就是远程执行。远程执行的优点在于跨平台,如目前各个系统的手机只对应相应的系统操作,如果将执行转移到后台,则对终端的环境没有过多的要求,可以通过虚拟的存储空间满足不同系统平台的操作需求。第二层则是结合SaaS的“软件即服务”,目前典型的包括Salesforce和移动的Mobile Market都属于这一层面的应用。移动的Mobile Market现在也在做基于Web的远程执行,如Flash的应用模式或基于Web基于HTTP的程序,而虚拟化则可以支撑这种基于远程执行的模式,作为这类应用的补充。
北航虚拟化工作布置
虚拟化工作大体上可以分为两部分,一部分叫虚拟的HAS,即virtual hardware as service,简称为VHAS,主要解决虚拟化的资源管理,也就是上面提到的后台环境的资源管理。VHAS的主要的特点包括:1.虚拟机作为资源或者应用任务封闭的单元,以虚拟机作为单元进行调度;2.网络拓扑,目前很多厂商侧重于单独的虚拟机,但很多业务并不能靠一台机器完成,一个业务可能包括一个Web服务加一台数据库服务器,可能还要再加一组Application Server共同构成,最后要通过虚拟网络搭建起来,网络拓扑就是按需构建,根据业务需求去找寻网络,同时还可以实现网络的性能信息优化。另一部分则是VsaaS,也就是虚拟的Surveillance as a Service,提供类似于Mobile Market的一个软件商店,其不同点在于软件的应用模式和执行模式。
它是一个远程执行的模式,在VsaaS中的很多机制都是针对这一特点设计的。如在一台虚拟机上启动多种应用进程,通过远程执行实现一个融合的桌面,不管用户用何种系统的软件,通过后台多种平台环境来实现对应。这种应用也被称为桌面虚拟化,把应用的桌面以一个虚拟化的方式呈现到用户终端。VsaaS还有一个特点就是流式访问,流式访问又包括两个层面,一层是后台,利用Application Streaming,应用流,这种模式可以按需访问、按需加载,是透明计算里最核心的概念。另一层面则是Presentation Streaming,表现流,是以一种类似视频流的方式来实现终端和远程在后台数据中心里的应用程序的交互,通过这种流式的访问进行优化,包括压缩等技术来降低带宽的负载。
计算资源虚拟化的未来前景
随着云计算应用趋势明显化,很多重要的应用价值已经得到证实,特别是在互联网企业中的应用。其中很重要的一点就是互联网企业希望通过借助云计算来降低运营成本,如Google处理每个GB的成本就已经成功控制在25美分之下。而对于计算资源虚拟化来讲,它是云计算产业里一个很重要的支撑技术。所以从这个角度出发,计算资源虚拟化产业的意义也就清晰了,互联网企业通过计算资源虚拟化来更好地利用计算资源的能力去降低成本和耗能。另外,还可能对运营商的数据中心起到一定的影响。运营商利用自己的优势,如在网络、用户、环境等条件下形成的数据通信中心,结合计算资源虚拟化就可以为其打造一个完善的存储、计算环境,更方便运营商去服务于客户。
虚拟化通过云计算或透明计算的应用,所有东西都在云端、网络上可以实现,这样一来,在终端上也带来很大的方便,包括更换设备、异地漫游等。从存储的角度来讲,云端则提供了一个超级硬盘供存储;从计算的角度来讲,云端提供的虚拟计算能力,可以随时进行访问。
目前,类似这样的应用包括像电信的网盘业务就已经取得了初步的效果,前景是值得期待的。
核高基项目在国家科技战略中的地位和价值
基于以上一些了解,核高基项目本身就是要打造一个面向新型应用模式的网络化操作系统。操作系统本身已经是IT的核心技术,但传统的操作系统领域竞争已经十分激烈,Linux开源则提供了一个新的机会,Linux的开放性平台可以省去很多系统开发所需的时间和精力,同时保证了系统安全。
最重要的一点是认知的改变,我们已经很难与一些操作系统,如微软等去进行竞争,但借由互联网我们可以在应用模式上去实现突破,如搜索引擎、即时通信等互联网时代出现的新型应用模式,其支撑其实只是网络化的一个资源管理平台,而基于此管理平台的研究应用远大于单机上操作系统的研究应用。而这些技术和应用必须由核高基、国家战略角度去主导和布置,因为网络化应用范围很广,而且产业风险很大。如Google的核心技术和核心数据都是由公司去掌控,这样对产业和国家安全都造成很大风险。此次核高基项目集合了北大、清华、北航、卓望等极具实力的单位和企业,通过强强联手,在透明计算概念下实现网络化的资源管理来支撑网络化的应用。