A High-Level Grid Application Environment to Grid-Enable Legacy Code
by Péter Kacsuk, Tamás Kiss, Ariel Goyeneche, Thierry Delaitre, Zoltán Farkas and Tamás Boczkó
One of the biggest obstacles in the widespread industrial take-up of Grid technology is the existence of a large number of legacy code programs that are not accessible as Grid services. We introduce a new approach Grid Execution Management for Legacy Code Architecture (GEMLCA) to deploy legacy codes as Grid services without modifying the original code. By integrating GEMLCA with a workflow execution-oriented Grid portal, the P-GRADE portal, Grid services based on such legacy code can be applied in complex business processes.
There are many efforts worldwide to provide new Grid middleware concepts for constructing large production grids. As a result, the Grid community is at thestage of producing third-generation Grid systems represented by the OGSA (Open Grid Services Architecture) and WSRF (Web Services Resource Framework) standards. On the other hand relatively little attention has been paid to how end-users can survive in the rapidly changing world of Grid generations. The primary goal of the research teams of University of Westminster and SZTAKI within the UK e-Science OGSA Testbed Project was to construct a high-level Grid application environment where end-users can:
- deploy and use any legacy code program as a Grid service when creating Grid applications
- easily and conveniently create complex Grid applications by accessing a Grid portal.
GEMLCA is a Grid architecture developed by the research team at the Centre for Parallel Computing, University of Westminster, and aims to make legacy code programs available as Grid services with user-friendly interfaces and without re-engineering the original code. Using GEMLCA, legacy code written in any language (Fortran, C, Java etc) can easily be deployed as an OGSA Grid service without any user effort. GEMLCA has also been integrated with the P-GRADE Grid portal and workflow solutions (developed by SZTAKI), allowing the end-user to construct and execute complex Grid workflows, using a user-friendly Web interface, on which legacy components of the workflow show up as Grid services.
GEMLCA is a general solution for the deployment of existing legacy code applications as Grid services without code re-engineering. The only access point for a client to the GEMLCA architecture is the front-end layer composed of a number of Grid services. These services offer interfaces in order to deploy, query, submit, check the status of, and get the results back from legacy computational jobs. As with any other Grid Service, the front-end layer is described in Web Services Description Language (WSDL) and can be used by any Grid service client to bind and make use of its functionality through Simple Object Access Protocol (SOAP). GEMLCA clients can be easily created using either the provided universal GEMLCA Stubs for Java or the WSDL file. The conceptual architecture of GEMLCA is shown in Figure 1.
|Figure 1: GEMLCA conceptual architecture.
Our goal was to enable end-users to apply legacy code as OGSA Grid services in workflows and to provide a user-friendly interface through which to do this. In order to achieve our goal GEMLCA has been integrated with the P-GRADE Grid portal solution. The workflow editor of P-GRADE portal enables the connection of component jobs into complex workflows through an easy-to-use graphical environment. The Workflow Manager of P-GRADE portal takes care of executing such workflows on various Grid systems in a user-transparent way. The integration of GEMLCA and the P-GRADE portal allows the user to construct and execute workflows from legacy codes deployed as OGSA Grid services.
In order to demonstrate the capabilities of the solution, a complex workflow simulating and analysing urban car traffic was created and executed on five different sites of the UK OGSA Testbed. Simulators run in parallel at SZTAKI, CCLRC Daresbury Laboratory, and Westminster, Portsmouth and Reading Universities. The simulators were fed by a road-network generator and the results were analysed by a program also running at Westminster. The applications were legacy C codes transferred into Grid services using GEMLCA. The workflow and visualization of execution is shown in Figure 2.
|Figure 2: Complex workflow and execution graph for analysing road traffic.
Future work will include the support of other service-oriented Grid architectures like WSRF and pure Web services. It is also envisaged that plug-ins for application-specific visualizers to the
P-GRADE portal will be developed.
Péter Kacsuk, SZTAKI, Hungary
Tel: +36 1 279 6064
Tamás Kiss, Cavendish School of Computer Science, UK
Tel: + 44 20 7911 5000, ext 3542