A distributed data system may include nodes hosting at least one
multi-threaded process operable to access portions of distributed data. A
lock mechanism may grant locks to multi-threaded processes for portions
of the distributed data. Only a process holding a lock may access a
portion corresponding to the lock. Threads of other processes may not
access the portion. A process may include one or more threads that may
acquire a locks for the distributed data portion on behalf of the
process. In one embodiment, the lock mechanism may allow any thread of a
process release a lock held by the process. In embodiments, the last
thread to access the distributed data portion corresponding to the lock
may release the lock in response to no more threads of the process
require access to the distributed data portion and/or in response to a
request to release the lock.