本书深入研究了当前国际上提出的各种并行文件系统技术,分析归纳了其优缺点。在此基础上,从并行科学计算应用的I/O访问模式、面向并行科学计算应用的并行I/O服务模型及相关界面、并行I/O服务算法和cache预取算法等方面提出了提高其服务性能的若干技术。
I/O系统一直是限制计算机系统整体性能提高的瓶颈。目前,并行I/O技术是克服I/O瓶颈的有效途径之一。但由于要求用户应用直接利用并行I/O子系统往往比较困难,所以人们设计了并行文件系统以向用户提供高性能的YO服务。
本书深入研究了当前国际上提出的各种并行文件系统技术,分析归纳了其优缺点。在此基础上,作者从并行科学计算应用的I/O访问模式、面向并行科学计算应用的并行I/O服务模型及相关界面、并行I/O服务算法和cache预取算法等方面提出了提高其服务性能的若干技术。
并行文件系统的结构和服务模型同用户应用的访问模式密切相关。目前的I/O访问模式分析大多局限于静态的统计分析,因此缺乏对设计并行文件系统的指导意义。本文通过动、静态相结合的分析技术分析了若干典型并行科学计算应用的I/O访问特性,提取了并行科学计算应用的常见I/O访问模式,提出了可描述并行文件系统性能主要因素的馅饼模型,由此得出了设计和研究高性能并行文件系统的指导原则。
基于对并行科学应用I/O访问模式的分析,我们提出了面向磁盘的集成式并行文件系统服务模型(IDDIO)及相关界面。IDDIO模型克服了现有模型只能对一类请求进行优化的缺陷,它可对同步I/O请求和独立I/O请求同时进行优化处理,使服务性能获得较大的改善。
在IDDIO并行文件系统服务模型框架下,本文进而分别研究了对同步式I/O请求和独立式I/O请求的优化算法。针对同步式访问中现有并行I/O服务算法在数据细粒度分布时通信消息过多,易造成瓶颈的问题,提出了面向通信的分组并行I/O服务算法(CDGIO)。CDGIO算法充分利用目前磁盘系统和通信系统的特点,采用两级并行,分组打包等策略获得了较好的性能优化。理论分析和模拟结果表明,该算法有效地缓解了现有服务算法中存在的通信瓶颈问题。
并行科学计算应用中独立I/O请求对访问服务延迟十分敏感。针对此特点,本文提出了适度贪婪的cache预取一体化算法(PGI)。PGI算法基于用户应用的I/O访问模式,在适当时刻发出适度的数据请求,从而回避了现有贪婪或保守预取算法的缺点。PGI算法采用了全局性的损失估计技术,综合评价淘汰和减少预取数据块的损失,获得了较短的整体服务延迟。同时,针对现有cache、预取算法不适于并行文件系统环境的缺陷,一体化算法采用了汇集和负载均衡等技术,实现了较好的I/O访问性能优化。
最后,本书介绍了作者利用上述研究成果研制的SkyWalk并行文件系统的设计和实现。SkyWalk并行文件系统采用了IDDIO并行服务模型、CDGIO并行I/O服务算法和PGI cache预取算法。SkyWalk并行文件系统提供了丰富灵活的用户接口和高性能的I/O服务,并可同时支持远程并行文件传输服务功能。
本书出版,得到了国家863重大软件专项服务器操作系统内核项目(2002AA1Z2101)的资助。
作者
2005年5月