Java programs optimization based on the most-often-used-paths approach

2006 
The paper presents a Java byte-code optimization algorithm, which determines an initial distribution of objects among virtual machines (JVMs) so as to decrease direct inter-object communication and balance loads of the virtual machines. The proposed optimization algorithm is based on a graph representation of control and data dependencies between methods in Java programs. These dependencies, expressed in the form of conditional macro-dataflow graphs, are discovered by a static analysis of program byte-code. Object placement optimization is performed before a Java program is executed in a parallel system. The optimization methods are based on the Dominant Sequence Clustering (DSC) approach. First, macro nodes are clustered on an unlimited number of processors (logical JVMs) to reduce the total program execution time. Next, clusters are merged and scheduled to adjust the number of logical JVMs to the number of real processors. The presented approach is supported by branch optimization techniques, which include detection of mutually-exclusive paths and scheduling of most-often-used-paths based on branch probabilities.
    • Correction
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    2
    Citations
    NaN
    KQI
    []