Byte-code scheduling of Java programs with branches for desktop grid

A method for an introductory optimization of multithreaded Java programs for execution on clusters of Java Virtual Machines (JVMs) inside desktop grids is presented. It is composed of two stages. In the first stage, a clustering algorithm is applied to extended macro data flow graphs generated on the basis of the byte-code compiled for multithreaded Java programs. These graphs account for data and control dependencies in programs including conditional branch instructions annotated by branch statistics driven from execution traces for representative sets of data. In the second stage, a list scheduling is performed based on the Earliest Task First (ETF) heuristics in which node mapping on JVMs accounts for mutually exclusive paths outgoing from conditional branch nodes. The presented object placement optimization algorithm is a part of the DG-ADAJ environment.

[1]  Jason Maassen,et al.  Ibis: a flexible and efficient Java‐based Grid programming environment , 2005, Concurr. Pract. Exp..

[2]  José C. Cunha,et al.  Grid Computing: Software Environments and Tools , 2005 .

[3]  Michael Philippsen,et al.  JavaParty – transparent remote objects in Java , 1997 .

[4]  Tao Yang,et al.  PYRROS: static task scheduling and code generation for message passing multiprocessors , 1992 .

[5]  Thomas Hérault,et al.  Computing on large-scale distributed systems: XtremWeb architecture, programming models, security, tests and convergence with grid , 2005, Future Gener. Comput. Syst..

[6]  Denis Caromel,et al.  Programming, Composing, Deploying for the Grid , 2006, Grid Computing: Software Environments and Tools.

[7]  Yuan Xie,et al.  Allocation and scheduling of conditional task graph in hardware/software co-synthesis , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[8]  Richard Olejnik,et al.  A new estimation method for distributed Java object activity , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[9]  Kunle Olukotun,et al.  The Jrpm system for dynamically parallelizing Java programs , 2003, ISCA '03.

[10]  Frank D. Anger,et al.  Scheduling Precedence Graphs in Systems with Interprocessor Communication Times , 1989, SIAM J. Comput..

[11]  Jason Maassen,et al.  Ibis: a flexible and efficient Java-based Grid programming environment: Research Articles , 2005 .