Title :
Skel: Generative Software for Producing Skeletal I/O Applications
Author :
Logan, Jeremy ; Klasky, Scott ; Lofstead, Jay ; Abbasi, Hasan ; Ethier, Stéphane ; Grout, Ray ; Ku, Seung-Hoe ; Liu, Qing ; Ma, Xiaosong ; Parashar, Manish ; Podhorszki, Norbert ; Schwan, Karsten ; Wolf, Matthew
Author_Institution :
Oak Ridge Nat. Lab., Oak Ridge, TN, USA
Abstract :
Massively parallel computations consist of a mixture of computation, communication, and I/O. Of these three components, implementing an effective parallel I/O solution has often been overlooked by application scientists and has typically been added to large scale simulations only when existing serial techniques have failed. As scientists´ teams scaled their codes to run on hundreds of processors, it was common to call on an I/O expert to implement a set of more scalable I/O routines. These routines were easily separated from the calculations and communication, and in many cases, an I/O kernel was derived from the application which could be used for testing I/O performance independent of the application. These I/O kernels developed a life of their own used as a broad measure for comparing different I/O techniques. Unfortunately, as years passed and computation and communication changes required changes to the I/O, the separate I/O kernel used for benchmarking remained static, no longer providing an accurate indicator of the I/O performance of the simulation, and making I/O research less relevant for the application scientists. In this paper we describe a new approach to this problem where I/O kernels are replaced with skeletal I/O applications that are automatically generated from an abstract set of simulation I/O parameters. We realize this abstraction by leveraging the ADIOS [1] middleware´s XML I/O specification with additional runtime parameters. Skeletal applications offer all of the benefits of I/O kernels including allowing I/O optimizations to focus on useful I/O patterns. Moreover, since they are automatically generated, it is easy to produce an updated I/O skeleton whenever the simulation´s I/O changes. In this paper we analyze the performance of automatically generated I/O skeletal applications for the S3D and GTS codes. We show that these skeletal applications achieve performance comparable to that of the production applications. We wrap up the paper - ith a discussion of future changes to make the skeletal application better approximate the actual I/O performed in the simulation.
Keywords :
input-output programs; parallel processing; I/O optimizations; I/O patterns; I/O routines; Skel; XML I/O specification; generative software; parallel I/O solution; parallel computations; producing skeletal I/O applications; skeletal I/O applications; Arrays; Benchmark testing; Educational institutions; Hardware; Kernel; Reactive power; XML;
Conference_Titel :
e-Science Workshops (eScienceW), 2011 IEEE Seventh International Conference on
Conference_Location :
Stockholm
Print_ISBN :
978-1-4673-0026-1
DOI :
10.1109/eScienceW.2011.26