Title :
Java Byte Code Scheduling Based on the Most-Often-Used-Paths in Programs with Branches
Author :
Laskowski, Eryk ; Tudruj, Marek ; Olejnik, Richard ; Toursel, Bernard
Author_Institution :
Inst. of Comput. Sci., PAS, Ordona
Abstract :
The paper presents an introductory optimization algorithm, which can be performed before a Java program is executed in a parallel system. Taking a sequential multithreaded version of a Java program as input information, the aim of the parallel program optimization is to determine an initial distribution of objects on virtual machines so as to decrease direct inter-object communication and balance loads of the virtual machines. The object placement optimization algorithm uses a graphical representation of control dependencies and data dependencies among methods in Java programs. These dependencies are discovered by an analysis of program byte code and stored in the form of relevant macro/dataflow graphs. The placement optimization algorithm tries to optimally assign the macro nodes to processors (JVMs) so as to reduce inter-processor communication overheads. The optimization method first does clustering of macro nodes on unlimited number of processors (logical JVMs) to reduce the execution time of the clustered nodes. Next, merging of the assigned clusters is performed to reduce the number of logical JVMs to the number of real processors. The presented approach is supported by a dynamic, online load balancing mechanism, which applies object migration as proposed in the ADAJ (adaptive distributed applications in Java) project
Keywords :
Java; data flow graphs; multi-threading; object-oriented programming; processor scheduling; program diagnostics; resource allocation; virtual machines; JVM; Java byte code scheduling; Java programming; Java project; adaptive distributed applications; control dependencies; data dependencies; dataflow graphs; graphical representation; load balancing; macro graphs; most-often-used-paths; object migration; object placement optimization; parallel program optimization; program byte code analysis; sequential multithreaded Java program; virtual machines; Communication system control; Computer science; Flow graphs; Java; Optimization methods; Paper technology; Processor scheduling; Scheduling algorithm; Virtual machining; Yarn;
Conference_Titel :
Parallel and Distributed Computing, 2005. ISPDC 2005. The 4th International Symposium on
Conference_Location :
Lille
Print_ISBN :
0-7695-2434-6
DOI :
10.1109/ISPDC.2005.31