|
Automated Object Locking for Persistent Programming LanguagesLaurent Daynès and Grzegorz Czajkowski The paper studies the impact of several lock manager designs on the processing overhead imposed by automated object locking to the PJamaTM Virtual Machine (PJVM). The PJVM is an extension of the JavaTM Virtual Machine with orthogonal persistence and integrated transaction management. Our study reveals that a lock management method based on lock state sharing outperforms more traditional design lock management design. Lock state sharing is a novel lock management method that represents all lock data structure of equal values with a single shared data structure. Sharing the value of locks has numerous benets: (i) it makes the space consumption of locking negligible and independent of the number of locks, which frees transactions of any restrictions on the number of locks that they can use, (ii) it eliminates the need for expensive book-keeping of locks by transactions, and (iii) it enables the use of memoization techniques for whole locking operations. These advantages add up to make the release of locks practically free, and the processing of over 99% of non-blocking lock requests between 8 to 14 RISC instructions. Submitted to the 26th Conference on Very Large Databases, Cairo, Egypt, 10-14th September 2000. Last revised Mar 1st 2000 Questions and comments to forest-info@sunlabs.com | ||||||||||||||||||||||