Premium
Optimization of program loading by object class clustering
Author(s) -
Banditwattanawong Thepparit,
Hidaka Soichiro,
Washizaki Hironori,
Maruyama Katsumi
Publication year - 2006
Publication title -
ieej transactions on electrical and electronic engineering
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.254
H-Index - 30
eISSN - 1931-4981
pISSN - 1931-4973
DOI - 10.1002/tee.20082
Subject(s) - computer science , cluster analysis , java , class (philosophy) , code (set theory) , resource (disambiguation) , object (grammar) , set (abstract data type) , program optimization , locality , distributed computing , object oriented programming , programming language , artificial intelligence , computer network , linguistics , philosophy , compiler
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.