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 :
بازگشت