论文部分内容阅读
随着云计算技术的飞速发展,混合云作为主要的云计算模式之一,以其安全性、扩展性和计算灵活性而得到广泛应用。目前大多企业选用混合云模式利用Hadoop技术来处理海量数据。然而由于混合云环境下Hadoop技术发展时间较短,对缓存系统的考虑存在一些不足:没有区分待缓存文件的访问热度,一些访问频率较低的文件被添加到缓存,而某些访问频率较高文件的已有缓存副本数目无法满足访问需求,降低了缓存命中率;缓存中的已有文件可以被再次添加,造成缓存文件冗余,缓存空间浪费;同时,当缓存容量不足时没有采取合理的缓存替换措施,文件无法添加到缓存。如何合理高效地添加缓存文件,实现有效的缓存替换,以提高缓存命中率是混合云架构下Hadoop缓存系统亟待解决的问题。此外,良好的缓存预取策略能有效减少文件读取时间,极大提高任务执行效率,从而提高缓存系统的性能。因此,本文研究混合云环境下基于Hadoop的缓存替换与缓存预取策略。研究成果将为混合云环境下Hadoop缓存系统的研究提供一定的理论和技术支持,具有重要的研究意义。本文研究成果主要体现在以下几个方面:(1)提出了混合云环境下基于优先级和LRU的缓存替换优化方法由于在混合云的缓存系统中没有考虑文件热度因素,也缺乏合适的缓存替换策略,导致缓存命中率较低。为了合理利用缓存空间,提高缓存命中率,本文在研究现有LRU算法的基础上,增加了对文件热度、用户访问特征和优先级权重等因素的考虑,提出一种基于优先级和LRU的缓存替换优化算法。首先计算待缓存文件的文件热度,对于热度过低的文件,不添加到缓存;对于热度过高的文件,根据其访问特征计算缓存副本需求度,将需要增加的缓存副本添加到访问频率最高的节点缓存中。在添加文件过程中,如果缓存容量不足,则在每个缓存优先级队列中分别使用LRU算法选择文件,并分别求得这些文件的再次被访问权重,剔除权重最小的文件,最后根据该文件的优先级权重将其添加到相应的队列中。(2)设计了混合云环境下基于贝叶斯网络的缓存预取优化算法针对混合云环境下缓存系统中缺乏合适的缓存预取策略而导致空闲带宽利用率低和文件读取时间长等问题,本文通过分析现有缓存预取算法存在的预取动态性差、预取命中率低、带宽利用率不高等缺点,提出一种基于贝叶斯网络的缓存预取优化算法。首先基于贝叶斯网络预测下一个执行任务,并找出该任务要访问的所有数据文件,根据这些文件的成本收益和垃圾回收代价,选出待预取的文件。然后求得每个节点的负载,并结合当前空闲带宽、请求响应时间和公有云使用成本等因素选择负载较低的节点,最后根据当前空闲网络带宽和待预取文件大小将待预取文件添加到所选节点的缓存中。(3)对上述两个优化算法进行了实验验证与结论分析对上面所提出的两个优化算法进行实验并分析结果。首先验证了本文所提缓存替换算法的可行性,并将该算法与LFU、LRU和AD-LRU算法分别进行性能对比,结果表明本文算法在缓存命中率、延迟节约率和成本节约率方面具有一定优势。然后验证了本文所提缓存预取算法的可行性,同时将该算法与基于访问频率的预取算法和IPC算法分别进行性能对比,结果表明本文算法在预取命中率和时间节约率两方面优于其它两个对比算法。