第一篇:22:华中科技大学金海院长《从网格计算到云计算》
主持人:大家上午好,欢迎大家参加今天上午的第二届中国云计算大会“云存储与虚拟化分论坛”,今天上午的议程我们安排5位企业专家给大家讲述有关云计算方面的内容。下面第一位有请华中科技大学计算机学院的金海,题目是从网格计算到云计算——虚拟化的探索与实践。有请!
金海:大家好,我是金海,华中科技大学计算机学院的。今天想和大家分享的是从网格计算到云计算——虚拟化的探索与实践。
我的演讲主要分为几个方面:
1、网格计算和云计算
2、计算系统虚拟化基础理论与方法研究973项目简介
3、桌面虚拟化技术实践
4、最后进行一个小的总结
什么是网格计算呢?动态多机构虚拟组织中的资源共享和协同问题求解。
下面我先说一下网格计算的本质:
1、资源异构
2、多机构
3、虚拟组织
4、以科学计算为主
5、采用高性能计算机
6、问题求解环境紧耦合
说到云计算大家比较喜欢,现在没有非常权威的专家说,云计算是什么样的定义,虚拟的资源把它变成一种服务,这就叫做云计算,从这个定义本身来看,你可以看出,云计算它的本质是什么呢?我们比较一下网络计算,我们就给出云计算这几个本质。第一,云计算并不强调资源,首先在构建领域资源的时候,它是由机构来进行构件,就是它自己的一个云计算平台。云计算是以现在从这几年比较热的虚拟经济。WAS上面各种包括视频共享网站,等等各种它都有很多的商业应用。对云计算来说,并不强调某一个云计算中心我需要非常强大的超级计算机,座谈早上李院士在报告当中就说得非常清楚,云计算是以普通的服务器械集群,作为它的一个基本共享单元。通过大量的分散在各个地方的这种服务器集群,来完成它的服务。所以从我们在整个计算机体系结构这个角度来看,有分故事系统的一种集中的管理。它需要把这些资源分布在各个地方。
另外,它是采用是普通服务器集群,分在各个不同地方,因此是一种松耦合环境下的处理,就是在松耦合环境下做海量处理的处理方式,变成一种环境,这是云计算的一个本质。
说到虚拟化这是云计算的一个基础的基础,大家谈云计算跟网络计算,在技术层面上有甚么最基础的差异,虚拟化怎么来定义,因为很早就有虚拟化,虚拟化本身就是把底层物理设和上层的操作化,或者上层的软件进行分离的一种去耦合技术,各个层面做各个层面的工作,大家不要捆绑在一起,它希望能够把它进行去耦合,目的就是为了实现信息资源的利用效率和灵活性的最大化。
大家也知道,在云计算出来之前,我们大量集群的时候,它的利用率其实是非常低的,其原因就在于各个机器都采用单一的集群,比如E—mail服务器,每个服务器它的峰值是不一样的,因此会带来整个系统利用率非常不均衡,平均利用率会非常低。我们采用虚拟化技术以后,就可以把这些资源整合在一台机器上,或者相邻的一些机器上,来提高它的利用效率和灵活性的最大化,这就是虚拟化的基础。
说起虚拟化,本来昨天还想公布,我们CSDN这本杂志,网上评的云计算十大事件,我们就没有公布。后来追诉虚拟化历史是可以追溯到1959年,ifip这个组织大家很多人都不知道,这几年这个组织影响力比较小,对ifip这个组织部知道,其实ifip这是非常老的组织,是1959年在奥地利的维也纳成立的一个叫国际信息化联合组织,这个组织它有一个非常大的会议,就是是全世界计算机大会,成立于2000年的时候这个大会是在中国举行,当时国家主席江泽民亲自到场。当时1959年成立ifip的时候,有一篇文章就是再讲。这片文章就是后来虚拟化的基础,一也是操作系统的一个基础,当时是因为资源不够,所以采用共识的方法用一个CPU的资源,当时虚拟化是这种目的,但是现在虚拟化是因为我们资源太多了,这么多的资源怎么样有效的利用这个虚拟化资源,这是虚拟化最早的一个历史。
前面简单的介绍一下我个人对网格计算和云计算简单一个认识和一个体会,这几年大家在讲云计算的时候,很多人都会问网格计算和云计算有甚么好处。下面给大家介绍973项目,计算系统虚拟化与方法研究的这个973项目。具体关于项目的详细信息,以及包括项目的研究进展和研究成果,都可以在这个网站上获得,这个网站大家可以去访问。
我们整个973项目一个基本的思路就是以用户为中心构建虚拟化计算系统。这里面包括三个部分:
一、任务执行环境实现虚拟化,这是第一个层面,就是保证任务在执行环境所需要各种资源的力度是可变的。我们大家知道如果不采用虚拟化的技术,整个机器是以机器为单位为大家提供计算资源,我们希望能够在以和为单位来给大家提供资源,无论是单机还是多机,这是任务执行环境的虚拟化。
二、资源使用环境的虚拟化,希望能够保证各种资源能够透明、高效的使用。
三、用户操作环境方面的虚拟化。就是说怎么样来提高用户操作环境的灵活性和自动配置的能力,这里面更多是强调整个三个层面可以看出,任务执行环境的虚拟化,是指从硬件这个层面来实现虚拟化的各种机制,资源使用环境虚拟化是在从软件这个层面怎么来透明使用各种不同的异购软件,其实这就是异购资源透明高效的使用。
从用户操作环境的虚拟化,主要是用来从用户这个层面,也就是我们后面会讲到的,怎么提高用户操作环境的灵活性和自动配置能力。整个项目分成8个具体课题。
课题1:叫做计算系统虚拟化基础理论模型和体系结构研究,主要是从基础理论方面来研究,包括怎么在不同异购平台上,运行未经修改的代码,这里面牵扯到翻译的问题,怎么样去解决这个问题?可能是一个非常重要的问题,因为我们国家也自己研制很多国产CPU,原来在原来产品的平台上,可以用的软件,因为很多软件我们并不一定都有它的代码,我怎么能够在新的平台上,我们国产CPU平台上,能够应用这个程序。所以这里面我们提这方面研究工作,而且在做,这个工作主要是国防科技大学在完成的,因为他们是在做这个结构方面的研究包括动态二翻译的模块放主板上面,通过一个专门的模块来加速动态二体系翻译,这是他们研究的。
课题2:单计算系统内的资源虚拟化方法。这里面主要就是类似于有点像虚拟经济研究,在单个上面怎么实现虚拟化,这个是北京大学在研究。虚拟机能够感知地层的OS,并且样来进行协同以后,能够实现下面的动态的管理。比如说大家知道,因为中间加了一层虚拟机以后,上面的OS基本上无法控制底下的设备,两者怎么进行协同,比如说我们去年是发表了一篇文章,就是通过两者的协同,来对底下的这些各种管理模块进行管理,从而达到上层OS同样能够实现节能的功能,以前一个操作系统可以完成这个工作,但是现在是两个操作系统,中间加一个虚拟机,这个是在虚拟化里面要做的工作。
课题3:清华大学在完成,多计算系统,这个多计算系统是指在一个系统里面,而不是不同的节点,我们以前称之为网络虚拟化,在多个计算系统里面怎么来实现虚拟化。在这里面有不同的系统,当我需要4个和的时候,我是在一个机器里面选4个和?还是各选两个和?这个需要根据当时的情况来做。
课题4:虚拟计算系统普适化运行环境。我是不是可以不用各种软件,软件都在云端比如我们现在讲SARS,我们这里面做普适化的运行环境研究。
课题5:虚拟计算的安全可性机制研究。大家知道虚拟机可以有效的隔离每一个不同的虚拟机,因为它相当于,尽管在一个CPU上面,但是我可以认为是单独一个不同的独立的资源,资源之间怎么能够有效的隔离,从而使得某一个和,上面装的操作系统被攻击掉以后,或者坏掉以后,不会影响其他的和,虚拟机制能够正常运行工作,所以能够提供一些安全可信的机制来研究。
课题6:虚拟计算系统评测理论与方法。因为我们大家知道,我如果在一个高性能计算机上,高性能计算机上面其实用虚拟机的并不多,它的性能会下降,但是某种程度上提供了高性能计算机在计算中心里面的灵活性,所以怎么样来评测它,如果我装上虚拟机以后怎么评测它?怎么衡量它?高性能计算机能够接收这些信息,是浙江大学在做评测。
课题7:我怎么在高效能计算机上去用虚拟化技术。其实在美国都不用虚拟化,因为他有一个大型任务,一个大的能够吃满,但是在我们国家这种高性能计算机环境下,基本上这个大的机器吃满的情况不可能,它可能要有很多高性能的任务,同时在大的计算机上运行,这时间需要提供不同的环境,这需要有虚拟机的支持。那怎么样设计一个轻量级的虚拟机,使得在高效能计算机能力仍然能够发挥高性能的能力,提高整个计算机利用效率,这就是高效能计算机上面怎么用虚拟化技术来做这些工作。这个课题是神威计算机在做这个事情。
课题8:虚拟化仿真应用。昨天李院士用到的,原来在网络平台上去做,现在随着多和的出现以后,怎么在仿真虚拟化平台上做仿真,比如说机器的仿真,武器的仿真。这是我们8个课题,这是航天部二院做课题8。
7和8在应用层面上,这就是我们大概的一个对应关系。1、2、3、5主要是解决任务执行环境怎么来实现动态构建和资源环境的高效透明使用,一个是从硬面环境,一个从软面环境,怎么来实现软件的使用。课题4从用户操作环境的虚拟化,6、7、8主要做性能评测、理论验证和应用示范的一些研究工作,这是我们的课题任务。
我们这个研究团队分散在全国,我们有6个高等院校,两个研究所共同来承担我们的任务,一共有8个单位。下面重点给大家介绍一下,我们在桌面虚拟化的研究工作,这个研究工作在实验室部署,而且我们跟两家企业在合作,一个在移动平台做合作,另外桌面平台上做合作,我想把这个工作的结果大家展示一下。桌面虚拟化是云计算落一的一个非常好的手段,就是怎么能够动态的吸引用户的需求的变化,为用户提供一个高效、安全、易用语音资源的桌面虚拟化所需要做的工作。这里面要这么几件事情。
1、按需动态的构建虚拟化的桌面环境。
2、与客户端现有操作系统没有任何差别的,就是无缝的实现人机接口。
3、实现计算资源和数据资源的远程部署和安全可信。
4、动态调配云中计算资源。
这就是桌面虚拟化面临的几个问题。
我们实验室做了一套系统,做了一个云计算的用户桌面,这个用户桌面的几个图。左边的图体系框架,我下面会给大家介绍。右边是在实验室做测试的时候,可以看到个人工作环境,会把你的工作环境弹出来。这里面有这几项技术能够实现:
1、云中异购资源的聚合与共享。
2、工作环境的个性化定制。
3、工作环境的保存与恢复。
4、工作环境的在线迁移。
5、移动环境的虚拟接入。
6、本地环境的协同访问。这也是非常重要的,在这里面大家知道有很多Data surver,各种不同的用户端,包括PC,或者透明计算的PDA等等,都可以在上面来使用。
这里面有几页我跳过去,因为后面有几个演示。
一、这里面牵扯到大量的部署和用户环境的保存和恢复,因此一切多个虚拟机的断点保护,多个虚拟机之间怎么来协同保护和恢复,多个虚拟机的一个端面保护,这里面有一些内容包括我们现在正在做的事情和已经取得的成果,我们这里面就列出来,就不再仔细讲了。
二、还有一个刚才讲到的,本地资源有效利用。这里面我们做了一个非常重要的工作,这个工作是什么?因为牵扯到云安全,昨天李院士专门讲到云安全实际上是信任和被信任的一个关系。我们为了防止现代大家还解决不了的问题,我们就做了敏感数据,比如我们这个桌面,桌面上已经没有这个软件,这个软件是装在云端,这个桌面怎么让远端的应用软件能够知道桌面的数据,是他的一个部分,这样就有一种访问进行。比如现在插进来以后,它可以通过某种方式,让远端服务器下面应用软件知道桌面的数据,通过对桌面数据访问,仿佛这个数据在远端,实际上是协同访问,并不是把数据拷过去,让远端程序能够知道这个数据,但是数据并不拷贝,这样能够有效保证用户在使用云端资源的时候,能够把一些涉密的资源放在自己这里。
三、虚拟机的全生命周期管理,怎么去管理?虚拟机使用的时候不是使用一次,可能是好几天一直持续的使用,怎么在全生命周期里面,对它进行保护和管理。这是全生命周期的管理问题,这里有很多细节,不再讲了。这里面是我们系统做出来以后实际应用的一个效果,实际上我们可以看到上面有两个应用,一个是word,一个是interet,这两个东西装在云端,是两个不同操作系统做支持,这是在应用程序服务中心里面来实现,本身将来的客户端非常的轻,不需要装操作系统,但可以应用不同操作系统上面不同的软件。
下面我给大家演示,用户桌面操作的流程。
1、一开始比如可以选择,这是我们自己在做实验验证时候做的一些事情,比如可以去选择几个软件,现在选择几个软件,选择完以后,它就会在后台去配置所需要的硬性环境,配置完了以后,比如说你在windows,这里面可以看到你定制的程序表,可以选择任何一个程序,比如说选择world得等之类,可以从后台的服务打开,这就可以看到你的程序。大家知道像google这之类的都有很多条,这些条都定制好的条,当然可以按照你的方式来定制,这样可以应用后台操作系统的任何软件,只要后台提供服务部署,就可以用这个软件,也可以对它进行修改,比如现在再增加一个,增加完了以后,他重新进行配置vizta,配置完以后,就可以有这个软件在上面,当然可以删除。这样免除你安装软件,每次换机器都安装软件,或者换一台机器不一定有软件,这就是我们在桌面虚拟化做的事情。这是一个具体的应用部署。
2、另外就是应用。比如我可以存很多历史数据,这里面给的一个测试的界面。比如一个人在不同地点不断切换他的工作环境,这里面就记录了他近十次工作环境的一个列表,比如说可以去恢复那一天我运行的工作环境的情况,我把这一天的所有的保存的断点,就是工作环境的断点把它恢复出来,恢复完了以后这就是那一天恢复出来的结果。然后让你是不是重新起哪一天的工作环境?你说yes,他就会调出来,你退出工作环境所保存三个应用程序的情况,甚至你的光标放在什么地方,他都会保存在那个地方,这样的话,下面可以继续工作。工作完以后,可以继续保存。比如你再保存一次,你是不是保存这个运行环境?你说yes,它就会继续保存。这样多产生一个使用的列表。
这个工作现在在我们实验室也在做大部分的测试,我们也希望能够通过跟合作伙伴的合作,能够把这件事情真正的大规模的环境下能够做更多的测试。
总结一下,我们可以说虚拟化技术现在已经成为云计算等各种新型计算模式,因为我们大家都叫云计算,也不知道过几年以后还会有甚么样的新计算,所以我们就叫做云计算等新型计算模型的一个基础。但是还有很多基础性问题没有解决,所以我们国家在973项目项目当中专门做基础理论研究,当然我们做了很多工作,有一点偏工程性,这个工程化的工作也产生了很多实际应用系统。同时我们面向国家重大战略需求,解决计算设施的重大基础性问题,比如说在高效能计算机上,怎么实现轻量级的虚拟,我们希望我们研究成果能够提供一些虚拟研究和产业发展做一些贡献。
最后做一个宣传,我们在2008年的时候,出版国家第一本关于虚拟化领域的学术专著,这是8个学校老师一起写的一本书《计算系统虚拟化——原理与应用》,分别从指令级虚拟化,虚拟化方法,到用户怎么使用,包括安全可信、性能评测以及两个应用方面我们都做详细的综述以及我们研究工作的一个基本的成果在里面都有,如果大家有兴趣可以看一下。另外对虚拟研究的老师和同学,我们也对最大的软件Xen,我们做了代码的分析,这也是我们这个国家第一本关于Xen虚拟的原代码分析,包括每一个共享页,授权表,内存虚拟化、CPU虚拟化,设备虚拟化,访问控制虚拟化,写了一本分析书,如果大家以前开发虚拟机,对Xen有兴趣可以参考这本书。
我的报告,就到这里,谢谢大家。
提问:刚才您提到数据安全问题,说数据用U盘存在本地可以保证数据的安全。
金海:它是处理本地数据,但是并没有把本地数据拷贝过去。我们传输的时候,大家知道桌面虚拟化有一个软件,四节的软件,它是以图象的方式,因为这样传输对带宽要求非常高,我们采用方式并不是图像传过来,我们是把操作代码传输过来以后在这里进行重现,因为操作代码传过来的时候,在本地进行数据处理,所以它的数据并没有完全传过去,这是我们做的一个技术细节。