Supporting interactive applications in grid environments
The continued evolution of numerical simulation techniques and their acceptance by scientists and engineers fostered a rapid increase in the demand of computer cycles. Supercomputer centres capable of supporting the most realistic simulation of surgical procedures or air pollution combined with weather forecasting are all oversubscribed. Connecting supercomputer centres with commodity clusters of personal computers or workstations emerged as a promising alternative at a lower cost. However, the distributed nature of such a heterogeneous multi-site computing environment, which is characterised by different hardware architectures, represents a significant challenge in its effective exploitation. Among the goals of the CROSSGRID project was to provide a grid-enabled computational framework that would hide irrelevant complexities and present users with familiar abstractions. Crossbroker is the component developed by project partners at the Universitat Autònoma de Barcelona that manages submission of parallel application programs. More specifically, this middleware service is responsible for selecting the most suitable resources for the application programs submitted by users. This selection will be made by taking into account the requirements set for its execution, as well as by sorting the available resources in order of preference. Computational intensive simulations that have been programmed using a parallel programming model and a parallel computing library such as the Message passing interface (MPI) library are supported by Crossbroker. Furthermore, applications made of multiple programs depending on each other can be submitted in a batch-like way. After taking all the necessary steps to guarantee the successful submission of application programs that can also accept input from the users during execution, the application is allowed to run. A command line interface allows query of the status of programs running on a single or multiple clusters and finally retrieves results. The Crossbroker offers a unified approach to running applications distributed over multiple sites of a grid in an automatic and more importantly, transparent way.