网格资源调用中支撑技术的研究与实现
2008-10-24
作者:刘 霖 戴梅萼 周 健
摘 要:针对网格资源调用的特点,从提高系统的时间性能、安全性能和自适应性能方面分别提出并实现了动态链接表技术、身份鉴别技术、散列化处理技术" title="散列化处理技术">散列化处理技术和自适应技术" title="自适应技术">自适应技术。
关键词:网格 动态链接表 身份鉴别 散列化 自适应机制
随着网络技术的不断发展,以Internet为基础的新技术——网格(Grid)有了长足的进步。在网格资源调用中,时间性能、安全性能和稳定性能是衡量网格功能的重要指标,相关技术已经成为网格研究的重要课题。本文分别从这三个方面出发,对动态链接表技术、身份鉴别技术、散列化处理技术和自适应技术做了较深入的研究并进行了仿真实验。这些技术对网格资源调用起到很好的支撑作用。
1 网格资源调用中必须考虑的问题
从需求角度看,网格资源调用具有以下特点:
(1)资源搜索速度快。网格资源中,有很大一部分驻留于大型资源库,而在大型资源库中,对共享资源进行搜索的时间开销直接影响时间性能。所以,提高搜索速度对于提高网格资源调用的时间性能至关重要。
(2)信息传输" title="信息传输">信息传输安全性高。网格资源调用时,信息通过Internet进行传输,传输的安全性是至关重要的。这里的安全性包括数据的完整性,以及数据接收者的合法性。为此,需要有效的安全协议予以保证。
(3)资源传输过程的持续性和稳定性。因为物理网络存在带宽有限、延迟大、传输状态可变以及稳定性差等缺点,所以需要在信息传输过程中,面对网格传输状态的变化自动做出相应调整,即具有很好的自适应性。
2 网格资源调用中支撑技术的研究与实现
2.1 动态链接表
随着网格规模的发展,不断地有更多的客户机加入网格,并提供更加丰富的资源,从而,在数据网格和信息网格中,也会有更大量的文件被共享。这样,当网格在线客户机通过资源管理器搜索网格资源时,其搜索范围将会随着共享文件的增多而变得越来越大。实验表明:当资源中的文件搜索范围在104或者更高的数量级时,其搜索速度明显变慢。
在网格发展初期,这种搜索可能不会造成明显的负担,可是,随着网格规模的不断扩大,势必使网格的负担日益加重。具体表现在网格资源调用的时间开销大大增加,甚至不堪承受。
动态链接表技术的设计思想是:根据文件资源的调用情况以链接表方式建立一种数据结构,链接表本身根据资源使用情况实时、动态地交互更新。链接表中统计的资源是近期某个时间到当前时间段内,共享资源中被搜索或被共享次数较多的文件。资源使用者在对网格资源进行调用时,先在动态链接表中进行搜索。如果搜索命中,则资源使用者可以直接调用资源;如果没有命中,则退出动态链接表,再对资源直接进行搜索。
图1是动态链接表技术相应的工作流程图。
因为动态链接表中的搜索范围相对于资源的直接搜索范围要小得多,所以,在资源很庞大的情况下,即使链接表不能命中,对链接表检索的时间开销也几乎可忽略不计。图2是动态链接表在搜索命中的情况下,其搜索时间开销与对资源直接搜索的时间开销的对比图。
图2中,实线表示直接对资源搜索并命中的时间与文件数目的关系,虚线表示用动态链接表搜索资源并命中的时间与文件数目的关系。可以看出,随着文件数目的增多,直接对资源搜索并命中的搜索时间开销近似为一个线性递增函数,而采用动态链接表搜索的时间开销很小,而且几乎呈水平直线,与资源中的文件数目无关。
实验表明:客户机对资源的搜索情况呈正态分布,利用动态链接表中搜索命中的概率约为30%。表1列出了网格资源调用中加入动态链接表技术以后关于时间性能的测试结果。
表1第2列表示直接对资源搜索并命中目标所用的时间开销的平均值,第3列表示客户机在动态链接表中搜索所用的时间开销的平均值。
从表1可看出:当资源中的文件在2000~11000范围时,由于通过动态链接表而造成系统时间性能少量下降;但是,在文件达到15000个时,由于动态链接表而造成的负面作用消失;随着资源中文件的不断增加,动态链接表对网格资源搜索的时间性能提高越来越显著。
由此可见,如果资源中的文件数少,则不宜用动态链接表,而当资源中的文件达到一定数量时,使用动态链接表可有效地提高网格资源调用的时间性能。在实际编程中,安排了程序段先判断资源中的文件数量,然后据此决定是否启动动态链接表机制。
由于庞大的网格系统" title="网格系统">网格系统中存在无数的大型资源,因此,动态链接表技术将从总体上有效提高网格资源调用的时间性能。
2.2 身份鉴别和散列化处理技术
在数据网格和信息网格中,资源的调用体现在对数据资源和信息资源的在线浏览或下载等操作上,其中涉及信息在网格中的传输问题。
尽管网格资源具有不必探求其来源的特点,不必对资源的来源进行判断,但是在网格中传输信息时,仍然特别需要保证通信安全。这体现在:在传输过程中,要防止出现数据丢失或数据被他人截获后篡改;此外,对于调用网格资源的客户机,需要对其调用资格进行审定,再决定是否授权其进行资源调用。
身份鉴别和散列化处理技术可以有效地解决上述问题。其设计思想分两层实现。第一层是资源管理器在检测到客户机有资源调用请求后,对客户机进行身份鉴别,依照鉴别结果向客户机发送资源调用证书,并接收反馈信息,据此判断该客户机是否有网格资源调用资格;第二层是通过散列化处理对所传输数据的完整性进行安全校验。
客户机一旦登录并向资源管理器发送资源调用请求,资源管理器就会生成一个资源调用证书。生成资源调用证书的过程,实际上是一个对资源调用者身份鉴别和确认的过程。如果是,则发出证书,相当于实现对资源调用者的授权。证书中包括资源调用者的身份信息和资源本身的相关信息。
同时,资源管理器周期性地生成随机数组,并在每一个周期起点时刻,向已被授权的资源调用者和被调用者发送随机数组。例如,在周期n的起点时刻,发送随机数组arrayA,在周期n+1的起点时刻,发送随机数组arrayB……所有的随机数组都是不相同的。
一个具体的身份鉴别工作流程如下:在线客户机A通过网格系统准备调用资源S,于是先向资源管理器发送资源调用请求。资源管理器内部有关于S的路径信息,并确定S位于在线客户机B。资源管理者在得到A的申请后,对A进行审核,向A发送资源调用证书和随机数组。同时,资源管理器还向B发送资源要被调用的信息和随机数组。
A和B同时反馈随机数组到资源管理器,资源管理器通过对来自A和B的随机数组对比作判断,据此真正授权A可进行网格资源的调用。这种方法通过较复杂的确认资源调用者的身份,可以有效地保证网格资源的安全性。
当网格系统对客户机授予资源调用资格后,就开始资源调用过程。资源调用过程中要求保证传输数据的安全性。为此,资源所有者同时发送数据资源和附加的散列。客户机收到数据资源和附加的散列后,首先对数据资源进行散列化处理。散列化处理用SHA1算法实现,结果为160位的信息摘要。然后进行散列比较,即将用SHA1算法获得的散列与附加的散列作比较,如比较结果相同,则说明数据完整;否则,说明数据在传输过程中有部分丢失或者在被他人截获后进行了篡改。
由上可见,附加的散列和散列化处理过程确保了数据传输的安全。图3是身份鉴别和散列化处理过程的流程图。
身份鉴别和散列化处理技术用于网格系统的资源调用,能有效地保证网格资源的安全性和信息传输的完整性。
2.3 自适应机制
物理网络的传输状态总是随着用户使用情况而不断变化的,所以,存在随机性大和稳定性差的缺点,这会给网格大数据量的实时传输要求带来很大影响。自适应技术将使这种影响降到最低程度。
自适应技术的设计思想是:让系统自动检测当前的网络状态,并对网络状态的变化做出反应,通过调整发送策略,即基于负反馈的平衡控制策略来适应网络的变化,从而使系统既充分又合理地利用信道进行数据传输。
理想的情况是:在不造成信道堵塞的前提下,发送端充分利用信道带宽发送数据。
设Ms表示发送端发送数据的速率(字节/秒),ω为网络带宽(字节/秒)。如果Ms<<ω,则发送端不能充分利用网络带宽;如果Ms>>ω,则发送端发送的只有一部分能被接收,多余的部分将造成网络的拥塞。
所以应使Ms≈ω,即发送端发送信息的速率约等于带宽。
对于接收端" title="接收端">接收端,有:
Mr为接收端接收数据的速率(字节/秒)。
由于ω是会变化的,为了满足Ms≈ω的条件,系统要检测ω的变化情况并使Ms对其变化做出反应。为此,可以每隔特定时间执行以下步骤:
(1)增加Ms,如果Mr不随Ms增加则恢复为原来Ms的值;反之则表明ω增加了,继续增加Ms,当Mr不随Ms继续增长时,设置Ms为现在的Mr。
(2)ω的减小会导致Mr的减小,可通过接收端的包间间隔来检测。在每次Ms改变后开始一次检测周期T,记发送端和接收方包间隔时间差的累积度量为E,于是:
预先设定一个阈值D,每传输一包就计算一次的值,当满足E>D时,即检测到带宽减小时,将Ms设置成该检测周期Mr的平均值,然后开始下一个检测周期。
这样,当网络带宽不稳定时,可以根据网络带宽的变化动态调节发送速率策略。这种基于负反馈的平衡控制策略,使网格在进行资源调用时,可以有效、充分地利用网络带宽,提高效率。
针对网格资源调用的需求特点,动态链接表技术能够有效地加快资源搜索速度,提高系统的时间性能;身份鉴别技术和散列化处理技术保证了信息传输的安全性;自适应技术则提高了资源调用传输的稳定性,并且可以充分地利用信道带宽。仿真实验证明:这些技术能够对网格资源调用的性能改善提供很好的支撑作用。
参考文献
1 Gabrielle Allen,Edward Seidel,John Shalf.Scientific Computing on the Grid, Byte, Spring. 2002
2 Borja Sotomayor.The Globus Toolkit 3 Programmer′s Tutorial. 2004.03
3 Fran Berman,Geoffrey Fox,Tony Hey.Grid Computing:Making the Global Infrastructure a Reality.Wiley Publishing Company.2003.3
4 Ian Foster,Carl Kesselman. The Grid: Blueprint for a New Computing Infrastructure.2003.2
5 http://www.globus.org
6 http://www.chinagrid.net