z-logo
Premium
Implementation of automated fine‐granularity locking in a persistent programming language
Author(s) -
Daynès L.
Publication year - 2000
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/(sici)1097-024x(20000410)30:4<325::aid-spe302>3.0.co;2-q
Subject(s) - computer science , lock (firearm) , transactional memory , software transactional memory , database transaction , synchronization (alternating current) , distributed computing , concurrency control , operating system , embedded system , programming language , computer network , mechanical engineering , channel (broadcasting) , engineering
To gain broader acceptance, Persistent Programming Languages (PPL) need a better integration of the transaction paradigm. Much like database systems, computations should all run in the context of a transaction; the transactional properties should be applied to all objects irrespective of their type and lifetime, and they must be enforced automatically via safe and efficient mechanisms. This requires lock managers that can cope with the requirement for automated locking in a PPL. This paper reports our design and implementation of such lock managers and the accompanying machinery that a PPL must incorporate to automate locking. Our innovative ingredients for an efficient lock management recipe are a close collaboration with the memory manager of the PPL and the sharing of lock data structures of equal value between locked objects. Sharing such lock values has numerous benefits: it makes the space consumption of locking negligible and independent of the number of locks, which frees transactions of any restriction on the volume of locks that they can use; it eliminates the need for expensive book‐keeping of locks by transactions; and it enables the use of both non‐blocking synchronization and memorization techniques for whole locking operations. These features combine to achieve fast lock acquisition for the non‐blocking cases (6 RISC instructions), and make releasing locks practically free. The impact of lock management techniques and automated locking strategy on the performance of a PPL are analysed based on measurements of various lock managers integrated into PJama, a Java TM Virtual Machine (JVM) which provides orthogonal persistence. Copyright © 2000 John Wiley & Sons, Ltd.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here