Seasonal Forecast Model (SFM) is an atmosphere general circulation model used for predicting the Indian summer monsoon rainfall in advance of a season. Ensemble forecasting methodology is used to minimize the effect of uncertainties in the initial conditions. The inherent parallelism available with the ensemble forecast methodology makes it a suitable application that can effectively utilize the power of Grid computing paradigm. SFM is implemented on the GARUDA Infrastructure, a national Grid computing initiative of India. Initially, the SFM is run at T62 resolution (Equivalent to 200 km x 200 km physical grid resolution). GridWay meta-scheduler is used to schedule and monitor the jobs with Portable Batch System (PBS) as the local resource manager. GARUDA Visualization Gateway (GVG) tool is used to gather and visualize the outputs from different sites. This prototype run is executed on compute clusters at five different geographical locations. Due to the heterogeneous nature of the GARUDA Infrastructure, variations in performance were noticed. The results of the prototype runs were also used by the GARUDA operational community to fine tune the configurations of compute clusters at various sites of GARUDA. High resolution SFM at T320 resolution (Equivalent to 37 km x 37 km physical grid resolution) is also implemented to understand the scalability of the application on the Grid. Further work is underway to increase the ensemble size. Large ensemble size requires the use of considerable amount of computing power and storage which typically cannot be found at one or two locations. In this work, we describe our experience in conducting the ensemble runs of SFM on GARUDA Grid. We attempt to provide a perspective on the desirable features of a Grid middleware for easier uptake to Grid computing by the climate modeling community.
Compute and data intensive scientific applications demand compilers to allocate more temporaries on the stack. For example, the change resolution component of a global spectral model changes the resolution of the input files using Nearest Neighbour Interpolation which requires large temporaries on the stack. Temporaries include sub-arrays, automatic arrays and, subsections corresponding to actual arguments of a subroutine. If the infrastructure cannot provide adequate stack space at runtime relative to the total size of the temporaries, then the application program runs out of stack and aborts. Allocating the heap memory to store the large temporaries introduced around 25% additional runtime because of allocation and deallocation of the memory. This is observed in various components of a global spectral model. We propose an automatic dynamic stack management framework which uses application profile information and the information related to the required stack memory. It does not mandate any hardware configuration changes. This technique manages stack frames on RAM by the compiler-inserted code into the application binary. Our experiments with a global spectral model show that we are able to obtain an average runtime savings of 21% along with a compile time overhead of 4%. The actual gain depends on the size of the temporaries in an application and the size of the RAM. Currently, it supports sequential and OpenMP applications. We further enhance our framework to deal with the complex MPI and GPU programming paradigms.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.