论文部分内容阅读
在文件系统和I/O领域,提高性能和I/O的可扩展性是人们的研究目标。在磁盘存储系统、网络文件系统、并行文件系统和并行I/O界面上已经有了很多研究成果,但在可扩展并行系统的I/O上,既缺乏统一的标准,又缺乏对影响因素的深入了解。可扩展I/O(SIO)研究集中在硬件系统、操作系统支持、语言编译器和Runtime系统的支持、应用的I/O特征分析,和需要大量I/O的并行应用设计五个方面。本文着重于一种可扩展I/O标准界面的设计、一个可扩展文件系统的设计,以及在大规模并行处理系统和机群体系结构系统上参考实现和原型系统的实现与评价。 本文提出一种新型的I/O编程界面,称作“可扩展I/O底层应用编程界面”(SIO-LLAPI),这种简单的以性能为目标的底面界面是用以支持文件系统开发者有效地开发高层的并行I/O界面和为并行I/O的研究者提供基础平台。这项API设计工作是美国NSF组织的Scalable I/O Initiative项目的一部分。 本文描述了在Intel Paragon多机系统上SIO-LLAPI的一种参考实现(Reference Implementation)。在这个SIO底层界面的实现中,我们提供了与Intel并行文件系统(PFS)兼容的文件系统结构和文件条块化(stripe)算法,并且实现了核心内和用户空间库两个版本。这个参考实现支持SIO底层界面的所有核心特色和部分可选特色,包括scatter-gather方式读写操作、异步I/O、文件控制操作、客户端文件缓存和预取机制、文件存取的Hints机制、Collective I/O、和一种高效的文件拷贝。我们初步的性能评价表明,SIO-LLAPI提供了大幅度提高I/O性能的可能性,并且易于实现,它的API灵活性对并行I/O的研究很有帮助。这个参考实现有助于其他实现者对SIO-LLAPI标准的理解和实现经验的获得。 为了更好地理解性能上隐含的因素,我们在SIO-LLAPI之上实现了Intel PFS文件系统的界面。我们的实验结果表明,在大多数情况下,这种实现方式下PFS的性能与原始的(native)PFS性能相当,在某些情况下,如较小的顺序文件存取、较大的I/O请求、和Collective I/O,SIO-LLAPI上的PFS实现比原始的PFS性能更稳定和更好。同时,我们还实现了其它的高层文件系统界面和应用程序,如在SIO-LLAPI上实现了ADIO界面,在我们的PFS界面上运行Hartree-Fock应用,都获得了性能的提高。