Abstract
FastQuery is a parallel indexing and querying system we developed for accelerating analysis and visualization of scientific data. We have applied it to a wide variety of HPC applications and demonstrated its capability and scalability using a petas- cale trillion-particle simulation in our previous work. Yet, through our experience, we found that performance of reading and writing data with FastQuery, like many other HPC applications, could be significantly affected by various tunable param- eters throughout the parallel I/O stack. In this paper, we describe our success in tuning the performance of FastQuery on a Lustre parallel file system. We study and analyze the impact of parameters and tunable settings at file system, MPI-IO library, and HDF5 library levels of the I/O stack. We demonstrate that a combined optimization strategy is able to improve performance and I/O bandwidth of Fast- Query significantly. In our tests with a trillion-particle dataset, the time to index the dataset reduced by more than one half. We also provide a hybrid architecture for overlaying the CPU and IO time. FastQuery builds indexes iteratively, so the overall performance is bound by cost of each iteration. We combine thread and MPI to overcome this limitation. The results show that hybrid architecture can overlay the CPU and I/O time and has significant improvement.