TY - GEN
T1 - Extending I/O through high performance data services
AU - Abbasi, Hasan
AU - Lofstead, Jay
AU - Zheng, Fang
AU - Schwan, Karsten
AU - Wolf, Karsten
AU - Klasky, Scott
PY - 2009
Y1 - 2009
N2 - The complexity of HPC systems has increased the burden on the developer as applications scale to hundreds of thousands of processing cores. Moreover, additional efforts are required to achieve acceptable I/O performance, where it is important how I/O is performed, which resources are used, and where I/O functionality is deployed. Specifically, by scheduling I/O data movement and by effectively placing operators affecting data volumes or information about the data, tremendous gains can be achieved both in the performance of simulation output and in the usability of output data. Previous studies have shown the value of using asynchronous I/O, of employing a staging area, and of performing select operations on data before it is written to disk. Leveraging such insights, this paper develops and experiments with higher level I/O abstractions, termed "data services", that manage output data from 'source to sink': where/when it is captured, transported towards storage, and filtered or manipulated by service functions to improve its information content. Useful services include data reduction, data indexing, and those that manage how I/O is performed, i.e., the control aspects of data movement. Our data services implementation distinguishes control aspects - the control plane - from data movement - the data plane, so that both may be changed separably. This results in runtime flexibility not only in which services to employ, but also in where to deploy them and how they use I/O resources. The outcome is consistently high levels of I/O performance at large scale, without requiring application change.
AB - The complexity of HPC systems has increased the burden on the developer as applications scale to hundreds of thousands of processing cores. Moreover, additional efforts are required to achieve acceptable I/O performance, where it is important how I/O is performed, which resources are used, and where I/O functionality is deployed. Specifically, by scheduling I/O data movement and by effectively placing operators affecting data volumes or information about the data, tremendous gains can be achieved both in the performance of simulation output and in the usability of output data. Previous studies have shown the value of using asynchronous I/O, of employing a staging area, and of performing select operations on data before it is written to disk. Leveraging such insights, this paper develops and experiments with higher level I/O abstractions, termed "data services", that manage output data from 'source to sink': where/when it is captured, transported towards storage, and filtered or manipulated by service functions to improve its information content. Useful services include data reduction, data indexing, and those that manage how I/O is performed, i.e., the control aspects of data movement. Our data services implementation distinguishes control aspects - the control plane - from data movement - the data plane, so that both may be changed separably. This results in runtime flexibility not only in which services to employ, but also in where to deploy them and how they use I/O resources. The outcome is consistently high levels of I/O performance at large scale, without requiring application change.
UR - http://www.scopus.com/inward/record.url?scp=72049132104&partnerID=8YFLogxK
U2 - 10.1109/CLUSTR.2009.5289167
DO - 10.1109/CLUSTR.2009.5289167
M3 - Conference contribution
AN - SCOPUS:72049132104
SN - 9781424450121
T3 - Proceedings - IEEE International Conference on Cluster Computing, ICCC
BT - 2009 IEEE International Conference on Cluster Computing and Workshops, CLUSTER '09
T2 - 2009 IEEE International Conference on Cluster Computing and Workshops, CLUSTER '09
Y2 - 31 August 2009 through 4 September 2009
ER -