● 摘要
并行输入/输出(Input/Output) 系统历来是计算机系统结构领域一个热点研究方向,其旨在内存和磁盘之间创建多个数据通路来缓解计算机系统的I/O 性能瓶颈问题。并行文件系统作为并行输入/输出系统的核心软件之一,不仅提供了文件数据并行访问所需的语义和接口,而且能够通过文件的分条、文件的分配和数据服务器之间的动态负载均衡等手段来保证文件数据的聚合访问速度。其中,文件分条是文件数据并行访问的前提之一;有效的文件分配是发挥大规模存储设备性能的有力保障;数据服务器之间的动态负载均衡则保证了并行文件系统的高性能和高扩展性。就文件分条而言,其中一个重要因素就是确定文件的分条宽度。目前的文件分条研究多假设文件请求的到达符合泊松分布,然后利用排队论等方法来计算系统级或文件级的分条宽度。而科学计算程序的一个典型特征就是单一文件访问请求的高并发性,并且该特性不能够采用泊松来准确表示,因此需要一种能很好处理具有高并发文件访问特征的文件级分条方法。其次,文件分配的问题也经过了广泛而深入的研究,这些研究主要面向非分条文件或者在分配文件过程中忽略了文件访问的动态特性。在实际的并行输出/输出系统中,文件大多采用分条的方式存储。因此需要研究一种面向分条文件,并且考虑文件动态访问特性的文件分配方法。最后,对于数据服务器间的动态负载均衡而言,目前的解决方法不仅采用基于集中式决策或分组式决策的体系结构,而且大多的研究忽略了网络对负载均衡方法的影响。随着存储系统规模的扩大,现有解决方法在扩展性、高可用性和性能方面的缺憾可能限制它们在大规模系统上的应用。因而,需要研究一种具有高扩展性、高可用性和高性能的负载均衡方法。针对以上问题,本文基于并行文件系统内的数据处理流程,针对高性能计算中的几种典型的应用场景,研究了提高文件数据并行访问性能的优化方法。论文的主要工作和贡献包括:1. 提出了一种面向高并发文件访问请求的文件级分条方法。首先提出了一个用来刻画具有高并发特征的文件请求的性能和文件分条宽度之间关系的分析模型。然后,基于该模型设计了一种自适应的文件级分条方法。实验结果表明,本文提出的性能分析模型的准确率大约在88.97%;与当前流行的文件分条方法相比,基于该性能分析模型的文件级分条方法能够提高FLASH I/O 的I/O 性能高达2.3 至5.8 倍。2. 提出了一种最小化文件请求间访问冲突概率的文件分配方法——MinCPP。通过对待分配的分条文件按照访问强度的降序排列,然后按照贪心的方式在多个磁盘上分配文件,MinCPP 能够在很好地处理文件分条特性的同时降低整个文件请求间的动态访问冲突概率,从而提高整个存储系统的性能。与此同时,为了更好的满足实际系统内动态文件分配的需求,本文还基于MinCPP 提出了一种动态的分条文件分配方法——DMinCPP。实验结果显示,与当前的主流文件分配方法相比,MinCPP可以降低12.11% 的文件请求响应时间和28.59% 的服务器负载方差;DMinCPP 可以降低6.25% 的文件请求的响应时间和16.14% 的服务器负载方差。3. 提出了一种动态自适应的负载均衡方法——SALB。SALB 是完全基于分布式负载决策的体系结构。在这种体系结构中,每一个具有数据服务器都可以独立地进行负载均衡决策和发起动态文件迁移。SALB 的负载决策机制的分布性可以保证其具有高扩展性和高可用性。本文还设计了一个在线负载预测算法来预测单一数据服务器的短期负载。在这种情况下,可以减少网络传输延迟对负载决策延迟的影响。为了减少分布式负载均衡方法中用于负载收集的网络信息交换量,本文提出了一个自适应的负载收集阈值调整算法。该算法能够根据服务器自身的负载情况和整个系统的负载情况来调整负载收集的阈值,从而使N个数据服务器之间的信息交换量在最坏的情况下降低到1/2N^2。实验结果表明,与传统基于集中式体系结构的负载均衡方法相比,SALB 可以减低11.36% 的文件请求响应时间和10.31% 的服务器负载方差。
相关内容
相关标签