Evaluating and improving biased locking in theHotSpot virtual machine
Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Biased locking is an optimization to enable very fast synchronization in the Java virtual machine. It is based on the observation that many times objects are not shared between threads, and could therefore avoid the slower and otherwise necessary atomic instructions for synchronization.In this thesis, the biased locking algorithm and some of its variations are investigated. The biased locking implementation in the HotSpot virtual machine is evaluated and analysed. Standard and common benchmark suites,as well as microbenchmarks are used to evaluate the implementation.Although occasionally negative, the results suggest overall positive effects from biased locking, both on new and old hardware. A prototype of an improvement to the algorithm is implemented in HotSpot. The prototype is evaluated and analysed using microbenchmarks. Results indicate performance improvement in certain scenarios using the prototype, suggesting that the improvement might be useful.
Place, publisher, year, edition, pages
IdentifiersURN: urn:nbn:se:kth:diva-153964OAI: oai:DiVA.org:kth-153964DiVA: diva2:754541