论文部分内容阅读
随着设计理念和硬件制造工艺的不断发展,在过去的十多年中,磁盘存储设备的容量和访问性能有了长足的进步,但是依旧与CPU运算速度之间出现了不断扩大的不匹配问题,磁盘I/O逐渐成为数据密集型计算任务的瓶颈所在。特别是在分布式的高性能计算环境下,大量数据往往通过共享的存储设备进行存储,相比并行的计算速度,即使采取了NAS专用存储设备或SAN专用存储网络,使用RAID磁盘阵列提高磁盘数据访问吞吐量,磁盘I/O也往往成为系统总体性能的主要制约因素。在大量计算节点需要并发访问相同的文件数据时,存储系统局部会负担大量的文件访问请求,磁盘以及网络I/O在系统中的瓶颈地位就越发明显。面向高性能计算的分布式内存文件缓存系统,利用各计算节点上的空闲内存空间,构建分布式的共享内存池,利用数据访问的局部性,对高访问频度的文件数据进行内存缓存,提供统一的文件访问接口,透明的对存在于缓存或磁盘上的文件进行访问,降低高性能计算任务的I/O开销与等待时间,提高执行效率,同时降低共享存储系统的负载。使用优化的缓存文件置换机制,对缓存中的文件数据进行换入换出,缓存高频度访问的文件,提高缓存数据访问的命中率。实时监控计算节点的运行状态,使用预测算法对未来空闲内存大小进行预测,根据预测调整共享内存池大小,在不影响本地应用程序执行的前提下,最大程度利用空闲内存空间。实验表明,面向高性能计算的分布式内存文件缓存系统能够正确稳定的运行,有效利用计算节点的空闲内存对文件数据进行缓存,提高了上层应用的数据访问效率。在使用1Gbps以太网连接的集群上,相对于网络连接的共享磁盘文件存储,文件读取吞吐量最高提升200%。