DocumentCode
2441759
Title
Adaptive sampling-based profiling techniques for optimizing the distributed JVM runtime
Author
Lam, King Tin ; Luo, Yang ; Wang, Cho-Li
Author_Institution
Dept. of Comput. Sci., Univ. of Hong Kong, Hong Kong, China
fYear
2010
fDate
19-23 April 2010
Firstpage
1
Lastpage
11
Abstract
Extending the standard Java virtual machine (JVM) for cluster-awareness is a transparent approach to scaling out multithreaded Java applications. While this clustering solution is gaining momentum in recent years, efficient runtime support for fine-grained object sharing over the distributed JVM remains a challenge. The system efficiency is strongly connected to the global object sharing profile that determines the overall communication cost. Once the sharing or correlation between threads is known, access locality can be optimized by collocating highly correlated threads via dynamic thread migrations. Although correlation tracking techniques have been studied in some page-based software DSM systems, they would entail prohibitively high overheads and low accuracy when ported to fine-grained object-based systems. In this paper, we propose a lightweight sampling-based profiling technique for tracking inter-thread sharing. To preserve locality across migrations, we also propose a stack sampling mechanism for profiling the set of objects which are tightly coupled with a migrant thread. Sampling rates in both techniques can vary adaptively to strike a balance between preciseness and overhead. Such adaptive techniques are particularly useful for applications whose sharing patterns could change dynamically. The profiling results can be exploited for effective thread-to-core placement and dynamic load balancing in a distributed object sharing environment. We present the design and preliminary performance result of our distributed JVM with the profiling implemented. Experimental results show that the profiling is able to obtain over 95% accurate global sharing profiles at a cost of only a few percents of execution time increase for fine- to medium-grained applications.
Keywords
Java; distributed programming; distributed shared memory systems; multi-threading; object-oriented programming; sampling methods; virtual machines; Java virtual machine; access locality; adaptive techniques; cluster-awareness; clustering solution; communication cost; correlation tracking; correlation tracking techniques; distributed JVM runtime; distributed object sharing environment; distributed shared memory systems; dynamic load balancing; dynamic thread migrations; execution time; fine-grained object sharing; fine-to medium-grained applications; global object sharing profile; inter-thread sharing; lightweight sampling-based profiling technique; multithreaded Java applications; page-based software DSM systems; pattern sharing; sampling rates; stack sampling mechanism; system efficiency; thread migration; thread-to-core placement; transparent approach; Application software; Costs; Dynamic programming; Java; Load management; Runtime; Sampling methods; Software systems; Virtual machining; Yarn; access locality; correlation tracking; distributed Java virtual machine; distributed shared memory systems; dynamic load balancing; object sharing; profiling; sampling; thread affinity; thread migration; thread stack;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel & Distributed Processing (IPDPS), 2010 IEEE International Symposium on
Conference_Location
Atlanta, GA
ISSN
1530-2075
Print_ISBN
978-1-4244-6442-5
Type
conf
DOI
10.1109/IPDPS.2010.5470461
Filename
5470461
Link To Document