论文部分内容阅读
粒子计算越来越深入的应用于化工、材料、生物等重大挑战性领域。随着粒子计算规模的增大,海量粒子数据的处理和存储遇到越来越大的挑战,如粒子数据读写的查找开销大、小磁盘I/O性能差等问题。为了提供方便的粒子数据管理,提高海量粒子数据的访问效率,本文设计并实现了针对粒子计算模型的粒子数据管理平台―PPS。该平台通过粒子网格划分的方法,实现了对海量粒子数据的有效组织和管理,并充分利用了粒子计算的读/写请求并发度高、读请求局部性好等特点,降低粒子数据访问的开销,提高粒子计算程序的磁盘I/O性能。
本文的主要工作和贡献有:
(1)设计了一种高效的粒子数据分布式排序系统―ParSort。在粒子计算过程中,粒子集合是海量的、杂乱的。为了便于粒子数据的存储管理和后处理,粒子数据集的磁盘映像必须保持物理意义顺序的排列。ParSort按照初始粒子数据集中粒子网格的划分关系,对计算进程上待写的粒子数据进行分布式排序,然后再写到磁盘,从而保证了这种顺序一致性。ParSort的分布式排序过程将排序、数据的网络传输和写磁盘操作通过流水线并行起来,聚合将要写磁盘的粒子数据,极大的降低了分布式排序带来的额外开销。在19个曙光刀片服务器的测试平台上,ParSort的粒子数据排序写性能可达1130MB/s。
(2)设计了一种高效的粒子数据聚合读系统―ParDist。粒子数据的粒度一般为几十到上千字节。粒子数据读请求中的粒子集合是无组织的、动态的。基于粒子数据读请求的粒子网格局部性和高并发度,ParDist采用了两阶段I/O和数据筛选的设计思想,将海量的小粒子数据请求聚合成对粒子网格的请求,极大的提高了磁盘数据读的性能,进而提升了粒子数据读的吞吐量。评测结果表明,ParDist的粒子数据读性能可达1280MB/s。
(3)实现了面向粒子模拟应用的海量粒子数据管理平台―PPS,并对其进行了分析和评测。PPS平台融合了分布式排序系统和粒子数据聚合读系统,向粒子模拟应用提供高效的粒子数据读/写服务,高可用的分布式粒子数据存储服务,以及方便的粒子数据组织管理。评测结果表明,PPS管理平台具有很好的横向、纵向可扩展性,提供的粒子数据读、写性能可分别达到底层文件系统顺序读、写性能的70%。