Optimization of program loading by object class clustering

Thepparit Banditwattanawong, Soichiro Hidaka, Hironori Washizaki, Katsumi Maruyama · IEEJ Transactions on Electrical and Electronic Engineering · 2006

It is typical that only a part of the whole program code is necessary for their successful execution. Partial program code loading optimizes the start-up delay and system resource consumption of the object-oriented programs by decomposing the program into a set of object class clusters as the units of incremental on-demand loading. Unfortunately, the lack of a systematic yet simple class clustering technique prohibits such an optimization approach. This paper presents a Java class clustering technique that is able to improve both the spatial locality and temporal affinity of an optimized program. The technique provides two clustering algorithms, resource-centric and performance-centric, to achieve different requirements in optimizations. Experimental results indicate that our algorithms are practically useful to both interactive and noninteractive programs. Among the tested Java programs, use of the performance-centric and resource-centric algorithms could significantly improve program loading, on average, by 2.9 and 2.2 times, respectively, faster than whole program loading. Both algorithms resulted in chances to economize system resources. © 2006 Institute of Electrical Engineers of Japan. Published by John Wiley & Sons, Inc.

Read the paper · More papers on PaperTik