蚂蚁的个体行为极其简单,但群体却表现出类似某种集体智能的复杂行为。蚂蚁之间依靠外激素(Pheromone)进行信息传递实现复杂的合作。蚂蚁对外激素本能的倾向性使得大量蚂蚁在搜寻食物的集体行为中表现出一种正反馈过程:某条路径越短,走过的蚂蚁越多,留下的外激素浓度越高,则其他蚂蚁选择走这条路的几率越大。最终,借助这种信息交流,蚁群就能找到一条从蚁穴到食物的最短路径。
2.3 数学模型
数据网格中,节点m想访问数据i;而数据i的多个副本存储在分散的不同的地理位置。选择通信代价最小的副本来满足节点m对数据i的读取请求,以减小网络带宽,提高系统的整体性能。由于广域网的延迟性,对访问量过多的那些数据,可以在适当的节点上放置数据副本来减少数据读取时间,用尽量少的时间满足用户需求,假定用户规定的期限为D[7]。
其中,α代表了在复制数据时,存储代价的重要程度在整体中所占的比重;β代表了在复制数据时,通信代价要求在整体中所占的比重;θ代表了在复制数据时,对传输带宽要求在整体中所占的比重。
2.4 副本放置算法
初始的蚁群算法是基于图的蚁群算法(GraphBased Ant System,GBAS)。算法步骤如:
3 算法分析与测试
数据网格中数据副本的放置与删除是高度动态的,数据副本的放置问题是一个优化问题。蚁群算法是群智能研究领域中的一种主要算法。研究结果表明,蚁群算法在求解复杂优化问题(特别是离散优化问题)方面有一定的优势。
OptorSim用来研究各种副本优化算法的数据网格模拟器。在网格环境中,选择一个较优的节点来放置副本,可提高以后用户作业的运行时间,从而提高整个系统的性能。本文假设文件大小为100 MB,网络拓扑如图2所示。为了简化模拟,假设没有竞争的网络流量。实验目的是证明基于蚁群算法的优化副本放置算法可以优化以后作业的运行时间。
第1列表示每个节点上CE的个数;第2列表示每个节点上SE的个数;第3列表示每个节点上SE的大小,单位为MB,以后表示各个节点之间的带宽矩阵。假定各节点间的带宽均为50 MBps。令initial file distribution =1,说明开始时文件的副本在节点1上。用户作业请求文件顺序由作业的读取方式决定,考虑以下方式,即顺序方式(所有文件按预先规定的顺序访问)。模拟运行作业为1-100个,每隔5s提交一个作业。
比较基于蚁群的副本放置算法与LRU(Least Recently Used)算法。LRU中文件总是被复制到作业执行的节点。如果节点上的存储空间满,则删除最近最少读取的文件。图3显示作业数变化时,两种算法的平均作业执行时间。图4显示文件大小变化时,对文件请求的平均响应时间。
实验结果显示,虽然在放置文件的副本时蚁群算法比LRU花费的时间要长;但由于蚁群算法放置的节点是传输代价和存储代价最小的,对后继作业的运行时间大大减少。因此,提高了系统的整体性能。
4 结束语
本文讨论了基于蚁群算法的副
本放置策略。通过动态调整网格中数据副本的位置和数量,并使用优化程序来减小数据读取的时间和代价。首先介绍了数据网格中的复制结构,进而引入蚁群算法对副本进行放置,有效地减少用户作业读取数据的时间,提高系统的整体性能。模拟结果显示了该算法是有效的。