论文部分内容阅读
在当今大数据时代下,很多科学计算应用正从传统的计算密集型向数据密集型模式进行转变。在这些科学计算应用中,多个进程同时访问一个共享文件是一种非常常见的并行I/O访问模式,其I/O性能始终是制约并行程序运行效率的一个重要因素,为了提高程序性能,针对这种访问模式进行I/O优化的MPI-IO库被广泛采用,得到了良好的效果。与此同时,为了适应大数据存储与访问需求,诸如Lustre等并行文件系统也被越来越多地部署在高性能计算环境中,这为传统并行I/O中高并发数据访问优化带来了新的挑战。为了解决新环境下面临的并行I/O性能问题,面向高并发数据访问的并行I/O性能优化系统,通过采用将应用I/O访问模式与数据物理布局相匹配的设计思路,重新组织I/O请求顺序,使得I/O代理进程与I/O节点之间形成“一对一”的匹配模式,从而减少高并发数据访问时的数据访问竞争。该优化系统先通过获取分析应用I/O访问模式,从而将其转换成数据物理存储访问信息。然后综合两者信息,设计实现优化的代理进程选择方法与文件域划分方式,使得各I/O节点都能保证均衡的I/O负载,同时将待访问的文件数据段按锁边界对齐,减少锁竞争的发生。最后对I/O请求进行重新组织调整,得到最优的请求顺序,从而保证将一个大的数据请求分成若干子请求时,在完成每个子请求的迭代过程中,不会产生资源访问竞争。这种基于迭代过程这一更细的并行粒度的优化策略,为I/O请求重组织提供了更高的灵活性,保证减少数据访问竞争的同时,不会引入额外的进程间通信开销。基于Lustre分布式文件系统和MPI-IO访问模式的实验测试结果分析表明,该优化系统与传统的优化策略系统相比,在不同的中间缓存大小、条块分布的存储对象设备数量以及计算进程数量条件下,对高并发数据访问的并行I/O性能可以达到平均30%以上的提升效果。