Research‎ > ‎Projects‎ > ‎

Gridification

Gridification of Conventional Component-Based Applications

Grid Computing has been widely recognized as the next big thing in distributed software development. Grid technologies allow developers to implement massively distributed applications with enormous demands for resources such as processing power, data and network bandwidth. Despite the important benefits Grid Computing offers, contemporary approaches for Grid-enabling applications still force developers to invest much effort into manually providing code to discover and access Grid resources and services. The goal of this project is to design new methods and tools for porting component based applications to service oriented Grids.

Introduction

The Grid shows itself as a globally distributed computing environment in which hardware and software resources from disparate sites are virtualized to provide applications with vast capabilities through a myriad of services. Just like an electrical infrastructure, which usually spreads over several cities to transparently convey and deliver electricity, the Grid aims at offering a powerful yet easy-to-use computing infrastructure to which applications can be easily “plugged” and efficiently executed by leveraging the various resources hosted at different administration domains. In fact, the term “Grid” comes from a widely-known analogy with the electrical power grid infrastructure, since researchers expect that applications will benefit from Grid resources as transparently and pervasively as electricity is now consumed by users.

The extremely heterogeneous, complex nature inherent to the Grid has now put on the agenda of the Grid research community the need for new techniques to easily gridify software that has not been at first thought to be deployed on Grid settings. Examples of this kind of software include desktop applications, legacy code and standard Web applications. As a consequence, Grid researchers are currently investigating appropriate ways of transforming non-Grid applications to effectively and efficiently benefit from Grid services. In this sense, a number of methods and tools have been recently proposed in a serious attempt to help reality to catch up with the ambitious goal of porting applications to the Grid with very little or zero effort.

However, the sad part of the story is that plugging applications to the Grid is still very difficult, since current toolkits for Grid development force developers to take into account many details when adapting applications to run on the Grid. On one hand, toolkits demands the developer to manually modify and restructure applications so they can use a particular programming API for accessing Grid services or are compliant to a certain application structure. As a consequence, benefiting from the Grid is just circumscribed to application developers having experience and knowledge on the art of Grid programming. Similarly, toolkits either lack of proper mechanisms to tune their applications once these are ported to the Grid, or provide tuning mechanisms that require solid knowledge on the application execution support being used. On the other hand, many approaches are based on low-level, non-widely employed technologies. This fact clearly compromises cross-platform interoperability of Grid applications, which in turn represents a step back in the adoption of the Grid Computing paradigm as the basis for global collaboration.

The goal of this project is to design new methods for porting component based applications to service oriented Grids. The main results of this project are GRATIS, a method for porting applications to service Grids and JGRIM, a middleware that supports the gridification method. Current middlewares and toolkits demand the developer to know in advance many platform-related details before an application can efficiently take advantage of Grid services and applications. Consequently, the main goal of GRATIS is to make the task of porting applications to the Grid easier and, at the same time, provide facilities to easily deal with efficiency issues when gridifying applications. Therefore, GRATIS/JGRIM show that it is possible to code Grid applications by keeping developers away from most Grid-related details, and effectively tune these applications without knowing too much about Grid technologies and still achieving acceptable levels of performance. In order to achieve these goals, the proposed solution adopts a non-intrusive approach to gridification promoting separation of concerns between application logic and Grid behavior, this latter representing access to Grid services and functionality for efficiently running gridified applications. The approach is focused on reducing the effort to add Grid concerns to the application logic.

Publications

  1. On the Evaluation of Gridification Effort and Runtime Aspects of JGRIM Applications. (C. Mateos, A. Zunino, M. Campo). Future Generation Computer Systems: The International Journal of Grid Computing: Theory, Methods and Applications. Elsevier Science. ISSN: 0167-739X. Ed.: P. Sloot. 2010. Accepted (Thomson SCI).
  2. An Approach for Non-Intrusively Adding Malleable Fork/Join Parallelism into Ordinary JavaBeans Compliant Applications. (C. Mateos, A. Zunino, M. Campo). Computer Languages, Systems and Structures. Elsevier Science. ISSN: 1477-8424. Ed.: R. S. Ledley and B. Kalyanasundaram. 2010. Accepted (Thomson SCI)
  3. m-JGRIM: A Novel Middleware for Gridifying Java Applications into Mobile Grid Services. (C. Mateos, A. Zunino, M. Campo). Software: Practice and Experience. Wiley InterScience. ISSN 0038-0644. Ed: Nigel Horspool. 2009. (Thomson SCI). Accepted.
  4. Una herramienta para la paralelización automática de aplicaciones Java intensivas en entornos distribuidos. (C. Mateos, A. Zunino, M. Campo). Mecánica Computacional, Vol. XXVIII, pp. 253-272. Computación de Alto Desempeño en Mecánica Computacional, ENIEF 2009. AMCA. ISSN 1666-6070. Tandil. 2009.
  5. Just-in-Time Gridification of Compiled Java Applications. (C. Mateos, A. Zunino, M. Campo, N. Gomez). Proceedings of the First Symposium on High-Performance Computing (HPC2009) in Latin America, 38 Jornadas Argentinas de Informática e Investigación Operativa (JAIIO). pp 62-77. SADIO. ISSN 1851-9326. Mar del Plata, 2009. View draft .
  6. BYG: An Approach to Just-in-Time Gridification of Conventional Java Applications (C. Mateos, A. Zunino, M. Campo, R. Trachsel). Chapter of Parallel Programming and Applications in Grid, P2P and Network-based Systems. Volume 17 of Advances In Parallel Computing, IOS Press. Chapter 9, pp. 232-260. Ed.: Fatos Xhafa. ISSN 0927-5452. ISBN 978-1-60750-004-9. 2009.
  7. Grid-enabling Applications with JGRIM. (C. Mateos, A. Zunino, M. Campo). International Journal of Grid and High Performance Computing. IGI Publishing. ISSN: 1938-0259. Eds.: Emmanuel Udoh and Frank Wang. Vol. 1, Num. 3, pp 52-72. 2009.
  8. A Survey on Approaches to Gridification. (C. Mateos, A. Zunino, M. Campo). Software: Practice and Experience. Wiley InterScience. ISSN 0038-0644. Ed: Nigel Horspool. Vol. 38, Num. 5, pp 523-556. 2008.  (Thomson SCI).
  9. JGRIM: An approach for easy gridification of applications. (C. Mateos, A. Zunino, M. Campo). Future Generation Computer Systems: The International Journal of Grid Computing: Theory, Methods and Applications. Elsevier Science. ISSN: 0167-739X. Ed.: P. Sloot. Vol. 24, Num. 2, pp. 99-118. 2008. (Thomson SCI). View draft.
  10. An Approach to Ease the Gridification of Conventional Applications. (C. Mateos). PhD Thesis. UNICEN University, Facultad de Ciencias Exactas. February 2008.
Comments