论文部分内容阅读
大规模的并行计算机越来越多的被用于解决许多不同领域的大规模的I/O密集型应用,对于这些应用,I/O请求在获得高性能方面上常常造成严重的障碍,当前研究的一个重要方面就是开发一些技术来降低执行I/O的开销。 本文首先讨论了并行环境中I/O的基本方法——串行I/O方法和并行I/O方法,并使用MPI-1及MPI-2对这两种方法进行了实现。分析了当访问连续数据块时不同的实现方法对I/O带宽产生的影响。通过理论分析和实验表明,基于MPI-1的并行I/O实现方法与其它I/O实现方法相比,可得到更高的I/O带宽,是解决I/O性能问题的有效途径。 接着,本文讨论了如何提高非连续访问的性能。并行程序中的访问模式通常是由访问大量的小的连续数据块组成,如果应用程序中的I/O要求制造许多小的I/O请求的话,那么I/O性能就会明显下降。为了解决这个问题,本文分析了两种方法:一种方法是两阶段I/O方法,即处理器间相互合作开发的一种I/O策略,该方法是通过减少I/O请求的数量,增大I/O请求的大小,来更好更充分的利用I/O子系统。我们描述了两阶段I/O的实现算法,并通过编写程序对它进行了实现。通过实验分析了两阶段I/O算法对I/O带宽产生的影响。实验结果表明两阶段I/O与non-collcetive I/O操作相比,可在很大程度上降低执行非连续I/O的开销。另一种方法则是视口I/O方法。MPI-IO的一个重要特征是它允许用户通过使用派生数据类型定义文件视口来使用一个单一函数请