swfc@cs.columbia.edu (Shu-Wie F Chen) (12/06/90)
1. I am looking for papers that describe in some detail *implementations* of transaction managers. In particular, I am interested in commit protocols, lock managers, and log processing. I already have papers on Camelot and ARIES. Please e-mail me any other references you may have. 2. Does anyone know if the Proceedings of the 1st International Workshop on High Performance Transaction Systems (1985) was ever published? 3. What is the difference between a lock and a latch? Better yet, what is a latch? (I encountered these terms in one of the ARIES (IBM/Almaden) papers.) Thanks. *swfc -- ------------------------------------------------------------------------------- Shu-Wie F Chen Columbia University Department of Computer Science swfc@cs.columbia.edu 500 W120th Street, New York, NY 10027
dlw@odi.com (Dan Weinreb) (12/08/90)
In article <SWFC.90Dec5184342@mendelssohn.cs.columbia.edu> swfc@cs.columbia.edu (Shu-Wie F Chen) writes:
3. What is the difference between a lock and a latch? Better yet,
what is a latch? (I encountered these terms in one of the ARIES
(IBM/Almaden) papers.)
A latch is a lower-level primitive, used by the lock manager of a
transaction system, as a cheap serialization mechanism WITHIN the lock
manager itself. Latches are typically lightweight and fast, and do
not deal with deadlock detection or fancy modes (such as "intent"
locking). They are completely internal to the database system. They
can be released during a transaction without violation of strict
two-phase locking, since they are not the real locks protecting the
real data. They are a lower-level primitive sort of lock; real locks
are built at a higher level of abstraction within the transaction
manager.
Simple example: you might have a DBMS running on a multiprocessor, and
there might be a single latch that implements mutually exclusive
access to the in-memory table of locks. So before a process can
seize or release a lock, it must first acquire this latch; then it
can do the lock operation, and then it must release the latch.