摘 要:提出了基于蚁群算法的副本放置策略,充分利用了蚁群算法在目标优化问题中的优势,用OptorSim模拟实验结果表明该算法可以有效地减少作业对文件请求的响应时间,从而提高整个系统的性能。
关键词:网格; 蚁群算法; 复制; 放置策略; 虚拟组织
0 引言
网格计算的目的是提供一个地理上分布
的虚拟组织并允许有效共享计算资源和存储资源。当今,许多国际项目正在研究数据网格的实现。为了通过计算密集型应用来分析大量分布的数据。在数据网格中,数据可以存储在不同种类的存储系统中,如分布式文件系统(AFS或NFS)、Mass Storage System、传统的关系型数据库和面向对象的数据库[1]。为了提高性能、有用性和可靠性,通常使用复制技术来创建数据文件的多个副本。因此,副本的放置,即文件副本存放的位置节点是数据网格中非常重要的基础。
Internet中主要的挑战是支持快速数据读取;而在网格中支持快速数据读取的主要阻碍是广域网的高延迟性。为了实现快速数据读取,大量数据需要复制多个拷贝在世界各地分布的节点上。一个数据网格应该提供有一系列服务的虚拟组织。这些服务包括资源的动态读取,满足用户的需求(最小化用户作业的执行代价)和最大化网格资源的利用率。然而,存储系统的数量和大小是有限的,需要一个好的复制策略来分析和预测用户的需求,并负责找出多个副本中的最优副本、复制数据和替换不经常使用的数据[2]。
数据是数据网格中最重要的资源[3],用户的作业需要读取大量的数据,而数据存储在网格中各个分布的节点上。为了提高系统的性能,当数据的读取次数超过一定的阈值时,就采用复制策略来复制文件到适当的节点上;没有超过阈值时,就从已存在的文件多个副本中选择一个最优的副本来满足用户作业的需求。
复制系统的性能依靠很多因素,如数据的放置、数据的大小、网络的带宽和延迟、系统可靠性等。本文提出了一种基于蚁群算法的副本放置方法,利用神经网络中的蚁群算法有效地在网格系统多个节点中选择最优的副本放置节点,以实现副本管理系统的全局最优性。
1 数据网格中的复制
Globus Tookit[4]是一个开放源码的网格
基础平台;它基于开放结构、开放服务资源的
软件库,并支持网格和网格应用。其目的是为构建网格应用提供中间件服务和程序库。Globus提供四个主要组成部分,即网格安全架构、Globus资源管理架构、Globus信息管理和数据管理架构。其中数据管理架构为数据网格提供基本工具:一个通用的数据传输协议——GridFTP和副本管理架构。其中副本管理架构包括副本目录和为了管理多个数据副本的副本管理服务。其中副本目录提供了文件的一个全局的唯一的逻辑文件名到一个或多个物理文件的位置映射。副本管理服务提供可靠的创建、删除和管理副本功能。
2 副本放置服务设计
复制技术已经被广泛地研究,并且许多分布的副本管理策略已经提出,如文献[3]。由于网格是一个动态环境,副本的数量和位置也是动态变化的。副本管理服务解决资源复制的三个基本问题,即复制哪个资源、何时复制及复制到何处。当文件被访问的次数达到一定的阈值时,就对文件进行复制。本文文件复制的位置由副本管理服务根据蚁群算法来决定副本放置的节点。
2.1 基于虚拟组织(VO)的副本位置架构
一个虚拟组织(Virtual Organization)指有一部分网格资源的节点集合;这些节点通过局域网连接在一起。多个VO通过广域网连接,相互之间可以共享网络中的资源。本文采用文献[5]中的树型网络拓扑结构。图1为四个VO组成的基于树的拓扑结构。
图1 包含VO的树型网络拓扑结构
2.2 蚁群算法的原理
蚁群算法[6]是通过模拟自然界蚂蚁搜索路径的行为提出的一种新型的模拟进化算法。该方法求解TSP(旅行商问题)、分配问题、JobShop调度问题,取得了较好的实验结果。现在的研究显示出,蚁群算法在求解复杂优化问题(特别是离散化优化问题)方面有一定的优势。