BYG: An Approach to Just-in-Time Gridification of Conventional Java Applications

Grid technologies allow developers to run applications wit h enormous demands for resources such as processing power, data and net work bandwidth. However, exploiting Grid resources demands developers to G rid-aware their applications by explicitly accessing the services of specific Grid middlewares, which involves more development effort and requires expertise on Grid programming. A number of recent research efforts known as gridification methodsaim to avoid these problems by semi-automatically deriving the Grid-en abled version of an application based on either its source code or binary code. Mos t of the approaches belonging to the second group produce coarse-grained Grid a pplic tions that prevent programmers from employing tuning mechanisms such as p arallelism and distribution, and are rather inflexible, since they were not des igned to reuse existing Grid middleware services. We present BYG (BYtecode Gridifie r), a new gridification method that allow developers to easily gridify binar y Java applications and solves these issues. The paper describes the prototype impl mentation of BYG and some experiments showing the feasibility of the approach. E xperiments show that BYG can be used to transparently gridify and efficiently exec ut a broad range of resource-intensive applications.

[1]  Wei Li,et al.  Optimizing Java bytecodes , 1997 .

[2]  R. V. van Nieuwpoort,et al.  The Grid 2: Blueprint for a New Computing Infrastructure , 2003 .

[3]  Dietmar W. Erwin,et al.  UNICORE—a Grid computing environment , 2002, Concurr. Comput. Pract. Exp..

[4]  Todd A. Proebsting,et al.  Krakatoa: Decompilation in Java (Does Bytecode Reveal Source?) , 1997, COOTS.

[5]  Marcelo R. Campo,et al.  JGRIM: An approach for easy gridification of applications , 2008, Future Gener. Comput. Syst..

[6]  Douglas Thain,et al.  Error scope on a computational grid: theory and practice , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[7]  David P. Anderson,et al.  SETI@home: an experiment in public-resource computing , 2002, CACM.

[8]  Rob van Nieuwpoort,et al.  The Grid Application Toolkit: Toward Generic and Easy Application Programming Interfaces for the Grid , 2005, Proceedings of the IEEE.

[9]  Simon J. Cox,et al.  MyCoG.NET: a multi‐language CoG toolkit , 2007, Concurr. Comput. Pract. Exp..

[10]  Donald F. Ferguson,et al.  The WS-Resource Framework , 2004 .

[11]  Ian T. Foster,et al.  The Anatomy of the Grid: Enabling Scalable Virtual Organizations , 2001, Int. J. High Perform. Comput. Appl..

[12]  Daniel S. Myers,et al.  Grid Services Base Library: A high-level, procedural application programming interface for writing Globus-based Grid services , 2007, Future Gener. Comput. Syst..

[13]  Dragos Manolescu,et al.  Volta: Developing Distributed Applications by Recompiling , 2008, IEEE Software.

[14]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[15]  Miron Livny,et al.  Condor and the Grid , 2003 .

[16]  Bartosz Balis,et al.  LGF: A flexible framework for exposing legacy codes as services , 2008, Future Gener. Comput. Syst..

[17]  A. Stephen McGough,et al.  A standards based approach to enabling legacy applications on the Grid , 2008, Future Gener. Comput. Syst..

[18]  I. Foster,et al.  The grid: computing without bounds. , 2003, Scientific American.

[19]  Yogesh L. Simmhan,et al.  On Building Parallel & Grid Applications: Component Technology and Distributed Services , 2004, Proceedings of the Second International Workshop on Challenges of Large Applications in Distributed Environments, 2004. CLADE 2004..

[20]  Jason Maassen,et al.  Fault-Tolerant Scheduling of Fine-Grained Tasks in Grid Environments , 2006, Int. J. High Perform. Comput. Appl..

[21]  Rod Johnson,et al.  J2EE Development Frameworks , 2005, Computer.

[22]  Ian T. Foster Globus Toolkit Version 4: Software for Service-Oriented Systems , 2005, NPC.

[23]  Gábor Terstyánszky,et al.  GEMLCA: Running Legacy Code Applications as Grid Services , 2005, Journal of Grid Computing.

[24]  Stefan Freitag,et al.  Integration of multiple middlewares on a single computing resource , 2009, Future Gener. Comput. Syst..

[25]  Alejandro Zunino,et al.  A survey on approaches to gridification , 2008 .

[26]  Gregor von Laszewski,et al.  Features of the Java Commodity Grid Kit , 2002, Concurr. Comput. Pract. Exp..

[27]  Ian T. Foster,et al.  Globus Toolkit Version 4: Software for Service-Oriented Systems , 2005, Journal of Computer Science and Technology.

[28]  Andrew S. Grimshaw,et al.  The Legion support for advanced parameter-space studies on a grid , 2002, Future Gener. Comput. Syst..

[29]  Marek Tudruj,et al.  Byte-code scheduling of Java programs with branches for desktop grid , 2007, Future Gener. Comput. Syst..

[30]  Vijay S. Pande,et al.  Folding@Home and Genome@Home: Using distributed computing to tackle previously intractable problem , 2009, 0901.0866.

[31]  Dennis Gannon,et al.  On Building Parallel & Grid Applications: Component Technology and Distributed Services , 2004, CLADE.