论文部分内容阅读
互联网技术的不断发展以及新兴网络应用的出现,各种重要数据正在以PB级(千万亿字节)的规模逐年增长。重复数据删除技术通过对存储数据流中冗余数据的定位与消除实现了存储资源的高效利用,使其在网络存储和备份系统中发挥着在越来越重要的作用。作为一种计算密集型和I/O密集型的应用,当存储数据量不断增长时,重复数据删除系统的性能主要受到数据块哈希计算和磁盘索引查重两方面的影响。近年来,随着多核(multi-core)和众核(many-core)处理器的普及,如何在并行环境中实现高效的数据块哈希计算和磁盘索引查重,已经成为重复数据删除性能优化研究中的热点问题。目前,重复数据删除技术并行加速方法主要围绕着基于GPU的并行计算和基于多线程的并行磁盘索引查重这两种思想展开。然而,随着并行规模的增加,现有算法存在着一定的性能提升瓶颈,严重影响了当前算法的并行可扩展性。研究通过对GPU并行计算和并行查重算法性能评价模型的建立与分析,导出了并行规模扩大下影响系统性能提升的主要因素。针对两种方法中存在的性能瓶颈,提出了相关的优化算法并通过实际数据的测试证明了算法先进性。在并行系统的性能优化研究中,需要对系统中主要处理环节对整体性能的影响进行详细的量化分析从而找出系统的性能瓶颈。针对GPU并行计算和并行索引表查重两种主要的并行算法,结合其具体处理流程以及其中存在的并发、资源共亨、竞争等因素,研究提出了两种基于随机Petri网的性能分析模型。通过对模型中各处理环节的处理速率和系统利用率的推导计算,得出了影响系统性能主要因素,为并行算法的优化研究提供了理论基础。同时,在后续的优化方法的研究中,通过对实际数据的测试结果分析,分别证明了性能模型推导结果的正确性。在GPU加速的并行分块和指纹计算的处理方法中,主存储器和GPU全局存储器之间的数据传输延时已经成为影响整体计算性能的瓶颈。在传统GPU加速算法中,不同计算环节中对相同数据的重复传输会造成多余的数据传输开销。为此,提出了一种优化的GPU加速算法,该方法通过对传统方法中数据处理步骤的优化处理,能够有效地减少相同数据在主存和GPU之间的重复传输,从而有效地减轻数据传输时延对系统整体性能的影响。由于数据的唯一性的需求,为了防止并行查重线程间的数据冲突,在并行磁盘索引查重方法中需要设计一种线程同步机制。随着并行规模的扩大,现有并行查重方法中采用的锁机制带来了巨大的一致性开销,严重影响了并行查重算法的整体性能。为减少并行查询的一致性开销,同时减少磁盘索引的查询延迟,结合分布式索引表的特点,提出了一种基于数据指纹后缀的并行索引查询优化方法。该方法根据数据指纹的哈希后缀将不同的数据指纹的查询任务加载于不同的查询线程以减少并行线程间的一致性开销。实验表明,该方法能够有效地减少系统I/O延时,相对于传统方法而言,能够有效地提高系统整体性能。