论文部分内容阅读
超级计算机应用的性能很大程度上受到硬件、系统软件、算法和应用软件的影响,针对各类具体应用进行合理的系统软件优化与定制可以提高性能。科学计算是当前超级计算机系统的一个重要应用方向。科学计算类应用的主要特点是数据量大,计算时间长,系统负荷重。本文针对科学计算应用的特点,讨论了操作系统对科学计算性能的影响,主要包括内存管理和进程调度策略,以及操作系统可能引入的噪声。在讨论结果的基础上,本文分析了针对科学计算应用的几种基于操作系统的可能的优化方法,并在Linux操作系统中进行了尝试。本文提出并且实现了一种在用户空间为应用程序分配超级页面的方法,作为Linux操作系统中内存管理策略的补充。该策略利用Linux系统支持的内核模块,以重定向系统调用的方式为应用程序直接分配以超级页面为单位的物理内存。程序员能够自行选择是否应用超级页面,或同时使用传统页面和超级页面。本文对超级页面内存分配方法进行了不同角度的性能测试评价,结果表明该方法在并行计算应用中对节点间通信性能和内存虚实地址转换性能均有提高。本文对Linpack测试程序进行了基于Myrinet网络的节点间通信状况统计分析,包括通信所占用时间和通信数据包在长度上的分布,以及不同的问题规模、数据分块大小对通信状况的影响,确定了Linpack测试程序在机群系统上的通信特点。应用上述两项工作,在曙光4000A超级计算机上使用超级页面进行了Linpack性能测试,与使用传统页面的测试结果对比,在1024个处理器的规模下,运算效率提升了4%。本文研究结果的主要贡献在于:1.将曙光4000A在2004年6月的世界超级计算机Top 500排行榜上的排名提升到了第10名,提高了两个位置;2.使Myrinet网络的通信带宽在包长8MB时产生了17.5%的增幅。