Deploying Legacy Applications on Grids Jiˇ ı Denemark Faculty of Informatics Masaryk University Brno Czech Republic jirka@ics.muni.cz Archit Kulshrestha Center for Computation & Technology Louisiana State University U.S.A. architk@cct.lsu.edu Gabrielle Allen Center for Computation & Technology Louisiana State University U.S.A. gallen@cct.lsu.edu Abstract As Grid Computing technologies mature, computational grids are becoming increasingly common, making a large number of varied computational resources spread around the world potentially available to scientists and engineers. Whereas much effort has been spent on the development of core Grid services, less attention has been paid to how Grids will be used by general applications. Most existing or legacy scientific applications are not designed to sup- port the use of Grid technologies inherently. In this pa- per, we describe how legacy applications can be deployed on a Grid without making complex changes to the original source code, and provide as a case study a migration sce- nario for a legacy parallel astrophysics application. This scenario was demonstrated at the SuperComputing 2004 Conference held at Pittsburgh. 1. Introduction Grids promise researchers a powerful environment in which they can collaboratively utilize distributed compu- tational resources and distributed data [1, 2]. Grid com- puting will provide seamless, transparent, secure access to information technology resources such as hardware, soft- ware, scientific instruments, and services. Like electrical power, this access will be dependable, consistent, and per- vasive. Grid computing’s focus on the ability to support computation across administrative domains sets it apart from traditional distributed computing. A primary con- cept of the Grid is coordinated resource sharing and prob- lem solving in dynamic, multi-institutional virtual organi- zations [1]. This sharing can be file exchange, access to computers, software, data, and other resources, as is re- quired by a range of current day collaborative problem- solving strategies. One of the major strengths and major challenges of the Grid is its diverse nature in terms of the involved hardware and software technologies. There is a wide and growing range of Grid services under develop- ment. Globus Toolkit [3], currently the de facto standard for Grid Computing, provides an environment that can be used to securely access remote system resources such as data and computational cycles. This is provided by services such as the Replica Location Service (RLS) which deals with data files, Grid Resource Allocation and Management (GRAM) which deals with jobs and resources, the Monitor- ing and Discovery Service (MDS) which deals with infor- mation, and the Grid Security Infrastructure (GSI) which provides security. Grid APIs have been written to ease the task of the ap- plication programmers to develop powerful Grid applica- tions that are short and effective. These provide a common programming interface to the numerous Grid technologies that exist such as Globus, Condor etc. The complexity of these systems, both in terms of administration and applica- tion usability, remains high. This aspect, the usability for application programmers, is the focus of the Grid Appli- cation Toolkit (GAT) [4, 5], developed in the EU GridLab project. The GAT incorporates an API designed to help Grid programmers access Grid capabilities directly from their source code. New applications can code against this generic and middleware independent API, providing a new generation of Grid-aware applications able to dynamically and adaptively exploit their environment, and make their own intelligent decisions based on information about their environment. However a lot of so-called “legacy” applica- tions developed prior to the emergence of Grid technolo-