论文部分内容阅读
近年来,网格的发展日新月异。网格能够通过广域网络大规模集成地理上广泛分布的各种资源,当被用来作为各种大型应用的计算平台时,那么寻找网格中最佳资源以满足应用需要是比较困难的,因此网格环境下的资源选择,是网格技术的一个重要的研究领域。网格资源选择的目的就是要为应用选择合适的网格资源作为计算平台。 网格中的Condor组件提供了一个基于ClassAd语言的资源选择机制,该机制使用一个资源匹配中间件(matchmaker)来寻找合适的资源以满足用户要求。当有多个资源满足用户要求时,使用一个等级评价机制对所有资源进行评价,选择最匹配用户要求的资源。但是,资源匹配中间件是以选择一个单一机器来执行应用而设计的,因此并不适用于一个应用需要多台机器一起执行的情形。后来对ClassAd语言进行了扩展,定义了扩展集ClassAds语言,在此语言的基础上提出了L-Y资源选择算法,该算法通过扩展Condor的资源匹配框架,能够同时满足单一资源选择和多个资源选择的要求。但是该算法一开始就选择了资源集合中单机最强的节点,所以很容易陷入局部最优,当资源集合中有其他不包含最强节点的资源组合具有更好性能时,算法并不能找到此类组合。 针对L-Y资源算法的不足,对算法进行了改进,提出了按域组合的资源选择算法。该算法首先对资源集合中的资源按照rank值进行从大到小排序,然后划分域;然后依次从剩下的机器里面选择资源,如果新选择的资源和原来域中的资源合起来比原来域中资源等级高的话,加入这个域,否则遍历完所有的域,如果不满足的话,就删掉这台机器,并且也要遍历完剩下的所有的机器;对第二步产生的所有新的机器组合进行重新组合,选择联合在一起能提高整体性能的多个机器组合作为一个整体,作为按域组合的资源选择算法的最终选择结果。然后通过模拟实验对试验中的随机数据取一些定值定量分析,同时比较了改进后的算法和旧算法的性能。 理论分析和实践验证表明该算法有较好性能,改进后的算法能够得到更加匹配用户需要的资源组合。