Argonne National Laboratory

Enabling Active Storage on Parallel I/O Software Stacks

TitleEnabling Active Storage on Parallel I/O Software Stacks
Publication TypeConference Paper
Year of Publication2010
AuthorsSon, SW, Lang, S, Carns, PH, Ross, RB, Thakur, R, Ozisikyilmaz, B, Kumar, P, Liao, W-K, Choudhary, A
Conference NameProceedings of 26th IEEE Conference on Mass Storage Systems and Technologies
Date Published05/2010
Conference LocationIncline Village, NV, USA
Other NumbersANL/MCS-P1719-0110

As data sizes continue to increase, the concept of active storage is well fitted for many data analysis kernels. Nevertheless, while this concept has been investigated and deployed in a number of forms, enabling it from the parallel I/O software stack has been largely unexplored. In this paper, we propose and evaluate an active storage system that allows data analysis, mining, and statistical operations to be executed from within a parallel I/O interface. In our proposed scheme, common analysis kernels are embedded in parallel file systems. We use an enhanced parallel I/O interface that exposes the semantics of these embedded kernels to parallel file systems to enable data analysis on the server. In order to allow complete server-side operations without file format or layout manipulation, our scheme adjusts the file I/O buffer to the computational unit boundary on the fly. Our scheme also uses server-side collective communication primitives for reduction and aggregation using interserver communication. We have implemented a prototype of our active storage system and demonstrate its benefits using four data analysis benchmarks. Our experimental results show that our proposed system improves the overall performance of all four benchmarks by 50.9% on average and that the compute-intensive portion of the k-means clustering kernel can be improved by 58.4% through GPU offloading when executed with a larger computational load. We also show that our scheme consistently outperforms the traditional storage model with a wide variety of input dataset sizes, number of nodes, and computational loads.