实验中将DRA算法、具有固定副本数量的复制算法 FRN(Fix Replica Number)[98]、局部动态的复制算法LD(Local Dynamic)[99]进行任务响应延迟、消耗网络带宽的评估指标的对比。在 FRN中,每个数据都有固定数量限制的副本,各个数据中心都有一个标识数,通过标识数映射到一个环中,根据映射的值决定放置副本的位置;在LD中,如果有数据读操作要求,则通过更新非主副本来动态地进行数据副本的操作。
在对数据副本的管理过程中,FRN算法在整个数据的请求访问活动期间,其数据副本数量并不发生变化,由此,会导致整个系统的负载均衡水平不能动态地进行调整,出现负载不均衡、系统存储空间分配不均等问题。
局部动态的复制算法LD通常采用最近、最少使用或者最近、最常使用的副本置换原则进行副本的更改,即在选取数据的放置目标时,考虑副本的使用频率,删除长时间未被访问或者访问频率较低的副本,以上副本的置换标准虽具有一定的合理性,但不全面。
对于数据长度不一致但请求访问频率无明显差别的数据副本,通常会由于文件较长的数据副本占据更多的存储空间,该类副本被删除,以释放占用的存储空间,这样往往忽略了文件的大小,易造成数据的丢失。由此,对三种算法的原理进行分析,对算法的性能进行测试。
(1)副本更新比例对性能的影响
因不同类型的用户任务具有不同的读写操作,将其比例设置为1.0、0.9、0.8,采用FRN算法、LD算法、DRA算法三种算法对系统延迟、带宽的影响如表3-4~表3-6所示。
表3-4 比例为1.0时算法对性能的影响
表3-5 比例为0.9时算法对性能的影响
表3-6 比例为0.8时算法对性能的影响
表3-4~表3-6中系统延迟表明,对于FRN算法,当读操作的要求比例减少,延迟增长缓慢;对于LD算法,随着读操作比例的减少,当副本存在时间大于下一步的写操作请求的时间时,会造成需要到其他区进行访问的跨区访问问题,这样也会使系统的延迟增加;对于DRA算法,随着读操作请求的比例减少,读操作请求响应时间超过阈值,导致副本的平均数量减少,需要到其他区进行访问,但区的划分更合理,所以总延迟增加趋势小于LD算法。其中带宽消耗表明,对于FRN算法,当读操作比例减少,更新操作带宽消耗增加,但写操作带宽消耗保持不变,所以总的系统带宽消耗快速增加。对于LD算法和DRA算法,随着读操作减少,更多的读操作会访问其他区甚至数据中心,导致带宽消耗增长,但对于DRA算法,由于其分区的设置,其消耗相对于LD算法仍然较小。
将区的数量设为20,在实验中选择某一个任务,将副本数量从1增加到8,每次递增1个副本数量,观察不同数量的副本对系统性能的影响,如图3-4和图3-5所示。
图3-4 副本数量对延迟的影响
图3-5 副本数量对带宽的影响
对于FRN算法来说,随着副本数量的增加,系统延迟时间逐渐降低。因为对于FRN算法,某个数据的副本数越多,它相关的数据的某个副本存放在同一个数据中心内的概率也越大,因此系统的延迟时间也相应降低。而对于LD算法和DRA算法,由于其采用了动态副本数量的策略,在系统延迟上较FRN算法差异大,只有当FRN固定的副本数量增加到4或5时,在影响系统延迟上才与LD算法、DRA算法相近。LD算法由于其主、非主副本的通信造成了一定系统延迟,其值大于DRA算法。当副本数增加时,每次的更新需要同步到区中其他节点,对于FRN算法来说,由于其固定的副本数、同步时数据的不断复制,消耗的带宽远大于LD算法、DRA算法,而LD算法的主、非主副本的同步更新机制使其带宽的消耗较DRA算法大。(www.xing528.com)
(2)负载对性能的影响
采取FRN算法、LD算法、DRA算法,负载率对系统性能影响如图3-6和图3-7所示。随着负载率从0增加到0.1,FRN算法和LD算法会将延迟处理的本地请求转发到其他数据中心,从而造成延迟以及带宽消耗的增加。
对于DRA算法,当负载增加,出现过载情况时,不考虑将副本复制到其他数据中心,只考虑复制到本区中其他节点或者其他区,所以系统的延迟时间和带宽消耗不会发生变化。对于应用FRN算法以及LD算法,由于副本数量固定,即使动态调整副本数量也不能迅速对负载增大节点做出调整,且没有对节点的副本分布情况进行划分,因此系统延迟随着负载增加而升高。
图3-6 负载率对延迟的影响
图3-7 负载率对带宽的影响
(3)三种算法执行对系统的总体性能影响
不同任务数量的情况下,三种算法的平均完成时间如图3-8所示。
图3-8 平均完成时间对比图
FRN算法固定副本数量,未考虑用户任务对数据资源请求的动态性,所以任务平均完成时间最长;DRA算法的任务平均完成时间最短,这是因为DRA算法为避免异地访问,在本数据中心划分区,并根据区的层次结构创建副本。
LD算法为减少响应时间从全局角度计算副本数量和副本位置,但仅在局部考虑降低本地对数据资源的访问时间,所以LD算法任务的平均完成时间略大于采用DRA算法的任务的平均完成时间。
在算法的运行过程中,随着用户任务的不断增加,系统的传输状况发生改变,但任务对于数据在传输过程中的可靠性以及正确性的要求并未改变,这就促使算法在执行过程中,不仅要保证传输的效率,更要在数据可靠性、容错性上予以保证,因此,算法会根据其运行的要求,逐步产生数据副本,并且在一定范围内,数据副本的数量会随着系统中任务数量的增加而不断增加。
FRN算法在访问资源的同时将资源复制,随着用户对数据读写操作请求的增加,副本数量随着任务数目的增加而增长;LD算法通过局部动态调整来决定是否进行数据复制,因此其副本数量相比于FRN算法较少;DRA算法根据对热点数据进行复制,并根据不同参数动态计算所需的副本数量,在相同条件下,任务的平均完成时间差不多,但副本数量较应用FRN算法时明显减少,证明DRA算法在提升了系统性能的同时,减少了创建副本的资源消耗。
图3-9显示了随着任务数量的增加,DRA算法、具有固定副本数量的复制算法FRN、局部动态的复制算法LD在执行过程中产生的副本数量的变化情况。
图3-9 副本数量对比图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。